From 0ba832d5f7e736fa94d59902abe7201fea44c6dc Mon Sep 17 00:00:00 2001 From: Chapman Pendery <35637443+cpendery@users.noreply.github.com> Date: Thu, 30 Nov 2023 14:13:44 -0800 Subject: [PATCH] feat: implement `az` spec (#2146) Signed-off-by: cpendery Co-authored-by: Grant Gurvis --- src/az/2.53.0.ts | 1219 + src/az/2.53.0/account.ts | 861 + src/az/2.53.0/acr.ts | 6390 ++ src/az/2.53.0/ad.ts | 1940 + src/az/2.53.0/adp.ts | 1044 + src/az/2.53.0/advisor.ts | 187 + src/az/2.53.0/afd.ts | 3659 + src/az/2.53.0/ai-examples.ts | 12 + src/az/2.53.0/aks.ts | 4939 ++ src/az/2.53.0/alerts-management.ts | 285 + src/az/2.53.0/alias.ts | 79 + src/az/2.53.0/amlfs.ts | 476 + src/az/2.53.0/ams.ts | 5387 ++ src/az/2.53.0/apim.ts | 3287 + src/az/2.53.0/appconfig.ts | 2454 + src/az/2.53.0/appservice.ts | 1074 + src/az/2.53.0/arcappliance.ts | 1840 + src/az/2.53.0/arcdata.ts | 1185 + src/az/2.53.0/aro.ts | 461 + src/az/2.53.0/artifacts.ts | 130 + src/az/2.53.0/attestation.ts | 376 + src/az/2.53.0/automanage.ts | 1404 + src/az/2.53.0/automation.ts | 1966 + src/az/2.53.0/azurestackhci.ts | 1587 + src/az/2.53.0/backup.ts | 3638 + src/az/2.53.0/baremetalinstance.ts | 221 + src/az/2.53.0/batch.ts | 5660 ++ src/az/2.53.0/batchai.ts | 1378 + src/az/2.53.0/bicep.ts | 336 + src/az/2.53.0/billing-benefits.ts | 554 + src/az/2.53.0/billing.ts | 1644 + src/az/2.53.0/blockchain.ts | 601 + src/az/2.53.0/blueprint.ts | 1595 + src/az/2.53.0/boards.ts | 1264 + src/az/2.53.0/bot.ts | 1539 + src/az/2.53.0/cache.ts | 67 + src/az/2.53.0/capacity.ts | 391 + src/az/2.53.0/cdn.ts | 3445 + src/az/2.53.0/change-analysis.ts | 70 + src/az/2.53.0/cli-translator.ts | 47 + src/az/2.53.0/cloud-service.ts | 988 + src/az/2.53.0/cloud.ts | 296 + src/az/2.53.0/cognitiveservices.ts | 956 + src/az/2.53.0/command-change.ts | 81 + src/az/2.53.0/communication.ts | 1910 + src/az/2.53.0/confcom.ts | 97 + src/az/2.53.0/confidentialledger.ts | 575 + src/az/2.53.0/config.ts | 113 + src/az/2.53.0/configure.ts | 25 + src/az/2.53.0/confluent.ts | 285 + src/az/2.53.0/connectedk8s.ts | 684 + src/az/2.53.0/connectedmachine.ts | 1680 + src/az/2.53.0/connectedvmware.ts | 2203 + src/az/2.53.0/connection.ts | 4476 ++ src/az/2.53.0/consumption.ts | 714 + src/az/2.53.0/container.ts | 632 + src/az/2.53.0/containerapp.ts | 12211 ++++ src/az/2.53.0/cosmosdb.ts | 10173 +++ src/az/2.53.0/costmanagement.ts | 253 + src/az/2.53.0/csvmware.ts | 676 + src/az/2.53.0/custom-providers.ts | 152 + src/az/2.53.0/customlocation.ts | 259 + src/az/2.53.0/databox.ts | 576 + src/az/2.53.0/databoxedge.ts | 1284 + src/az/2.53.0/databricks.ts | 1910 + src/az/2.53.0/datadog.ts | 886 + src/az/2.53.0/datafactory.ts | 3525 + src/az/2.53.0/datamigration.ts | 1569 + src/az/2.53.0/dataprotection.ts | 3319 + src/az/2.53.0/datashare.ts | 2510 + src/az/2.53.0/dedicated-hsm.ts | 293 + src/az/2.53.0/demo.ts | 61 + src/az/2.53.0/deployment-scripts.ts | 82 + src/az/2.53.0/deployment.ts | 2022 + src/az/2.53.0/desktopvirtualization.ts | 771 + src/az/2.53.0/devcenter.ts | 5578 ++ src/az/2.53.0/devops.ts | 2301 + src/az/2.53.0/disk-access.ts | 254 + src/az/2.53.0/disk-encryption-set.ts | 483 + src/az/2.53.0/disk-pool.ts | 721 + src/az/2.53.0/disk.ts | 721 + src/az/2.53.0/dla.ts | 3065 + src/az/2.53.0/dls.ts | 1661 + src/az/2.53.0/dms.ts | 806 + src/az/2.53.0/dnc.ts | 712 + src/az/2.53.0/dns-resolver.ts | 1951 + src/az/2.53.0/dt.ts | 2494 + src/az/2.53.0/dynatrace.ts | 917 + src/az/2.53.0/edgeorder.ts | 789 + src/az/2.53.0/elastic-san.ts | 1472 + src/az/2.53.0/elastic.ts | 1138 + src/az/2.53.0/eventgrid.ts | 5258 ++ src/az/2.53.0/eventhubs.ts | 4504 ++ src/az/2.53.0/extension.ts | 127 + src/az/2.53.0/feature.ts | 148 + src/az/2.53.0/feedback.ts | 6 + src/az/2.53.0/find.ts | 13 + src/az/2.53.0/fleet.ts | 920 + src/az/2.53.0/fluid-relay.ts | 347 + src/az/2.53.0/footprint.ts | 923 + src/az/2.53.0/functionapp.ts | 8669 +++ src/az/2.53.0/fzf.ts | 73 + src/az/2.53.0/grafana.ts | 1585 + src/az/2.53.0/graph-services.ts | 302 + src/az/2.53.0/graph.ts | 149 + src/az/2.53.0/group.ts | 700 + src/az/2.53.0/guestconfig.ts | 800 + src/az/2.53.0/hack.ts | 61 + src/az/2.53.0/hanainstance.ts | 272 + src/az/2.53.0/hdinsight.ts | 1716 + src/az/2.53.0/healthbot.ts | 226 + src/az/2.53.0/healthcareapis.ts | 2799 + src/az/2.53.0/hpc-cache.ts | 564 + src/az/2.53.0/hybridaks.ts | 689 + src/az/2.53.0/identity.ts | 318 + src/az/2.53.0/image.ts | 2039 + src/az/2.53.0/import-export.ts | 317 + src/az/2.53.0/init.ts | 6 + src/az/2.53.0/interactive.ts | 35 + src/az/2.53.0/internet-analyzer.ts | 505 + src/az/2.53.0/iot.ts | 17831 +++++ src/az/2.53.0/k8s-configuration.ts | 1404 + src/az/2.53.0/k8s-extension.ts | 906 + src/az/2.53.0/k8sconfiguration.ts | 302 + src/az/2.53.0/keyvault.ts | 5139 ++ src/az/2.53.0/kusto.ts | 4368 ++ src/az/2.53.0/lab.ts | 1357 + src/az/2.53.0/load.ts | 1727 + src/az/2.53.0/lock.ts | 249 + src/az/2.53.0/logic.ts | 679 + src/az/2.53.0/logicapp.ts | 498 + src/az/2.53.0/login.ts | 61 + src/az/2.53.0/logout.ts | 14 + src/az/2.53.0/logz.ts | 1443 + src/az/2.53.0/maintenance.ts | 1819 + src/az/2.53.0/managed-cassandra.ts | 689 + src/az/2.53.0/managedapp.ts | 407 + src/az/2.53.0/managedservices.ts | 205 + src/az/2.53.0/managementpartner.ts | 60 + src/az/2.53.0/maps.ts | 488 + src/az/2.53.0/mariadb.ts | 1759 + src/az/2.53.0/mesh.ts | 904 + src/az/2.53.0/ml.ts | 7586 +++ src/az/2.53.0/mobile-network.ts | 4108 ++ src/az/2.53.0/monitor.ts | 11865 ++++ src/az/2.53.0/mysql.ts | 4961 ++ src/az/2.53.0/netappfiles.ts | 6838 ++ src/az/2.53.0/network-function.ts | 683 + src/az/2.53.0/network.ts | 70054 ++++++++++++++++++++ src/az/2.53.0/networkcloud.ts | 6199 ++ src/az/2.53.0/networkfabric.ts | 6121 ++ src/az/2.53.0/new-relic.ts | 852 + src/az/2.53.0/next.ts | 16 + src/az/2.53.0/nginx.ts | 1300 + src/az/2.53.0/notification-hub.ts | 1442 + src/az/2.53.0/offazure.ts | 673 + src/az/2.53.0/orbital.ts | 1187 + src/az/2.53.0/palo-alto.ts | 2662 + src/az/2.53.0/partnercenter.ts | 1052 + src/az/2.53.0/peering.ts | 966 + src/az/2.53.0/pipelines.ts | 2438 + src/az/2.53.0/policy.ts | 1938 + src/az/2.53.0/portal.ts | 150 + src/az/2.53.0/postgres.ts | 5210 ++ src/az/2.53.0/powerbi.ts | 316 + src/az/2.53.0/ppg.ts | 193 + src/az/2.53.0/private-link.ts | 100 + src/az/2.53.0/provider.ts | 114 + src/az/2.53.0/providerhub.ts | 1357 + src/az/2.53.0/purview.ts | 419 + src/az/2.53.0/quantum.ts | 822 + src/az/2.53.0/qumulo.ts | 283 + src/az/2.53.0/quota.ts | 274 + src/az/2.53.0/redis.ts | 1066 + src/az/2.53.0/redisenterprise.ts | 1265 + src/az/2.53.0/relay.ts | 1865 + src/az/2.53.0/remote-rendering-account.ts | 255 + src/az/2.53.0/repos.ts | 2410 + src/az/2.53.0/reservations.ts | 1042 + src/az/2.53.0/resource-mover.ts | 1183 + src/az/2.53.0/resource.ts | 932 + src/az/2.53.0/resourcemanagement.ts | 90 + src/az/2.53.0/rest.ts | 64 + src/az/2.53.0/restore-point.ts | 433 + src/az/2.53.0/role.ts | 299 + src/az/2.53.0/sapmonitor.ts | 261 + src/az/2.53.0/scenario.ts | 39 + src/az/2.53.0/scvmm.ts | 2743 + src/az/2.53.0/search.ts | 845 + src/az/2.53.0/security.ts | 2540 + src/az/2.53.0/self-help.ts | 197 + src/az/2.53.0/self-test.ts | 6 + src/az/2.53.0/sentinel.ts | 6482 ++ src/az/2.53.0/serial-console.ts | 137 + src/az/2.53.0/servicebus.ts | 5430 ++ src/az/2.53.0/sf.ts | 3708 ++ src/az/2.53.0/sig.ts | 2607 + src/az/2.53.0/signalr.ts | 1088 + src/az/2.53.0/site-recovery.ts | 4425 ++ src/az/2.53.0/snapshot.ts | 517 + src/az/2.53.0/spatial-anchors-account.ts | 249 + src/az/2.53.0/sphere.ts | 2235 + src/az/2.53.0/spring-cloud.ts | 10359 +++ src/az/2.53.0/spring.ts | 13374 ++++ src/az/2.53.0/sql.ts | 15681 +++++ src/az/2.53.0/ssh.ts | 273 + src/az/2.53.0/sshkey.ts | 160 + src/az/2.53.0/stack-hci.ts | 1356 + src/az/2.53.0/stack.ts | 611 + src/az/2.53.0/staticwebapp.ts | 1251 + src/az/2.53.0/storage-mover.ts | 1934 + src/az/2.53.0/storage.ts | 21379 ++++++ src/az/2.53.0/storagesync.ts | 875 + src/az/2.53.0/stream-analytics.ts | 2083 + src/az/2.53.0/support.ts | 414 + src/az/2.53.0/survey.ts | 6 + src/az/2.53.0/synapse.ts | 10719 +++ src/az/2.53.0/tag.ts | 128 + src/az/2.53.0/term.ts | 56 + src/az/2.53.0/ts.ts | 249 + src/az/2.53.0/tsi.ts | 1191 + src/az/2.53.0/upgrade.ts | 17 + src/az/2.53.0/version.ts | 7 + src/az/2.53.0/vm.ts | 6069 ++ src/az/2.53.0/vmss.ts | 3463 + src/az/2.53.0/vmware.ts | 8291 +++ src/az/2.53.0/webapp.ts | 11994 ++++ src/az/2.53.0/webpubsub.ts | 1392 + src/az/2.53.0/workloads.ts | 2348 + src/az/index.ts | 14 + 230 files changed, 526668 insertions(+) create mode 100644 src/az/2.53.0.ts create mode 100644 src/az/2.53.0/account.ts create mode 100644 src/az/2.53.0/acr.ts create mode 100644 src/az/2.53.0/ad.ts create mode 100644 src/az/2.53.0/adp.ts create mode 100644 src/az/2.53.0/advisor.ts create mode 100644 src/az/2.53.0/afd.ts create mode 100644 src/az/2.53.0/ai-examples.ts create mode 100644 src/az/2.53.0/aks.ts create mode 100644 src/az/2.53.0/alerts-management.ts create mode 100644 src/az/2.53.0/alias.ts create mode 100644 src/az/2.53.0/amlfs.ts create mode 100644 src/az/2.53.0/ams.ts create mode 100644 src/az/2.53.0/apim.ts create mode 100644 src/az/2.53.0/appconfig.ts create mode 100644 src/az/2.53.0/appservice.ts create mode 100644 src/az/2.53.0/arcappliance.ts create mode 100644 src/az/2.53.0/arcdata.ts create mode 100644 src/az/2.53.0/aro.ts create mode 100644 src/az/2.53.0/artifacts.ts create mode 100644 src/az/2.53.0/attestation.ts create mode 100644 src/az/2.53.0/automanage.ts create mode 100644 src/az/2.53.0/automation.ts create mode 100644 src/az/2.53.0/azurestackhci.ts create mode 100644 src/az/2.53.0/backup.ts create mode 100644 src/az/2.53.0/baremetalinstance.ts create mode 100644 src/az/2.53.0/batch.ts create mode 100644 src/az/2.53.0/batchai.ts create mode 100644 src/az/2.53.0/bicep.ts create mode 100644 src/az/2.53.0/billing-benefits.ts create mode 100644 src/az/2.53.0/billing.ts create mode 100644 src/az/2.53.0/blockchain.ts create mode 100644 src/az/2.53.0/blueprint.ts create mode 100644 src/az/2.53.0/boards.ts create mode 100644 src/az/2.53.0/bot.ts create mode 100644 src/az/2.53.0/cache.ts create mode 100644 src/az/2.53.0/capacity.ts create mode 100644 src/az/2.53.0/cdn.ts create mode 100644 src/az/2.53.0/change-analysis.ts create mode 100644 src/az/2.53.0/cli-translator.ts create mode 100644 src/az/2.53.0/cloud-service.ts create mode 100644 src/az/2.53.0/cloud.ts create mode 100644 src/az/2.53.0/cognitiveservices.ts create mode 100644 src/az/2.53.0/command-change.ts create mode 100644 src/az/2.53.0/communication.ts create mode 100644 src/az/2.53.0/confcom.ts create mode 100644 src/az/2.53.0/confidentialledger.ts create mode 100644 src/az/2.53.0/config.ts create mode 100644 src/az/2.53.0/configure.ts create mode 100644 src/az/2.53.0/confluent.ts create mode 100644 src/az/2.53.0/connectedk8s.ts create mode 100644 src/az/2.53.0/connectedmachine.ts create mode 100644 src/az/2.53.0/connectedvmware.ts create mode 100644 src/az/2.53.0/connection.ts create mode 100644 src/az/2.53.0/consumption.ts create mode 100644 src/az/2.53.0/container.ts create mode 100644 src/az/2.53.0/containerapp.ts create mode 100644 src/az/2.53.0/cosmosdb.ts create mode 100644 src/az/2.53.0/costmanagement.ts create mode 100644 src/az/2.53.0/csvmware.ts create mode 100644 src/az/2.53.0/custom-providers.ts create mode 100644 src/az/2.53.0/customlocation.ts create mode 100644 src/az/2.53.0/databox.ts create mode 100644 src/az/2.53.0/databoxedge.ts create mode 100644 src/az/2.53.0/databricks.ts create mode 100644 src/az/2.53.0/datadog.ts create mode 100644 src/az/2.53.0/datafactory.ts create mode 100644 src/az/2.53.0/datamigration.ts create mode 100644 src/az/2.53.0/dataprotection.ts create mode 100644 src/az/2.53.0/datashare.ts create mode 100644 src/az/2.53.0/dedicated-hsm.ts create mode 100644 src/az/2.53.0/demo.ts create mode 100644 src/az/2.53.0/deployment-scripts.ts create mode 100644 src/az/2.53.0/deployment.ts create mode 100644 src/az/2.53.0/desktopvirtualization.ts create mode 100644 src/az/2.53.0/devcenter.ts create mode 100644 src/az/2.53.0/devops.ts create mode 100644 src/az/2.53.0/disk-access.ts create mode 100644 src/az/2.53.0/disk-encryption-set.ts create mode 100644 src/az/2.53.0/disk-pool.ts create mode 100644 src/az/2.53.0/disk.ts create mode 100644 src/az/2.53.0/dla.ts create mode 100644 src/az/2.53.0/dls.ts create mode 100644 src/az/2.53.0/dms.ts create mode 100644 src/az/2.53.0/dnc.ts create mode 100644 src/az/2.53.0/dns-resolver.ts create mode 100644 src/az/2.53.0/dt.ts create mode 100644 src/az/2.53.0/dynatrace.ts create mode 100644 src/az/2.53.0/edgeorder.ts create mode 100644 src/az/2.53.0/elastic-san.ts create mode 100644 src/az/2.53.0/elastic.ts create mode 100644 src/az/2.53.0/eventgrid.ts create mode 100644 src/az/2.53.0/eventhubs.ts create mode 100644 src/az/2.53.0/extension.ts create mode 100644 src/az/2.53.0/feature.ts create mode 100644 src/az/2.53.0/feedback.ts create mode 100644 src/az/2.53.0/find.ts create mode 100644 src/az/2.53.0/fleet.ts create mode 100644 src/az/2.53.0/fluid-relay.ts create mode 100644 src/az/2.53.0/footprint.ts create mode 100644 src/az/2.53.0/functionapp.ts create mode 100644 src/az/2.53.0/fzf.ts create mode 100644 src/az/2.53.0/grafana.ts create mode 100644 src/az/2.53.0/graph-services.ts create mode 100644 src/az/2.53.0/graph.ts create mode 100644 src/az/2.53.0/group.ts create mode 100644 src/az/2.53.0/guestconfig.ts create mode 100644 src/az/2.53.0/hack.ts create mode 100644 src/az/2.53.0/hanainstance.ts create mode 100644 src/az/2.53.0/hdinsight.ts create mode 100644 src/az/2.53.0/healthbot.ts create mode 100644 src/az/2.53.0/healthcareapis.ts create mode 100644 src/az/2.53.0/hpc-cache.ts create mode 100644 src/az/2.53.0/hybridaks.ts create mode 100644 src/az/2.53.0/identity.ts create mode 100644 src/az/2.53.0/image.ts create mode 100644 src/az/2.53.0/import-export.ts create mode 100644 src/az/2.53.0/init.ts create mode 100644 src/az/2.53.0/interactive.ts create mode 100644 src/az/2.53.0/internet-analyzer.ts create mode 100644 src/az/2.53.0/iot.ts create mode 100644 src/az/2.53.0/k8s-configuration.ts create mode 100644 src/az/2.53.0/k8s-extension.ts create mode 100644 src/az/2.53.0/k8sconfiguration.ts create mode 100644 src/az/2.53.0/keyvault.ts create mode 100644 src/az/2.53.0/kusto.ts create mode 100644 src/az/2.53.0/lab.ts create mode 100644 src/az/2.53.0/load.ts create mode 100644 src/az/2.53.0/lock.ts create mode 100644 src/az/2.53.0/logic.ts create mode 100644 src/az/2.53.0/logicapp.ts create mode 100644 src/az/2.53.0/login.ts create mode 100644 src/az/2.53.0/logout.ts create mode 100644 src/az/2.53.0/logz.ts create mode 100644 src/az/2.53.0/maintenance.ts create mode 100644 src/az/2.53.0/managed-cassandra.ts create mode 100644 src/az/2.53.0/managedapp.ts create mode 100644 src/az/2.53.0/managedservices.ts create mode 100644 src/az/2.53.0/managementpartner.ts create mode 100644 src/az/2.53.0/maps.ts create mode 100644 src/az/2.53.0/mariadb.ts create mode 100644 src/az/2.53.0/mesh.ts create mode 100644 src/az/2.53.0/ml.ts create mode 100644 src/az/2.53.0/mobile-network.ts create mode 100644 src/az/2.53.0/monitor.ts create mode 100644 src/az/2.53.0/mysql.ts create mode 100644 src/az/2.53.0/netappfiles.ts create mode 100644 src/az/2.53.0/network-function.ts create mode 100644 src/az/2.53.0/network.ts create mode 100644 src/az/2.53.0/networkcloud.ts create mode 100644 src/az/2.53.0/networkfabric.ts create mode 100644 src/az/2.53.0/new-relic.ts create mode 100644 src/az/2.53.0/next.ts create mode 100644 src/az/2.53.0/nginx.ts create mode 100644 src/az/2.53.0/notification-hub.ts create mode 100644 src/az/2.53.0/offazure.ts create mode 100644 src/az/2.53.0/orbital.ts create mode 100644 src/az/2.53.0/palo-alto.ts create mode 100644 src/az/2.53.0/partnercenter.ts create mode 100644 src/az/2.53.0/peering.ts create mode 100644 src/az/2.53.0/pipelines.ts create mode 100644 src/az/2.53.0/policy.ts create mode 100644 src/az/2.53.0/portal.ts create mode 100644 src/az/2.53.0/postgres.ts create mode 100644 src/az/2.53.0/powerbi.ts create mode 100644 src/az/2.53.0/ppg.ts create mode 100644 src/az/2.53.0/private-link.ts create mode 100644 src/az/2.53.0/provider.ts create mode 100644 src/az/2.53.0/providerhub.ts create mode 100644 src/az/2.53.0/purview.ts create mode 100644 src/az/2.53.0/quantum.ts create mode 100644 src/az/2.53.0/qumulo.ts create mode 100644 src/az/2.53.0/quota.ts create mode 100644 src/az/2.53.0/redis.ts create mode 100644 src/az/2.53.0/redisenterprise.ts create mode 100644 src/az/2.53.0/relay.ts create mode 100644 src/az/2.53.0/remote-rendering-account.ts create mode 100644 src/az/2.53.0/repos.ts create mode 100644 src/az/2.53.0/reservations.ts create mode 100644 src/az/2.53.0/resource-mover.ts create mode 100644 src/az/2.53.0/resource.ts create mode 100644 src/az/2.53.0/resourcemanagement.ts create mode 100644 src/az/2.53.0/rest.ts create mode 100644 src/az/2.53.0/restore-point.ts create mode 100644 src/az/2.53.0/role.ts create mode 100644 src/az/2.53.0/sapmonitor.ts create mode 100644 src/az/2.53.0/scenario.ts create mode 100644 src/az/2.53.0/scvmm.ts create mode 100644 src/az/2.53.0/search.ts create mode 100644 src/az/2.53.0/security.ts create mode 100644 src/az/2.53.0/self-help.ts create mode 100644 src/az/2.53.0/self-test.ts create mode 100644 src/az/2.53.0/sentinel.ts create mode 100644 src/az/2.53.0/serial-console.ts create mode 100644 src/az/2.53.0/servicebus.ts create mode 100644 src/az/2.53.0/sf.ts create mode 100644 src/az/2.53.0/sig.ts create mode 100644 src/az/2.53.0/signalr.ts create mode 100644 src/az/2.53.0/site-recovery.ts create mode 100644 src/az/2.53.0/snapshot.ts create mode 100644 src/az/2.53.0/spatial-anchors-account.ts create mode 100644 src/az/2.53.0/sphere.ts create mode 100644 src/az/2.53.0/spring-cloud.ts create mode 100644 src/az/2.53.0/spring.ts create mode 100644 src/az/2.53.0/sql.ts create mode 100644 src/az/2.53.0/ssh.ts create mode 100644 src/az/2.53.0/sshkey.ts create mode 100644 src/az/2.53.0/stack-hci.ts create mode 100644 src/az/2.53.0/stack.ts create mode 100644 src/az/2.53.0/staticwebapp.ts create mode 100644 src/az/2.53.0/storage-mover.ts create mode 100644 src/az/2.53.0/storage.ts create mode 100644 src/az/2.53.0/storagesync.ts create mode 100644 src/az/2.53.0/stream-analytics.ts create mode 100644 src/az/2.53.0/support.ts create mode 100644 src/az/2.53.0/survey.ts create mode 100644 src/az/2.53.0/synapse.ts create mode 100644 src/az/2.53.0/tag.ts create mode 100644 src/az/2.53.0/term.ts create mode 100644 src/az/2.53.0/ts.ts create mode 100644 src/az/2.53.0/tsi.ts create mode 100644 src/az/2.53.0/upgrade.ts create mode 100644 src/az/2.53.0/version.ts create mode 100644 src/az/2.53.0/vm.ts create mode 100644 src/az/2.53.0/vmss.ts create mode 100644 src/az/2.53.0/vmware.ts create mode 100644 src/az/2.53.0/webapp.ts create mode 100644 src/az/2.53.0/webpubsub.ts create mode 100644 src/az/2.53.0/workloads.ts create mode 100644 src/az/index.ts diff --git a/src/az/2.53.0.ts b/src/az/2.53.0.ts new file mode 100644 index 000000000000..e3eba0b8a7fc --- /dev/null +++ b/src/az/2.53.0.ts @@ -0,0 +1,1219 @@ +const completion: Fig.Spec = { + name: "az", + subcommands: [ + { + name: "account", + description: "Manage Azure subscription information", + loadSpec: "az/2.53.0/account", + }, + { + name: "acr", + description: "Manage private registries with Azure Container Registries", + loadSpec: "az/2.53.0/acr", + }, + { + name: "ad", + description: + "Manage Azure Active Directory Graph entities needed for Role Based Access Control", + loadSpec: "az/2.53.0/ad", + }, + { + name: "adp", + description: "Manage Azure Autonomous Development Platform resources", + loadSpec: "az/2.53.0/adp", + }, + { + name: "advisor", + description: "Manage Azure Advisor", + loadSpec: "az/2.53.0/advisor", + }, + { + name: "afd", + description: + "Manage Azure Front Door Standard/Premium. For classical Azure Front Door, please refer https://docs.microsoft.com/en-us/cli/azure/network/front-door?view=azure-cli-latest", + loadSpec: "az/2.53.0/afd", + }, + { + name: "ai-examples", + description: "Add AI powered examples to help content", + loadSpec: "az/2.53.0/ai-examples", + }, + { + name: "aks", + description: "Manage Azure Kubernetes Services", + loadSpec: "az/2.53.0/aks", + }, + { + name: "alerts-management", + description: "Manage Azure Alerts Management Service Resource", + loadSpec: "az/2.53.0/alerts-management", + }, + { + name: "alias", + description: "Manage Azure CLI Aliases", + loadSpec: "az/2.53.0/alias", + }, + { + name: "amlfs", + description: "Manage lustre file system", + loadSpec: "az/2.53.0/amlfs", + }, + { + name: "ams", + description: "Manage Azure Media Services resources", + loadSpec: "az/2.53.0/ams", + }, + { + name: "apim", + description: "Manage Azure API Management services", + loadSpec: "az/2.53.0/apim", + }, + { + name: "appconfig", + description: "Manage App Configurations", + loadSpec: "az/2.53.0/appconfig", + }, + { + name: "appservice", + description: "Manage App Service plans", + loadSpec: "az/2.53.0/appservice", + }, + { + name: "arcappliance", + description: "Commands to manage Arc resource bridge", + loadSpec: "az/2.53.0/arcappliance", + }, + { + name: "arcdata", + description: "Commands for using Azure Arc-enabled data services", + loadSpec: "az/2.53.0/arcdata", + }, + { + name: "aro", + description: "Manage Azure Red Hat OpenShift clusters", + loadSpec: "az/2.53.0/aro", + }, + { + name: "artifacts", + description: "Manage Azure Artifacts", + loadSpec: "az/2.53.0/artifacts", + }, + { + name: "attestation", + description: "Manage Microsoft Azure Attestation (MAA)", + loadSpec: "az/2.53.0/attestation", + }, + { + name: "automanage", + description: "Manage Automanage", + loadSpec: "az/2.53.0/automanage", + }, + { + name: "automation", + description: "Manage Automation Account", + loadSpec: "az/2.53.0/automation", + }, + { + name: "azurestackhci", + description: "Manage azurestackhci", + loadSpec: "az/2.53.0/azurestackhci", + }, + { + name: "backup", + description: "Manage Azure Backups", + loadSpec: "az/2.53.0/backup", + }, + { + name: "baremetalinstance", + description: "(PREVIEW) Manage BareMetal Instances", + loadSpec: "az/2.53.0/baremetalinstance", + }, + { + name: "batch", + description: "Manage Azure Batch", + loadSpec: "az/2.53.0/batch", + }, + { + name: "batchai", + description: "Manage Batch AI resources", + loadSpec: "az/2.53.0/batchai", + }, + { + name: "bicep", + description: "Bicep CLI command group", + loadSpec: "az/2.53.0/bicep", + }, + { + name: "billing", + description: "Manage Azure Billing", + loadSpec: "az/2.53.0/billing", + }, + { + name: "billing-benefits", + description: "Azure billing benefits commands", + loadSpec: "az/2.53.0/billing-benefits", + }, + { + name: "blockchain", + description: "Manage blockchain", + loadSpec: "az/2.53.0/blockchain", + }, + { + name: "blueprint", + description: "Commands to manage blueprint", + loadSpec: "az/2.53.0/blueprint", + }, + { + name: "boards", + description: "Manage Azure Boards", + loadSpec: "az/2.53.0/boards", + }, + { + name: "bot", + description: "Manage Microsoft Azure Bot Service", + loadSpec: "az/2.53.0/bot", + }, + { + name: "cache", + description: + "Commands to manage CLI objects cached using the --defer argument", + loadSpec: "az/2.53.0/cache", + }, + { + name: "capacity", + description: "Manage capacity", + loadSpec: "az/2.53.0/capacity", + }, + { + name: "cdn", + description: "Manage Azure Content Delivery Networks (CDNs)", + loadSpec: "az/2.53.0/cdn", + }, + { + name: "change-analysis", + description: "List changes for resources", + loadSpec: "az/2.53.0/change-analysis", + }, + { + name: "cli-translator", + description: "Translate ARM template or REST API to CLI scripts", + loadSpec: "az/2.53.0/cli-translator", + }, + { + name: "cloud", + description: "Manage registered Azure clouds", + loadSpec: "az/2.53.0/cloud", + }, + { + name: "cloud-service", + description: "Manage cloud service (extended support)", + loadSpec: "az/2.53.0/cloud-service", + }, + { + name: "cognitiveservices", + description: "Manage Azure Cognitive Services accounts", + loadSpec: "az/2.53.0/cognitiveservices", + }, + { + name: "command-change", + description: "Commands for CLI modules metadata management", + loadSpec: "az/2.53.0/command-change", + }, + { + name: "communication", + description: "Manage communication service with communication", + loadSpec: "az/2.53.0/communication", + }, + { + name: "confcom", + description: + "Commands to generate security policies for confidential containers in Azure", + loadSpec: "az/2.53.0/confcom", + }, + { + name: "confidentialledger", + description: "Manage Confidential Ledger", + loadSpec: "az/2.53.0/confidentialledger", + }, + { + name: "config", + description: "Manage Azure CLI configuration", + loadSpec: "az/2.53.0/config", + }, + { + name: "configure", + description: + "Manage Azure CLI configuration. This command is interactive", + loadSpec: "az/2.53.0/configure", + }, + { + name: "confluent", + description: "Manage confluent resources", + loadSpec: "az/2.53.0/confluent", + }, + { + name: "connectedk8s", + description: "Commands to manage connected kubernetes clusters", + loadSpec: "az/2.53.0/connectedk8s", + }, + { + name: "connectedmachine", + description: "Manage an Azure Arc-Enabled Server", + loadSpec: "az/2.53.0/connectedmachine", + }, + { + name: "connectedvmware", + description: "Commands to manage Connected VMware", + loadSpec: "az/2.53.0/connectedvmware", + }, + { + name: "connection", + description: + "Commands to manage Service Connector local connections which allow local environment to connect Azure Resource. If you want to manage connection for compute service, please run 'az webapp/containerapp/spring connection'", + loadSpec: "az/2.53.0/connection", + }, + { + name: "consumption", + description: "Manage consumption of Azure resources", + loadSpec: "az/2.53.0/consumption", + }, + { + name: "container", + description: "Manage Azure Container Instances", + loadSpec: "az/2.53.0/container", + }, + { + name: "containerapp", + description: "Manage Azure Container Apps", + loadSpec: "az/2.53.0/containerapp", + }, + { + name: "cosmosdb", + description: "Manage Azure Cosmos DB database accounts", + loadSpec: "az/2.53.0/cosmosdb", + }, + { + name: "costmanagement", + description: "Manage cost and billing in Azure", + loadSpec: "az/2.53.0/costmanagement", + }, + { + name: "csvmware", + description: "Manage Azure VMware Solution by CloudSimple", + loadSpec: "az/2.53.0/csvmware", + }, + { + name: "custom-providers", + description: "Commands to manage custom providers", + loadSpec: "az/2.53.0/custom-providers", + }, + { + name: "customlocation", + description: "Commands to Create, Get, List and Delete CustomLocations", + loadSpec: "az/2.53.0/customlocation", + }, + { + name: "databox", + description: "Manage data box", + loadSpec: "az/2.53.0/databox", + }, + { + name: "databoxedge", + description: "Support data box edge device and management", + loadSpec: "az/2.53.0/databoxedge", + }, + { + name: "databricks", + description: "Manage databricks workspaces", + loadSpec: "az/2.53.0/databricks", + }, + { + name: "datadog", + description: "Manage datadog", + loadSpec: "az/2.53.0/datadog", + }, + { + name: "datafactory", + description: "Manage Data Factory", + loadSpec: "az/2.53.0/datafactory", + }, + { + name: "datamigration", + description: "Manage Data Migration", + loadSpec: "az/2.53.0/datamigration", + }, + { + name: "dataprotection", + description: "Manage dataprotection", + loadSpec: "az/2.53.0/dataprotection", + }, + { + name: "datashare", + description: "Manage Data Share", + loadSpec: "az/2.53.0/datashare", + }, + { + name: "dedicated-hsm", + description: "Manage dedicated hsm with hardware security modules", + loadSpec: "az/2.53.0/dedicated-hsm", + }, + { + name: "demo", + description: + "Demos for designing, developing and demonstrating Azure CLI", + loadSpec: "az/2.53.0/demo", + }, + { + name: "deployment", + description: + "Manage Azure Resource Manager template deployment at subscription scope", + loadSpec: "az/2.53.0/deployment", + }, + { + name: "deployment-scripts", + description: + "Manage deployment scripts at subscription or resource group scope", + loadSpec: "az/2.53.0/deployment-scripts", + }, + { + name: "desktopvirtualization", + description: "Manage desktop virtualization", + loadSpec: "az/2.53.0/desktopvirtualization", + }, + { + name: "devcenter", + description: "Manage resources with devcenter", + loadSpec: "az/2.53.0/devcenter", + }, + { + name: "devops", + description: "Manage Azure DevOps organization level operations", + loadSpec: "az/2.53.0/devops", + }, + { + name: "disk", + description: "Manage Azure Managed Disks", + loadSpec: "az/2.53.0/disk", + }, + { + name: "disk-access", + description: "Manage disk access resources", + loadSpec: "az/2.53.0/disk-access", + }, + { + name: "disk-encryption-set", + description: "Disk Encryption Set resource", + loadSpec: "az/2.53.0/disk-encryption-set", + }, + { + name: "disk-pool", + description: "Manage Azure disk pool", + loadSpec: "az/2.53.0/disk-pool", + }, + { + name: "dla", + description: "Manage Data Lake Analytics accounts, jobs, and catalogs", + loadSpec: "az/2.53.0/dla", + }, + { + name: "dls", + description: "Manage Data Lake Store accounts and filesystems", + loadSpec: "az/2.53.0/dls", + }, + { + name: "dms", + description: "Manage Azure Data Migration Service (classic) instances", + loadSpec: "az/2.53.0/dms", + }, + { + name: "dnc", + description: "Manage Delegated Network", + loadSpec: "az/2.53.0/dnc", + }, + { + name: "dns-resolver", + description: "Manage Dns Resolver", + loadSpec: "az/2.53.0/dns-resolver", + }, + { + name: "dt", + description: "Manage Azure Digital Twins solutions & infrastructure", + loadSpec: "az/2.53.0/dt", + }, + { + name: "dynatrace", + description: "Manage dynatrace", + loadSpec: "az/2.53.0/dynatrace", + }, + { + name: "edgeorder", + description: "Manage Edge Order", + loadSpec: "az/2.53.0/edgeorder", + }, + { + name: "elastic", + description: "Manage Microsoft Elastic", + loadSpec: "az/2.53.0/elastic", + }, + { + name: "elastic-san", + description: "Manage Elastic SAN", + loadSpec: "az/2.53.0/elastic-san", + }, + { + name: "eventgrid", + description: + "Manage Azure Event Grid topics, domains, domain topics, system topics partner topics, event subscriptions, system topic event subscriptions and partner topic event subscriptions", + loadSpec: "az/2.53.0/eventgrid", + }, + { + name: "eventhubs", + description: "Eventhubs", + loadSpec: "az/2.53.0/eventhubs", + }, + { + name: "extension", + description: "Manage and update CLI extensions", + loadSpec: "az/2.53.0/extension", + }, + { + name: "feature", + description: "Manage resource provider features", + loadSpec: "az/2.53.0/feature", + }, + { + name: "feedback", + description: "Send feedback to the Azure CLI Team", + loadSpec: "az/2.53.0/feedback", + }, + { + name: "find", + description: + "I'm an AI robot, my advice is based on our Azure documentation as well as the usage patterns of Azure CLI and Azure ARM users. Using me improves Azure products and documentation", + loadSpec: "az/2.53.0/find", + }, + { + name: "fleet", + description: "Commands to manage fleet", + loadSpec: "az/2.53.0/fleet", + }, + { + name: "fluid-relay", + description: "Manage Fluid Relay", + loadSpec: "az/2.53.0/fluid-relay", + }, + { name: "footprint", description: "", loadSpec: "az/2.53.0/footprint" }, + { + name: "functionapp", + description: + "Manage function apps. To install the Azure Functions Core tools see https://github.com/Azure/azure-functions-core-tools", + loadSpec: "az/2.53.0/functionapp", + }, + { + name: "fzf", + description: "Commands to select active or default objects via fzf", + loadSpec: "az/2.53.0/fzf", + }, + { + name: "grafana", + description: "Commands to manage Azure Grafana instanced", + loadSpec: "az/2.53.0/grafana", + }, + { + name: "graph", + description: "Query the resources managed by Azure Resource Manager", + loadSpec: "az/2.53.0/graph", + }, + { + name: "graph-services", + description: "Make operations on Microsoft.GraphServices resource types", + loadSpec: "az/2.53.0/graph-services", + }, + { + name: "group", + description: "Manage resource groups and template deployments", + loadSpec: "az/2.53.0/group", + }, + { + name: "guestconfig", + description: "Manage Guest Configuration", + loadSpec: "az/2.53.0/guestconfig", + }, + { + name: "hack", + description: + "Commands to manage resources commonly used for student hacks", + loadSpec: "az/2.53.0/hack", + }, + { + name: "hanainstance", + description: "(PREVIEW) Manage Azure SAP HANA Instance", + loadSpec: "az/2.53.0/hanainstance", + }, + { + name: "hdinsight", + description: "Manage HDInsight resources", + loadSpec: "az/2.53.0/hdinsight", + }, + { + name: "healthbot", + description: "Manage bot with healthbot", + loadSpec: "az/2.53.0/healthbot", + }, + { + name: "healthcareapis", + description: "Manage Healthcare Apis", + loadSpec: "az/2.53.0/healthcareapis", + }, + { + name: "hpc-cache", + description: "Commands to manage hpc cache", + loadSpec: "az/2.53.0/hpc-cache", + }, + { + name: "hybridaks", + description: "Manage hybridaks provisioned clusters", + loadSpec: "az/2.53.0/hybridaks", + }, + { + name: "identity", + description: "Managed Identities", + loadSpec: "az/2.53.0/identity", + }, + { + name: "image", + description: "Manage custom virtual machine images", + loadSpec: "az/2.53.0/image", + }, + { + name: "import-export", + description: "Manage Import Export", + loadSpec: "az/2.53.0/import-export", + }, + { + name: "init", + description: "It's an effortless setting up tool for configs", + loadSpec: "az/2.53.0/init", + }, + { + name: "interactive", + description: + "Start interactive mode. Installs the Interactive extension if not installed already", + loadSpec: "az/2.53.0/interactive", + }, + { + name: "internet-analyzer", + description: "Commands to manage internet analyzer", + loadSpec: "az/2.53.0/internet-analyzer", + }, + { + name: "iot", + description: "Manage Internet of Things (IoT) assets", + loadSpec: "az/2.53.0/iot", + }, + { + name: "k8s-configuration", + description: + "Commands to manage resources from Microsoft.KubernetesConfiguration", + loadSpec: "az/2.53.0/k8s-configuration", + }, + { + name: "k8s-extension", + description: "Commands to manage Kubernetes Extensions", + loadSpec: "az/2.53.0/k8s-extension", + }, + { + name: "k8sconfiguration", + description: "Commands to manage Kubernetes configuration", + loadSpec: "az/2.53.0/k8sconfiguration", + }, + { + name: "keyvault", + description: "Manage KeyVault keys, secrets, and certificates", + loadSpec: "az/2.53.0/keyvault", + }, + { + name: "kusto", + description: "Manage Azure Kusto resources", + loadSpec: "az/2.53.0/kusto", + }, + { + name: "lab", + description: "Manage Azure DevTest Labs", + loadSpec: "az/2.53.0/lab", + }, + { + name: "load", + description: "Manage Azure Load Testing resources", + loadSpec: "az/2.53.0/load", + }, + { + name: "lock", + description: "Manage Azure locks", + loadSpec: "az/2.53.0/lock", + }, + { name: "logic", description: "Manage logic", loadSpec: "az/2.53.0/logic" }, + { + name: "logicapp", + description: "Manage logic apps", + loadSpec: "az/2.53.0/logicapp", + }, + { + name: "login", + description: "Log in to Azure", + loadSpec: "az/2.53.0/login", + }, + { + name: "logout", + description: "Log out to remove access to Azure subscriptions", + loadSpec: "az/2.53.0/logout", + }, + { + name: "logz", + description: "Manage Microsoft Logz", + loadSpec: "az/2.53.0/logz", + }, + { + name: "maintenance", + description: "Manage Maintenance", + loadSpec: "az/2.53.0/maintenance", + }, + { + name: "managed-cassandra", + description: "Azure Managed Cassandra", + loadSpec: "az/2.53.0/managed-cassandra", + }, + { + name: "managedapp", + description: + "Manage template solutions provided and maintained by Independent Software Vendors (ISVs)", + loadSpec: "az/2.53.0/managedapp", + }, + { + name: "managedservices", + description: + "Manage the registration assignments and definitions in Azure", + loadSpec: "az/2.53.0/managedservices", + }, + { + name: "managementpartner", + description: + "Allows the partners to associate a Microsoft Partner Network(MPN) ID to a user or service principal in the customer's Azure directory", + loadSpec: "az/2.53.0/managementpartner", + }, + { + name: "maps", + description: "Manage Azure Maps", + loadSpec: "az/2.53.0/maps", + }, + { + name: "mariadb", + description: "Manage Azure Database for MariaDB servers", + loadSpec: "az/2.53.0/mariadb", + }, + { + name: "mesh", + description: "(PREVIEW) Manage Azure Service Fabric Mesh Resources", + loadSpec: "az/2.53.0/mesh", + }, + { + name: "ml", + description: + "Manage Azure Machine Learning resources with the Azure CLI ML extension v1", + loadSpec: "az/2.53.0/ml", + }, + { + name: "mobile-network", + description: "Manage mobile network", + loadSpec: "az/2.53.0/mobile-network", + }, + { + name: "monitor", + description: "Manage the Azure Monitor Service", + loadSpec: "az/2.53.0/monitor", + }, + { + name: "mysql", + description: "Manage Azure Database for MySQL servers", + loadSpec: "az/2.53.0/mysql", + }, + { + name: "netappfiles", + description: "Manage Azure NetApp Files (ANF) Resources", + loadSpec: "az/2.53.0/netappfiles", + }, + { + name: "network", + description: "Manage Azure Network resources", + loadSpec: "az/2.53.0/network", + }, + { + name: "network-function", + description: "Manage network function", + loadSpec: "az/2.53.0/network-function", + }, + { + name: "networkcloud", + description: "Manage Network Cloud resources", + loadSpec: "az/2.53.0/networkcloud", + }, + { + name: "networkfabric", + description: "Manage Azure Network Fabric Management Service API", + loadSpec: "az/2.53.0/networkfabric", + }, + { + name: "new-relic", + description: "Manage Azure NewRelic resources", + loadSpec: "az/2.53.0/new-relic", + }, + { + name: "next", + description: "Recommend the possible next set of commands to take", + loadSpec: "az/2.53.0/next", + }, + { + name: "nginx", + description: "Manage NGINX deployment resources", + loadSpec: "az/2.53.0/nginx", + }, + { + name: "notification-hub", + description: "Manage notification hubs", + loadSpec: "az/2.53.0/notification-hub", + }, + { + name: "offazure", + description: "Manage on-premise resources for migrate", + loadSpec: "az/2.53.0/offazure", + }, + { + name: "orbital", + description: "Azure Orbital Ground Station as-a-Service (GSaaS)", + loadSpec: "az/2.53.0/orbital", + }, + { + name: "palo-alto", + description: "Manage palo-alto networks resource", + loadSpec: "az/2.53.0/palo-alto", + }, + { + name: "partnercenter", + description: "Partner Center management", + loadSpec: "az/2.53.0/partnercenter", + }, + { + name: "peering", + description: "Manage peering", + loadSpec: "az/2.53.0/peering", + }, + { + name: "pipelines", + description: "Manage Azure Pipelines", + loadSpec: "az/2.53.0/pipelines", + }, + { + name: "policy", + description: "Manage resource policies", + loadSpec: "az/2.53.0/policy", + }, + { + name: "portal", + description: "Manage Portal", + loadSpec: "az/2.53.0/portal", + }, + { + name: "postgres", + description: "Manage Azure Database for PostgreSQL servers", + loadSpec: "az/2.53.0/postgres", + }, + { + name: "powerbi", + description: "Manage PowerBI resources", + loadSpec: "az/2.53.0/powerbi", + }, + { + name: "ppg", + description: "Manage Proximity Placement Groups", + loadSpec: "az/2.53.0/ppg", + }, + { + name: "private-link", + description: "Private-link association CLI command group", + loadSpec: "az/2.53.0/private-link", + }, + { + name: "provider", + description: "Manage resource providers", + loadSpec: "az/2.53.0/provider", + }, + { + name: "providerhub", + description: "Manage resources with ProviderHub", + loadSpec: "az/2.53.0/providerhub", + }, + { + name: "purview", + description: "Manage Purview", + loadSpec: "az/2.53.0/purview", + }, + { + name: "quantum", + description: + "Manage Azure Quantum Workspaces and submit jobs to Azure Quantum Providers", + loadSpec: "az/2.53.0/quantum", + }, + { + name: "qumulo", + description: "Manage qumulo", + loadSpec: "az/2.53.0/qumulo", + }, + { + name: "quota", + description: "Manage Azure Quota Extension API", + loadSpec: "az/2.53.0/quota", + }, + { + name: "redis", + description: "Manage dedicated Redis caches for your Azure applications", + loadSpec: "az/2.53.0/redis", + }, + { + name: "redisenterprise", + description: "Manage the redisenterprise cache", + loadSpec: "az/2.53.0/redisenterprise", + }, + { + name: "relay", + description: + "Manage Azure Relay Service namespaces, WCF relays, hybrid connections, and rules", + loadSpec: "az/2.53.0/relay", + }, + { + name: "remote-rendering-account", + description: "Manage remote rendering account with mixed reality", + loadSpec: "az/2.53.0/remote-rendering-account", + }, + { + name: "repos", + description: "Manage Azure Repos", + loadSpec: "az/2.53.0/repos", + }, + { + name: "reservations", + description: "Azure Reservations", + loadSpec: "az/2.53.0/reservations", + }, + { + name: "resource", + description: "Manage Azure resources", + loadSpec: "az/2.53.0/resource", + }, + { + name: "resource-mover", + description: "Manage Resource Mover Service API", + loadSpec: "az/2.53.0/resource-mover", + }, + { + name: "resourcemanagement", + description: "Resourcemanagement CLI command group", + loadSpec: "az/2.53.0/resourcemanagement", + }, + { + name: "rest", + description: "Invoke a custom request", + loadSpec: "az/2.53.0/rest", + }, + { + name: "restore-point", + description: "Manage restore point with res", + loadSpec: "az/2.53.0/restore-point", + }, + { + name: "role", + description: + "Manage user roles for access control with Azure Active Directory and service principals", + loadSpec: "az/2.53.0/role", + }, + { + name: "sapmonitor", + description: "(PREVIEW) Manage Azure SAP Monitor", + loadSpec: "az/2.53.0/sapmonitor", + }, + { + name: "scenario", + description: "E2E Scenario Usage Guidance", + loadSpec: "az/2.53.0/scenario", + }, + { + name: "scvmm", + description: "Commands for managing Arc for SCVMM resources", + loadSpec: "az/2.53.0/scvmm", + }, + { + name: "search", + description: "Manage Azure Search services, admin keys and query keys", + loadSpec: "az/2.53.0/search", + }, + { + name: "security", + description: + "Manage your security posture with Microsoft Defender for Cloud", + loadSpec: "az/2.53.0/security", + }, + { + name: "self-help", + description: + "Azure SelfHelp will help you troubleshoot issues with Azure resources", + loadSpec: "az/2.53.0/self-help", + }, + { + name: "self-test", + description: "Runs a self-test of the CLI", + loadSpec: "az/2.53.0/self-test", + }, + { + name: "sentinel", + description: "Manage Microsoft Sentinel", + loadSpec: "az/2.53.0/sentinel", + }, + { + name: "serial-console", + description: + "Connect to the Serial Console of a Linux/Windows Virtual Machine or VMSS Instance", + loadSpec: "az/2.53.0/serial-console", + }, + { + name: "servicebus", + description: "Servicebus", + loadSpec: "az/2.53.0/servicebus", + }, + { + name: "sf", + description: "Manage and administer Azure Service Fabric clusters", + loadSpec: "az/2.53.0/sf", + }, + { + name: "sig", + description: "Manage shared image gallery", + loadSpec: "az/2.53.0/sig", + }, + { + name: "signalr", + description: "Manage Azure SignalR Service", + loadSpec: "az/2.53.0/signalr", + }, + { + name: "site-recovery", + description: "Manage Site Recovery Service", + loadSpec: "az/2.53.0/site-recovery", + }, + { + name: "snapshot", + description: + "Manage point-in-time copies of managed disks, native blobs, or other snapshots", + loadSpec: "az/2.53.0/snapshot", + }, + { + name: "spatial-anchors-account", + description: "Manage spatial anchor account with mixed reality", + loadSpec: "az/2.53.0/spatial-anchors-account", + }, + { + name: "sphere", + description: "Manage Azure Sphere", + loadSpec: "az/2.53.0/sphere", + }, + { + name: "spring", + description: "Commands to manage Azure Spring Apps", + loadSpec: "az/2.53.0/spring", + }, + { + name: "spring-cloud", + description: "Commands to manage Azure Spring Cloud", + loadSpec: "az/2.53.0/spring-cloud", + }, + { + name: "sql", + description: "Manage Azure SQL Databases and Data Warehouses", + loadSpec: "az/2.53.0/sql", + }, + { + name: "ssh", + description: + "SSH into resources (Azure VMs, Arc servers, etc) using AAD issued openssh certificates", + loadSpec: "az/2.53.0/ssh", + }, + { + name: "sshkey", + description: "Manage ssh public key with vm", + loadSpec: "az/2.53.0/sshkey", + }, + { + name: "stack", + description: + "A deployment stack is a native Azure resource type that enables you to perform operations on a resource collection as an atomic unit", + loadSpec: "az/2.53.0/stack", + }, + { + name: "stack-hci", + description: "Manage Azure Stack HCI", + loadSpec: "az/2.53.0/stack-hci", + }, + { + name: "staticwebapp", + description: "Manage static apps", + loadSpec: "az/2.53.0/staticwebapp", + }, + { + name: "storage", + description: "Manage Azure Cloud Storage resources", + loadSpec: "az/2.53.0/storage", + }, + { + name: "storage-mover", + description: "Manage top-level Storage Mover resource", + loadSpec: "az/2.53.0/storage-mover", + }, + { + name: "storagesync", + description: "Manage Azure File Sync", + loadSpec: "az/2.53.0/storagesync", + }, + { + name: "stream-analytics", + description: "Manage Stream Analytics", + loadSpec: "az/2.53.0/stream-analytics", + }, + { + name: "support", + description: "Manage Azure support resource", + loadSpec: "az/2.53.0/support", + }, + { + name: "survey", + description: "Take Azure CLI survey", + loadSpec: "az/2.53.0/survey", + }, + { + name: "synapse", + description: "Manage and operate Synapse Workspace, Spark Pool, SQL Pool", + loadSpec: "az/2.53.0/synapse", + }, + { + name: "tag", + description: "Tag Management on a resource", + loadSpec: "az/2.53.0/tag", + }, + { + name: "term", + description: "Manage marketplace agreement with marketplaceordering", + loadSpec: "az/2.53.0/term", + }, + { + name: "ts", + description: + "Manage template specs at subscription or resource group scope", + loadSpec: "az/2.53.0/ts", + }, + { + name: "tsi", + description: "Manage Azure Time Series Insights", + loadSpec: "az/2.53.0/tsi", + }, + { + name: "upgrade", + description: "Upgrade Azure CLI and extensions", + loadSpec: "az/2.53.0/upgrade", + }, + { + name: "version", + description: + "Show the versions of Azure CLI modules and extensions in JSON format by default or format configured by --output", + loadSpec: "az/2.53.0/version", + }, + { + name: "vm", + description: "Manage Linux or Windows virtual machines", + loadSpec: "az/2.53.0/vm", + }, + { + name: "vmss", + description: + "Manage groupings of virtual machines in an Azure Virtual Machine Scale Set (VMSS)", + loadSpec: "az/2.53.0/vmss", + }, + { + name: "vmware", + description: "Commands to manage Azure VMware Solution", + loadSpec: "az/2.53.0/vmware", + }, + { + name: "webapp", + description: "Manage web apps", + loadSpec: "az/2.53.0/webapp", + }, + { + name: "webpubsub", + description: "Commands to manage Webpubsub", + loadSpec: "az/2.53.0/webpubsub", + }, + { + name: "workloads", + description: "Manage workloads", + loadSpec: "az/2.53.0/workloads", + }, + ], + options: [ + { + name: "--debug", + description: "Increase logging verbosity to show all debug logs", + isPersistent: true, + }, + { + name: ["--help", "-h"], + description: "Show this help message and exit", + isPersistent: true, + }, + { + name: "--only-show-errors", + description: "Only show errors, suppressing warnings", + isPersistent: true, + }, + { + name: ["--output", "-o"], + description: "Output format", + args: { + name: "output", + suggestions: ["json", "jsonc", "none", "table", "tsv", "yaml", "yamlc"], + }, + isPersistent: true, + }, + { + name: "--query", + description: + "JMESPath query string. See http://jmespath.org/ for more information and examples", + args: { name: "query" }, + isPersistent: true, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + isPersistent: true, + }, + { + name: "--verbose", + description: + "Increase logging verbosity. Use --debug for full debug logs", + isPersistent: true, + }, + ], +}; + +const versions: Fig.VersionDiffMap = { "2.53.0": {} }; + +export { versions }; +export default completion; diff --git a/src/az/2.53.0/account.ts b/src/az/2.53.0/account.ts new file mode 100644 index 000000000000..de4b58fc71bf --- /dev/null +++ b/src/az/2.53.0/account.ts @@ -0,0 +1,861 @@ +const completion: Fig.Spec = { + name: "account", + description: "Manage Azure subscription information", + subcommands: [ + { + name: "accept-ownership-status", + description: "Accept subscription ownership status", + options: [ + { + name: "--subscription-id", + description: "Subscription Id. Required", + args: { name: "subscription-id" }, + isRequired: true, + }, + ], + }, + { + name: "clear", + description: "Clear all subscriptions from the CLI's local cache", + }, + { + name: "create", + description: "Create a subscription", + options: [ + { + name: ["--enrollment-account-object-id", "--enrollment-account-name"], + description: + "The name of the enrollment account which should be used to create a subscription", + args: { name: "enrollment-account-object-id" }, + isRequired: true, + }, + { + name: "--offer-type", + description: + "The offer type of the subscription. For example, MS-AZR-0017P (EnterpriseAgreement) and MS-AZR-0148P (EnterpriseAgreement devTest) are available", + args: { + name: "offer-type", + suggestions: [ + "MS-AZR-0017P", + "MS-AZR-0148P", + "MS-AZR-USGOV-0015P", + "MS-AZR-USGOV-0017P", + "MS-AZR-USGOV-0148P", + ], + }, + isRequired: true, + }, + { + name: "--display-name", + description: "The display name of the subscription", + args: { name: "display-name" }, + }, + { + name: "--owner-object-id", + description: + "The object id(s) of the owner(s) which should be granted access to the new subscription", + args: { name: "owner-object-id" }, + }, + { + name: "--owner-spn", + description: + "The service principal name(s) of the owner(s) which should be granted access to the new subscription", + args: { name: "owner-spn" }, + }, + { + name: "--owner-upn", + description: + "The user principal name(s) of owner(s) who should be granted access to the new subscription", + args: { name: "owner-upn" }, + }, + ], + }, + { + name: "get-access-token", + description: "Get a token for utilities to access Azure", + options: [ + { + name: ["--subscription", "--name", "-n", "-s"], + description: "Name or ID of subscription", + args: { name: "subscription" }, + }, + { + name: "--resource", + description: "Azure resource endpoints in AAD v1.0", + args: { name: "resource" }, + }, + { + name: "--resource-type", + description: "Type of well-known resource", + args: { + name: "resource-type", + suggestions: [ + "aad-graph", + "arm", + "batch", + "data-lake", + "media", + "ms-graph", + "oss-rdbms", + ], + }, + }, + { + name: "--scope", + description: + "Space-separated AAD scopes in AAD v2.0. Default to Azure Resource Manager", + args: { name: "scope" }, + }, + { + name: ["--tenant", "-t"], + description: + "Tenant ID for which the token is acquired. Only available for user and service principal account, not for MSI or Cloud Shell account", + args: { name: "tenant" }, + }, + ], + }, + { + name: "list", + description: + "Get a list of subscriptions for the logged in account. By default, only 'Enabled' subscriptions from the current cloud is shown", + options: [ + { + name: "--all", + description: + "List all subscriptions from all clouds, rather than just 'Enabled' ones", + }, + { + name: "--refresh", + description: "Retrieve up-to-date subscriptions from server", + }, + ], + }, + { + name: "list-locations", + description: "List supported regions for the current subscription", + options: [ + { + name: "--include-extended-locations", + description: "Whether to include extended locations", + args: { + name: "include-extended-locations", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "set", + description: "Set a subscription to be the current active subscription", + options: [ + { + name: ["--subscription", "--name", "-n", "-s"], + description: "Name or ID of subscription", + args: { name: "subscription" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a subscription", + options: [ + { + name: ["--subscription", "--name", "-n", "-s"], + description: "Name or ID of subscription", + args: { name: "subscription" }, + }, + ], + }, + { + name: "alias", + description: "Manage subscription alias", + subcommands: [ + { + name: "create", + description: "Create Alias Subscription", + options: [ + { + name: ["--name", "-n"], + description: "Alias Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--billing-scope", + description: + "Billing scope. It determines whether the subscription is Field-Led, Partner-Led or LegacyEA", + args: { name: "billing-scope" }, + }, + { + name: "--display-name", + description: "The friendly name of the subscription", + args: { name: "display-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--reseller-id", + description: "Reseller ID, basically MPN Id", + args: { name: "reseller-id" }, + }, + { + name: "--subscription-id", + description: + "This parameter can be used to create alias for existing subscription ID", + args: { name: "subscription-id" }, + }, + { + name: "--workload", + description: + "The workload type of the subscription. It can be either Production or DevTest", + args: { + name: "workload", + suggestions: ["DevTest", "Production"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete Alias", + options: [ + { + name: ["--name", "-n"], + description: "Alias Name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { name: "list", description: "List Alias Subscriptions" }, + { + name: "show", + description: "Get Alias Subscription", + options: [ + { + name: ["--name", "-n"], + description: "Alias Name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the account alias is met", + options: [ + { + name: ["--name", "-n"], + description: "Alias Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "lock", + description: "Manage Azure subscription level locks", + subcommands: [ + { + name: "create", + description: "Create a subscription lock", + options: [ + { + name: ["--lock-type", "-t"], + description: "The type of lock restriction", + args: { + name: "lock-type", + suggestions: ["CanNotDelete", "ReadOnly"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--notes", + description: "Notes about this lock", + args: { name: "notes" }, + }, + ], + }, + { + name: "delete", + description: "Delete a subscription lock", + options: [ + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + }, + ], + }, + { + name: "list", + description: "List lock information in the subscription", + options: [ + { + name: "--filter-string", + description: "A query filter to use to restrict the results", + args: { name: "filter-string" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a subscription lock", + options: [ + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + }, + ], + }, + { + name: "update", + description: "Update a subscription lock", + options: [ + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--lock-type", "-t"], + description: "The type of lock restriction", + args: { + name: "lock-type", + suggestions: ["CanNotDelete", "ReadOnly"], + }, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + }, + { + name: "--notes", + description: "Notes about this lock", + args: { name: "notes" }, + }, + ], + }, + ], + }, + { + name: "management-group", + description: "Manage Azure Management Groups", + subcommands: [ + { + name: "check-name-availability", + description: "Check if a Management Group Name is Valid", + options: [ + { + name: ["--name", "-n"], + description: "Name of the management group", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create a new management group", + options: [ + { + name: ["--name", "-n"], + description: "Name of the management group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--display-name", "-d"], + description: + "Sets the display name of the management group. If null, the group name is set as the display name", + args: { name: "display-name" }, + }, + { + name: "--no-register", + description: + "Skip registration for resource provider Microsoft.Management", + }, + { + name: ["--parent", "-p"], + description: + "Sets the parent of the management group. Can be the fully qualified id or the name of the management group. If null, the root tenant group is set as the parent", + args: { name: "parent" }, + }, + ], + }, + { + name: "delete", + description: "Delete an existing management group", + options: [ + { + name: ["--name", "-n"], + description: "Name of the management group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-register", + description: + "Skip registration for resource provider Microsoft.Management", + }, + ], + }, + { + name: "list", + description: "List all management groups", + options: [ + { + name: "--no-register", + description: + "Skip registration for resource provider Microsoft.Management", + }, + ], + }, + { + name: "show", + description: "Get a specific management group", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the management group (the last segment of the resource ID). Do not use display name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--expand", "-e"], + description: + "If given, lists the children in the first level of hierarchy", + }, + { + name: "--no-register", + description: + "Skip registration for resource provider Microsoft.Management", + }, + { + name: ["--recurse", "-r"], + description: + "If given, lists the children in all levels of hierarchy", + }, + ], + }, + { + name: "update", + description: "Update an existing management group", + options: [ + { + name: ["--name", "-n"], + description: "Name of the management group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--display-name", "-d"], + description: + "Updates the display name of the management group. If null, no change is made", + args: { name: "display-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--parent", "-p"], + description: + "Update the parent of the management group. Can be the fully qualified id or the name of the management group. If null, no change is made", + args: { name: "parent" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "entities", + description: + "Entity operations (Management Group and Subscriptions) for Management Groups", + subcommands: [ + { + name: "list", + description: "List all entities for the authenticated user", + }, + ], + }, + { + name: "hierarchy-settings", + description: + "Provide operations for hierarchy settings defined at the management group level. Settings can only be set on the root Management Group of the hierarchy", + subcommands: [ + { + name: "create", + description: + "Create hierarchy settings defined at the Management Group level", + options: [ + { + name: ["--name", "-n"], + description: "Name of the management group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--default-management-group", "-m"], + description: + "Set the default Management Group under which new subscriptions get added in this tenant. Default setting is the Root Management Group", + args: { name: "default-management-group" }, + }, + { + name: ["--require-authorization-for-group-creation", "-r"], + description: + "Indicate whether RBAC access is required upon group creation under the root Management Group. True means user will require Microsoft.Management/managementGroups/write action on the root Management Group. Default setting is false", + args: { name: "require-authorization-for-group-creation" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the hierarchy settings defined at the Management Group level", + options: [ + { + name: ["--name", "-n"], + description: "Name of the management group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Get all the hierarchy settings defined at the Management Group level", + options: [ + { + name: ["--name", "-n"], + description: "Name of the management group", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the hierarchy settings defined at the Management Group level", + options: [ + { + name: ["--name", "-n"], + description: "Name of the management group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--default-management-group", "-m"], + description: + "Set the default Management Group under which new subscriptions get added in this tenant. Default setting is the Root Management Group", + args: { name: "default-management-group" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--require-authorization-for-group-creation", "-r"], + description: + "Indicate whether RBAC access is required upon group creation under the root Management Group. True means user will require Microsoft.Management/managementGroups/write action on the root Management Group. Default setting is false", + args: { name: "require-authorization-for-group-creation" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + { + name: "subscription", + description: "Subscription operations for Management Groups", + subcommands: [ + { + name: "add", + description: "Add a subscription to a management group", + options: [ + { + name: ["--name", "-n"], + description: "Name of the management group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--subscription", "-s"], + description: "Subscription Id or Name", + args: { name: "subscription" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove an existing subscription from a management group", + options: [ + { + name: ["--name", "-n"], + description: "Name of the management group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--subscription", "-s"], + description: "Subscription Id or Name", + args: { name: "subscription" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a subscription under a known management group", + options: [ + { + name: ["--name", "-n"], + description: "Name of the management group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--subscription", "-s"], + description: "Subscription Id or Name", + args: { name: "subscription" }, + isRequired: true, + }, + ], + }, + { + name: "show-sub-under-mg", + description: "Get the subscription under a management group", + options: [ + { + name: ["--name", "-n"], + description: "Name of the management group", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "tenant-backfill", + description: + "Backfill Tenant Subscription Operations for Management Groups", + subcommands: [ + { + name: "get", + description: "Get the backfill status for a tenant", + }, + { + name: "start", + description: "Start backfilling subscriptions for a tenant", + }, + ], + }, + ], + }, + { + name: "subscription", + description: "Manage subscriptions", + subcommands: [ + { + name: "cancel", + description: "Cancel subscription", + options: [ + { + name: ["--subscription-id", "--id"], + description: "Subscription Id", + args: { name: "subscription-id" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "enable", + description: "Enable subscription", + options: [ + { + name: ["--subscription-id", "--id"], + description: "Subscription Id", + args: { name: "subscription-id" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "Get all subscriptions for a tenant", + }, + { + name: "list-location", + description: + "This operation provides all the locations that are available for resource providers; however, each resource provider may support a subset of this list", + options: [ + { + name: ["--subscription-id", "--id"], + description: "The ID of the target subscription", + args: { name: "subscription-id" }, + isRequired: true, + }, + ], + }, + { + name: "rename", + description: "Rename subscription", + options: [ + { + name: ["--subscription-id", "--id"], + description: "Subscription Id", + args: { name: "subscription-id" }, + isRequired: true, + }, + { + name: ["--subscription-name", "--name", "-n"], + description: "New subscription name", + args: { name: "subscription-name" }, + }, + ], + }, + { + name: "show", + description: "Get details about a specified subscription", + options: [ + { + name: ["--subscription-id", "--id"], + description: "The ID of the target subscription", + args: { name: "subscription-id" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "tenant", + description: "Manage tenant", + subcommands: [ + { + name: "list", + description: "Get the tenants for your account", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/acr.ts b/src/az/2.53.0/acr.ts new file mode 100644 index 000000000000..4bbfa54906cf --- /dev/null +++ b/src/az/2.53.0/acr.ts @@ -0,0 +1,6390 @@ +const completion: Fig.Spec = { + name: "acr", + description: "Manage private registries with Azure Container Registries", + subcommands: [ + { + name: "agentpool", + description: + "Manage private Tasks agent pools with Azure Container Registries", + subcommands: [ + { + name: "create", + description: "Create an agent pool for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the agent pool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--count", "-c"], + description: "The count of the agent pool", + args: { name: "count" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the Agent Pool to complete action and return immediately after queuing the request", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subnet-id", + description: + "The Virtual Network Subnet Resource Id of the agent machine", + args: { name: "subnet-id" }, + }, + { + name: "--tier", + description: + "Sets the VM your agent pool will run on. Valid values are: S1(2 vCPUs, 3 GiB RAM), S2(4 vCPUs, 8 GiB RAM), S3(8 vCPUs, 16 GiB RAM) or I6(64 vCPUs, 216 GiB RAM, Isolated)", + args: { name: "tier" }, + }, + ], + }, + { + name: "delete", + description: "Delete an agent pool", + options: [ + { + name: ["--name", "-n"], + description: "The name of the agent pool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the Agent Pool to complete action and return immediately after queuing the request", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the agent pools for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get the properties of a specified agent pool for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the agent pool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { name: "--queue-count", description: "Get only the queue count" }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update an agent pool for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the agent pool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--count", "-c"], + description: "The count of the agent pool", + args: { name: "count" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the Agent Pool to complete action and return immediately after queuing the request", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "build", + description: + "Queues a quick build, providing streaming logs for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--agent-pool", + description: "The name of the agent pool", + args: { name: "agent-pool" }, + }, + { + name: "--auth-mode", + description: "Auth mode of the source registry", + args: { name: "auth-mode", suggestions: ["Default", "None"] }, + }, + { + name: "--build-arg", + description: + "Build argument in '--build-arg name[=value]' format. Multiples supported by passing --build-arg multiple times", + args: { name: "build-arg" }, + }, + { + name: ["--file", "-f"], + description: + "The relative path of the the docker file to the source code root folder. Default to 'Dockerfile'", + args: { name: "file" }, + }, + { + name: ["--image", "-t"], + description: + "The name and tag of the image using the format: '-t repo/image:tag'. Multiple tags are supported by passing -t multiple times", + args: { name: "image" }, + }, + { + name: "--log-template", + description: + "The repository and tag template for run log artifact using the format: 'log/repo:tag' (e.g., 'acr/logs:{{.Run.ID}}'). Only applicable to CMK enabled registry", + args: { name: "log-template" }, + }, + { + name: "--no-format", + description: + "Indicates whether the logs should be displayed in raw format", + }, + { + name: "--no-logs", + description: "Do not show logs after successfully queuing the build", + }, + { + name: "--no-push", + description: + "Indicates whether the image built should be pushed to the registry", + }, + { + name: "--no-wait", + description: + "Do not wait for the build to complete and return immediately after queuing the build", + }, + { + name: "--platform", + description: + "The platform where build/task is run, Eg, 'windows' and 'linux'. When it's used in build commands, it also can be specified in 'os/arch/variant' format for the resulting image. Eg, linux/arm/v7. The 'arch' and 'variant' parts are optional", + args: { name: "platform" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret-build-arg", + description: + "Secret build argument in '--secret-build-arg name[=value]' format. Multiples supported by passing '--secret-build-arg name[=value]' multiple times", + args: { name: "secret-build-arg" }, + }, + { + name: "--target", + description: "The name of the target build stage", + args: { name: "target" }, + }, + { + name: "--timeout", + description: "The timeout in seconds", + args: { name: "timeout" }, + }, + ], + args: { + name: "", + description: + "The local source code directory path (e.g., './src'), or the URL to a git repository (e.g., 'https://github.com/Azure-Samples/acr-build-helloworld-node.git') or a remote tarball (e.g., 'http://server/context.tar.gz'), or the repository of an OCI artifact in an Azure container registry (e.g., 'oci://myregistry.azurecr.io/myartifact:mytag')", + isOptional: true, + }, + }, + { + name: "check-health", + description: + "Gets health information on the environment and optionally a target registry", + options: [ + { + name: "--ignore-errors", + description: "Provide all health checks, even if errors are found", + }, + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + }, + { + name: "--vnet", + description: + "Virtual network ID so to run this command inside a VNET to verify the DNS routing to private endpoints", + args: { name: "vnet" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "check-name", + description: + "Checks if an Azure Container Registry name is valid and available for use", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: "The SKU of the container registry", + args: { name: "sku", suggestions: ["Basic", "Premium", "Standard"] }, + isRequired: true, + }, + { + name: "--admin-enabled", + description: "Indicates whether the admin user is enabled", + }, + { + name: "--allow-exports", + description: + "Configure exportPolicy to allow/disallow artifacts from being exported from this registry. Artifacts can be exported via import or transfer operations. For more information, please visit https://aka.ms/acr/export-policy", + args: { name: "allow-exports", suggestions: ["false", "true"] }, + }, + { + name: "--allow-trusted-services", + description: + "Allow trusted Azure Services to access network restricted registries. For more information, please visit https://aka.ms/acr/trusted-services. The Default is to allow", + args: { + name: "allow-trusted-services", + suggestions: ["false", "true"], + }, + }, + { + name: "--default-action", + description: + "Default action to apply when no rule matches. Only applicable to Premium SKU", + args: { name: "default-action", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--identity", + description: + "Use assigned managed identity resource id or name if in the same resource group", + args: { name: "identity" }, + }, + { + name: "--key-encryption-key", + description: + "Key vault key uri. To enable automated rotation, provide a version-less key uri. For manual rotation, provide a versioned key uri", + args: { name: "key-encryption-key" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--public-network-enabled", + description: + "Allow public network access for the container registry. The Default is to allow", + args: { + name: "public-network-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--workspace", + description: + 'Name or ID of the Log Analytics workspace to send registry diagnostic logs to. All events will be enabled. You can use "az monitor log-analytics workspace create" to create one. Extra billing may apply', + args: { name: "workspace" }, + }, + { + name: "--zone-redundancy", + description: + "Indicates whether or not zone redundancy should be enabled for this registry or replication. For more information, such as supported locations, please visit https://aka.ms/acr/az. Zone-redundancy cannot be updated. Defaults to 'Disabled'", + args: { + name: "zone-redundancy", + suggestions: ["Disabled", "Enabled"], + }, + }, + ], + }, + { + name: "delete", + description: "Deletes an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "import", + description: + "Imports an image to an Azure Container Registry from another Container Registry. Import removes the need to docker pull, docker tag, docker push. For larger images consider using --no-wait", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--source", + description: + "Source image name or fully qualified source containing the registry login server. If --registry is used, --source will always be interpreted as a source image, even if it contains the login server", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--force", + description: "Overwrite the existing tag of the image to be imported", + }, + { + name: ["--image", "-t"], + description: + "The name and tag of the image using the format: '-t repo/image:tag'. Multiple tags are supported by passing -t multiple times", + args: { name: "image" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the import to complete and return immediately after queuing the import", + }, + { + name: ["--password", "-p"], + description: "The password of source container registry", + args: { name: "password" }, + }, + { + name: ["--registry", "-r"], + description: + "The source Azure container registry. This can be name, login server or resource ID of the source registry", + args: { name: "registry" }, + }, + { + name: "--repository", + description: + "The repository name for a manifest-only copy of images. Multiple copies supported by passing --repository multiple times", + args: { name: "repository" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--username", "-u"], + description: "The username of source container registry", + args: { name: "username" }, + }, + ], + }, + { + name: "list", + description: + "Lists all the container registries under the current subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "login", + description: + "Log in to an Azure Container Registry through the Docker CLI", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--expose-token", "-t"], + description: + "Expose access token instead of automatically logging in through Docker CLI", + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + }, + { + name: "query", + description: "Query the content in an ACR using Kusto Query Language", + options: [ + { + name: ["--kql-query", "-q"], + description: "The KQL query to execute", + args: { name: "kql-query" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the container registry that the query is run against", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: "Registry password", + args: { name: "password" }, + }, + { + name: "--repository", + description: + "The repository that the query is run against. If no repository is provided, the query is run at the registry level", + args: { name: "repository" }, + }, + { + name: "--skip-token", + description: + "Skip token to get the next page of the query if applicable", + args: { name: "skip-token" }, + }, + { + name: ["--username", "-u"], + description: "Registry username", + args: { name: "username" }, + }, + ], + }, + { + name: "run", + description: + "Queues a quick run providing streamed logs for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--agent-pool", + description: "The name of the agent pool", + args: { name: "agent-pool" }, + }, + { + name: "--auth-mode", + description: "Auth mode of the source registry", + args: { name: "auth-mode", suggestions: ["Default", "None"] }, + }, + { + name: "--cmd", + description: + "Commands to execute. This also supports additional docker run parameters (https://docs.docker.com/engine/reference/commandline/run/) or even other docker commands (https://docs.docker.com/engine/reference/commandline/docker/)", + args: { name: "cmd" }, + }, + { + name: ["--file", "-f"], + description: + "The task template/definition file path relative to the source context. It can be '-' to pipe a file from the standard input", + args: { name: "file" }, + }, + { + name: "--log-template", + description: + "The repository and tag template for run log artifact using the format: 'log/repo:tag' (e.g., 'acr/logs:{{.Run.ID}}'). Only applicable to CMK enabled registry", + args: { name: "log-template" }, + }, + { + name: "--no-format", + description: + "Indicates whether the logs should be displayed in raw format", + }, + { + name: "--no-logs", + description: "Do not show logs after successfully queuing the build", + }, + { + name: "--no-wait", + description: + "Do not wait for the run to complete and return immediately after queuing the run", + }, + { + name: "--platform", + description: + "The platform where build/task is run, Eg, 'windows' and 'linux'. When it's used in build commands, it also can be specified in 'os/arch/variant' format for the resulting image. Eg, linux/arm/v7. The 'arch' and 'variant' parts are optional", + args: { name: "platform" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Value in 'name[=value]' format. Multiples supported by passing --set multiple times", + args: { name: "set" }, + }, + { + name: "--set-secret", + description: + "Secret value in '--set name[=value]' format. Multiples supported by passing --set multiple times", + args: { name: "set-secret" }, + }, + { + name: "--timeout", + description: "The timeout in seconds", + args: { name: "timeout" }, + }, + { + name: "--values", + description: + "The task values file path relative to the source context", + args: { name: "values" }, + }, + ], + args: { + name: "", + description: + "The local source code directory path (e.g., './src'), or the URL to a git repository (e.g., 'https://github.com/Azure-Samples/acr-build-helloworld-node.git'), or a remote tarball (e.g., 'http://server/context.tar.gz'), or the repository of an OCI artifact in an Azure container registry (e.g., 'oci://myregistry.azurecr.io/myartifact:mytag'). If '/dev/null' is specified, the value will be set to None and ignored", + isOptional: true, + }, + }, + { + name: "show", + description: "Get the details of an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show-endpoints", + description: "Display registry endpoints", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show-usage", + description: "Get the storage usage for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--admin-enabled", + description: "Indicates whether the admin user is enabled", + args: { name: "admin-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--allow-exports", + description: + "Configure exportPolicy to allow/disallow artifacts from being exported from this registry. Artifacts can be exported via import or transfer operations. For more information, please visit https://aka.ms/acr/export-policy", + args: { name: "allow-exports", suggestions: ["false", "true"] }, + }, + { + name: "--allow-trusted-services", + description: + "Allow trusted Azure Services to access network restricted registries. For more information, please visit https://aka.ms/acr/trusted-services", + args: { + name: "allow-trusted-services", + suggestions: ["false", "true"], + }, + }, + { + name: "--anonymous-pull-enabled", + description: "Enable registry-wide pull from unauthenticated clients", + args: { + name: "anonymous-pull-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--data-endpoint-enabled", + description: + "Enable dedicated data endpoint for client firewall configuration", + args: { + name: "data-endpoint-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--default-action", + description: + "Default action to apply when no rule matches. Only applicable to Premium SKU", + args: { name: "default-action", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--public-network-enabled", + description: "Allow public network access for the container registry", + args: { + name: "public-network-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "The SKU of the container registry", + args: { name: "sku", suggestions: ["Basic", "Premium", "Standard"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "cache", + description: "Manage cache rules in Azure Container Registries", + subcommands: [ + { + name: "create", + description: "Create a cache rule", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cache rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--source-repo", "-s"], + description: + "The full source repository path such as 'docker.io/library/ubuntu'", + args: { name: "source-repo" }, + isRequired: true, + }, + { + name: ["--target-repo", "-t"], + description: "The target repository namespace such as 'ubuntu'", + args: { name: "target-repo" }, + isRequired: true, + }, + { + name: ["--cred-set", "-c"], + description: "The name of the credential set", + args: { name: "cred-set" }, + }, + ], + }, + { + name: "delete", + description: "Delete a cache rule", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cache rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the cache rules in an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a cache rule", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cache rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update the credential set on a cache rule", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cache rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--cred-set", "-c"], + description: "The name of the credential set", + args: { name: "cred-set" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--remove-cred-set", + description: + "Optional boolean indicating whether to remove the credential set from the cache rule. False by default", + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + { + name: "config", + description: "Configure policies for Azure Container Registries", + subcommands: [ + { + name: "authentication-as-arm", + description: + "Manage 'Azure AD authenticate as ARM' policy for Azure Container Registries", + subcommands: [ + { + name: "show", + description: + "Show the configured 'Azure AD authenticate as ARM' policy for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update 'Azure AD authenticate as ARM' policy for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--status", + description: + "Indicate whether authentication-as-arm is enabled", + args: { + name: "status", + suggestions: ["disabled", "enabled"], + }, + }, + ], + }, + ], + }, + { + name: "content-trust", + description: + "Manage content-trust policy for Azure Container Registries", + subcommands: [ + { + name: "show", + description: + "Show the configured content-trust policy for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update content-trust policy for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--status", + description: "Indicates whether content-trust is enabled", + args: { + name: "status", + suggestions: ["disabled", "enabled"], + }, + }, + ], + }, + ], + }, + { + name: "retention", + description: "Manage retention policy for Azure Container Registries", + subcommands: [ + { + name: "show", + description: + "Show the configured retention policy for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update retention policy for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--type", + description: "The type of retention policy", + args: { name: "type", suggestions: ["UntaggedManifests"] }, + isRequired: true, + }, + { + name: "--days", + description: + 'The number of days to retain an untagged manifest after which it gets purged (Range: 0 to 365). Value "0" will delete untagged manifests immediately', + args: { name: "days" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--status", + description: "Indicates whether retention policy is enabled", + args: { + name: "status", + suggestions: ["disabled", "enabled"], + }, + }, + ], + }, + ], + }, + { + name: "soft-delete", + description: + "Manage soft-delete policy for Azure Container Registries", + subcommands: [ + { + name: "show", + description: + "Show the configured soft-delete policy for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update soft-delete policy for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--days", + description: + "The number of days to retain a soft-deleted manifest or tag after which it gets purged (Range: 1 to 90). Default is 7", + args: { name: "days" }, + }, + { + name: "--status", + description: + "Indicates whether soft-delete policy is enabled", + args: { + name: "status", + suggestions: ["disabled", "enabled"], + }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + ], + }, + { + name: "connected-registry", + description: + "Manage connected registry resources with Azure Container Registries", + subcommands: [ + { + name: "create", + description: + "Create a connected registry for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "Name for the connected registry. Name must be between 5 to 40 character long, start with a letter and contain only alphanumeric characters (including ‘_’ or ‘-’). Name must be unique under the Cloud ACR hierarchy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The login server of the Cloud ACR registry. Must be the FQDN to support also Azure Stack", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--client-tokens", + description: + "Specify the client access to the repositories in the connected registry. It can be in the format [TOKEN_NAME01] [TOKEN_NAME02]", + args: { name: "client-tokens" }, + }, + { + name: "--log-level", + description: + "Set the log level for logging on the instance. Accepted log levels are Debug, Information, Warning, Error, and None", + args: { name: "log-level" }, + }, + { + name: ["--mode", "-m"], + description: + "Determine the access it will have when synchronized", + args: { name: "mode", suggestions: ["ReadOnly", "ReadWrite"] }, + }, + { + name: "--notifications", + description: + 'List of artifact pattern for which notifications need to be generated. Use the format "--notifications [PATTERN1 PATTERN2 ...]"', + args: { name: "notifications" }, + }, + { + name: ["--parent", "-p"], + description: "The name of the parent connected registry", + args: { name: "parent" }, + }, + { + name: "--repository", + description: + "Specify the repositories that need to be sync to the connected registry. It can be in the format [REPO01] [REPO02]", + args: { name: "repository" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sync-message-ttl", + description: + "Determine how long the sync messages will be kept in the cloud. Uses ISO 8601 duration format", + args: { name: "sync-message-ttl" }, + }, + { + name: ["--sync-schedule", "-s"], + description: + "Optional parameter to define the sync schedule. Uses cron expression to determine the schedule. If not specified, the instance is considered always online and attempts to sync every minute", + args: { name: "sync-schedule" }, + }, + { + name: "--sync-token", + description: + "Specifies the sync token used to synchronize the connected registry with its parent. It most have only repo permissions and at least the actions required for its mode. It can include access for multiple repositories", + args: { name: "sync-token" }, + }, + { + name: ["--sync-window", "-w"], + description: + "Required parameter if --sync-schedule is present. Used to determine the schedule duration. Uses ISO 8601 duration format", + args: { name: "sync-window" }, + }, + ], + }, + { + name: "deactivate", + description: + "Deactivate a connected registry from Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "Name for the connected registry. Name must be between 5 to 40 character long, start with a letter and contain only alphanumeric characters (including ‘_’ or ‘-’). Name must be unique under the Cloud ACR hierarchy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The login server of the Cloud ACR registry. Must be the FQDN to support also Azure Stack", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "delete", + description: + "Delete a connected registry from Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "Name for the connected registry. Name must be between 5 to 40 character long, start with a letter and contain only alphanumeric characters (including ‘_’ or ‘-’). Name must be unique under the Cloud ACR hierarchy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The login server of the Cloud ACR registry. Must be the FQDN to support also Azure Stack", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--cleanup", + description: + "It will aslo delete the sync token and the scope map resources", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-settings", + description: + "Retrieve information required to activate a connected registry, and creates or rotates the sync token credentials", + options: [ + { + name: ["--name", "-n"], + description: + "Name for the connected registry. Name must be between 5 to 40 character long, start with a letter and contain only alphanumeric characters (including ‘_’ or ‘-’). Name must be unique under the Cloud ACR hierarchy", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--parent-protocol", + description: + "Specify the protocol used to communicate with its parent", + args: { name: "parent-protocol", suggestions: ["http", "https"] }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The login server of the Cloud ACR registry. Must be the FQDN to support also Azure Stack", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--generate-password", + description: + "Select which password you want to generate, and it is required to retrieve the password from the sync token", + args: { name: "generate-password", suggestions: ["1", "2"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the connected registries under the current parent registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The login server of the Cloud ACR registry. Must be the FQDN to support also Azure Stack", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--no-children", + description: "Used to remove all children from the list", + }, + { + name: ["--parent", "-p"], + description: "The name of the parent connected registry", + args: { name: "parent" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-client-tokens", + description: + "List all the client tokens associated to a specific connected registries", + options: [ + { + name: ["--name", "-n"], + description: + "Name for the connected registry. Name must be between 5 to 40 character long, start with a letter and contain only alphanumeric characters (including ‘_’ or ‘-’). Name must be unique under the Cloud ACR hierarchy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The login server of the Cloud ACR registry. Must be the FQDN to support also Azure Stack", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "repo", + description: + "Update all the necessary connected registry sync scope maps repository permissions", + options: [ + { + name: ["--name", "-n"], + description: + "Name for the connected registry. Name must be between 5 to 40 character long, start with a letter and contain only alphanumeric characters (including ‘_’ or ‘-’). Name must be unique under the Cloud ACR hierarchy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The login server of the Cloud ACR registry. Must be the FQDN to support also Azure Stack", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--add", + description: + "Repository permissions to be added to the targeted connected registry and it's ancestors sync scope maps. Use the format \"--add [REPO1 REPO2 ...]\" per flag. Valid actions are ['content/delete', 'content/read', 'content/write', 'metadata/read', 'metadata/write']", + args: { name: "add" }, + }, + { + name: "--remove", + description: + "Repository permissions to be removed from the targeted connected registry and it's succesors sync scope maps. Use the format \"--remove [REPO1 REPO2 ...]\" per flag. Valid actions are ['content/delete', 'content/read', 'content/write', 'metadata/read', 'metadata/write']", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show connected registry details", + options: [ + { + name: ["--name", "-n"], + description: + "Name for the connected registry. Name must be between 5 to 40 character long, start with a letter and contain only alphanumeric characters (including ‘_’ or ‘-’). Name must be unique under the Cloud ACR hierarchy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The login server of the Cloud ACR registry. Must be the FQDN to support also Azure Stack", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update a connected registry for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "Name for the connected registry. Name must be between 5 to 40 character long, start with a letter and contain only alphanumeric characters (including ‘_’ or ‘-’). Name must be unique under the Cloud ACR hierarchy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The login server of the Cloud ACR registry. Must be the FQDN to support also Azure Stack", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--add-client-tokens", + description: + 'Client tokens to be added. Use the format "--add-client-tokens [TOKEN_NAME1 TOKEN_NAME2 ...]" per token id', + args: { name: "add-client-tokens" }, + }, + { + name: "--add-notifications", + description: + 'List of artifact pattern to be added to notifications list. Use the format "--add-notifications [PATTERN1 PATTERN2 ...]"', + args: { name: "add-notifications" }, + }, + { + name: "--log-level", + description: + "Set the log level for logging on the instance. Accepted log levels are Debug, Information, Warning, Error, and None", + args: { name: "log-level" }, + }, + { + name: "--remove-client-tokens", + description: + 'Client tokens to be removed. Use the format "--remove-client-tokens [TOKEN_NAME1 TOKEN_NAME2 ...]" per token id', + args: { name: "remove-client-tokens" }, + }, + { + name: "--remove-notifications", + description: + 'List of artifact pattern to be removed from notifications list. Use the format "--remove-notifications [PATTERN1 PATTERN2 ...]"', + args: { name: "remove-notifications" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sync-message-ttl", + description: + "Determine how long the sync messages will be kept in the cloud. Uses ISO 8601 duration format", + args: { name: "sync-message-ttl" }, + }, + { + name: ["--sync-schedule", "-s"], + description: + "Optional parameter to define the sync schedule. Uses cron expression to determine the schedule. If not specified, the instance is considered always online and attempts to sync every minute", + args: { name: "sync-schedule" }, + }, + { + name: ["--sync-window", "-w"], + description: + "Used to determine the schedule duration. Uses ISO 8601 duration format", + args: { name: "sync-window" }, + }, + ], + }, + { + name: "install", + description: + "Help to access the necessary information for installing a connected registry. Please see https://aka.ms/acr/connected-registry for more information", + subcommands: [ + { + name: "info", + description: + "Retrieve information required to activate a connected registry", + options: [ + { + name: ["--name", "-n"], + description: + "Name for the connected registry. Name must be between 5 to 40 character long, start with a letter and contain only alphanumeric characters (including ‘_’ or ‘-’). Name must be unique under the Cloud ACR hierarchy", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--parent-protocol", + description: + "Specify the protocol used to communicate with its parent", + args: { + name: "parent-protocol", + suggestions: ["http", "https"], + }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The login server of the Cloud ACR registry. Must be the FQDN to support also Azure Stack", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "renew-credentials", + description: + "Retrieve information required to activate a connected registry, and renews the sync token credentials", + options: [ + { + name: ["--name", "-n"], + description: + "Name for the connected registry. Name must be between 5 to 40 character long, start with a letter and contain only alphanumeric characters (including ‘_’ or ‘-’). Name must be unique under the Cloud ACR hierarchy", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--parent-protocol", + description: + "Specify the protocol used to communicate with its parent", + args: { + name: "parent-protocol", + suggestions: ["http", "https"], + }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The login server of the Cloud ACR registry. Must be the FQDN to support also Azure Stack", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "permissions", + description: + "Manage the repository permissions accross multiple connected registries. Please see https://aka.ms/acr/connected-registry for more information", + subcommands: [ + { + name: "show", + description: + "Show the connected registry sync scope map information", + options: [ + { + name: ["--name", "-n"], + description: + "Name for the connected registry. Name must be between 5 to 40 character long, start with a letter and contain only alphanumeric characters (including ‘_’ or ‘-’). Name must be unique under the Cloud ACR hierarchy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The login server of the Cloud ACR registry. Must be the FQDN to support also Azure Stack", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Add and remove repository permissions accross all the necessary connected registry sync scope maps", + options: [ + { + name: ["--name", "-n"], + description: + "Name for the connected registry. Name must be between 5 to 40 character long, start with a letter and contain only alphanumeric characters (including ‘_’ or ‘-’). Name must be unique under the Cloud ACR hierarchy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The login server of the Cloud ACR registry. Must be the FQDN to support also Azure Stack", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--add", + description: + "Repository permissions to be added to the targeted connected registry and it's ancestors sync scope maps. Use the format \"--add [REPO1 REPO2 ...]\" per flag. Valid actions are ['content/delete', 'content/read', 'content/write', 'metadata/read', 'metadata/write']", + args: { name: "add" }, + }, + { + name: "--remove", + description: + "Repository permissions to be removed from the targeted connected registry and it's succesors sync scope maps. Use the format \"--remove [REPO1 REPO2 ...]\" per flag. Valid actions are ['content/delete', 'content/read', 'content/write', 'metadata/read', 'metadata/write']", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "credential", + description: "Manage login credentials for Azure Container Registries", + subcommands: [ + { + name: "renew", + description: + "Regenerate login credentials for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--password-name", + description: "The name of password to regenerate", + args: { + name: "password-name", + suggestions: ["password", "password2"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get the login credentials for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "credential-set", + description: "Manage credential sets in Azure Container Registries", + subcommands: [ + { + name: "create", + description: "Create a credential set", + options: [ + { + name: ["--login-server", "-l"], + description: + "The login server address of the upstream registry such as 'docker.io'", + args: { name: "login-server" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the credential set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--password-id", "-p"], + description: + "The Azure Key Vault secret ID of the secret containing the password to the upstream registry", + args: { name: "password-id" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--username-id", "-u"], + description: + "The Azure Key Vault secret ID of the secret containing the username to the upstream registry", + args: { name: "username-id" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a credential set", + options: [ + { + name: ["--name", "-n"], + description: "The name of the credential set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the credential sets in an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a credential set", + options: [ + { + name: ["--name", "-n"], + description: "The name of the credential set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the username or password Azure Key Vault secret ID on a credential set", + options: [ + { + name: ["--name", "-n"], + description: "The name of the credential set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--password-id", "-p"], + description: + "The Azure Key Vault secret ID of the secret containing the password to the upstream registry", + args: { name: "password-id" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: ["--username-id", "-u"], + description: + "The Azure Key Vault secret ID of the secret containing the username to the upstream registry", + args: { name: "username-id" }, + }, + ], + }, + ], + }, + { + name: "encryption", + description: + "Manage container registry encryption.\n\n\t\tFor more information, see http://aka.ms/acr/cmk", + subcommands: [ + { + name: "rotate-key", + description: + "Rotate (update) the container registry's encryption key", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--identity", + description: + "Client id of managed identity, resource name or id of user assigned identity. Use '[system]' to refer to the system assigned identity", + args: { name: "identity" }, + }, + { + name: "--key-encryption-key", + description: + "Key vault key uri. To enable automated rotation, provide a version-less key uri. For manual rotation, provide a versioned key uri", + args: { name: "key-encryption-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the container registry's encryption details", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "export-pipeline", + description: "Manage ACR export pipelines", + subcommands: [ + { + name: "create", + description: "Create an export pipeline", + options: [ + { + name: ["--name", "-n"], + description: "Name of the export pipeline", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: "Name of registry", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--secret-uri", "-s"], + description: + "Keyvault secret URI containing a valid SAS token to the associated storage account of the form https://$MyKeyvault.vault.azure.net/secrets/$MySecret. Note that the URI may be different outside of AzureCloud", + args: { name: "secret-uri" }, + isRequired: true, + }, + { + name: ["--storage-container-uri", "-c"], + description: + "Storage account container URI of the source or target storage account container of the form https://$MyStorageAccount.blob.core.windows.net/$MyContainer. Note that the URI may be different outside of AzureCloud", + args: { name: "storage-container-uri" }, + isRequired: true, + }, + { + name: ["--assign-identity", "-i"], + description: + "User assigned identity resource ID of the form /subscriptions/$MySubID/resourceGroups/$MyRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$MyIdentity", + args: { name: "assign-identity" }, + }, + { + name: ["--options", "-z"], + description: + "Space-separated list of options. May only container the following options: OverwriteBlobs,ContinueOnErrors", + args: { name: "options" }, + }, + ], + }, + { + name: "delete", + description: "Delete an export pipeline", + options: [ + { + name: ["--name", "-n"], + description: "Name of the export pipeline", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: "Name of registry", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List export pipelines on a Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: "Name of registry", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show an export pipeline in detail", + options: [ + { + name: ["--name", "-n"], + description: "Name of the export pipeline", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: "Name of registry", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "helm", + description: "Manage helm charts for Azure Container Registries", + subcommands: [ + { + name: "delete", + description: + "Delete a helm chart version in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { name: "--prov", description: "Only delete the provenance file" }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + { + name: "--version", + description: "The helm chart version", + args: { name: "version" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + args: { + name: "", + description: "The helm chart name", + isOptional: true, + }, + }, + { + name: "install-cli", + description: "Download and install Helm command-line tool", + options: [ + { + name: "--client-version", + description: + 'The target Helm CLI version. (Attention: Currently, Helm 3 does not work with "az acr helm" commands)', + args: { name: "client-version" }, + }, + { + name: "--install-location", + description: + "Path at which to install Helm CLI (Existing one at the same path will be overwritten)", + args: { name: "install-location" }, + }, + { + name: ["--yes", "-y"], + description: + "Agree to the license of Helm, and do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all helm charts in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + }, + { + name: "push", + description: + "Push a helm chart package to an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--force", + description: "Overwrite the existing chart package", + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + args: { + name: "", + description: "The helm chart package", + isOptional: true, + }, + }, + { + name: "show", + description: "Describe a helm chart in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + { + name: "--version", + description: "The helm chart version", + args: { name: "version" }, + }, + ], + args: { + name: "", + description: "The helm chart name", + isOptional: true, + }, + }, + { + name: "repo", + description: + "Manage helm chart repositories for Azure Container Registries", + subcommands: [ + { + name: "add", + description: + "Add a helm chart repository from an Azure Container Registry through the Helm CLI", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: + "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: + "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "identity", + description: + "Manage service (managed) identities for a container registry", + subcommands: [ + { + name: "assign", + description: "Assign a managed identity to a container registry", + options: [ + { + name: "--identities", + description: + "Space-separated identities. Use '[system]' to refer to the system assigned identity", + args: { name: "identities" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Remove a managed identity from a container registry", + options: [ + { + name: "--identities", + description: + "Space-separated identities. Use '[system]' to refer to the system assigned identity", + args: { name: "identities" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the container registry's identity details", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "import-pipeline", + description: "Manage ACR import pipelines", + subcommands: [ + { + name: "create", + description: "Create an import pipeline", + options: [ + { + name: ["--name", "-n"], + description: "Name of the import pipeline", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: "Name of registry", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--secret-uri", "-s"], + description: + "Keyvault secret URI containing a valid SAS token to the associated storage account of the form https://$MyKeyvault.vault.azure.net/secrets/$MySecret. Note that the URI may be different outside of AzureCloud", + args: { name: "secret-uri" }, + isRequired: true, + }, + { + name: ["--storage-container-uri", "-c"], + description: + "Storage account container URI of the source or target storage account container of the form https://$MyStorageAccount.blob.core.windows.net/$MyContainer. Note that the URI may be different outside of AzureCloud", + args: { name: "storage-container-uri" }, + isRequired: true, + }, + { + name: ["--assign-identity", "-i"], + description: + "User assigned identity resource ID of the form /subscriptions/$MySubID/resourceGroups/$MyRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$MyIdentity", + args: { name: "assign-identity" }, + }, + { + name: ["--options", "-z"], + description: + "Space-separated list of options. May only contain the following options: DeleteSourceBlobOnSuccess,OverwriteTags,ContinueOnErrors,DisableSourceTrigger", + args: { name: "options" }, + }, + { + name: ["--source-trigger-enabled", "-e"], + description: + "Boolean parameter that determines whether source trigger is enabled on the pipeline. Must be either True or False. True by default", + args: { + name: "source-trigger-enabled", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an import pipeline", + options: [ + { + name: ["--name", "-n"], + description: "Name of the import pipeline", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: "Name of registry", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List import pipelines on a Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: "Name of registry", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show an import pipeline in detail", + options: [ + { + name: ["--name", "-n"], + description: "Name of the import pipeline", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: "Name of registry", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "manifest", + description: "Manage artifact manifests in Azure Container Registries", + subcommands: [ + { + name: "delete", + description: "Delete a manifest in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the artifact. May include a tag in the format 'name:tag' or digest in the format 'name@digest'", + args: { name: "name" }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + args: { + name: "", + description: + "A fully qualified manifest specifier such as 'myregistry.azurecr.io/hello-world:latest'", + isOptional: true, + }, + }, + { + name: "list", + description: + "List the manifests in a repository in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the repository", + args: { name: "name" }, + }, + { + name: "--orderby", + description: + "Order the items in the results. Default to alphabetical order of names", + args: { name: "orderby", suggestions: ["time_asc", "time_desc"] }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: "--top", + description: "Limit the number of items in the results", + args: { name: "top" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + args: { + name: "", + description: + "A fully qualified repository specifier such as 'myregistry.azurecr.io/hello-world'", + isOptional: true, + }, + }, + { + name: "list-deleted", + description: + "List the soft-deleted manifests in a repository in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the repository", + args: { name: "name" }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + args: { + name: "", + description: + "A fully qualified repository specifier such as 'myregistry.azurecr.io/hello-world'", + isOptional: true, + }, + }, + { + name: "list-deleted-tags", + description: + "List the soft-deleted tags in a repository in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the repository. May include a tag in the format 'name:tag'", + args: { name: "name" }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + args: { + name: "", + description: + "A fully qualified repository specifier such as 'myregistry.azurecr.io/hello-world'. May include a tag such as myregistry.azurecr.io/hello-world:latest", + isOptional: true, + }, + }, + { + name: "list-metadata", + description: + "List the metadata of the manifests in a repository in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the repository", + args: { name: "name" }, + }, + { + name: "--orderby", + description: + "Order the items in the results. Default to alphabetical order of names", + args: { name: "orderby", suggestions: ["time_asc", "time_desc"] }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: "--top", + description: "Limit the number of items in the results", + args: { name: "top" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + args: { + name: "", + description: + "A fully qualified repository specifier such as 'myregistry.azurecr.io/hello-world'", + isOptional: true, + }, + }, + { + name: "list-referrers", + description: + "List the referrers to a manifest in an Azure Container Registry", + options: [ + { + name: "--artifact-type", + description: "Filter referrers based on artifact type", + args: { name: "artifact-type" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the artifact. May include a tag in the format 'name:tag' or digest in the format 'name@digest'", + args: { name: "name" }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--recursive", + description: "Recursively include referrer artifacts", + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + args: { + name: "", + description: + "A fully qualified manifest specifier such as 'myregistry.azurecr.io/hello-world:latest'", + isOptional: true, + }, + }, + { + name: "restore", + description: + "Restore a soft-deleted artifact and tag in an Azure Container Registry", + options: [ + { + name: ["--digest", "-d"], + description: "The digest of the manifest such as 'sha256@abc123'", + args: { name: "digest" }, + }, + { + name: ["--force", "-f"], + description: "Overwrite the existing tag", + }, + { + name: ["--name", "-n"], + description: + "The name of the artifact. May include a tag in the format 'name:tag'", + args: { name: "name" }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + args: { + name: "", + description: + "A fully qualified manifest specifier such as 'myregistry.azurecr.io/hello-world:latest'", + isOptional: true, + }, + }, + { + name: "show", + description: "Get a manifest in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the artifact. May include a tag in the format 'name:tag' or digest in the format 'name@digest'", + args: { name: "name" }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--raw", + description: "Output the raw manifest text with no formatting", + args: { name: "raw" }, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + args: { + name: "", + description: + "A fully qualified manifest specifier such as 'myregistry.azurecr.io/hello-world:latest'", + isOptional: true, + }, + }, + { + name: "show-metadata", + description: + "Get the metadata of an artifact in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the artifact. May include a tag in the format 'name:tag' or digest in the format 'name@digest'", + args: { name: "name" }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + args: { + name: "", + description: + "A fully qualified manifest specifier such as 'myregistry.azurecr.io/hello-world:latest'", + isOptional: true, + }, + }, + { + name: "update-metadata", + description: + "Update the manifest metadata of an artifact in an Azure Container Registry", + options: [ + { + name: "--delete-enabled", + description: "Indicate whether delete operation is allowed", + args: { name: "delete-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--list-enabled", + description: + "Indicate whether this item shows in list operation results", + args: { name: "list-enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--name", "-n"], + description: + "The name of the artifact. May include a tag in the format 'name:tag' or digest in the format 'name@digest'", + args: { name: "name" }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--read-enabled", + description: "Indicate whether read operation is allowed", + args: { name: "read-enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + { + name: "--write-enabled", + description: + "Indicate whether write or delete operation is allowed", + args: { name: "write-enabled", suggestions: ["false", "true"] }, + }, + ], + args: { + name: "", + description: + "A fully qualified manifest specifier such as 'myregistry.azurecr.io/hello-world:latest'", + isOptional: true, + }, + }, + { + name: "metadata", + description: + "Manage artifact manifest metadata in Azure Container Registries", + subcommands: [ + { + name: "list", + description: + "List the metadata of the manifests in a repository in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the repository", + args: { name: "name" }, + }, + { + name: "--orderby", + description: + "Order the items in the results. Default to alphabetical order of names", + args: { + name: "orderby", + suggestions: ["time_asc", "time_desc"], + }, + }, + { + name: ["--password", "-p"], + description: + "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: "--top", + description: "Limit the number of items in the results", + args: { name: "top" }, + }, + { + name: ["--username", "-u"], + description: + "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + args: { + name: "", + description: + "A fully qualified repository specifier such as 'myregistry.azurecr.io/hello-world'", + isOptional: true, + }, + }, + { + name: "show", + description: + "Get the metadata of an artifact in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the artifact. May include a tag in the format 'name:tag' or digest in the format 'name@digest'", + args: { name: "name" }, + }, + { + name: ["--password", "-p"], + description: + "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: + "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + args: { + name: "", + description: + "A fully qualified manifest specifier such as 'myregistry.azurecr.io/hello-world:latest'", + isOptional: true, + }, + }, + { + name: "update", + description: + "Update the manifest metadata of an artifact in an Azure Container Registry", + options: [ + { + name: "--delete-enabled", + description: "Indicate whether delete operation is allowed", + args: { + name: "delete-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--list-enabled", + description: + "Indicate whether this item shows in list operation results", + args: { + name: "list-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: ["--name", "-n"], + description: + "The name of the artifact. May include a tag in the format 'name:tag' or digest in the format 'name@digest'", + args: { name: "name" }, + }, + { + name: ["--password", "-p"], + description: + "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--read-enabled", + description: "Indicate whether read operation is allowed", + args: { + name: "read-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: + "The username used to log into a container registry", + args: { name: "username" }, + }, + { + name: "--write-enabled", + description: + "Indicate whether write or delete operation is allowed", + args: { + name: "write-enabled", + suggestions: ["false", "true"], + }, + }, + ], + args: { + name: "", + description: + "A fully qualified manifest specifier such as 'myregistry.azurecr.io/hello-world:latest'", + isOptional: true, + }, + }, + ], + }, + ], + }, + { + name: "network-rule", + description: "Manage network rules for Azure Container Registries", + subcommands: [ + { + name: "add", + description: "Add a network rule", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ip-address", + description: "IPv4 address or CIDR range", + args: { name: "ip-address" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List network rules", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Remove a network rule", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ip-address", + description: "IPv4 address or CIDR range", + args: { name: "ip-address" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "pack", + description: + "Manage Azure Container Registry Tasks that use Cloud Native Buildpacks", + subcommands: [ + { + name: "build", + description: + "Queues a quick build task that builds an app and pushes it into an Azure Container Registry", + options: [ + { + name: ["--builder", "-b"], + description: "The name and tag of a Buildpack builder image", + args: { name: "builder" }, + isRequired: true, + }, + { + name: ["--image", "-t"], + description: + "The name and tag of the image using the format: '-t repo/image:tag'", + args: { name: "image" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--agent-pool", + description: "The name of the agent pool", + args: { name: "agent-pool" }, + }, + { + name: "--auth-mode", + description: "Auth mode of the source registry", + args: { name: "auth-mode", suggestions: ["Default", "None"] }, + }, + { + name: "--no-format", + description: + "Indicates whether the logs should be displayed in raw format", + }, + { + name: "--no-logs", + description: + "Do not show logs after successfully queuing the build", + }, + { + name: "--no-wait", + description: + "Do not wait for the run to complete and return immediately after queuing the run", + }, + { + name: "--pack-image-tag", + description: + "The tag of the 'pack' runner image ('mcr.microsoft.com/oryx/pack')", + args: { name: "pack-image-tag" }, + }, + { + name: "--platform", + description: + "The platform where build/task is run, Eg, 'windows' and 'linux'. When it's used in build commands, it also can be specified in 'os/arch/variant' format for the resulting image. Eg, linux/arm/v7. The 'arch' and 'variant' parts are optional", + args: { name: "platform" }, + }, + { + name: "--pull", + description: "Pull the latest builder and run images before use", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "The timeout in seconds", + args: { name: "timeout" }, + }, + ], + args: { + name: "", + description: + "The local source code directory path (e.g., './src'), or the URL to a git repository (e.g., 'https://github.com/Azure-Samples/acr-build-helloworld-node.git') or a remote tarball (e.g., 'http://server/context.tar.gz'), or the repository of an OCI artifact in an Azure container registry (e.g., 'oci://myregistry.azurecr.io/myartifact:mytag')", + isOptional: true, + }, + }, + ], + }, + { + name: "pipeline-run", + description: "Manage ACR import and export pipeline-runs", + subcommands: [ + { + name: "clean", + description: "Delete all failed pipeline-runs on the registry", + options: [ + { + name: ["--registry", "-r"], + description: "Name of registry", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--dry-run", + description: + "List the failed pipeline-runs that would have been deleted, but do not delete any", + }, + ], + }, + { + name: "create", + description: "Create a pipeline-run", + options: [ + { + name: ["--name", "-n"], + description: "Name of the pipeline run", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--pipeline", "-p"], + description: "Name of the pipeline to run", + args: { name: "pipeline" }, + isRequired: true, + }, + { + name: ["--pipeline-type", "-t"], + description: "Type of pipeline. Must be either import or export", + args: { name: "pipeline-type" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: "Name of registry", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--storage-blob", "-b"], + description: + "Name of the storage blob to be imported or exported", + args: { name: "storage-blob" }, + isRequired: true, + }, + { + name: ["--artifacts", "-a"], + description: + "Space-separated list of container artifacts. Artifacts must be either of the form repository:tag or repository@digest such as hello-world:latest or hello-world@sha256:90659bf80b44ce6be8234e6ff90a1ac34acbeb826903b02cfa0da11c82cbc042", + args: { name: "artifacts" }, + }, + { + name: ["--force-redeploy", "-f"], + description: + "Flag that forces ARM to redeploy resource even if no parameters have changed", + }, + ], + }, + { + name: "delete", + description: "Delete a pipeline-run", + options: [ + { + name: ["--name", "-n"], + description: "Name of the pipeline run", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: "Name of registry", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List pipeline-runs of all pipelines on a container registry", + options: [ + { + name: ["--registry", "-r"], + description: "Name of registry", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--top", + description: + "List only the last n pipeline-runs. Must be an integer", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Show a pipeline-run in detail", + options: [ + { + name: ["--name", "-n"], + description: "Name of the pipeline run", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: "Name of registry", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: + 'Manage container registry private endpoint connections.\n\n\t\tTo create a private endpoint connection use "az network private-endpoint create". For more information see https://aka.ms/acr/private-link', + subcommands: [ + { + name: "approve", + description: + "Approve a private endpoint connection request for a container registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry-name", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry-name" }, + isRequired: true, + }, + { + name: "--description", + description: + "Approval description. For example, the reason for approval", + args: { name: "description" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a private endpoint connection request for a container registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry-name", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List all private endpoint connections to a container registry", + options: [ + { + name: ["--registry-name", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "reject", + description: + "Reject a private endpoint connection request for a container registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry-name", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry-name" }, + isRequired: true, + }, + { + name: "--description", + description: + "Rejection description. For example, the reason for rejection", + args: { name: "description" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a container registry's private endpoint connection", + options: [ + { + name: ["--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry-name", "-r"], + description: + "The name of the container registry. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage registry private link resources", + subcommands: [ + { + name: "list", + description: + "List the private link resources supported for a registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "replication", + description: + "Manage geo-replicated regions of Azure Container Registries", + subcommands: [ + { + name: "create", + description: + "Create a replicated region for an Azure Container Registry", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the replication. Default to the location name", + args: { name: "name" }, + }, + { + name: "--region-endpoint-enabled", + description: + "Allow routing to this replication. Requests will not be routed to a disabled replication. Data syncing will continue regardless of the region endpoint status. Default: true", + args: { + name: "region-endpoint-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--zone-redundancy", + description: + "Indicates whether or not zone redundancy should be enabled for this registry or replication. For more information, such as supported locations, please visit https://aka.ms/acr/az. Zone-redundancy cannot be updated. Defaults to 'Disabled'", + args: { + name: "zone-redundancy", + suggestions: ["Disabled", "Enabled"], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete a replicated region from an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the replication", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List all of the regions for a geo-replicated Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a replicated region", + options: [ + { + name: ["--name", "-n"], + description: "The name of the replication", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Updates a replication", + options: [ + { + name: ["--name", "-n"], + description: "The name of the replication", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--region-endpoint-enabled", + description: + "Allow routing to this replication. Requests will not be routed to a disabled replication. Data syncing will continue regardless of the region endpoint status", + args: { + name: "region-endpoint-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "repository", + description: + "Manage repositories (image names) for Azure Container Registries", + subcommands: [ + { + name: "delete", + description: + "Delete a repository or image in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--image", "-t"], + description: + "The name of the image. May include a tag in the format 'name:tag' or digest in the format 'name@digest'", + args: { name: "image" }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--repository", + description: "The name of the repository", + args: { name: "repository" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List repositories in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: "--top", + description: "Limit the number of items in the results", + args: { name: "top" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + }, + { + name: "list-deleted", + description: + "List soft-deleted repositories in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + }, + { + name: "show", + description: + "Get the attributes of a repository or image in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--image", "-t"], + description: + "The name of the image. May include a tag in the format 'name:tag' or digest in the format 'name@digest'", + args: { name: "image" }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--repository", + description: "The name of the repository", + args: { name: "repository" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + }, + { + name: "show-manifests", + description: + "Show manifests of a repository in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--repository", + description: "The name of the repository", + args: { name: "repository" }, + isRequired: true, + }, + { name: "--detail", description: "Show detailed information" }, + { + name: "--orderby", + description: + "Order the items in the results. Default to alphabetical order of names", + args: { name: "orderby", suggestions: ["time_asc", "time_desc"] }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: "--top", + description: "Limit the number of items in the results", + args: { name: "top" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + }, + { + name: "show-tags", + description: + "Show tags for a repository in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--repository", + description: "The name of the repository", + args: { name: "repository" }, + isRequired: true, + }, + { name: "--detail", description: "Show detailed information" }, + { + name: "--orderby", + description: + "Order the items in the results. Default to alphabetical order of names", + args: { name: "orderby", suggestions: ["time_asc", "time_desc"] }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: "--top", + description: "Limit the number of items in the results", + args: { name: "top" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + }, + { + name: "untag", + description: "Untag an image in an Azure Container Registry", + options: [ + { + name: ["--image", "-t"], + description: + "The name of the image. May include a tag in the format 'name:tag'", + args: { name: "image" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + ], + }, + { + name: "update", + description: + "Update the attributes of a repository or image in an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--delete-enabled", + description: "Indicates whether delete operation is allowed", + args: { name: "delete-enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--image", "-t"], + description: + "The name of the image. May include a tag in the format 'name:tag' or digest in the format 'name@digest'", + args: { name: "image" }, + }, + { + name: "--list-enabled", + description: + "Indicates whether this item shows in list operation results", + args: { name: "list-enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--password", "-p"], + description: "The password used to log into a container registry", + args: { name: "password" }, + }, + { + name: "--read-enabled", + description: "Indicates whether read operation is allowed", + args: { name: "read-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--repository", + description: "The name of the repository", + args: { name: "repository" }, + }, + { + name: "--suffix", + description: + "The tenant suffix in registry login server. You may specify '--suffix tenant' if your registry login server is in the format 'registry-tenant.azurecr.io'. Applicable if you're accessing the registry from a different subscription or you have permission to access images but not the permission to manage the registry resource", + args: { name: "suffix" }, + }, + { + name: ["--username", "-u"], + description: "The username used to log into a container registry", + args: { name: "username" }, + }, + { + name: "--write-enabled", + description: + "Indicates whether write or delete operation is allowed", + args: { name: "write-enabled", suggestions: ["false", "true"] }, + }, + ], + }, + ], + }, + { + name: "scope-map", + description: "Manage scope access maps for Azure Container Registries", + subcommands: [ + { + name: "create", + description: "Create a scope map for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the scope map", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--description", + description: + "Description for the scope map. Maximum 256 characters are allowed", + args: { name: "description" }, + }, + { + name: "--gateway", + description: + "Gateway permissions. Use the format \"--gateway GATEWAY [ACTION1 ACTION2 ...]\" per flag. Valid actions are ['config/read', 'config/write', 'message/read', 'message/write']", + args: { name: "gateway" }, + }, + { + name: "--repository", + description: + "Repository permissions. Use the format \"--repository REPO [ACTION1 ACTION2 ...]\" per flag. Valid actions are ['content/delete', 'content/read', 'content/write', 'metadata/read', 'metadata/write']", + args: { name: "repository" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: "Delete a scope map for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the scope map", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all scope maps for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details and attributes of a scope map for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the scope map", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update a scope map for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the scope map", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--add-gateway", + description: + "Gateway permissions to be added. Use the format \"--add-gateway GATEWAY [ACTION1 ACTION2 ...]\" per flag. Valid actions are ['config/read', 'config/write', 'message/read', 'message/write']", + args: { name: "add-gateway" }, + }, + { + name: "--add-repository", + description: + "Repository permissions to be added. Use the format \"--add-repository REPO [ACTION1 ACTION2 ...]\" per flag. Valid actions are ['content/delete', 'content/read', 'content/write', 'metadata/read', 'metadata/write']", + args: { name: "add-repository" }, + }, + { + name: "--description", + description: + "Description for the scope map. Maximum 256 characters are allowed", + args: { name: "description" }, + }, + { + name: "--remove-gateway", + description: + "Gateway permissions to be removed. Use the format \"--remove-gateway GATEWAY [ACTION1 ACTION2 ...]\" per flag. Valid actions are ['config/read', 'config/write', 'message/read', 'message/write']", + args: { name: "remove-gateway" }, + }, + { + name: "--remove-repository", + description: + "Repository permissions to be removed. Use the format \"--remove-repository REPO [ACTION1 ACTION2 ...]\" per flag. Valid actions are ['content/delete', 'content/read', 'content/write', 'metadata/read', 'metadata/write']", + args: { name: "remove-repository" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "task", + description: + "Manage a collection of steps for building, testing and OS & Framework patching container images using Azure Container Registries", + subcommands: [ + { + name: "cancel-run", + description: "Cancel a specified run of an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--run-id", + description: "The unique run identifier", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "create", + description: + "Create a series of steps for building, testing and OS & Framework patching containers. Tasks support triggers from git commits and base image updates", + options: [ + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--agent-pool", + description: "The name of the agent pool", + args: { name: "agent-pool" }, + }, + { + name: "--arg", + description: + "Build argument in '--arg name[=value]' format. Multiples supported by passing '--arg` multiple times", + args: { name: "arg" }, + }, + { + name: "--assign-identity", + description: + "Assigns managed identities to the task. Use '[system]' to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity. Please see https://aka.ms/acr/tasks/task-create-managed-identity for more information", + args: { name: "assign-identity" }, + }, + { + name: "--auth-mode", + description: "Auth mode of the source registry", + args: { name: "auth-mode", suggestions: ["Default", "None"] }, + }, + { + name: "--base-image-trigger-enabled", + description: + "Indicates whether the base image trigger is enabled", + args: { + name: "base-image-trigger-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--base-image-trigger-name", + description: "The name of the base image trigger", + args: { name: "base-image-trigger-name" }, + }, + { + name: "--base-image-trigger-type", + description: + "The type of the auto trigger for base image dependency updates", + args: { + name: "base-image-trigger-type", + suggestions: ["All", "Runtime"], + }, + }, + { + name: "--cmd", + description: + "Commands to execute. This also supports additional docker run parameters (https://docs.docker.com/engine/reference/commandline/run/) or even other docker commands (https://docs.docker.com/engine/reference/commandline/docker/)", + args: { name: "cmd" }, + }, + { + name: "--commit-trigger-enabled", + description: + "Indicates whether the source control commit trigger is enabled", + args: { + name: "commit-trigger-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: ["--context", "-c"], + description: + "The full URL to the source code repository (Requires '.git' suffix for a github repo) or a remote tarball (e.g., 'http://server/context.tar.gz'), or the repository of an OCI artifact in an Azure container registry (e.g., 'oci://myregistry.azurecr.io/myartifact:mytag'). If '/dev/null' is specified, the value will be set to None and ignored. This is a required argument if the task is not a system task", + args: { name: "context" }, + }, + { + name: "--cpu", + description: + "The CPU configuration in terms of number of cores required for the run", + args: { name: "cpu" }, + }, + { + name: ["--file", "-f"], + description: + "Relative path of the the task/docker file to the source code root folder. Task files must be suffixed with '.yaml' or piped from the standard input using '-'", + args: { name: "file" }, + }, + { + name: "--git-access-token", + description: + "The access token used to access the source control provider", + args: { name: "git-access-token" }, + }, + { + name: ["--image", "-t"], + description: + "The name and tag of the image using the format: '-t repo/image:tag'. Multiple tags are supported by passing -t multiple times", + args: { name: "image" }, + }, + { + name: "--is-system-task", + description: + "Indicates whether the task resource is a system task. The name of the task must be 'quicktask'. Only applicable to CMK enabled registry", + }, + { + name: "--log-template", + description: + "The repository and tag template for run log artifact using the format: 'log/repo:tag' (e.g., 'acr/logs:{{.Run.ID}}'). Only applicable to CMK enabled registry", + args: { name: "log-template" }, + }, + { + name: "--no-cache", + description: "Indicates whether the image cache is enabled", + }, + { + name: "--no-push", + description: + "Indicates whether the image built should be pushed to the registry", + }, + { + name: "--platform", + description: + "The platform where build/task is run, Eg, 'windows' and 'linux'. When it's used in build commands, it also can be specified in 'os/arch/variant' format for the resulting image. Eg, linux/arm/v7. The 'arch' and 'variant' parts are optional", + args: { name: "platform" }, + }, + { + name: "--pull-request-trigger-enabled", + description: + "Indicates whether the source control pull request trigger is enabled. The trigger is disabled by default", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--schedule", + description: + "Schedule for a timer trigger represented as a cron expression. An optional trigger name can be specified using --schedule name:schedule format. Multiples supported by passing --schedule multiple times", + args: { name: "schedule" }, + }, + { + name: "--secret-arg", + description: + "Secret build argument in '--secret-arg name[=value]' format. Multiples supported by passing --secret-arg multiple times", + args: { name: "secret-arg" }, + }, + { + name: "--set", + description: + "Task value in '--set name[=value]' format. Multiples supported by passing --set multiple times", + args: { name: "set" }, + }, + { + name: "--set-secret", + description: + "Secret task value in '--set-secret name[=value]' format. Multiples supported by passing --set-secret multiple times", + args: { name: "set-secret" }, + }, + { + name: "--source-trigger-name", + description: "The name of the source trigger", + args: { name: "source-trigger-name" }, + }, + { + name: "--status", + description: "The current status of task", + args: { name: "status", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--target", + description: "The name of the target build stage", + args: { name: "target" }, + }, + { + name: "--timeout", + description: "The timeout in seconds", + args: { name: "timeout" }, + }, + { + name: "--update-trigger-endpoint", + description: + "The full URL of the endpoint to receive base image update trigger notifications", + args: { name: "update-trigger-endpoint" }, + }, + { + name: "--update-trigger-payload-type", + description: + "Indicates whether to include metadata about the base image trigger in the payload alongwith the update trigger token, when a notification is sent", + args: { + name: "update-trigger-payload-type", + suggestions: ["Default", "Token"], + }, + }, + { + name: "--values", + description: + "The task values/parameters file path relative to the source context", + args: { name: "values" }, + }, + ], + }, + { + name: "delete", + description: "Delete a task from an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the tasks for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-runs", + description: + "List all of the executed runs for an Azure Container Registry, with the ability to filter by a specific Task", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--image", "-t"], + description: + "The name of the image. May include a tag in the format 'name:tag' or digest in the format 'name@digest'", + args: { name: "image" }, + }, + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--run-status", + description: "The current status of run", + args: { + name: "run-status", + suggestions: [ + "Canceled", + "Error", + "Failed", + "Queued", + "Running", + "Started", + "Succeeded", + "Timeout", + ], + }, + }, + { + name: "--top", + description: "Limit the number of latest runs in the results", + args: { name: "top" }, + }, + ], + }, + { + name: "logs", + description: + "Show logs for a particular run. If no run-id is supplied, show logs for the last created run", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--image", "-t"], + description: + "The name of the image. May include a tag in the format 'name:tag' or digest in the format 'name@digest'", + args: { name: "image" }, + }, + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + }, + { + name: "--no-format", + description: + "Indicates whether the logs should be displayed in raw format", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--run-id", + description: "The unique run identifier", + args: { name: "run-id" }, + }, + ], + }, + { + name: "run", + description: + "Manually trigger a task that might otherwise be waiting for git commits or base image update triggers", + options: [ + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--agent-pool", + description: "The name of the agent pool", + args: { name: "agent-pool" }, + }, + { + name: "--arg", + description: + "Build argument in '--arg name[=value]' format. Multiples supported by passing '--arg` multiple times", + args: { name: "arg" }, + }, + { + name: ["--context", "-c"], + description: + "The full URL to the source code repository (Requires '.git' suffix for a github repo) or a remote tarball (e.g., 'http://server/context.tar.gz'), or the repository of an OCI artifact in an Azure container registry (e.g., 'oci://myregistry.azurecr.io/myartifact:mytag'). If '/dev/null' is specified, the value will be set to None and ignored. This is a required argument if the task is not a system task", + args: { name: "context" }, + }, + { + name: ["--file", "-f"], + description: + "Relative path of the the task/docker file to the source code root folder. Task files must be suffixed with '.yaml' or piped from the standard input using '-'", + args: { name: "file" }, + }, + { + name: "--log-template", + description: + "The repository and tag template for run log artifact using the format: 'log/repo:tag' (e.g., 'acr/logs:{{.Run.ID}}'). Only applicable to CMK enabled registry", + args: { name: "log-template" }, + }, + { + name: "--no-format", + description: + "Indicates whether the logs should be displayed in raw format", + }, + { + name: "--no-logs", + description: + "Do not show logs after successfully queuing the build", + }, + { + name: "--no-wait", + description: + "Do not wait for the run to complete and return immediately after queuing the run", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret-arg", + description: + "Secret build argument in '--secret-arg name[=value]' format. Multiples supported by passing --secret-arg multiple times", + args: { name: "secret-arg" }, + }, + { + name: "--set", + description: + "Task value in '--set name[=value]' format. Multiples supported by passing --set multiple times", + args: { name: "set" }, + }, + { + name: "--set-secret", + description: + "Secret task value in '--set-secret name[=value]' format. Multiples supported by passing --set-secret multiple times", + args: { name: "set-secret" }, + }, + { + name: "--target", + description: "The name of the target build stage", + args: { name: "target" }, + }, + { + name: "--update-trigger-token", + description: + "The payload that will be passed back alongwith the base image trigger notification", + args: { name: "update-trigger-token" }, + }, + ], + }, + { + name: "show", + description: + "Get the properties of a named task for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--with-secure-properties", + description: + "Indicates whether the secure properties of a task should be returned", + }, + ], + }, + { + name: "show-run", + description: + "Get the properties of a specified run of an Azure Container Registry Task", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--run-id", + description: "The unique run identifier", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update a task for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--agent-pool", + description: "The name of the agent pool", + args: { name: "agent-pool" }, + }, + { + name: "--arg", + description: + "Build argument in '--arg name[=value]' format. Multiples supported by passing '--arg` multiple times", + args: { name: "arg" }, + }, + { + name: "--auth-mode", + description: "Auth mode of the source registry", + args: { name: "auth-mode", suggestions: ["Default", "None"] }, + }, + { + name: "--base-image-trigger-enabled", + description: + "Indicates whether the base image trigger is enabled", + args: { + name: "base-image-trigger-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--base-image-trigger-type", + description: + "The type of the auto trigger for base image dependency updates", + args: { + name: "base-image-trigger-type", + suggestions: ["All", "Runtime"], + }, + }, + { + name: "--cmd", + description: + "Commands to execute. This also supports additional docker run parameters (https://docs.docker.com/engine/reference/commandline/run/) or even other docker commands (https://docs.docker.com/engine/reference/commandline/docker/)", + args: { name: "cmd" }, + }, + { + name: "--commit-trigger-enabled", + description: + "Indicates whether the source control commit trigger is enabled", + args: { + name: "commit-trigger-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: ["--context", "-c"], + description: + "The full URL to the source code repository (Requires '.git' suffix for a github repo) or a remote tarball (e.g., 'http://server/context.tar.gz'), or the repository of an OCI artifact in an Azure container registry (e.g., 'oci://myregistry.azurecr.io/myartifact:mytag'). If '/dev/null' is specified, the value will be set to None and ignored. This is a required argument if the task is not a system task", + args: { name: "context" }, + }, + { + name: "--cpu", + description: + "The CPU configuration in terms of number of cores required for the run", + args: { name: "cpu" }, + }, + { + name: ["--file", "-f"], + description: + "Relative path of the the task/docker file to the source code root folder. Task files must be suffixed with '.yaml' or piped from the standard input using '-'", + args: { name: "file" }, + }, + { + name: "--git-access-token", + description: + "The access token used to access the source control provider", + args: { name: "git-access-token" }, + }, + { + name: ["--image", "-t"], + description: + "The name and tag of the image using the format: '-t repo/image:tag'. Multiple tags are supported by passing -t multiple times", + args: { name: "image" }, + }, + { + name: "--log-template", + description: + "The repository and tag template for run log artifact using the format: 'log/repo:tag' (e.g., 'acr/logs:{{.Run.ID}}'). Only applicable to CMK enabled registry", + args: { name: "log-template" }, + }, + { + name: "--no-cache", + description: "Indicates whether the image cache is enabled", + args: { name: "no-cache", suggestions: ["false", "true"] }, + }, + { + name: "--no-push", + description: + "Indicates whether the image built should be pushed to the registry", + args: { name: "no-push", suggestions: ["false", "true"] }, + }, + { + name: "--platform", + description: + "The platform where build/task is run, Eg, 'windows' and 'linux'. When it's used in build commands, it also can be specified in 'os/arch/variant' format for the resulting image. Eg, linux/arm/v7. The 'arch' and 'variant' parts are optional", + args: { name: "platform" }, + }, + { + name: "--pull-request-trigger-enabled", + description: + "Indicates whether the source control pull request trigger is enabled. The trigger is disabled by default", + args: { + name: "pull-request-trigger-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret-arg", + description: + "Secret build argument in '--secret-arg name[=value]' format. Multiples supported by passing --secret-arg multiple times", + args: { name: "secret-arg" }, + }, + { + name: "--set", + description: + "Task value in '--set name[=value]' format. Multiples supported by passing --set multiple times", + args: { name: "set" }, + }, + { + name: "--set-secret", + description: + "Secret task value in '--set-secret name[=value]' format. Multiples supported by passing --set-secret multiple times", + args: { name: "set-secret" }, + }, + { + name: "--status", + description: "The current status of task", + args: { name: "status", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--target", + description: "The name of the target build stage", + args: { name: "target" }, + }, + { + name: "--timeout", + description: "The timeout in seconds", + args: { name: "timeout" }, + }, + { + name: "--update-trigger-endpoint", + description: + "The full URL of the endpoint to receive base image update trigger notifications", + args: { name: "update-trigger-endpoint" }, + }, + { + name: "--update-trigger-payload-type", + description: + "Indicates whether to include metadata about the base image trigger in the payload alongwith the update trigger token, when a notification is sent", + args: { + name: "update-trigger-payload-type", + suggestions: ["Default", "Token"], + }, + }, + { + name: "--values", + description: + "The task values/parameters file path relative to the source context", + args: { name: "values" }, + }, + ], + }, + { + name: "update-run", + description: + "Patch the run properties of an Azure Container Registry Task", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--run-id", + description: "The unique run identifier", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: "--no-archive", + description: "Indicates whether the run should be archived", + args: { name: "no-archive", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "credential", + description: + "Manage credentials for a task. Please see https://aka.ms/acr/tasks/cross-registry-authentication for more information", + subcommands: [ + { + name: "add", + description: "Add a custom registry login credential to the task", + options: [ + { + name: "--login-server", + description: + "The login server of the custom registry. For instance, 'myregistry.azurecr.io'", + args: { name: "login-server" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: + "The password to login to the custom registry. This can be plain text or a key vault secret URI", + args: { name: "password" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--use-identity", + description: + "The task managed identity used for the credential. Use '[system]' to refer to the system-assigned identity or a client id to refer to a user-assigned identity. Please see https://aka.ms/acr/tasks/cross-registry-authentication for more information", + args: { name: "use-identity" }, + }, + { + name: ["--username", "-u"], + description: + "The username to login to the custom registry. This can be plain text or a key vault secret URI", + args: { name: "username" }, + }, + ], + }, + { + name: "list", + description: "List all the custom registry credentials for task", + options: [ + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Remove credential for a task", + options: [ + { + name: "--login-server", + description: + "The login server of the custom registry. For instance, 'myregistry.azurecr.io'", + args: { name: "login-server" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update the registry login credential for a task", + options: [ + { + name: "--login-server", + description: + "The login server of the custom registry. For instance, 'myregistry.azurecr.io'", + args: { name: "login-server" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: + "The password to login to the custom registry. This can be plain text or a key vault secret URI", + args: { name: "password" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--use-identity", + description: + "The task managed identity used for the credential. Use '[system]' to refer to the system-assigned identity or a client id to refer to a user-assigned identity. Please see https://aka.ms/acr/tasks/cross-registry-authentication for more information", + args: { name: "use-identity" }, + }, + { + name: ["--username", "-u"], + description: + "The username to login to the custom registry. This can be plain text or a key vault secret URI", + args: { name: "username" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: + "Managed Identities for Task. Please see https://aka.ms/acr/tasks/task-create-managed-identity for more information", + subcommands: [ + { + name: "assign", + description: "Update the managed identity for a task", + options: [ + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--identities", + description: + "Assigns managed identities to the task. Use '[system]' to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity", + args: { name: "identities" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Remove managed identities for a task", + options: [ + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--identities", + description: + "Assigns managed identities to the task. Use '[system]' to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity", + args: { name: "identities" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Display the managed identities for task", + options: [ + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "timer", + description: "Manage timer triggers for a task", + subcommands: [ + { + name: "add", + description: "Add a timer trigger to a task", + options: [ + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--schedule", + description: + "The schedule of the timer trigger represented as a cron expression", + args: { name: "schedule" }, + isRequired: true, + }, + { + name: "--timer-name", + description: "The name of the timer trigger", + args: { name: "timer-name" }, + isRequired: true, + }, + { + name: "--enabled", + description: "Indicates whether the timer trigger is enabled", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List all timer triggers for a task", + options: [ + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Remove a timer trigger from a task", + options: [ + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--timer-name", + description: "The name of the timer trigger", + args: { name: "timer-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update the timer trigger for a task", + options: [ + { + name: ["--name", "-n"], + description: "The name of the task", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--timer-name", + description: "The name of the timer trigger", + args: { name: "timer-name" }, + isRequired: true, + }, + { + name: "--enabled", + description: "Indicates whether the timer trigger is enabled", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--schedule", + description: + "The schedule of the timer trigger represented as a cron expression", + args: { name: "schedule" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "taskrun", + description: "Manage taskruns using Azure Container Registries", + subcommands: [ + { + name: "delete", + description: "Delete a taskrun from an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the taskrun", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the taskruns for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "logs", + description: "Show run logs for a particular taskrun", + options: [ + { + name: ["--name", "-n"], + description: "The name of the taskrun", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--no-format", + description: + "Indicates whether the logs should be displayed in raw format", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get the properties of a named taskrun for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the taskrun", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "token", + description: "Manage tokens for an Azure Container Registry", + subcommands: [ + { + name: "create", + description: + "Create a token associated with a scope map for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the token", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--expiration", + description: + "UTC time for which the credentials will be valid. In the format of %Y-%m-%dT%H:%M:%SZ, e.g. 2025-12-31T12:59:59Z", + args: { name: "expiration" }, + }, + { + name: "--expiration-in-days", + description: + 'Number of days for which the credentials will be valid. If not specified, the expiration will default to the max value "9999-12-31T23:59:59.999999+00:00"', + args: { name: "expiration-in-days" }, + }, + { + name: "--gateway", + description: + "Gateway permissions. Use the format \"--gateway GATEWAY [ACTION1 ACTION2 ...]\" per flag. Valid actions are ['config/read', 'config/write', 'message/read', 'message/write']", + args: { name: "gateway" }, + }, + { + name: "--no-passwords", + description: + "Do not generate passwords during token creation. You can generate the passwords after the token is created by using az acr token credentials generate command", + args: { name: "no-passwords", suggestions: ["false", "true"] }, + }, + { + name: "--repository", + description: + "Repository permissions. Use the format \"--repository REPO [ACTION1 ACTION2 ...]\" per flag. Valid actions are ['content/delete', 'content/read', 'content/write', 'metadata/read', 'metadata/write']", + args: { name: "repository" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-map", + description: + 'The name of the scope map with pre-configured repository permissions. Use "--repository" and/or "--gateway" if you would like CLI to configure one for you', + args: { name: "scope-map" }, + }, + { + name: "--status", + description: "The status of the token", + args: { name: "status", suggestions: ["disabled", "enabled"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a token for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the token", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all tokens for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details and attributes of a token for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the token", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update a token (replace associated scope map) for an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the token", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-map", + description: + "The name of the scope map associated with the token. If not specified, running this command will disassociate the current scope map related to the token", + args: { name: "scope-map" }, + }, + { + name: "--status", + description: "The status of the token", + args: { name: "status", suggestions: ["disabled", "enabled"] }, + }, + ], + }, + { + name: "credential", + description: + "Manage credentials of a token for an Azure Container Registry", + subcommands: [ + { + name: "delete", + description: "Delete a token credential", + options: [ + { + name: ["--name", "-n"], + description: "The name of the token", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--password1", + description: + "Flag indicating if first password should be deleted", + }, + { + name: "--password2", + description: + "Flag indicating if second password should be deleted", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "generate", + description: + "Generate or replace one or both passwords of a token for an Azure Container Registry. For using token and password to access a container registry, see https://aka.ms/acr/repo-permissions", + options: [ + { + name: ["--name", "-n"], + description: "The name of the token", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--expiration", + description: + "UTC time for which the credentials will be valid. In the format of %Y-%m-%dT%H:%M:%SZ, e.g. 2025-12-31T12:59:59Z", + args: { name: "expiration" }, + }, + { + name: "--expiration-in-days", + description: + 'Number of days for which the credentials will be valid. If not specified, the expiration will default to the max value "9999-12-31T23:59:59.999999+00:00"', + args: { name: "expiration-in-days" }, + }, + { + name: "--password1", + description: + "Flag indicating if password1 should be generated", + }, + { + name: "--password2", + description: + "Flag indicating if password2 should be generated", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "webhook", + description: "Manage webhooks for Azure Container Registries", + subcommands: [ + { + name: "create", + description: "Create a webhook for an Azure Container Registry", + options: [ + { + name: "--actions", + description: + "Space-separated list of actions that trigger the webhook to post notifications", + args: { + name: "actions", + suggestions: [ + "chart_delete", + "chart_push", + "delete", + "push", + "quarantine", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the webhook", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--uri", + description: + "The service URI for the webhook to post notifications", + args: { name: "uri" }, + isRequired: true, + }, + { + name: "--headers", + description: + "Space-separated custom headers in 'key[=value]' format that will be added to the webhook notifications. Use \"\" to clear existing headers", + args: { name: "headers" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means events for all repositories", + args: { name: "scope" }, + }, + { + name: "--status", + description: "Indicates whether the webhook is enabled", + args: { name: "status", suggestions: ["disabled", "enabled"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a webhook from an Azure Container Registry", + options: [ + { + name: ["--name", "-n"], + description: "The name of the webhook", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "get-config", + description: "Get the service URI and custom headers for the webhook", + options: [ + { + name: ["--name", "-n"], + description: "The name of the webhook", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List all of the webhooks for an Azure Container Registry", + options: [ + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-events", + description: "List recent events for a webhook", + options: [ + { + name: ["--name", "-n"], + description: "The name of the webhook", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "ping", + description: "Trigger a ping event for a webhook", + options: [ + { + name: ["--name", "-n"], + description: "The name of the webhook", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a webhook", + options: [ + { + name: ["--name", "-n"], + description: "The name of the webhook", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update a webhook", + options: [ + { + name: ["--name", "-n"], + description: "The name of the webhook", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registry", "-r"], + description: + "The name of the container registry. It should be specified in lower case. You can configure the default registry name using az configure --defaults acr=", + args: { name: "registry" }, + isRequired: true, + }, + { + name: "--actions", + description: + "Space-separated list of actions that trigger the webhook to post notifications", + args: { + name: "actions", + suggestions: [ + "chart_delete", + "chart_push", + "delete", + "push", + "quarantine", + ], + }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--headers", + description: + "Space-separated custom headers in 'key[=value]' format that will be added to the webhook notifications. Use \"\" to clear existing headers", + args: { name: "headers" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means events for all repositories", + args: { name: "scope" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--status", + description: "Indicates whether the webhook is enabled", + args: { name: "status", suggestions: ["disabled", "enabled"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--uri", + description: + "The service URI for the webhook to post notifications", + args: { name: "uri" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/ad.ts b/src/az/2.53.0/ad.ts new file mode 100644 index 000000000000..b060a1d590d9 --- /dev/null +++ b/src/az/2.53.0/ad.ts @@ -0,0 +1,1940 @@ +const completion: Fig.Spec = { + name: "ad", + description: + "Manage Azure Active Directory Graph entities needed for Role Based Access Control", + subcommands: [ + { + name: "app", + description: "Manage applications with AAD Graph", + subcommands: [ + { + name: "create", + description: + "Create a web application, web API or native application", + options: [ + { + name: "--display-name", + description: "The display name of the application", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--app-roles", + description: + "The collection of roles assigned to the application. With app role assignments, these roles can be assigned to users, groups, or service principals associated with other applications. Should be JSON file path or in-line JSON string. See examples for details", + args: { name: "app-roles" }, + }, + { + name: "--enable-access-token-issuance", + description: + "Specifies whether this web application can request an access token using the OAuth 2.0 implicit flow", + args: { + name: "enable-access-token-issuance", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-id-token-issuance", + description: + "Specifies whether this web application can request an ID token using the OAuth 2.0 implicit flow", + args: { + name: "enable-id-token-issuance", + suggestions: ["false", "true"], + }, + }, + { + name: "--end-date", + description: + "Date or datetime after which credentials expire (e.g. '2017-12-31T11:59:59+00:00' or '2017-12-31'). Default value is one year after current time", + args: { name: "end-date" }, + }, + { + name: "--identifier-uris", + description: + "Space-separated values. Also known as App ID URI, this value is set when an application is used as a resource app. The identifierUris acts as the prefix for the scopes you'll reference in your API's code, and it must be globally unique. You can use the default value provided, which is in the form api://, or specify a more readable URI like https://contoso.com/api", + args: { name: "identifier-uris" }, + }, + { + name: "--is-fallback-public-client", + description: + "Specifies the fallback application type as public client, such as an installed application running on a mobile device. The default value is false which means the fallback application type is confidential client such as a web app", + args: { + name: "is-fallback-public-client", + suggestions: ["false", "true"], + }, + }, + { + name: "--key-display-name", + description: "Friendly name for the key", + args: { name: "key-display-name" }, + }, + { + name: "--key-type", + description: + "The type of the key credentials associated with the application", + args: { + name: "key-type", + suggestions: ["AsymmetricX509Cert", "Password", "Symmetric"], + }, + }, + { + name: "--key-usage", + description: + "The usage of the key credentials associated with the application", + args: { name: "key-usage", suggestions: ["Sign", "Verify"] }, + }, + { + name: "--key-value", + description: + "The value for the key credentials associated with the application", + args: { name: "key-value" }, + }, + { + name: "--optional-claims", + description: + "Application developers can configure optional claims in their Azure AD applications to specify the claims that are sent to their application by the Microsoft security token service. For more information, see https://docs.microsoft.com/azure/active-directory/develop/active-directory-optional-claims. Should be JSON file path or in-line JSON string. See examples for details", + args: { name: "optional-claims" }, + }, + { + name: "--public-client-redirect-uris", + description: + "Space-separated values. Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent", + args: { name: "public-client-redirect-uris" }, + }, + { + name: "--required-resource-accesses", + description: + "Specifies the resources that the application needs to access. This property also specifies the set of delegated permissions and application roles that it needs for each of those resources. This configuration of access to the required resources drives the consent experience. Should be JSON file path or in-line JSON string. See examples for details", + args: { name: "required-resource-accesses" }, + }, + { + name: "--sign-in-audience", + description: + "Specifies the Microsoft accounts that are supported for the current application", + args: { + name: "sign-in-audience", + suggestions: [ + "AzureADMultipleOrgs", + "AzureADMyOrg", + "AzureADandPersonalMicrosoftAccount", + "PersonalMicrosoftAccount", + ], + }, + }, + { + name: "--start-date", + description: + "Date or datetime at which credentials become valid (e.g. '2017-01-01T01:00:00+00:00' or '2017-01-01'). Default value is current time", + args: { name: "start-date" }, + }, + { + name: "--web-home-page-url", + description: "Home page or landing page of the application", + args: { name: "web-home-page-url" }, + }, + { + name: "--web-redirect-uris", + description: + "Space-separated values. Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent", + args: { name: "web-redirect-uris" }, + }, + ], + }, + { + name: "delete", + description: "Delete an application", + options: [ + { + name: "--id", + description: "Identifier uri, application id, or object id", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List applications", + options: [ + { + name: "--all", + description: + "List all entities, expect long delay if under a big organization", + args: { name: "all" }, + }, + { + name: "--app-id", + description: "Application id", + args: { name: "app-id" }, + }, + { + name: "--display-name", + description: "The display name of the application", + args: { name: "display-name" }, + }, + { + name: "--filter", + description: + "OData filter, e.g. --filter \"displayname eq 'test' and servicePrincipalType eq 'Application'\"", + args: { name: "filter" }, + }, + { + name: "--identifier-uri", + description: + "Graph application identifier, must be in uri format", + args: { name: "identifier-uri" }, + }, + { + name: "--show-mine", + description: "List entities owned by the current user", + args: { name: "show-mine" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an application", + options: [ + { + name: "--id", + description: "Identifier uri, application id, or object id", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an application", + options: [ + { + name: "--id", + description: "Identifier uri, application id, or object id", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--app-roles", + description: + "The collection of roles assigned to the application. With app role assignments, these roles can be assigned to users, groups, or service principals associated with other applications. Should be JSON file path or in-line JSON string. See examples for details", + args: { name: "app-roles" }, + }, + { + name: "--display-name", + description: "The display name of the application", + args: { name: "display-name" }, + }, + { + name: "--enable-access-token-issuance", + description: + "Specifies whether this web application can request an access token using the OAuth 2.0 implicit flow", + args: { + name: "enable-access-token-issuance", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-id-token-issuance", + description: + "Specifies whether this web application can request an ID token using the OAuth 2.0 implicit flow", + args: { + name: "enable-id-token-issuance", + suggestions: ["false", "true"], + }, + }, + { + name: "--end-date", + description: + "Date or datetime after which credentials expire (e.g. '2017-12-31T11:59:59+00:00' or '2017-12-31'). Default value is one year after current time", + args: { name: "end-date" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--identifier-uris", + description: + "Space-separated values. Also known as App ID URI, this value is set when an application is used as a resource app. The identifierUris acts as the prefix for the scopes you'll reference in your API's code, and it must be globally unique. You can use the default value provided, which is in the form api://, or specify a more readable URI like https://contoso.com/api", + args: { name: "identifier-uris" }, + }, + { + name: "--is-fallback-public-client", + description: + "Specifies the fallback application type as public client, such as an installed application running on a mobile device. The default value is false which means the fallback application type is confidential client such as a web app", + args: { + name: "is-fallback-public-client", + suggestions: ["false", "true"], + }, + }, + { + name: "--key-display-name", + description: "Friendly name for the key", + args: { name: "key-display-name" }, + }, + { + name: "--key-type", + description: + "The type of the key credentials associated with the application", + args: { + name: "key-type", + suggestions: ["AsymmetricX509Cert", "Password", "Symmetric"], + }, + }, + { + name: "--key-usage", + description: + "The usage of the key credentials associated with the application", + args: { name: "key-usage", suggestions: ["Sign", "Verify"] }, + }, + { + name: "--key-value", + description: + "The value for the key credentials associated with the application", + args: { name: "key-value" }, + }, + { + name: "--optional-claims", + description: + "Application developers can configure optional claims in their Azure AD applications to specify the claims that are sent to their application by the Microsoft security token service. For more information, see https://docs.microsoft.com/azure/active-directory/develop/active-directory-optional-claims. Should be JSON file path or in-line JSON string. See examples for details", + args: { name: "optional-claims" }, + }, + { + name: "--public-client-redirect-uris", + description: + "Space-separated values. Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent", + args: { name: "public-client-redirect-uris" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--required-resource-accesses", + description: + "Specifies the resources that the application needs to access. This property also specifies the set of delegated permissions and application roles that it needs for each of those resources. This configuration of access to the required resources drives the consent experience. Should be JSON file path or in-line JSON string. See examples for details", + args: { name: "required-resource-accesses" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sign-in-audience", + description: + "Specifies the Microsoft accounts that are supported for the current application", + args: { + name: "sign-in-audience", + suggestions: [ + "AzureADMultipleOrgs", + "AzureADMyOrg", + "AzureADandPersonalMicrosoftAccount", + "PersonalMicrosoftAccount", + ], + }, + }, + { + name: "--start-date", + description: + "Date or datetime at which credentials become valid (e.g. '2017-01-01T01:00:00+00:00' or '2017-01-01'). Default value is current time", + args: { name: "start-date" }, + }, + { + name: "--web-home-page-url", + description: "Home page or landing page of the application", + args: { name: "web-home-page-url" }, + }, + { + name: "--web-redirect-uris", + description: + "Space-separated values. Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent", + args: { name: "web-redirect-uris" }, + }, + ], + }, + { + name: "credential", + description: + "Manage an application's password or certificate credentials", + subcommands: [ + { + name: "delete", + description: + "Delete an application's password or certificate credentials", + options: [ + { + name: "--id", + description: "Identifier uri, application id, or object id", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--key-id", + description: "Credential key id", + args: { name: "key-id" }, + isRequired: true, + }, + { + name: "--cert", + description: "Operate on certificate credentials", + }, + ], + }, + { + name: "list", + description: + "List an application's password or certificate credential metadata. (The content of the password or certificate credential is not retrievable.)", + options: [ + { + name: "--id", + description: "Identifier uri, application id, or object id", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--cert", + description: "Operate on certificate credentials", + }, + ], + }, + { + name: "reset", + description: + "Reset an application's password or certificate credentials", + options: [ + { + name: "--id", + description: "Identifier uri, application id, or object id", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--append", + description: + "Append the new credential instead of overwriting", + }, + { + name: "--cert", + description: + "Certificate to use for credentials. When used with --keyvault,, indicates the name of the cert to use or create. Otherwise, supply a PEM or DER formatted public certificate string. Use @{path} to load from a file. Do not include private key info", + args: { name: "cert" }, + }, + { + name: "--create-cert", + description: + "Create a self-signed certificate to use for the credential. Only the current OS user has read/write permission to this certificate. Use with --keyvault to create the certificate in Key Vault. Otherwise, a certificate will be created locally", + }, + { + name: "--display-name", + description: "Friendly name for the credential", + args: { name: "display-name" }, + }, + { + name: "--end-date", + description: + "Finer grain of expiry time if '--years' is insufficient, e.g. '2020-12-31T11:59:59+00:00' or '2299-12-31'", + args: { name: "end-date" }, + }, + { + name: "--keyvault", + description: + "Name or ID of a KeyVault to use for creating or retrieving certificates", + args: { name: "keyvault" }, + }, + { + name: "--years", + description: + "Number of years for which the credentials will be valid. Default: 1 year", + args: { name: "years" }, + }, + ], + }, + ], + }, + { + name: "federated-credential", + description: "Manage application federated identity credentials", + subcommands: [ + { + name: "create", + description: "Create application federated identity credential", + options: [ + { + name: "--id", + description: + "Application's appId, identifierUri, or id (formerly known as objectId)", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--parameters", + description: + "Parameters for creating federated identity credential. Should be JSON file path or in-line JSON string. See examples for details", + args: { name: "parameters" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete application federated identity credential", + options: [ + { + name: "--federated-credential-id", + description: + "ID or name of the federated identity credential", + args: { name: "federated-credential-id" }, + isRequired: true, + }, + { + name: "--id", + description: + "Application's appId, identifierUri, or id (formerly known as objectId)", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List application federated identity credentials", + options: [ + { + name: "--id", + description: + "Application's appId, identifierUri, or id (formerly known as objectId)", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show application federated identity credential", + options: [ + { + name: "--federated-credential-id", + description: + "ID or name of the federated identity credential", + args: { name: "federated-credential-id" }, + isRequired: true, + }, + { + name: "--id", + description: + "Application's appId, identifierUri, or id (formerly known as objectId)", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update application federated identity credential", + options: [ + { + name: "--federated-credential-id", + description: + "ID or name of the federated identity credential", + args: { name: "federated-credential-id" }, + isRequired: true, + }, + { + name: "--id", + description: + "Application's appId, identifierUri, or id (formerly known as objectId)", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--parameters", + description: + "Parameters for creating federated identity credential. Should be JSON file path or in-line JSON string. See examples for details", + args: { name: "parameters" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "owner", + description: "Manage application owners", + subcommands: [ + { + name: "add", + description: "Add an application owner", + options: [ + { + name: "--id", + description: "Identifier uri, application id, or object id", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--owner-object-id", + description: "Owner's object id", + args: { name: "owner-object-id" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List application owners", + options: [ + { + name: "--id", + description: + "Identifier uri, application id, or object id of the application", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove an application owner", + options: [ + { + name: "--id", + description: "Identifier uri, application id, or object id", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--owner-object-id", + description: "Owner's object id", + args: { name: "owner-object-id" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "permission", + description: "Manage an application's OAuth2 permissions", + subcommands: [ + { + name: "add", + description: "Add an API permission", + options: [ + { + name: "--api", + description: + "RequiredResourceAccess.resourceAppId - The unique identifier for the resource that the application requires access to. This should be equal to the appId declared on the target resource application", + args: { name: "api" }, + isRequired: true, + }, + { + name: "--api-permissions", + description: + "Space-separated list of {id}={type}. {id} is resourceAccess.id - The unique identifier for one of the oauth2PermissionScopes or appRole instances that the resource application exposes. {type} is resourceAccess.type - Specifies whether the id property references an oauth2PermissionScopes or an appRole. The possible values are: Scope (for OAuth 2.0 permission scopes) or Role (for app roles)", + args: { name: "api-permissions" }, + isRequired: true, + }, + { + name: "--id", + description: "Identifier uri, application id, or object id", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + { + name: "admin-consent", + description: + "Grant Application & Delegated permissions through admin-consent", + options: [ + { + name: "--id", + description: "Identifier uri, application id, or object id", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Remove an API permission", + options: [ + { + name: "--api", + description: + "RequiredResourceAccess.resourceAppId - The unique identifier for the resource that the application requires access to. This should be equal to the appId declared on the target resource application", + args: { name: "api" }, + isRequired: true, + }, + { + name: "--id", + description: "Identifier uri, application id, or object id", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--api-permissions", + description: + "Specify ResourceAccess.id - The unique identifier for one of the OAuth2Permission or AppRole instances that the resource application exposes. Space-separated list of ", + args: { name: "api-permissions" }, + }, + ], + }, + { + name: "grant", + description: "Grant the app an API Delegated permissions", + options: [ + { + name: ["--resource-id", "--api,"], + description: + "The id of the resource service principal to which access is authorized. This identifies the API which the client is authorized to attempt to call on behalf of a signed-in user", + args: { name: "resource-id" }, + isRequired: true, + }, + { + name: ["--client-id", "--id,"], + description: + "The id of the client service principal for the application which is authorized to act on behalf of a signed-in user when accessing an API", + args: { name: "client-id" }, + isRequired: true, + }, + { + name: "--scope", + description: + "A space-separated list of the claim values for delegated permissions which should be included in access tokens for the resource application (the API). For example, openid User.Read GroupMember.Read.All. Each claim value should match the value field of one of the delegated permissions defined by the API, listed in the oauth2PermissionScopes property of the resource service principal", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--consent-type", + description: + "Indicates whether authorization is granted for the client application to impersonate all users or only a specific user. 'AllPrincipals' indicates authorization to impersonate all users. 'Principal' indicates authorization to impersonate a specific user. Consent on behalf of all users can be granted by an administrator. Non-admin users may be authorized to consent on behalf of themselves in some cases, for some delegated permissions", + args: { + name: "consent-type", + suggestions: ["AllPrincipals", "Principal"], + }, + }, + { + name: "--principal-id", + description: + "The id of the user on behalf of whom the client is authorized to access the resource, when consentType is 'Principal'. If consentType is 'AllPrincipals' this value is null. Required when consentType is 'Principal'", + args: { name: "principal-id" }, + }, + ], + }, + { + name: "list", + description: "List API permissions the application has requested", + options: [ + { + name: "--id", + description: + "Identifier uri, application id, or object id of the associated application", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + { + name: "list-grants", + description: "List Oauth2 permission grants", + options: [ + { + name: "--filter", + description: + "OData filter, e.g. --filter \"displayname eq 'test' and servicePrincipalType eq 'Application'\"", + args: { name: "filter" }, + }, + { + name: "--id", + description: "Identifier uri, application id, or object id", + args: { name: "id" }, + }, + { + name: ["--show-resource-name", "-r"], + description: "Show resource's display name", + args: { + name: "show-resource-name", + suggestions: ["false", "true"], + }, + }, + ], + }, + ], + }, + ], + }, + { + name: "ds", + description: "Manage domain service with azure active directory", + subcommands: [ + { + name: "create", + description: + "Create a new domain service with the specified parameters", + options: [ + { + name: "--domain", + description: + "The name of the Azure domain that the user would like to deploy Domain Services to", + args: { name: "domain" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the domain service", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--replica-sets", + description: "List of ReplicaSets", + args: { name: "replica-sets" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--domain-config-type", + description: "Domain Configuration Type", + args: { + name: "domain-config-type", + suggestions: ["FullySynced", "ResourceTrusting"], + }, + }, + { + name: "--external-access", + description: + "A flag to determine whether or not Secure LDAP access over the internet is enabled or disabled", + args: { + name: "external-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--filtered-sync", + description: + "Enabled or Disabled flag to turn on Group-based filtered sync", + args: { + name: "filtered-sync", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--ldaps", + description: + "A flag to determine whether or not Secure LDAP is enabled or disabled", + args: { name: "ldaps", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--notify-dc-admins", + description: "Should domain controller admins be notified", + args: { + name: "notify-dc-admins", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--notify-global-admins", + description: "Should global admins be notified", + args: { + name: "notify-global-admins", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--notify-others", + description: "The list of additional recipients", + args: { name: "notify-others" }, + }, + { + name: "--ntlm-v1", + description: + "A flag to determine whether or not NtlmV1 is enabled or disabled", + args: { name: "ntlm-v1", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--pfx-cert", + description: + "The certificate required to configure Secure LDAP. The parameter passed here should be the file path to the certificate pfx file or a base64encoded representation of the certificate pfx file", + args: { name: "pfx-cert" }, + }, + { + name: "--pfx-cert-pwd", + description: + "The password to decrypt the provided Secure LDAP certificate pfx file", + args: { name: "pfx-cert-pwd" }, + }, + { + name: "--resource-forest", + description: "Resource Forest", + args: { + name: "resource-forest", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--settings", + description: + "List of settings for Resource Forest. This can be either a JSON-formatted string or the location to a file containing the JSON object", + args: { name: "settings" }, + }, + { + name: "--sku", + description: "Sku Type", + args: { + name: "sku", + suggestions: ["Enterprise", "Premium", "Standard"], + }, + }, + { + name: "--sync-kerberos-pwd", + description: + "A flag to determine whether or not SyncKerberosPasswords is enabled or disabled", + args: { + name: "sync-kerberos-pwd", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--sync-ntlm-pwd", + description: + "A flag to determine whether or not SyncNtlmPasswords is enabled or disabled", + args: { + name: "sync-ntlm-pwd", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--sync-on-prem-pwd", + description: + "A flag to determine whether or not SyncOnPremPasswords is enabled or disabled", + args: { + name: "sync-on-prem-pwd", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tls-v1", + description: + "A flag to determine whether or not TlsV1 is enabled or disabled", + args: { name: "tls-v1", suggestions: ["Disabled", "Enabled"] }, + }, + ], + }, + { + name: "delete", + description: + "The Delete Domain Service operation deletes an existing Domain Service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the domain service", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List domain services in resource group or in subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the specified domain service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the domain service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update the existing deployment properties for domain service", + options: [ + { + name: "--domain-config-type", + description: "Domain Configuration Type", + args: { + name: "domain-config-type", + suggestions: ["FullySynced", "ResourceTrusting"], + }, + }, + { + name: "--external-access", + description: + "A flag to determine whether or not Secure LDAP access over the internet is enabled or disabled", + args: { + name: "external-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--filtered-sync", + description: + "Enabled or Disabled flag to turn on Group-based filtered sync", + args: { + name: "filtered-sync", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ldaps", + description: + "A flag to determine whether or not Secure LDAP is enabled or disabled", + args: { name: "ldaps", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: ["--name", "-n"], + description: "The name of the domain service", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--notify-dc-admins", + description: "Should domain controller admins be notified", + args: { + name: "notify-dc-admins", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--notify-global-admins", + description: "Should global admins be notified", + args: { + name: "notify-global-admins", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--notify-others", + description: "The list of additional recipients", + args: { name: "notify-others" }, + }, + { + name: "--ntlm-v1", + description: + "A flag to determine whether or not NtlmV1 is enabled or disabled", + args: { name: "ntlm-v1", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--pfx-cert", + description: + "The certificate required to configure Secure LDAP. The parameter passed here should be the file path to the certificate pfx file or a base64encoded representation of the certificate pfx file", + args: { name: "pfx-cert" }, + }, + { + name: "--pfx-cert-pwd", + description: + "The password to decrypt the provided Secure LDAP certificate pfx file", + args: { name: "pfx-cert-pwd" }, + }, + { + name: "--replica-sets", + description: "List of ReplicaSets", + args: { name: "replica-sets" }, + }, + { + name: "--resource-forest", + description: "Resource Forest", + args: { + name: "resource-forest", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--settings", + description: + "List of settings for Resource Forest. This can be either a JSON-formatted string or the location to a file containing the JSON object", + args: { name: "settings" }, + }, + { + name: "--sku", + description: "Sku Type", + args: { + name: "sku", + suggestions: ["Enterprise", "Premium", "Standard"], + }, + }, + { + name: "--sync-kerberos-pwd", + description: + "A flag to determine whether or not SyncKerberosPasswords is enabled or disabled", + args: { + name: "sync-kerberos-pwd", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--sync-ntlm-pwd", + description: + "A flag to determine whether or not SyncNtlmPasswords is enabled or disabled", + args: { + name: "sync-ntlm-pwd", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--sync-on-prem-pwd", + description: + "A flag to determine whether or not SyncOnPremPasswords is enabled or disabled", + args: { + name: "sync-on-prem-pwd", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tls-v1", + description: + "A flag to determine whether or not TlsV1 is enabled or disabled", + args: { name: "tls-v1", suggestions: ["Disabled", "Enabled"] }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the ad ds is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the domain service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "group", + description: "Manage Azure Active Directory groups", + subcommands: [ + { + name: "create", + description: "Create a group in the directory", + options: [ + { + name: "--display-name", + description: "Object's display name or its prefix", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--mail-nickname", + description: "Mail nickname", + args: { name: "mail-nickname" }, + isRequired: true, + }, + { + name: "--description", + description: "Group description", + args: { name: "description" }, + }, + { + name: "--force", + description: + "Always create a new group instead of updating the one with same display and mail nickname", + args: { name: "force", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a group from the directory", + options: [ + { + name: ["--group", "-g"], + description: + "Group's object id or display name(prefix also works if there is a unique match)", + args: { name: "group" }, + isRequired: true, + }, + ], + }, + { + name: "get-member-groups", + description: + "Get a collection of object IDs of groups of which the specified group is a member", + options: [ + { + name: ["--group", "-g"], + description: + "Group's object id or display name(prefix also works if there is a unique match)", + args: { name: "group" }, + isRequired: true, + }, + { + name: "--security-enabled-only", + description: + "True to specify that only security groups that the entity is a member of should be returned; false to specify that all groups and directory roles that the entity is a member of should be returned", + }, + ], + }, + { + name: "list", + description: "List groups in the directory", + options: [ + { + name: "--display-name", + description: "Object's display name or its prefix", + args: { name: "display-name" }, + }, + { + name: "--filter", + description: + "OData filter, e.g. --filter \"displayname eq 'test' and servicePrincipalType eq 'Application'\"", + args: { name: "filter" }, + }, + ], + }, + { + name: "show", + description: "Get group information from the directory", + options: [ + { + name: ["--group", "-g"], + description: + "Group's object id or display name(prefix also works if there is a unique match)", + args: { name: "group" }, + isRequired: true, + }, + ], + }, + { + name: "member", + description: "Manage Azure Active Directory group members", + subcommands: [ + { + name: "add", + description: "Add a member to a group", + options: [ + { + name: ["--group", "-g"], + description: + "Group's object id or display name(prefix also works if there is a unique match)", + args: { name: "group" }, + isRequired: true, + }, + { + name: "--member-id", + description: + "The object ID of the contact, group, user, or service principal", + args: { name: "member-id" }, + isRequired: true, + }, + ], + }, + { + name: "check", + description: "Check if a member is in a group", + options: [ + { + name: ["--group", "-g"], + description: + "Group's object id or display name(prefix also works if there is a unique match)", + args: { name: "group" }, + isRequired: true, + }, + { + name: "--member-id", + description: + "The object ID of the contact, group, user, or service principal", + args: { name: "member-id" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "Get the members of a group", + options: [ + { + name: ["--group", "-g"], + description: + "Group's object id or display name(prefix also works if there is a unique match)", + args: { name: "group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a member from a group", + options: [ + { + name: ["--group", "-g"], + description: + "Group's object id or display name(prefix also works if there is a unique match)", + args: { name: "group" }, + isRequired: true, + }, + { + name: "--member-id", + description: + "The object ID of the contact, group, user, or service principal", + args: { name: "member-id" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "owner", + description: "Manage Azure Active Directory group owners", + subcommands: [ + { + name: "add", + description: "Add a group owner", + options: [ + { + name: ["--group", "-g"], + description: + "Group's object id or display name(prefix also works if there is a unique match)", + args: { name: "group" }, + isRequired: true, + }, + { + name: "--owner-object-id", + description: "Owner's object id", + args: { name: "owner-object-id" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List group owners", + options: [ + { + name: ["--group", "-g"], + description: + "Group's object id or display name(prefix also works if there is a unique match)", + args: { name: "group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a group owner", + options: [ + { + name: ["--group", "-g"], + description: + "Group's object id or display name(prefix also works if there is a unique match)", + args: { name: "group" }, + isRequired: true, + }, + { + name: "--owner-object-id", + description: "Owner's object id", + args: { name: "owner-object-id" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "signed-in-user", + description: "Show graph information about current signed-in user in CLI", + subcommands: [ + { + name: "list-owned-objects", + description: + "Get the list of directory objects that are owned by the user", + options: [ + { + name: ["--type", "-t"], + description: + 'Object type filter, e.g. "application", "servicePrincipal" "group", etc', + args: { name: "type" }, + }, + ], + }, + { + name: "show", + description: "Get the details for the currently logged-in user", + }, + ], + }, + { + name: "sp", + description: + "Manage Azure Active Directory service principals for automation authentication", + subcommands: [ + { + name: "create", + description: "Create a service principal", + options: [ + { + name: "--id", + description: + "Identifier uri, application id, or object id of the associated application", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + { + name: "create-for-rbac", + description: + "Create a service principal and configure its access to Azure resources", + options: [ + { + name: "--cert", + description: + "Certificate to use for credentials. When used with --keyvault,, indicates the name of the cert to use or create. Otherwise, supply a PEM or DER formatted public certificate string. Use @{path} to load from a file. Do not include private key info", + args: { name: "cert" }, + }, + { + name: "--create-cert", + description: + "Create a self-signed certificate to use for the credential. Only the current OS user has read/write permission to this certificate. Use with --keyvault to create the certificate in Key Vault. Otherwise, a certificate will be created locally", + }, + { + name: ["--display-name", "--name", "-n"], + description: + "Display name of the service principal. If not present, default to azure-cli-%Y-%m-%d-%H-%M-%S where the suffix is the time of creation", + args: { name: "display-name" }, + }, + { + name: ["--json-auth", "--sdk-auth"], + description: + "Option '--sdk-auth' has been deprecated and will be removed in a future release. Output service principal credential along with cloud endpoints in JSON format", + args: { name: "json-auth", suggestions: ["false", "true"] }, + }, + { + name: "--keyvault", + description: + "Name or ID of a KeyVault to use for creating or retrieving certificates", + args: { name: "keyvault" }, + }, + { + name: "--role", + description: "Role of the service principal", + args: { name: "role" }, + }, + { + name: "--scopes", + description: + "Space-separated list of scopes the service principal's role assignment applies to. e.g., subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup, /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM", + args: { name: "scopes" }, + }, + { + name: "--years", + description: + "Number of years for which the credentials will be valid. Default: 1 year", + args: { name: "years" }, + }, + ], + }, + { + name: "delete", + description: "Delete a service principal", + options: [ + { + name: "--id", + description: "Service principal name, or object id", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List service principals", + options: [ + { + name: "--all", + description: + "List all entities, expect long delay if under a big organization", + args: { name: "all" }, + }, + { + name: "--display-name", + description: "Object's display name or its prefix", + args: { name: "display-name" }, + }, + { + name: "--filter", + description: + "OData filter, e.g. --filter \"displayname eq 'test' and servicePrincipalType eq 'Application'\"", + args: { name: "filter" }, + }, + { + name: "--show-mine", + description: "List entities owned by the current user", + args: { name: "show-mine" }, + }, + { + name: "--spn", + description: "Service principal name", + args: { name: "spn" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a service principal", + options: [ + { + name: "--id", + description: "Service principal name, or object id", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a service principal", + options: [ + { + name: "--id", + description: "Service principal name, or object id", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "credential", + description: + "Manage a service principal's password or certificate credentials", + subcommands: [ + { + name: "delete", + description: + "Delete a service principal's password or certificate credentials", + options: [ + { + name: "--id", + description: "Service principal name, or object id", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--key-id", + description: "Credential key id", + args: { name: "key-id" }, + isRequired: true, + }, + { + name: "--cert", + description: "Operate on certificate credentials", + }, + ], + }, + { + name: "list", + description: + "List a service principal's password or certificate credential metadata. (The content of the password or certificate credential is not retrievable.)", + options: [ + { + name: "--id", + description: "Service principal name, or object id", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--cert", + description: "Operate on certificate credentials", + }, + ], + }, + { + name: "reset", + description: + "Reset a service principal's password or certificate credentials", + options: [ + { + name: "--id", + description: "Service principal name, or object id", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--append", + description: + "Append the new credential instead of overwriting", + }, + { + name: "--cert", + description: + "Certificate to use for credentials. When used with --keyvault,, indicates the name of the cert to use or create. Otherwise, supply a PEM or DER formatted public certificate string. Use @{path} to load from a file. Do not include private key info", + args: { name: "cert" }, + }, + { + name: "--create-cert", + description: + "Create a self-signed certificate to use for the credential. Only the current OS user has read/write permission to this certificate. Use with --keyvault to create the certificate in Key Vault. Otherwise, a certificate will be created locally", + }, + { + name: "--display-name", + description: "Friendly name for the credential", + args: { name: "display-name" }, + }, + { + name: "--end-date", + description: + "Finer grain of expiry time if '--years' is insufficient, e.g. '2020-12-31T11:59:59+00:00' or '2299-12-31'", + args: { name: "end-date" }, + }, + { + name: "--keyvault", + description: + "Name or ID of a KeyVault to use for creating or retrieving certificates", + args: { name: "keyvault" }, + }, + { + name: "--years", + description: + "Number of years for which the credentials will be valid. Default: 1 year", + args: { name: "years" }, + }, + ], + }, + ], + }, + { + name: "owner", + description: "Manage service principal owners", + subcommands: [ + { + name: "list", + description: "List service principal owners", + options: [ + { + name: "--id", + description: + "Service principal name, or object id or the service principal", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "user", + description: + "Manage Azure Active Directory users and user authentication", + subcommands: [ + { + name: "create", + description: "Create an Azure Active Directory user", + options: [ + { + name: "--display-name", + description: "Object's display name or its prefix", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--password", + description: + "The password that should be assigned to the user for authentication", + args: { name: "password" }, + isRequired: true, + }, + { + name: "--user-principal-name", + description: + "The user principal name (someuser@contoso.com). It must contain one of the verified domains for the tenant", + args: { name: "user-principal-name" }, + isRequired: true, + }, + { + name: "--force-change-password-next-sign-in", + description: + "Marks this user as needing to update their password the next time they authenticate. If omitted, false will be used", + }, + { + name: "--immutable-id", + description: + "This must be specified if you are using a federated domain for the user's userPrincipalName (UPN) property when creating a new user account. It is used to associate an on-premises Active Directory user account with their Azure AD user object", + args: { name: "immutable-id" }, + }, + { + name: "--mail-nickname", + description: "Mail alias. Defaults to user principal name", + args: { name: "mail-nickname" }, + }, + ], + }, + { + name: "delete", + description: "Delete Azure Active Directory user", + options: [ + { + name: "--id", + description: + "The object ID or principal name of the user for which to get information", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + { + name: "get-member-groups", + description: "Get groups of which the user is a member", + options: [ + { + name: "--id", + description: + "The object ID or principal name of the user for which to get information", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--security-enabled-only", + description: + "True to specify that only security groups that the entity is a member of should be returned; false to specify that all groups and directory roles that the entity is a member of should be returned", + }, + ], + }, + { + name: "list", + description: "List Azure Active Directory users", + options: [ + { + name: "--display-name", + description: "Object's display name or its prefix", + args: { name: "display-name" }, + }, + { + name: "--filter", + description: + "OData filter, e.g. --filter \"displayname eq 'test' and servicePrincipalType eq 'Application'\"", + args: { name: "filter" }, + }, + { + name: "--upn", + description: "User principal name, e.g. john.doe@contoso.com", + args: { name: "upn" }, + }, + ], + }, + { + name: "show", + description: "Show details for a Azure Active Directory user", + options: [ + { + name: "--id", + description: + "The object ID or principal name of the user for which to get information", + args: { name: "id" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update Azure Active Directory users", + options: [ + { + name: "--id", + description: + "The object ID or principal name of the user for which to get information", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--account-enabled", + description: "Enable the user account", + args: { name: "account-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--display-name", + description: "Object's display name or its prefix", + args: { name: "display-name" }, + }, + { + name: "--force-change-password-next-sign-in", + description: + "If the user must change her password on the next login", + args: { + name: "force-change-password-next-sign-in", + suggestions: ["false", "true"], + }, + }, + { + name: "--mail-nickname", + description: "Mail alias. Defaults to user principal name", + args: { name: "mail-nickname" }, + }, + { + name: "--password", + description: "User password", + args: { name: "password" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/adp.ts b/src/az/2.53.0/adp.ts new file mode 100644 index 000000000000..826b7e8ba364 --- /dev/null +++ b/src/az/2.53.0/adp.ts @@ -0,0 +1,1044 @@ +const completion: Fig.Spec = { + name: "adp", + description: "Manage Azure Autonomous Development Platform resources", + subcommands: [ + { + name: "account", + description: "Manage adp accounts", + subcommands: [ + { + name: "create", + description: "Create an ADP account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the ADP account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "The geo-location where the resource lives", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an ADP account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the ADP account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all ADP accounts available under the subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the properties of an ADP account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the ADP account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an ADP account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the ADP account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the ADP account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "data-pool", + description: "Manage adp data-pool", + subcommands: [ + { + name: "create", + description: "Create a Data Pool", + options: [ + { + name: "--account-name", + description: "The name of the ADP account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--data-pool-name", "--name", "-n"], + description: "The name of the Data Pool", + args: { name: "data-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--locations", + description: + 'Gets or sets the collection of locations where Data Pool resources should be created Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "locations" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Data Pool", + options: [ + { + name: "--account-name", + description: "The name of the ADP account", + args: { name: "account-name" }, + }, + { + name: ["--data-pool-name", "--name", "-n"], + description: "The name of the Data Pool", + args: { name: "data-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the data pools under the ADP account", + options: [ + { + name: "--account-name", + description: "The name of the ADP account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the properties of a Data Pool", + options: [ + { + name: "--account-name", + description: "The name of the ADP account", + args: { name: "account-name" }, + }, + { + name: ["--data-pool-name", "--name", "-n"], + description: "The name of the Data Pool", + args: { name: "data-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Data Pool", + options: [ + { + name: "--account-name", + description: "The name of the ADP account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--data-pool-name", "--name", "-n"], + description: "The name of the Data Pool", + args: { name: "data-pool-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--locations", + description: + 'Gets or sets the collection of locations where Data Pool resources should be created Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "locations" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--account-name", + description: "The name of the ADP account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { + name: ["--data-pool-name", "--name", "-n"], + description: "The name of the Data Pool", + args: { name: "data-pool-name" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "check-name-availability", + description: "Checks the resource name is available", + options: [ + { + name: "--name", + description: "The name to be checked", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--type", + description: "The resource type to be checked", + args: { + name: "type", + suggestions: [ + "Microsoft.AutonomousDevelopmentPlatform/accounts", + "Microsoft.AutonomousDevelopmentPlatform/workspaces", + ], + }, + isRequired: true, + }, + ], + }, + { + name: "workspace", + description: "Manage adp workspace", + subcommands: [ + { + name: "create", + description: "Create a Workspace", + options: [ + { + name: ["--workspace-name", "--name", "-n"], + description: "Workspace Name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--data-location", + description: + "The Workspace's data location. If not provided, defaults to the resource's location", + args: { name: "data-location" }, + }, + { + name: "--direct-read-access", + description: + "Enables direct data plane read access to the Workspace's underlying Azure resources according to Azure RBAC (thus bypassing the Autonomous Development Platform's authorization systems)", + args: { + name: "direct-read-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--domain-name-scope", + description: + "The scope for the FQDN label generation. If not provided, defaults to TenantReuse", + args: { + name: "domain-name-scope", + suggestions: [ + "NoReuse", + "ResourceGroupReuse", + "SubscriptionReuse", + "TenantReuse", + ], + }, + }, + { + name: "--encryption", + description: + 'The encryption configuration. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "encryption" }, + }, + { + name: "--identity", + description: + 'The managed service identities assigned to this resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--source-resource-id", + description: + "The ARM Id of the source resource that originated the data for this Workspace", + args: { name: "source-resource-id" }, + }, + { + name: "--storage-account-count", + description: + "The amount of storage accounts provisioned per Workspace. If not provided, defaults to 5", + args: { name: "storage-account-count" }, + }, + { + name: "--storage-sku", + description: + 'The Storage SKU. If not provided, defaults to Standard_ZRS. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "storage-sku" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--workspace-name", "--name", "-n"], + description: "Workspace Name", + args: { name: "workspace-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List Workspace resources by subscription ID", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a Workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--workspace-name", "--name", "-n"], + description: "Workspace Name", + args: { name: "workspace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Workspace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + 'The managed service identities assigned to this resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--workspace-name", "--name", "-n"], + description: "Workspace Name", + args: { name: "workspace-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--workspace-name", "--name", "-n"], + description: "Workspace Name", + args: { name: "workspace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/advisor.ts b/src/az/2.53.0/advisor.ts new file mode 100644 index 000000000000..a018f867c5d8 --- /dev/null +++ b/src/az/2.53.0/advisor.ts @@ -0,0 +1,187 @@ +const completion: Fig.Spec = { + name: "advisor", + description: "Manage Azure Advisor", + subcommands: [ + { + name: "configuration", + description: "Manage Azure Advisor configuration", + subcommands: [ + { + name: "list", + description: + "List Azure Advisor configuration for the entire subscription", + }, + { + name: "show", + description: + "Show Azure Advisor configuration for the given subscription or resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update Azure Advisor configuration", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--configuration-name", + description: + 'Advisor configuration name. Value must be "default"', + args: { name: "configuration-name" }, + }, + { + name: ["--exclude", "-e"], + description: "Exclude from recommendation generation", + args: { name: "exclude" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--include", "-i"], + description: "Include in recommendation generation", + args: { name: "include" }, + }, + { + name: ["--low-cpu-threshold", "-l"], + description: "Value for low CPU threshold", + args: { + name: "low-cpu-threshold", + suggestions: ["10", "15", "20", "5"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + { + name: "recommendation", + description: "Review Azure Advisor recommendations", + subcommands: [ + { + name: "disable", + description: "Disable Azure Advisor recommendations", + options: [ + { + name: ["--days", "-d"], + description: + "Number of days to disable. If not specified, the recommendation is disabled forever", + args: { name: "days" }, + }, + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the recommendation as output by the list command", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "enable", + description: "Enable Azure Advisor recommendations", + options: [ + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the recommendation as output by the list command", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List Azure Advisor recommendations", + options: [ + { + name: ["--category", "-c"], + description: "Name of recommendation category", + args: { + name: "category", + suggestions: [ + "Cost", + "HighAvailability", + "Performance", + "Security", + ], + }, + }, + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--refresh", "-r"], + description: "Generate new recommendations", + args: { name: "refresh" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/afd.ts b/src/az/2.53.0/afd.ts new file mode 100644 index 000000000000..e30aff4ed10c --- /dev/null +++ b/src/az/2.53.0/afd.ts @@ -0,0 +1,3659 @@ +const completion: Fig.Spec = { + name: "afd", + description: + "Manage Azure Front Door Standard/Premium. For classical Azure Front Door, please refer https://docs.microsoft.com/en-us/cli/azure/network/front-door?view=azure-cli-latest", + subcommands: [ + { + name: "custom-domain", + description: "Manage custom domains within the specified profile", + subcommands: [ + { + name: "create", + description: "Create a custom domain within the specified profile", + options: [ + { + name: "--certificate-type", + description: "Defines the source of the SSL certificate", + args: { + name: "certificate-type", + suggestions: [ + "AzureFirstPartyManagedCertificate", + "CustomerCertificate", + "ManagedCertificate", + ], + }, + isRequired: true, + }, + { + name: "--custom-domain-name", + description: "Name of the custom domain", + args: { name: "custom-domain-name" }, + isRequired: true, + }, + { + name: "--host-name", + description: "The host name of the domain. Must be a domain name", + args: { name: "host-name" }, + isRequired: true, + }, + { + name: "--minimum-tls-version", + description: "TLS protocol version that will be used for Https", + args: { + name: "minimum-tls-version", + suggestions: ["TLS10", "TLS12"], + }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--azure-dns-zone", + description: "ID of the Azure DNS zone", + args: { name: "azure-dns-zone" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "Name of the azure front door secret", + args: { name: "secret" }, + }, + ], + }, + { + name: "delete", + description: "Delete a custom domain", + options: [ + { + name: "--custom-domain-name", + description: "Name of the custom domain", + args: { name: "custom-domain-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the custom domains within the specified profile", + options: [ + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "regenerate-validation-token", + description: + "Regenerate the domain validation token to restart the validation process", + options: [ + { + name: "--custom-domain-name", + description: "Name of the custom domain", + args: { name: "custom-domain-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show the custom domain details", + options: [ + { + name: "--custom-domain-name", + description: "Name of the custom domain", + args: { name: "custom-domain-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a custom domain within the specified profile", + options: [ + { + name: "--azure-dns-zone", + description: "ID of the Azure DNS zone", + args: { name: "azure-dns-zone" }, + }, + { + name: "--certificate-type", + description: "Defines the source of the SSL certificate", + args: { + name: "certificate-type", + suggestions: [ + "AzureFirstPartyManagedCertificate", + "CustomerCertificate", + "ManagedCertificate", + ], + }, + }, + { + name: "--custom-domain-name", + description: "Name of the custom domain", + args: { name: "custom-domain-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--minimum-tls-version", + description: "TLS protocol version that will be used for Https", + args: { + name: "minimum-tls-version", + suggestions: ["TLS10", "TLS12"], + }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "Name of the azure front door secret", + args: { name: "secret" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the custom domain is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { + name: "--custom-domain-name", + description: "Name of the custom domain", + args: { name: "custom-domain-name" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "endpoint", + description: + "Manage AFD endpoints within the specified profile.\n\n\t\tAn endpoint is a logical grouping of domains and their associated configurations", + subcommands: [ + { + name: "create", + description: "Creates an endpoint within the specified profile", + options: [ + { + name: "--endpoint-name", + description: + "Name of the endpoint under the profile which is unique globally", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--enabled-state", + description: "Whether to enable this endpoint", + args: { + name: "enabled-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--name-reuse-scope", + description: + "Indicates the endpoint name reuse scope. The default value is TenantReuse", + args: { + name: "name-reuse-scope", + suggestions: [ + "NoReuse", + "ResourceGroupReuse", + "SubscriptionReuse", + "TenantReuse", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an endpoint within the specified profile", + options: [ + { + name: "--endpoint-name", + description: + "Name of the endpoint under the profile which is unique globally", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the endpoints within the specified profile", + options: [ + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "purge", + description: "Removes cached contents from Azure Front Door", + options: [ + { + name: "--content-paths", + description: + "The path to the content to be purged. Can describe a file path or a wildcard directory", + args: { name: "content-paths" }, + isRequired: true, + }, + { + name: "--domains", + description: "List of domains", + args: { name: "domains" }, + }, + { + name: "--endpoint-name", + description: + "Name of the endpoint under the profile which is unique globally", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show details of an endpoint within the specified profile", + options: [ + { + name: "--endpoint-name", + description: + "Name of the endpoint under the profile which is unique globally", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an endpoint within the specified profile", + options: [ + { + name: "--enabled-state", + description: "Whether to enable this endpoint", + args: { + name: "enabled-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--endpoint-name", + description: + "Name of the endpoint under the profile which is unique globally", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "log-analytic", + description: "Manage afd log analytic results", + subcommands: [ + { + name: "location", + description: "Manage available location names for AFD log analysis", + subcommands: [ + { + name: "list", + description: + "Get all available location names for AFD log analytics report", + options: [ + { + name: "--profile-name", + description: + "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "metric", + description: "Manage metric statistics for AFD profile", + subcommands: [ + { + name: "list", + description: "Get log report for AFD profile", + options: [ + { + name: "--custom-domains", + description: "The domains to be included", + args: { name: "custom-domains" }, + isRequired: true, + }, + { + name: "--date-time-begin", + description: "The start datetime", + args: { name: "date-time-begin" }, + isRequired: true, + }, + { + name: "--date-time-end", + description: "The end datetime", + args: { name: "date-time-end" }, + isRequired: true, + }, + { + name: "--granularity", + description: "The interval granularity", + args: { + name: "granularity", + suggestions: ["P1D", "PT1H", "PT5M"], + }, + isRequired: true, + }, + { + name: "--metrics", + description: "Metric types to include", + args: { + name: "metrics", + suggestions: [ + "clientRequestBandwidth", + "clientRequestCount", + "clientRequestTraffic", + "originRequestBandwidth", + "originRequestTraffic", + "totalLatency", + ], + }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: "--protocols", + description: "The protocols to be included", + args: { name: "protocols" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--continents", + description: "ISO 3316-1 alpha-2 continent code", + args: { name: "continents" }, + }, + { + name: "--country-or-regions", + description: "ISO 3316-1 alpha-2 region code", + args: { name: "country-or-regions" }, + }, + { + name: "--group-by", + description: "Aggregate demensions", + args: { + name: "group-by", + suggestions: [ + "cacheStatus", + "country", + "customDomain", + "httpStatusCode", + "protocol", + ], + }, + }, + ], + }, + ], + }, + { + name: "ranking", + description: "Manage ranking statistics for AFD profile", + subcommands: [ + { + name: "list", + description: "Get log analytics ranking report for AFD profile", + options: [ + { + name: "--date-time-begin", + description: "The start datetime", + args: { name: "date-time-begin" }, + isRequired: true, + }, + { + name: "--date-time-end", + description: "The end datetime", + args: { name: "date-time-end" }, + isRequired: true, + }, + { + name: "--max-ranking", + description: + "The maximum number of rows to return based on the ranking", + args: { name: "max-ranking" }, + isRequired: true, + }, + { + name: "--metrics", + description: "Metric types to include", + args: { + name: "metrics", + suggestions: [ + "clientRequestCount", + "clientRequestTraffic", + "errorCount", + "hitCount", + "missCount", + "userErrorCount", + ], + }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: "--rankings", + description: "The dimemsions to be included for ranking", + args: { + name: "rankings", + suggestions: [ + "browser", + "countryOrRegion", + "referrer", + "url", + "userAgent", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--custom-domains", + description: "The domains to be included", + args: { name: "custom-domains" }, + }, + ], + }, + ], + }, + { + name: "resource", + description: + "Manage endpoints and custom domains available for AFD log analysis", + subcommands: [ + { + name: "list", + description: + "Get all endpoints and custom domains available for AFD log report", + options: [ + { + name: "--profile-name", + description: + "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "origin", + description: + "Manage origins within the specified origin group.\n\n\t\tOrigins are the application servers where Front Door will route your client requests. Utilize any publicly accessible application server, including App Service, Traffic Manager, Private Link, and many others", + subcommands: [ + { + name: "create", + description: "Create an AFD origin", + options: [ + { + name: "--enabled-state", + description: "Whether to enable this origin", + args: { + name: "enabled-state", + suggestions: ["Disabled", "Enabled"], + }, + isRequired: true, + }, + { + name: "--host-name", + description: + "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in a origin group", + args: { name: "host-name" }, + isRequired: true, + }, + { + name: "--origin-group-name", + description: + "Name of the origin group which is unique within the endpoint", + args: { name: "origin-group-name" }, + isRequired: true, + }, + { + name: "--origin-name", + description: "Name of the origin", + args: { name: "origin-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--enable-private-link", + description: + "Indicates whether private link is enanbled on that origin", + args: { + name: "enable-private-link", + suggestions: ["false", "true"], + }, + }, + { + name: "--enforce-certificate-name-check", + description: + '"Whether to enable certificate name check at origin level', + args: { + name: "enforce-certificate-name-check", + suggestions: ["false", "true"], + }, + }, + { + name: "--http-port", + description: "The port used for http requests to the origin", + args: { name: "http-port" }, + }, + { + name: "--https-port", + description: "The port used for https requests to the origin", + args: { name: "https-port" }, + }, + { + name: "--origin-host-header", + description: + "The Host header to send for requests to this origin. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default", + args: { name: "origin-host-header" }, + }, + { + name: "--priority", + description: + "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy. Must be between 1 and 5", + args: { name: "priority" }, + }, + { + name: "--private-link-location", + description: + "The location of origin that will be connected to using the private link", + args: { name: "private-link-location" }, + }, + { + name: "--private-link-request-message", + description: + "The message that is shown to the approver of the private link request", + args: { name: "private-link-request-message" }, + }, + { + name: "--private-link-resource", + description: + "The resource ID of the origin that will be connected to using the private link", + args: { name: "private-link-resource" }, + }, + { + name: "--private-link-sub-resource-type", + description: + 'The sub-resource type of the origin that will be connected to using the private link.You can use "az network private-link-resource list" to obtain the supported sub-resource types', + args: { name: "private-link-sub-resource-type" }, + }, + { + name: "--weight", + description: + "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + args: { name: "weight" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an existing origin within an origin group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--origin-group-name", + description: + "Name of the origin group which is unique within the endpoint", + args: { name: "origin-group-name" }, + }, + { + name: "--origin-name", + description: "Name of the origin", + args: { name: "origin-name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all of the existing origins within an origin group", + options: [ + { + name: "--origin-group-name", + description: + "Name of the origin group which is unique within the endpoint", + args: { name: "origin-group-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets an existing origin within an origin group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--origin-group-name", + description: + "Name of the origin group which is unique within the endpoint", + args: { name: "origin-group-name" }, + }, + { + name: "--origin-name", + description: "Name of the origin", + args: { name: "origin-name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the settings of the specified AFD origin", + options: [ + { + name: "--enable-private-link", + description: + "Indicates whether private link is enanbled on that origin", + args: { + name: "enable-private-link", + suggestions: ["false", "true"], + }, + }, + { + name: "--enabled-state", + description: "Whether to enable this origin", + args: { + name: "enabled-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--enforce-certificate-name-check", + description: + '"Whether to enable certificate name check at origin level', + args: { + name: "enforce-certificate-name-check", + suggestions: ["false", "true"], + }, + }, + { + name: "--host-name", + description: + "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in a origin group", + args: { name: "host-name" }, + }, + { + name: "--http-port", + description: "The port used for http requests to the origin", + args: { name: "http-port" }, + }, + { + name: "--https-port", + description: "The port used for https requests to the origin", + args: { name: "https-port" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--origin-group-name", + description: + "Name of the origin group which is unique within the endpoint", + args: { name: "origin-group-name" }, + }, + { + name: "--origin-host-header", + description: + "The Host header to send for requests to this origin. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default", + args: { name: "origin-host-header" }, + }, + { + name: "--origin-name", + description: "Name of the origin", + args: { name: "origin-name" }, + }, + { + name: "--priority", + description: + "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy. Must be between 1 and 5", + args: { name: "priority" }, + }, + { + name: "--private-link-location", + description: + "The location of origin that will be connected to using the private link", + args: { name: "private-link-location" }, + }, + { + name: "--private-link-request-message", + description: + "The message that is shown to the approver of the private link request", + args: { name: "private-link-request-message" }, + }, + { + name: "--private-link-resource", + description: + "The resource ID of the origin that will be connected to using the private link", + args: { name: "private-link-resource" }, + }, + { + name: "--private-link-sub-resource-type", + description: + 'The sub-resource type of the origin that will be connected to using the private link.You can use "az network private-link-resource list" to obtain the supported sub-resource types', + args: { name: "private-link-sub-resource-type" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--weight", + description: + "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + args: { name: "weight" }, + }, + ], + }, + ], + }, + { + name: "origin-group", + description: + "Manage origin groups under the specified profile.\n\n\t\tAn origin group is a set of origins to which Front Door load balances your client requests", + subcommands: [ + { + name: "create", + description: + "Creates a new origin group within the specified profile", + options: [ + { + name: "--additional-latency-in-milliseconds", + description: + "The additional latency in milliseconds for probes to fall into the lowest latency bucket", + args: { name: "additional-latency-in-milliseconds" }, + isRequired: true, + }, + { + name: "--origin-group-name", + description: "Name of the origin group", + args: { name: "origin-group-name" }, + isRequired: true, + }, + { + name: "--probe-path", + description: + "The path relative to the origin that is used to determine the health of the origin", + args: { name: "probe-path" }, + isRequired: true, + }, + { + name: "--probe-protocol", + description: "Protocol to use for health probe", + args: { + name: "probe-protocol", + suggestions: ["Http", "Https", "NotSet"], + }, + isRequired: true, + }, + { + name: "--probe-request-type", + description: "The type of health probe request that is made", + args: { + name: "probe-request-type", + suggestions: ["GET", "HEAD", "NotSet"], + }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sample-size", + description: + "The number of samples to consider for load balancing decisions", + args: { name: "sample-size" }, + isRequired: true, + }, + { + name: "--successful-samples-required", + description: + "The number of samples within the sample period that must succeed", + args: { name: "successful-samples-required" }, + isRequired: true, + }, + { + name: "--probe-interval-in-seconds", + description: "The number of seconds between health probes", + args: { name: "probe-interval-in-seconds" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes an existing origin group within the specified profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--origin-group-name", + description: "Name of the origin group", + args: { name: "origin-group-name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all of the existing origin groups within a profile", + options: [ + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets an existing origin group within a profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--origin-group-name", + description: "Name of the origin group", + args: { name: "origin-group-name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Updates an existing origin group within the specified profile", + options: [ + { + name: "--additional-latency-in-milliseconds", + description: + "The additional latency in milliseconds for probes to fall into the lowest latency bucket", + args: { name: "additional-latency-in-milliseconds" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--origin-group-name", + description: "Name of the origin group", + args: { name: "origin-group-name" }, + }, + { + name: "--probe-interval-in-seconds", + description: "The number of seconds between health probes", + args: { name: "probe-interval-in-seconds" }, + }, + { + name: "--probe-path", + description: + "The path relative to the origin that is used to determine the health of the origin", + args: { name: "probe-path" }, + }, + { + name: "--probe-protocol", + description: "Protocol to use for health probe", + args: { + name: "probe-protocol", + suggestions: ["Http", "Https", "NotSet"], + }, + }, + { + name: "--probe-request-type", + description: "The type of health probe request that is made", + args: { + name: "probe-request-type", + suggestions: ["GET", "HEAD", "NotSet"], + }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sample-size", + description: + "The number of samples to consider for load balancing decisions", + args: { name: "sample-size" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--successful-samples-required", + description: + "The number of samples within the sample period that must succeed", + args: { name: "successful-samples-required" }, + }, + ], + }, + ], + }, + { + name: "profile", + description: "Manage AFD profiles", + subcommands: [ + { + name: "create", + description: "Create a new AFD profile", + options: [ + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: "The pricing tier of the AFD profile", + args: { + name: "sku", + suggestions: [ + "Premium_AzureFrontDoor", + "Standard_AzureFrontDoor", + ], + }, + isRequired: true, + }, + { + name: "--origin-response-timeout-seconds", + description: + "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns", + args: { name: "origin-response-timeout-seconds" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an AFD profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List AFD profiles", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of an AFD profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an AFD profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--origin-response-timeout-seconds", + description: + "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns", + args: { name: "origin-response-timeout-seconds" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "usage", + description: "List resource usage within the specific AFD profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "route", + description: + "Manage routes under an AFD endpoint.\n\n\t\tA route maps your domains and matching URL path patterns to a specific origin group", + subcommands: [ + { + name: "create", + description: "Creates a new route within the specified endpoint", + options: [ + { + name: "--endpoint-name", + description: "Name of the endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--forwarding-protocol", + description: + "Protocol this rule will use when forwarding traffic to backends", + args: { + name: "forwarding-protocol", + suggestions: ["HttpOnly", "HttpsOnly", "MatchRequest"], + }, + isRequired: true, + }, + { + name: "--https-redirect", + description: + "Whether to automatically redirect HTTP traffic to HTTPS traffic", + args: { + name: "https-redirect", + suggestions: ["Disabled", "Enabled"], + }, + isRequired: true, + }, + { + name: "--origin-group", + description: + "Name or ID of the origin group to be associated with", + args: { name: "origin-group" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--route-name", + description: "Name of the route", + args: { name: "route-name" }, + isRequired: true, + }, + { + name: "--supported-protocols", + description: "List of supported protocols for this route", + args: { + name: "supported-protocols", + suggestions: ["Http", "Https"], + }, + isRequired: true, + }, + { + name: "--content-types-to-compress", + description: + "List of content types on which compression applies. The value should be a valid MIME type", + args: { name: "content-types-to-compress" }, + }, + { + name: "--custom-domains", + description: "Custom domains referenced by this endpoint", + args: { name: "custom-domains" }, + }, + { + name: "--enable-caching", + description: + "Indicates whether caching is enanbled on that route", + }, + { + name: "--enable-compression", + description: + "Indicates whether content compression is enabled on AzureFrontDoor. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB", + }, + { + name: "--enabled-state", + description: "Whether to enable this route", + args: { + name: "enabled-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--link-to-default-domain", + description: + "Whether this route will be linked to the default endpoint domain", + args: { + name: "link-to-default-domain", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--origin-path", + description: + "A directory path on the origin that Azure Front Door can use to retrieve content from", + args: { name: "origin-path" }, + }, + { + name: "--patterns-to-match", + description: "The route patterns of the rule", + args: { name: "patterns-to-match" }, + }, + { + name: "--query-parameters", + description: "Query parameters to include or exclude", + args: { name: "query-parameters" }, + }, + { + name: "--query-string-caching-behavior", + description: + "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL", + args: { + name: "query-string-caching-behavior", + suggestions: [ + "IgnoreQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings", + "UseQueryString", + ], + }, + }, + { + name: "--rule-sets", + description: + "Collection of ID or name of rule set referenced by the route", + args: { name: "rule-sets" }, + }, + ], + }, + { + name: "delete", + description: "Delete an existing route within the specified endpoint", + options: [ + { + name: "--endpoint-name", + description: "Name of the endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--route-name", + description: "Name of the route", + args: { name: "route-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the routes within the specified endpoint", + options: [ + { + name: "--endpoint-name", + description: "Name of the endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show route details", + options: [ + { + name: "--endpoint-name", + description: "Name of the endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--route-name", + description: "Name of the route", + args: { name: "route-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an existing route within the specified endpoint", + options: [ + { + name: "--content-types-to-compress", + description: + "List of content types on which compression applies. The value should be a valid MIME type", + args: { name: "content-types-to-compress" }, + }, + { + name: "--custom-domains", + description: "Custom domains referenced by this endpoint", + args: { name: "custom-domains" }, + }, + { + name: "--enable-caching", + description: + "Indicates whether caching is enanbled on that route", + args: { name: "enable-caching", suggestions: ["false", "true"] }, + }, + { + name: "--enable-compression", + description: + "Indicates whether content compression is enabled on AzureFrontDoor. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB", + args: { + name: "enable-compression", + suggestions: ["false", "true"], + }, + }, + { + name: "--enabled-state", + description: "Whether to enable this route", + args: { + name: "enabled-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--endpoint-name", + description: "Name of the endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--forwarding-protocol", + description: + "Protocol this rule will use when forwarding traffic to backends", + args: { + name: "forwarding-protocol", + suggestions: ["HttpOnly", "HttpsOnly", "MatchRequest"], + }, + }, + { + name: "--https-redirect", + description: + "Whether to automatically redirect HTTP traffic to HTTPS traffic", + args: { + name: "https-redirect", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--link-to-default-domain", + description: + "Whether this route will be linked to the default endpoint domain", + args: { + name: "link-to-default-domain", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--origin-group", + description: + "Name or ID of the origin group to be associated with", + args: { name: "origin-group" }, + }, + { + name: "--origin-path", + description: + "A directory path on the origin that Azure Front Door can use to retrieve content from", + args: { name: "origin-path" }, + }, + { + name: "--patterns-to-match", + description: "The route patterns of the rule", + args: { name: "patterns-to-match" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: "--query-parameters", + description: "Query parameters to include or exclude", + args: { name: "query-parameters" }, + }, + { + name: "--query-string-caching-behavior", + description: + "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL", + args: { + name: "query-string-caching-behavior", + suggestions: [ + "IgnoreQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings", + "UseQueryString", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--route-name", + description: "Name of the route", + args: { name: "route-name" }, + }, + { + name: "--rule-sets", + description: + "Collection of ID or name of rule set referenced by the route", + args: { name: "rule-sets" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--supported-protocols", + description: "List of supported protocols for this route", + args: { + name: "supported-protocols", + suggestions: ["Http", "Https"], + }, + }, + ], + }, + ], + }, + { + name: "rule", + description: "Manage delivery rules within the specified rule set", + subcommands: [ + { + name: "create", + description: + "Creates a new delivery rule within the specified rule set", + options: [ + { + name: "--action-name", + description: + "The name of the action for the delivery rule: https://docs.microsoft.com/en-us/azure/frontdoor/front-door-rules-engine-actions", + args: { + name: "action-name", + suggestions: [ + "ModifyRequestHeader", + "ModifyResponseHeader", + "RouteConfigurationOverride", + "UrlRedirect", + "UrlRewrite", + ], + }, + isRequired: true, + }, + { + name: "--order", + description: + "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lower order will be applied before one with a higher order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied", + args: { name: "order" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + { + name: "--cache-behavior", + description: "Caching behavior for the requests", + args: { + name: "cache-behavior", + suggestions: [ + "HonorOrigin", + "OverrideAlways", + "OverrideIfOriginMissing", + ], + }, + }, + { + name: "--cache-duration", + description: + "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + args: { name: "cache-duration" }, + }, + { + name: "--custom-fragment", + description: "Fragment to add to the redirect URL", + args: { name: "custom-fragment" }, + }, + { + name: "--custom-hostname", + description: + "Host to redirect. Leave empty to use the incoming host as the destination host", + args: { name: "custom-hostname" }, + }, + { + name: "--custom-path", + description: + "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path", + args: { name: "custom-path" }, + }, + { + name: "--custom-querystring", + description: + "The set of query strings to be placed in the redirect URL. leave empty to preserve the incoming query string", + args: { name: "custom-querystring" }, + }, + { + name: "--destination", + description: "The destination path to be used in the rewrite", + args: { name: "destination" }, + }, + { + name: "--enable-caching", + description: "Indicates whether to enable caching on the route", + args: { name: "enable-caching", suggestions: ["false", "true"] }, + }, + { + name: "--enable-compression", + description: + "Indicates whether content compression is enabled on AzureFrontDoor. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB", + args: { + name: "enable-compression", + suggestions: ["false", "true"], + }, + }, + { + name: "--forwarding-protocol", + description: + "Protocol this rule will use when forwarding traffic to backends", + args: { + name: "forwarding-protocol", + suggestions: ["HttpOnly", "HttpsOnly", "MatchRequest"], + }, + }, + { + name: "--header-action", + description: "Header action for the requests", + args: { + name: "header-action", + suggestions: ["Append", "Delete", "Overwrite"], + }, + }, + { + name: "--header-name", + description: "Name of the header to modify", + args: { name: "header-name" }, + }, + { + name: "--header-value", + description: "Value of the header", + args: { name: "header-value" }, + }, + { + name: "--match-processing-behavior", + description: + "Indicate whether rules engine should continue to run the remaining rules or stop if matched. Defaults to Continue", + args: { + name: "match-processing-behavior", + suggestions: ["Continue", "Stop"], + }, + }, + { + name: "--match-values", + description: + 'Match values of the match condition. e.g, space separated values "GET" "HTTP"', + args: { name: "match-values" }, + }, + { + name: "--match-variable", + description: + "Name of the match condition: https://docs.microsoft.com/en-us/azure/frontdoor/rules-match-conditions", + args: { + name: "match-variable", + suggestions: [ + "ClientPort", + "Cookies", + "HostName", + "HttpVersion", + "IsDevice", + "PostArgs", + "QueryString", + "RemoteAddress", + "RequestBody", + "RequestHeader", + "RequestMethod", + "RequestScheme", + "RequestUri", + "ServerPort", + "SocketAddr", + "SslProtocol", + "UrlFileExtension", + "UrlFileName", + "UrlPath", + ], + }, + }, + { + name: "--negate-condition", + description: "If true, negates the condition", + args: { + name: "negate-condition", + suggestions: ["false", "true"], + }, + }, + { + name: "--operator", + description: "Operator of the match condition", + args: { name: "operator" }, + }, + { + name: "--origin-group", + description: + "Name or ID of the OriginGroup that would override the default OriginGroup", + args: { name: "origin-group" }, + }, + { + name: "--preserve-unmatched-path", + description: + "If True, the remaining path after the source pattern will be appended to the new destination path", + args: { + name: "preserve-unmatched-path", + suggestions: ["false", "true"], + }, + }, + { + name: "--query-parameters", + description: "Query parameters to include or exclude", + args: { name: "query-parameters" }, + }, + { + name: "--query-string-caching-behavior", + description: + "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL", + args: { + name: "query-string-caching-behavior", + suggestions: [ + "IgnoreQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings", + "UseQueryString", + ], + }, + }, + { + name: "--redirect-protocol", + description: "Protocol to use for the redirect", + args: { + name: "redirect-protocol", + suggestions: ["Http", "Https", "MatchRequest"], + }, + }, + { + name: "--redirect-type", + description: + "The redirect type the rule will use when redirecting traffic", + args: { + name: "redirect-type", + suggestions: [ + "Found", + "Moved", + "PermanentRedirect", + "TemporaryRedirect", + ], + }, + }, + { + name: "--selector", + description: "Selector of the match condition", + args: { name: "selector" }, + }, + { + name: "--source-pattern", + description: + "A request URI pattern that identifies the type of requests that may be rewritten", + args: { name: "source-pattern" }, + }, + { + name: "--transforms", + description: "Transform to apply before matching", + args: { + name: "transforms", + suggestions: [ + "Lowercase", + "RemoveNulls", + "Trim", + "Uppercase", + "UrlDecode", + "UrlEncode", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Remove a delivery rule from rule set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: "Name of the rule", + args: { name: "rule-name" }, + }, + { + name: "--rule-set-name", + description: "Name of the rule set", + args: { name: "rule-set-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all of the existing delivery rules within a rule set", + options: [ + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show delivery rule details", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: "Name of the rule", + args: { name: "rule-name" }, + }, + { + name: "--rule-set-name", + description: "Name of the rule set", + args: { name: "rule-set-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "action", + description: "Manage delivery rule actions for a rule", + subcommands: [ + { + name: "add", + description: "Add an action to a delivery rule", + options: [ + { + name: "--action-name", + description: + "The name of the action for the delivery rule: https://docs.microsoft.com/en-us/azure/frontdoor/front-door-rules-engine-actions", + args: { + name: "action-name", + suggestions: [ + "ModifyRequestHeader", + "ModifyResponseHeader", + "RouteConfigurationOverride", + "UrlRedirect", + "UrlRewrite", + ], + }, + isRequired: true, + }, + { + name: "--cache-behavior", + description: "Caching behavior for the requests", + args: { + name: "cache-behavior", + suggestions: [ + "HonorOrigin", + "OverrideAlways", + "OverrideIfOriginMissing", + ], + }, + }, + { + name: "--cache-duration", + description: + "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + args: { name: "cache-duration" }, + }, + { + name: "--custom-fragment", + description: "Fragment to add to the redirect URL", + args: { name: "custom-fragment" }, + }, + { + name: "--custom-hostname", + description: + "Host to redirect. Leave empty to use the incoming host as the destination host", + args: { name: "custom-hostname" }, + }, + { + name: "--custom-path", + description: + "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path", + args: { name: "custom-path" }, + }, + { + name: "--custom-querystring", + description: + "The set of query strings to be placed in the redirect URL. leave empty to preserve the incoming query string", + args: { name: "custom-querystring" }, + }, + { + name: "--destination", + description: "The destination path to be used in the rewrite", + args: { name: "destination" }, + }, + { + name: "--enable-caching", + description: + "Indicates whether to enable caching on the route", + args: { + name: "enable-caching", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-compression", + description: + "Indicates whether content compression is enabled on AzureFrontDoor. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB", + args: { + name: "enable-compression", + suggestions: ["false", "true"], + }, + }, + { + name: "--forwarding-protocol", + description: + "Protocol this rule will use when forwarding traffic to backends", + args: { + name: "forwarding-protocol", + suggestions: ["HttpOnly", "HttpsOnly", "MatchRequest"], + }, + }, + { + name: "--header-action", + description: "Header action for the requests", + args: { + name: "header-action", + suggestions: ["Append", "Delete", "Overwrite"], + }, + }, + { + name: "--header-name", + description: "Name of the header to modify", + args: { name: "header-name" }, + }, + { + name: "--header-value", + description: "Value of the header", + args: { name: "header-value" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--origin-group", + description: + "Name or ID of the OriginGroup that would override the default OriginGroup", + args: { name: "origin-group" }, + }, + { + name: "--preserve-unmatched-path", + description: + "If True, the remaining path after the source pattern will be appended to the new destination path", + args: { + name: "preserve-unmatched-path", + suggestions: ["false", "true"], + }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: "--query-parameters", + description: "Query parameters to include or exclude", + args: { name: "query-parameters" }, + }, + { + name: "--query-string-caching-behavior", + description: + "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL", + args: { + name: "query-string-caching-behavior", + suggestions: [ + "IgnoreQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings", + "UseQueryString", + ], + }, + }, + { + name: "--redirect-protocol", + description: "Protocol to use for the redirect", + args: { + name: "redirect-protocol", + suggestions: ["Http", "Https", "MatchRequest"], + }, + }, + { + name: "--redirect-type", + description: + "The redirect type the rule will use when redirecting traffic", + args: { + name: "redirect-type", + suggestions: [ + "Found", + "Moved", + "PermanentRedirect", + "TemporaryRedirect", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: "Name of the rule", + args: { name: "rule-name" }, + }, + { + name: "--rule-set-name", + description: "Name of the rule set", + args: { name: "rule-set-name" }, + }, + { + name: "--source-pattern", + description: + "A request URI pattern that identifies the type of requests that may be rewritten", + args: { name: "source-pattern" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Show actions associated with the rule", + options: [ + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove an action from a delivery rule", + options: [ + { + name: "--index", + description: "The index of the condition/action", + args: { name: "index" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: "Name of the rule", + args: { name: "rule-name" }, + }, + { + name: "--rule-set-name", + description: "Name of the rule set", + args: { name: "rule-set-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "condition", + description: "Manage delivery rule conditions for a rule", + subcommands: [ + { + name: "add", + description: "Add a condition to a delivery rule", + options: [ + { + name: "--match-variable", + description: + "Name of the match condition: https://docs.microsoft.com/en-us/azure/frontdoor/rules-match-conditions", + args: { + name: "match-variable", + suggestions: [ + "ClientPort", + "Cookies", + "HostName", + "HttpVersion", + "IsDevice", + "PostArgs", + "QueryString", + "RemoteAddress", + "RequestBody", + "RequestHeader", + "RequestMethod", + "RequestScheme", + "RequestUri", + "ServerPort", + "SocketAddr", + "SslProtocol", + "UrlFileExtension", + "UrlFileName", + "UrlPath", + ], + }, + isRequired: true, + }, + { + name: "--operator", + description: "Operator of the match condition", + args: { name: "operator" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--match-values", + description: + 'Match values of the match condition. e.g, space separated values "GET" "HTTP"', + args: { name: "match-values" }, + }, + { + name: "--negate-condition", + description: "If true, negates the condition", + args: { + name: "negate-condition", + suggestions: ["false", "true"], + }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: "Name of the rule", + args: { name: "rule-name" }, + }, + { + name: "--rule-set-name", + description: "Name of the rule set", + args: { name: "rule-set-name" }, + }, + { + name: "--selector", + description: "Selector of the match condition", + args: { name: "selector" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--transforms", + description: "Transform to apply before matching", + args: { + name: "transforms", + suggestions: [ + "Lowercase", + "RemoveNulls", + "Trim", + "Uppercase", + "UrlDecode", + "UrlEncode", + ], + }, + }, + ], + }, + { + name: "list", + description: "Show condtions associated with the rule", + options: [ + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a condition from a delivery rule", + options: [ + { + name: "--index", + description: "The index of the condition/action", + args: { name: "index" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: "Name of the rule", + args: { name: "rule-name" }, + }, + { + name: "--rule-set-name", + description: "Name of the rule set", + args: { name: "rule-set-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "rule-set", + description: + "Manage rule set for the specified profile.\n\n\t\tRules Set allows you to customize how HTTP requests are handled at the edge and provides more controls of the behaviors of your web application", + subcommands: [ + { + name: "create", + description: "Creates a new rule set under the specified profile", + options: [ + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete the rule set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-set-name", + description: "Name of the rule set", + args: { name: "rule-set-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists existing AzureFrontDoor rule sets within a profile", + options: [ + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription, resource group and profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-set-name", + description: "Name of the rule set", + args: { name: "rule-set-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "secret", + description: + "Manage secrets within the specified profile.\n\n\t\tSecrets are used to reference your own certificate stored in Azure Key Vault. You must specifiy the secret name when creating custom domain if you want to use your own certificate for TLS encryption", + subcommands: [ + { + name: "create", + description: "Creates a new secret within the specified profile", + options: [ + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--secret-name", + description: "Name of the secret", + args: { name: "secret-name" }, + isRequired: true, + }, + { + name: "--secret-source", + description: + "Resource ID of the Azure Key Vault certificate, expected format is like /subscriptions/sub1/resourceGroups/rg1/providers/Microsoft.KeyVault/vaults/vault1/secrets/cert1", + args: { name: "secret-source" }, + isRequired: true, + }, + { + name: "--secret-version", + description: "Version of the certificate to be used", + args: { name: "secret-version" }, + }, + { + name: "--use-latest-version", + description: + "Whether to use the latest version for the certificate", + args: { + name: "use-latest-version", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "delete", + description: "Deletes an existing Secret within profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret-name", + description: "Name of the secret", + args: { name: "secret-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists existing AzureFrontDoor secrets", + options: [ + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets an existing Secret within a profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret-name", + description: "Name of the secret", + args: { name: "secret-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an existing secret within the specified profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret-name", + description: "Name of the secret", + args: { name: "secret-name" }, + }, + { + name: "--secret-source", + description: + "Resource ID of the Azure Key Vault certificate, expected format is like /subscriptions/sub1/resourceGroups/rg1/providers/Microsoft.KeyVault/vaults/vault1/secrets/cert1", + args: { name: "secret-source" }, + }, + { + name: "--secret-version", + description: "Version of the certificate to be used", + args: { name: "secret-version" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--use-latest-version", + description: + "Whether to use the latest version for the certificate", + args: { + name: "use-latest-version", + suggestions: ["false", "true"], + }, + }, + ], + }, + ], + }, + { + name: "security-policy", + description: + "Manage security policies within the specified profile.\n\n\t\tSecurity policies could be used to apply a web application firewall policy to protect your web applications against OWASP top-10 vulnerabilities and block malicious bots", + subcommands: [ + { + name: "create", + description: + "Creates a new security policy within the specified profile", + options: [ + { + name: "--domains", + description: + "The domains to associate with the WAF policy. Could either be the ID of an endpoint (default domain will be used in that case) or ID of a custom domain", + args: { name: "domains" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--security-policy-name", + description: "Name of the security policy", + args: { name: "security-policy-name" }, + isRequired: true, + }, + { + name: "--waf-policy", + description: "The ID of Front Door WAF policy", + args: { name: "waf-policy" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Deletes an existing security policy within profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--security-policy-name", + description: "Name of the security policy", + args: { name: "security-policy-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists security policies associated with the profile", + options: [ + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets an existing security policy within a profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--security-policy-name", + description: "Name of the security policy", + args: { name: "security-policy-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an existing security policy within the specified profile", + options: [ + { + name: "--domains", + description: + "The domains to associate with the WAF policy. Could either be the ID of an endpoint (default domain will be used in that case) or ID of a custom domain", + args: { name: "domains" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--security-policy-name", + description: "Name of the security policy", + args: { name: "security-policy-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--waf-policy", + description: "The ID of Front Door WAF policy", + args: { name: "waf-policy" }, + }, + ], + }, + ], + }, + { + name: "waf-log-analytic", + description: "Manage afd WAF related log analytic results", + subcommands: [ + { + name: "metric", + description: "Manage WAF related metric statistics for AFD profile", + subcommands: [ + { + name: "list", + description: + "Get Waf related log analytics report for AFD profile", + options: [ + { + name: "--date-time-begin", + description: "The start datetime", + args: { name: "date-time-begin" }, + isRequired: true, + }, + { + name: "--date-time-end", + description: "The end datetime", + args: { name: "date-time-end" }, + isRequired: true, + }, + { + name: "--granularity", + description: "The interval granularity", + args: { + name: "granularity", + suggestions: ["P1D", "PT1H", "PT5M"], + }, + isRequired: true, + }, + { + name: "--metrics", + description: "Metric types to be included", + args: { + name: "metrics", + suggestions: ["clientRequestCount"], + }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--actions", + description: "The WAF actions to be included", + args: { + name: "actions", + suggestions: ["allow", "block", "log", "redirect"], + }, + }, + { + name: "--group-by", + description: "Aggregate demensions", + args: { + name: "group-by", + suggestions: ["customDomain", "httpStatusCode"], + }, + }, + { + name: "--rule-types", + description: "The WAF rule types to be included", + args: { + name: "rule-types", + suggestions: ["bot", "custom", "managed"], + }, + }, + ], + }, + ], + }, + { + name: "ranking", + description: "Manage WAF related ranking statistics for AFD profile", + subcommands: [ + { + name: "list", + description: "Get WAF log analytics charts for AFD profile", + options: [ + { + name: "--date-time-begin", + description: "The start datetime", + args: { name: "date-time-begin" }, + isRequired: true, + }, + { + name: "--date-time-end", + description: "The end datetime", + args: { name: "date-time-end" }, + isRequired: true, + }, + { + name: "--max-ranking", + description: + "The maximum number of rows to return based on the ranking", + args: { name: "max-ranking" }, + isRequired: true, + }, + { + name: "--metrics", + description: "Metric types to be included", + args: { + name: "metrics", + suggestions: ["clientRequestCount"], + }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: "--rankings", + description: "The dimemsions to be included for ranking", + args: { + name: "rankings", + suggestions: [ + "action", + "clientIp", + "country", + "ruleGroup", + "ruleId", + "ruleType", + "url", + "userAgent", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--actions", + description: "The WAF actions to be included", + args: { + name: "actions", + suggestions: ["allow", "block", "log", "redirect"], + }, + }, + { + name: "--rule-types", + description: "The WAF rule types to be included", + args: { + name: "rule-types", + suggestions: ["bot", "custom", "managed"], + }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/ai-examples.ts b/src/az/2.53.0/ai-examples.ts new file mode 100644 index 000000000000..de14f695d2cd --- /dev/null +++ b/src/az/2.53.0/ai-examples.ts @@ -0,0 +1,12 @@ +const completion: Fig.Spec = { + name: "ai-examples", + description: "Add AI powered examples to help content", + subcommands: [ + { + name: "check-connection", + description: "Check if the client can connect to the AI example service", + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/aks.ts b/src/az/2.53.0/aks.ts new file mode 100644 index 000000000000..56847fad9afe --- /dev/null +++ b/src/az/2.53.0/aks.ts @@ -0,0 +1,4939 @@ +const completion: Fig.Spec = { + name: "aks", + description: "Manage Azure Kubernetes Services", + subcommands: [ + { + name: "addon", + description: "Commands to manage and view single addon conditions", + subcommands: [ + { + name: "disable", + description: "Disable an enabled Kubernetes addon in a cluster", + options: [ + { + name: ["--addon", "-a"], + description: "Specify the Kubernetes addon to disable", + args: { name: "addon" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "enable", + description: "Enable a Kubernetes addon", + options: [ + { + name: ["--addon", "-a"], + description: "Specify the Kubernetes addon to enable", + args: { name: "addon" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--appgw-id", + description: + "Resource Id of an existing Application Gateway to use with AGIC. Use with ingress-azure addon", + args: { name: "appgw-id" }, + }, + { + name: "--appgw-name", + description: + "Name of the application gateway to create/use in the node resource group. Use with ingress-azure addon", + args: { name: "appgw-name" }, + }, + { + name: "--appgw-subnet-cidr", + description: + "Subnet CIDR to use for a new subnet created to deploy the Application Gateway. Use with ingress-azure addon", + args: { name: "appgw-subnet-cidr" }, + }, + { + name: "--appgw-subnet-id", + description: + "Resource Id of an existing Subnet used to deploy the Application Gateway. Use with ingress-azure addon", + args: { name: "appgw-subnet-id" }, + }, + { + name: "--appgw-watch-namespace", + description: + "Specify the namespace, which AGIC should watch. This could be a single string value, or a comma-separated list of namespaces. Use with ingress-azure addon", + args: { name: "appgw-watch-namespace" }, + }, + { + name: "--data-collection-settings", + description: + "Path to JSON file containing data collection settings for Monitoring addon", + args: { name: "data-collection-settings" }, + }, + { + name: "--dns-zone-resource-ids", + description: + "A comma separated list of resource IDs of the DNS zone resource to use with the web_application_routing addon", + args: { name: "dns-zone-resource-ids" }, + }, + { + name: "--enable-msi-auth-for-monitoring", + description: + "Send monitoring data to Log Analytics using the cluster's assigned identity (instead of the Log Analytics Workspace's shared key)", + args: { + name: "enable-msi-auth-for-monitoring", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-secret-rotation", + description: + "Enable secret rotation. Use with azure-keyvault-secrets-provider addon", + }, + { + name: "--enable-sgxquotehelper", + description: "Enable SGX quote helper for confcom addon", + }, + { + name: "--enable-syslog", + description: "Enable syslog data collection for Monitoring addon", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--rotation-poll-interval", + description: + "Set interval of rotation poll. Use with azure-keyvault-secrets-provider addon", + args: { name: "rotation-poll-interval" }, + }, + { + name: ["--subnet-name", "-s"], + description: "The subnet name for the virtual node to use", + args: { name: "subnet-name" }, + }, + { + name: "--workspace-resource-id", + description: + "The resource ID of an existing Log Analytics Workspace to use for storing monitoring data", + args: { name: "workspace-resource-id" }, + }, + ], + }, + { + name: "list", + description: "List status of all Kubernetes addons in given cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-available", + description: "List available Kubernetes addons", + }, + { + name: "show", + description: + "Show status and configuration for an enabled Kubernetes addon in a given cluster", + options: [ + { + name: ["--addon", "-a"], + description: "Specify the Kubernetes addon", + args: { name: "addon" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an already enabled Kubernetes addon", + options: [ + { + name: ["--addon", "-a"], + description: "Specify the Kubernetes addon to update", + args: { name: "addon" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--appgw-id", + description: + "Resource Id of an existing Application Gateway to use with AGIC. Use with ingress-azure addon", + args: { name: "appgw-id" }, + }, + { + name: "--appgw-name", + description: + "Name of the application gateway to create/use in the node resource group. Use with ingress-azure addon", + args: { name: "appgw-name" }, + }, + { + name: "--appgw-subnet-cidr", + description: + "Subnet CIDR to use for a new subnet created to deploy the Application Gateway. Use with ingress-azure addon", + args: { name: "appgw-subnet-cidr" }, + }, + { + name: "--appgw-subnet-id", + description: + "Resource Id of an existing Subnet used to deploy the Application Gateway. Use with ingress-azure addon", + args: { name: "appgw-subnet-id" }, + }, + { + name: "--appgw-watch-namespace", + description: + "Specify the namespace, which AGIC should watch. This could be a single string value, or a comma-separated list of namespaces. Use with ingress-azure addon", + args: { name: "appgw-watch-namespace" }, + }, + { + name: "--data-collection-settings", + description: + "Path to JSON file containing data collection settings for Monitoring addon", + args: { name: "data-collection-settings" }, + }, + { + name: "--dns-zone-resource-ids", + description: + "A comma separated list of resource IDs of the DNS zone resource to use with the web_application_routing addon", + args: { name: "dns-zone-resource-ids" }, + }, + { + name: "--enable-msi-auth-for-monitoring", + description: + "Send monitoring data to Log Analytics using the cluster's assigned identity (instead of the Log Analytics Workspace's shared key)", + args: { + name: "enable-msi-auth-for-monitoring", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-secret-rotation", + description: + "Enable secret rotation. Use with azure-keyvault-secrets-provider addon", + }, + { + name: "--enable-sgxquotehelper", + description: "Enable SGX quote helper for confcom addon", + }, + { + name: "--enable-syslog", + description: "Enable syslog data collection for Monitoring addon", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--rotation-poll-interval", + description: + "Set interval of rotation poll. Use with azure-keyvault-secrets-provider addon", + args: { name: "rotation-poll-interval" }, + }, + { + name: ["--subnet-name", "-s"], + description: "The subnet name for the virtual node to use", + args: { name: "subnet-name" }, + }, + { + name: "--workspace-resource-id", + description: + "The resource ID of an existing Log Analytics Workspace to use for storing monitoring data", + args: { name: "workspace-resource-id" }, + }, + ], + }, + ], + }, + { + name: "app", + description: "Commands to manage AKS app", + subcommands: [ + { + name: "up", + description: "Deploy to AKS via GitHub actions", + options: [ + { + name: "--acr", + description: + "Name of the Azure Container Registry to be used for pushing the image", + args: { name: "acr" }, + }, + { + name: "--aks-cluster", + description: "Name of the cluster to select for deployment", + args: { name: "aks-cluster" }, + }, + { + name: "--branch-name", + description: + "New branch name to be created to check in files and raise a PR", + args: { name: "branch-name" }, + }, + { + name: "--do-not-wait", + description: "Do not wait for workflow completion", + }, + { + name: "--port", + description: + "Port on which your application runs. Default is 8080", + args: { name: "port" }, + }, + { + name: ["--repository", "-r"], + description: + "GitHub repository URL e.g. https://github.com/azure/azure-cli", + args: { name: "repository" }, + }, + ], + }, + ], + }, + { + name: "browse", + description: + "Show the dashboard for a Kubernetes cluster in a web browser", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--disable-browser", + description: + "Don't launch a web browser after establishing port-forwarding", + }, + { + name: "--listen-address", + description: "The listening address for the dashboard", + args: { name: "listen-address" }, + }, + { + name: "--listen-port", + description: "The listening port for the dashboard", + args: { name: "listen-port" }, + }, + ], + }, + { + name: "check-acr", + description: "Validate an ACR is accessible from an AKS cluster", + options: [ + { + name: "--acr", + description: "The FQDN of the ACR", + args: { name: "acr" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--node-name", + description: + "The name of a specific node to perform acr pull test checks. If not specified, it will be checked on a random node", + args: { name: "node-name" }, + }, + ], + }, + { + name: "create", + description: "Create a new managed Kubernetes cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aad-admin-group-object-ids", + description: + "Comma seperated list of aad group object IDs that will be set as cluster admin", + args: { name: "aad-admin-group-object-ids" }, + }, + { + name: "--aad-tenant-id", + description: "The ID of an Azure Active Directory tenant", + args: { name: "aad-tenant-id" }, + }, + { + name: "--aci-subnet-name", + description: + "The name of a subnet in an existing VNet into which to deploy the virtual nodes", + args: { name: "aci-subnet-name" }, + }, + { + name: ["--admin-username", "-u"], + description: "User account to create on node VMs for SSH access", + args: { name: "admin-username" }, + }, + { + name: "--aks-custom-headers", + description: + "Comma-separated key-value pairs to specify custom headers", + args: { name: "aks-custom-headers" }, + }, + { + name: "--api-server-authorized-ip-ranges", + description: + "Comma seperated list of authorized apiserver IP ranges. Set to 0.0.0.0/32 to restrict apiserver traffic to node pools", + args: { name: "api-server-authorized-ip-ranges" }, + }, + { + name: "--appgw-id", + description: + "Resource Id of an existing Application Gateway to use with AGIC. Use with ingress-azure addon", + args: { name: "appgw-id" }, + }, + { + name: "--appgw-name", + description: + "Name of the application gateway to create/use in the node resource group. Use with ingress-azure addon", + args: { name: "appgw-name" }, + }, + { + name: "--appgw-subnet-cidr", + description: + "Subnet CIDR to use for a new subnet created to deploy the Application Gateway. Use with ingress-azure addon", + args: { name: "appgw-subnet-cidr" }, + }, + { + name: "--appgw-subnet-id", + description: + "Resource Id of an existing Subnet used to deploy the Application Gateway. Use with ingress-azure addon", + args: { name: "appgw-subnet-id" }, + }, + { + name: "--appgw-watch-namespace", + description: + "Specify the namespace, which AGIC should watch. This could be a single string value, or a comma-separated list of namespaces", + args: { name: "appgw-watch-namespace" }, + }, + { + name: "--assign-identity", + description: + "Specify an existing user assigned identity for control plane's usage in order to manage cluster resource group", + args: { name: "assign-identity" }, + }, + { + name: "--assign-kubelet-identity", + description: + "Specify an existing user assigned identity for kubelet's usage, which is typically used to pull image from ACR", + args: { name: "assign-kubelet-identity" }, + }, + { + name: "--attach-acr", + description: + "Grant the 'acrpull' role assignment to the ACR specified by name or resource ID", + args: { name: "attach-acr" }, + }, + { + name: "--auto-upgrade-channel", + description: "Specify the upgrade channel for autoupgrade", + args: { + name: "auto-upgrade-channel", + suggestions: ["node-image", "none", "patch", "rapid", "stable"], + }, + }, + { + name: "--azure-keyvault-kms-key-id", + description: "Identifier of Azure Key Vault key", + args: { name: "azure-keyvault-kms-key-id" }, + }, + { + name: "--azure-keyvault-kms-key-vault-network-access", + description: "Network Access of Azure Key Vault", + args: { + name: "azure-keyvault-kms-key-vault-network-access", + suggestions: ["Private", "Public"], + }, + }, + { + name: "--azure-keyvault-kms-key-vault-resource-id", + description: "Resource ID of Azure Key Vault", + args: { name: "azure-keyvault-kms-key-vault-resource-id" }, + }, + { + name: "--azure-monitor-workspace-resource-id", + description: "Resource ID of the Azure Monitor Workspace", + args: { name: "azure-monitor-workspace-resource-id" }, + }, + { + name: ["--cluster-autoscaler-profile", "--ca-profile"], + description: + "Comma-separated list of key=value pairs for configuring cluster autoscaler. Pass an empty string to clear the profile", + args: { name: "cluster-autoscaler-profile" }, + }, + { + name: "--client-secret", + description: + "Secret associated with the service principal. This argument is required if --service-principal is specified", + args: { name: "client-secret" }, + }, + { + name: "--data-collection-settings", + description: + "Path to JSON file containing data collection settings for Monitoring addon", + args: { name: "data-collection-settings" }, + }, + { + name: "--defender-config", + description: + "Path to JSON file containing Microsoft Defender profile configurations", + args: { name: "defender-config" }, + }, + { + name: "--disable-disk-driver", + description: "Disable AzureDisk CSI Driver", + }, + { + name: "--disable-file-driver", + description: "Disable AzureFile CSI Driver", + }, + { + name: "--disable-local-accounts", + description: + "If set to true, getting static credential will be disabled for this cluster", + }, + { + name: "--disable-public-fqdn", + description: "Disable public fqdn feature for private cluster", + }, + { + name: "--disable-rbac", + description: "Disable Kubernetes Role-Based Access Control", + args: { name: "disable-rbac" }, + }, + { + name: "--disable-snapshot-controller", + description: "Disable CSI Snapshot Controller", + }, + { + name: ["--dns-name-prefix", "-p"], + description: + "Prefix for hostnames that are created. If not specified, generate a hostname using the managed cluster and resource group names", + args: { name: "dns-name-prefix" }, + }, + { + name: "--dns-service-ip", + description: "An IP address assigned to the Kubernetes DNS service", + args: { name: "dns-service-ip" }, + }, + { + name: "--edge-zone", + description: "The name of the Edge Zone", + args: { name: "edge-zone" }, + }, + { + name: "--enable-aad", + description: "Enable managed AAD feature for cluster", + }, + { + name: ["--enable-addons", "-a"], + description: "Enable the Kubernetes addons in a comma-separated list", + args: { name: "enable-addons" }, + }, + { + name: "--enable-ahub", + description: + "Enable Azure Hybrid User Benefits (AHUB) for Windows VMs", + }, + { + name: "--enable-azure-keyvault-kms", + description: "Enable Azure KeyVault Key Management Service", + }, + { + name: "--enable-azure-monitor-metrics", + description: + "Enable a kubernetes cluster with the Azure Monitor managed service for Prometheus integration", + }, + { + name: "--enable-azure-rbac", + description: + "Enable Azure RBAC to control authorization checks on cluster", + }, + { + name: "--enable-blob-driver", + description: "Enable AzureBlob CSI Driver", + args: { name: "enable-blob-driver" }, + }, + { + name: "--enable-cluster-autoscaler", + description: "Enable cluster autoscaler, default value is false", + }, + { + name: "--enable-defender", + description: "Enable Microsoft Defender security profile", + }, + { + name: "--enable-encryption-at-host", + description: "Enable EncryptionAtHost, default value is false", + }, + { + name: "--enable-fips-image", + description: "Use FIPS-enabled OS on agent nodes", + }, + { + name: "--enable-image-cleaner", + description: "Enable ImageCleaner Service", + }, + { + name: "--enable-keda", + description: "Enable KEDA workload auto-scaler", + }, + { + name: "--enable-managed-identity", + description: + "Using a system assigned managed identity to manage cluster resource group", + args: { name: "enable-managed-identity" }, + }, + { + name: "--enable-msi-auth-for-monitoring", + description: "Enable Managed Identity Auth for Monitoring addon", + args: { + name: "enable-msi-auth-for-monitoring", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-node-public-ip", + description: "Enable VMSS node public IP", + }, + { name: "--enable-oidc-issuer", description: "Enable OIDC issuer" }, + { + name: "--enable-private-cluster", + description: "Enable private cluster", + }, + { + name: "--enable-secret-rotation", + description: + "Enable secret rotation. Use with azure-keyvault-secrets-provider addon", + }, + { + name: "--enable-sgxquotehelper", + description: "Enable SGX quote helper for confcom addon", + }, + { + name: "--enable-syslog", + description: "Enable syslog data collection for Monitoring addon", + }, + { + name: "--enable-ultra-ssd", + description: "Enable UltraSSD, default value is false", + }, + { + name: "--enable-vpa", + description: "Enable vertical pod autoscaler for cluster", + }, + { name: "--enable-windows-gmsa", description: "Enable Windows gmsa" }, + { + name: "--enable-windows-recording-rules", + description: + "Enable Windows Recording Rules when enabling the Azure Monitor Metrics addon", + }, + { + name: "--enable-workload-identity", + description: "Enable workload identity addon", + }, + { + name: "--fqdn-subdomain", + description: + "Prefix for FQDN that is created for private cluster with custom private dns zone scenario", + args: { name: "fqdn-subdomain" }, + }, + { + name: "--generate-ssh-keys", + description: + "Generate SSH public and private key files if missing. The keys will be stored in the ~/.ssh directory", + }, + { + name: "--gmsa-dns-server", + description: "Specify DNS server for Windows gmsa for this cluster", + args: { name: "gmsa-dns-server" }, + }, + { + name: "--gmsa-root-domain-name", + description: + "Specify root domain name for Windows gmsa for this cluster", + args: { name: "gmsa-root-domain-name" }, + }, + { + name: "--gpu-instance-profile", + description: + "GPU instance profile to partition multi-gpu Nvidia GPUs", + args: { + name: "gpu-instance-profile", + suggestions: ["MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g"], + }, + }, + { + name: "--grafana-resource-id", + description: "Resource ID of the Azure Managed Grafana Workspace", + args: { name: "grafana-resource-id" }, + }, + { + name: "--host-group-id", + description: + "The fully qualified dedicated host group id used to provision agent node pool", + args: { name: "host-group-id" }, + }, + { + name: "--http-proxy-config", + description: "HTTP Proxy configuration for this cluster", + args: { name: "http-proxy-config" }, + }, + { + name: "--image-cleaner-interval-hours", + description: "ImageCleaner scanning interval", + args: { name: "image-cleaner-interval-hours" }, + }, + { + name: "--ip-families", + description: + "A comma separated list of IP versions to use for cluster networking", + args: { name: "ip-families" }, + }, + { + name: "--k8s-support-plan", + description: + 'Choose from "KubernetesOfficial" or "AKSLongTermSupport", with "AKSLongTermSupport" you get 1 extra year of CVE patchs', + args: { + name: "k8s-support-plan", + suggestions: ["AKSLongTermSupport", "KubernetesOfficial"], + }, + }, + { + name: "--ksm-metric-annotations-allow-list", + description: + "Comma-separated list of additional Kubernetes label keys that will be used in the resource' labels metric. By default the metric contains only name and namespace labels. To include additional labels provide a list of resource names in their plural form and Kubernetes label keys you would like to allow for them (e.g.'=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)'. A single '' can be provided per resource instead to allow any labels, but that has severe performance implications (e.g. '=pods=[]')", + args: { name: "ksm-metric-annotations-allow-list" }, + }, + { + name: "--ksm-metric-labels-allow-list", + description: + "Comma-separated list of additional Kubernetes label keys that will be used in the resource' labels metric. By default the metric contains only name and namespace labels. To include additional labels provide a list of resource names in their plural form and Kubernetes label keys you would like to allow for them (e.g. '=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)'. A single '' can be provided per resource instead to allow any labels, but that has severe performance implications (e.g. '=pods=[]')", + args: { name: "ksm-metric-labels-allow-list" }, + }, + { + name: "--kubelet-config", + description: + "Path to JSON file containing Kubelet configurations for agent nodes. https://aka.ms/aks/custom-node-config", + args: { name: "kubelet-config" }, + }, + { + name: ["--kubernetes-version", "-k"], + description: + 'Version of Kubernetes to use for creating the cluster, such as "1.16.9". value from: `az aks get-versions`', + args: { name: "kubernetes-version" }, + }, + { + name: "--linux-os-config", + description: + "Path to JSON file containing OS configurations for Linux agent nodes. https://aka.ms/aks/custom-node-config", + args: { name: "linux-os-config" }, + }, + { + name: "--load-balancer-idle-timeout", + description: "Load balancer idle timeout in minutes", + args: { name: "load-balancer-idle-timeout" }, + }, + { + name: "--load-balancer-managed-outbound-ip-count", + description: "Load balancer managed outbound IP count", + args: { name: "load-balancer-managed-outbound-ip-count" }, + }, + { + name: "--load-balancer-managed-outbound-ipv6-count", + description: "Load balancer managed outbound IPv6 IP count", + args: { name: "load-balancer-managed-outbound-ipv6-count" }, + }, + { + name: "--load-balancer-outbound-ip-prefixes", + description: "Load balancer outbound IP prefix resource IDs", + args: { name: "load-balancer-outbound-ip-prefixes" }, + }, + { + name: "--load-balancer-outbound-ips", + description: "Load balancer outbound IP resource IDs", + args: { name: "load-balancer-outbound-ips" }, + }, + { + name: "--load-balancer-outbound-ports", + description: "Load balancer outbound allocated ports", + args: { name: "load-balancer-outbound-ports" }, + }, + { + name: "--load-balancer-sku", + description: + "Azure Load Balancer SKU selection for your cluster. basic or standard. Defaults to 'standard'", + args: { + name: "load-balancer-sku", + suggestions: ["basic", "standard"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--max-count", + description: + 'Maximum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [1, 1000]', + args: { name: "max-count" }, + }, + { + name: ["--max-pods", "-m"], + description: "The maximum number of pods deployable to a node", + args: { name: "max-pods" }, + }, + { + name: "--min-count", + description: + 'Minimum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [1, 1000]', + args: { name: "min-count" }, + }, + { + name: "--nat-gateway-idle-timeout", + description: "NAT gateway idle timeout in minutes", + args: { name: "nat-gateway-idle-timeout" }, + }, + { + name: "--nat-gateway-managed-outbound-ip-count", + description: "NAT gateway managed outbound IP count", + args: { name: "nat-gateway-managed-outbound-ip-count" }, + }, + { + name: "--network-dataplane", + description: "The network dataplane to use", + args: { name: "network-dataplane", suggestions: ["azure", "cilium"] }, + }, + { + name: "--network-plugin", + description: "The Kubernetes network plugin to use", + args: { + name: "network-plugin", + suggestions: ["azure", "kubenet", "none"], + }, + }, + { + name: "--network-plugin-mode", + description: "The network plugin mode to use", + args: { name: "network-plugin-mode", suggestions: ["overlay"] }, + }, + { + name: "--network-policy", + description: "The Kubernetes network policy to use", + args: { name: "network-policy" }, + }, + { + name: ["--no-ssh-key", "-x"], + description: "Do not use or create a local SSH key", + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--node-count", "-c"], + description: + "Number of nodes in the Kubernetes node pool. After creating a cluster, you can change the size of its node pool with az aks scale", + args: { name: "node-count" }, + }, + { + name: "--node-os-upgrade-channel", + description: + "Manner in which the OS on your nodes is updated. It could be NodeImage, None, SecurityPatch or Unmanaged", + args: { + name: "node-os-upgrade-channel", + suggestions: ["NodeImage", "None", "Unmanaged"], + }, + }, + { + name: ["--node-osdisk-diskencryptionset-id", "-d"], + description: + "ResourceId of the disk encryption set to use for enabling encryption at rest on agent node os disk", + args: { name: "node-osdisk-diskencryptionset-id" }, + }, + { + name: "--node-osdisk-size", + description: + "Size in GB of the OS disk for each node in the node pool. Minimum 30 GB", + args: { name: "node-osdisk-size" }, + }, + { + name: "--node-osdisk-type", + description: + "OS disk type to be used for machines in a given agent pool: Ephemeral or Managed. Defaults to 'Ephemeral' when possible in conjunction with VM size and OS disk size. May not be changed for this pool after creation", + args: { + name: "node-osdisk-type", + suggestions: ["Ephemeral", "Managed"], + }, + }, + { + name: "--node-public-ip-prefix-id", + description: + "Public IP prefix ID used to assign public IPs to VMSS nodes", + args: { name: "node-public-ip-prefix-id" }, + }, + { + name: "--node-resource-group", + description: + "The node resource group is the resource group where all customer's resources will be created in, such as virtual machines", + args: { name: "node-resource-group" }, + }, + { + name: ["--node-vm-size", "-s"], + description: "Size of Virtual Machines to create as Kubernetes nodes", + args: { name: "node-vm-size" }, + }, + { + name: "--nodepool-labels", + description: + "The node labels for all node pool. See https://aka.ms/node-labels for syntax of labels", + args: { name: "nodepool-labels" }, + }, + { + name: "--nodepool-name", + description: "Node pool name, up to 12 alphanumeric characters", + args: { name: "nodepool-name" }, + }, + { + name: "--nodepool-tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "nodepool-tags" }, + }, + { + name: "--nodepool-taints", + description: "The node taints for all node pool", + args: { name: "nodepool-taints" }, + }, + { + name: "--os-sku", + description: + "The OS SKU of the agent node pool. Ubuntu or CBLMariner", + args: { + name: "os-sku", + suggestions: ["AzureLinux", "CBLMariner", "Mariner", "Ubuntu"], + }, + }, + { + name: "--outbound-type", + description: "How outbound traffic will be configured for a cluster", + args: { + name: "outbound-type", + suggestions: [ + "loadBalancer", + "managedNATGateway", + "userAssignedNATGateway", + "userDefinedRouting", + ], + }, + }, + { + name: "--pod-cidr", + description: + "A CIDR notation IP range from which to assign pod IPs when kubenet is used", + args: { name: "pod-cidr" }, + }, + { + name: "--pod-cidrs", + description: + "A comma separated list of CIDR notation IP ranges from which to assign pod IPs when kubenet is used", + args: { name: "pod-cidrs" }, + }, + { + name: "--pod-subnet-id", + description: + "The ID of a subnet in an existing VNet into which to assign pods in the cluster (requires azure network-plugin)", + args: { name: "pod-subnet-id" }, + }, + { + name: "--ppg", + description: "The ID of a PPG", + args: { name: "ppg" }, + }, + { + name: "--private-dns-zone", + description: "Private dns zone mode for private cluster", + args: { name: "private-dns-zone" }, + }, + { + name: "--rotation-poll-interval", + description: + "Set interval of rotation poll. Use with azure-keyvault-secrets-provider addon", + args: { name: "rotation-poll-interval" }, + }, + { + name: "--service-cidr", + description: + "A CIDR notation IP range from which to assign service cluster IPs", + args: { name: "service-cidr" }, + }, + { + name: "--service-cidrs", + description: + "A comma separated list of CIDR notation IP ranges from which to assign service cluster IPs", + args: { name: "service-cidrs" }, + }, + { + name: "--service-principal", + description: + "Service principal used for authentication to Azure APIs", + args: { name: "service-principal" }, + }, + { + name: "--skip-subnet-role-assignment", + description: "Skip role assignment for subnet (advanced networking)", + }, + { + name: "--snapshot-id", + description: "The source snapshot id used to create this cluster", + args: { name: "snapshot-id" }, + }, + { + name: "--ssh-key-value", + description: + "Public key path or key contents to install on node VMs for SSH access. For example, 'ssh-rsa AAAAB...snip...UcyupgH azureuser@linuxvm'", + args: { name: "ssh-key-value" }, + }, + { + name: "--tags", + description: + "The tags of the managed cluster. The managed cluster instance and all resources managed by the cloud provider will be tagged", + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "Specify SKU tier for managed clusters. '--tier standard' enables a standard managed cluster service with a financially backed SLA. '--tier free' does not have a financially backed SLA", + args: { name: "tier", suggestions: ["free", "premium", "standard"] }, + }, + { + name: "--vm-set-type", + description: + "Agent pool vm set type. VirtualMachineScaleSets or AvailabilitySet. Defaults to 'VirtualMachineScaleSets'", + args: { name: "vm-set-type" }, + }, + { + name: "--vnet-subnet-id", + description: + "The ID of a subnet in an existing VNet into which to deploy the cluster", + args: { name: "vnet-subnet-id" }, + }, + { + name: "--windows-admin-password", + description: "User account password to use on windows node VMs", + args: { name: "windows-admin-password" }, + }, + { + name: "--windows-admin-username", + description: "User account to create on windows node VMs", + args: { name: "windows-admin-username" }, + }, + { + name: "--workspace-resource-id", + description: + "The resource ID of an existing Log Analytics Workspace to use for storing monitoring data. If not specified, uses the default Log Analytics Workspace if it exists, otherwise creates one", + args: { name: "workspace-resource-id" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zones", "-z"], + description: + "Availability zones where agent nodes will be placed. Also, to install agent nodes to more than one zones you need to pass zone numbers (1,2 or 3) separated by blanks. For example - To have all 3 zones, you are expected to enter --zones 1 2 3", + args: { name: "zones", suggestions: ["1", "2", "3"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a managed Kubernetes cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "disable-addons", + description: "Disable Kubernetes addons", + options: [ + { + name: ["--addons", "-a"], + description: + "Disable the Kubernetes addons in a comma-separated list", + args: { name: "addons" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "enable-addons", + description: "Enable Kubernetes addons", + options: [ + { + name: ["--addons", "-a"], + description: "Enable the Kubernetes addons in a comma-separated list", + args: { name: "addons" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--appgw-id", + description: + "Resource Id of an existing Application Gateway to use with AGIC. Use with ingress-azure addon", + args: { name: "appgw-id" }, + }, + { + name: "--appgw-name", + description: + "Name of the application gateway to create/use in the node resource group. Use with ingress-azure addon", + args: { name: "appgw-name" }, + }, + { + name: "--appgw-subnet-cidr", + description: + "Subnet CIDR to use for a new subnet created to deploy the Application Gateway. Use with ingress-azure addon", + args: { name: "appgw-subnet-cidr" }, + }, + { + name: "--appgw-subnet-id", + description: + "Resource Id of an existing Subnet used to deploy the Application Gateway. Use with ingress-azure addon", + args: { name: "appgw-subnet-id" }, + }, + { + name: "--appgw-watch-namespace", + description: + "Specify the namespace, which AGIC should watch. This could be a single string value, or a comma-separated list of namespaces", + args: { name: "appgw-watch-namespace" }, + }, + { + name: "--data-collection-settings", + description: + "Path to JSON file containing data collection settings for Monitoring addon", + args: { name: "data-collection-settings" }, + }, + { + name: "--enable-msi-auth-for-monitoring", + description: "Enable Managed Identity Auth for Monitoring addon", + args: { + name: "enable-msi-auth-for-monitoring", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-secret-rotation", + description: + "Enable secret rotation. Use with azure-keyvault-secrets-provider addon", + }, + { + name: "--enable-sgxquotehelper", + description: "Enable SGX quote helper for confcom addon", + }, + { + name: "--enable-syslog", + description: "Enable syslog data collection for Monitoring addon", + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--rotation-poll-interval", + description: + "Set interval of rotation poll. Use with azure-keyvault-secrets-provider addon", + args: { name: "rotation-poll-interval" }, + }, + { + name: ["--subnet-name", "-s"], + description: + "Name of an existing subnet to use with the virtual-node add-on", + args: { name: "subnet-name" }, + }, + { + name: "--workspace-resource-id", + description: + "The resource ID of an existing Log Analytics Workspace to use for storing monitoring data", + args: { name: "workspace-resource-id" }, + }, + ], + }, + { + name: "get-credentials", + description: "Get access credentials for a managed Kubernetes cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--admin", "-a"], + description: + "Get cluster administrator credentials. Default: cluster user credentials", + }, + { + name: "--context", + description: + "If specified, overwrite the default context name. The --admin parameter takes precedence over --context", + args: { name: "context" }, + }, + { + name: ["--file", "-f"], + description: + 'Kubernetes configuration file to update. Use "-" to print YAML to stdout instead', + args: { name: "file" }, + }, + { + name: "--format", + description: + 'Specify the format of the returned credential. Available values are ["exec", "azure"]. Only take effect when requesting clusterUser credential of AAD clusters', + args: { name: "format" }, + }, + { + name: "--overwrite-existing", + description: + "Overwrite any existing cluster entry with the same name", + }, + { + name: "--public-fqdn", + description: + "Get private cluster credential with server address to be public fqdn", + }, + ], + }, + { + name: "get-os-options", + description: + "Get the OS options available for creating a managed Kubernetes cluster", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "get-upgrades", + description: + "Get the upgrade versions available for a managed Kubernetes cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "get-versions", + description: + "Get the versions available for creating a managed Kubernetes cluster", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "install-cli", + description: + "Download and install kubectl, the Kubernetes command-line tool. Download and install kubelogin, a client-go credential (exec) plugin implementing azure authentication", + options: [ + { + name: "--base-src-url", + description: "Base download source URL for kubectl releases", + args: { name: "base-src-url" }, + }, + { + name: "--client-version", + description: "Version of kubectl to install", + args: { name: "client-version" }, + }, + { + name: "--install-location", + description: + "Path at which to install kubectl. Note: the path should contain the binary filename", + args: { name: "install-location" }, + }, + { + name: ["--kubelogin-base-src-url", "-l"], + description: "Base download source URL for kubelogin releases", + args: { name: "kubelogin-base-src-url" }, + }, + { + name: "--kubelogin-install-location", + description: + "Path at which to install kubelogin. Note: the path should contain the binary filename", + args: { name: "kubelogin-install-location" }, + }, + { + name: "--kubelogin-version", + description: "Version of kubelogin to install", + args: { name: "kubelogin-version" }, + }, + ], + }, + { + name: "kanalyze", + description: + "Display diagnostic results for the Kubernetes cluster after kollect is done", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "kollect", + description: + "Collecting diagnostic information for the Kubernetes cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--container-logs", + description: "The list of container logs to collect", + args: { name: "container-logs" }, + }, + { + name: "--kube-objects", + description: "The list of kubernetes objects to describe", + args: { name: "kube-objects" }, + }, + { + name: "--node-logs", + description: + "The list of node logs to collect for Linux nodes. For example, /var/log/cloud-init.log", + args: { name: "node-logs" }, + }, + { + name: "--node-logs-windows", + description: + "The list of node logs to collect for Windows nodes. For example, C:\\AzureData\\CustomDataSetupScript.log", + args: { name: "node-logs-windows" }, + }, + { + name: "--sas-token", + description: + "The SAS token with writable permission for the storage account", + args: { name: "sas-token" }, + }, + { + name: "--storage-account", + description: + "Name or ID of the storage account to save the diagnostic information", + args: { name: "storage-account" }, + }, + ], + }, + { + name: "list", + description: "List managed Kubernetes clusters", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "operation-abort", + description: "Abort last running operation on managed cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "remove-dev-spaces", + description: "Remove Azure Dev Spaces from a managed Kubernetes cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "rotate-certs", + description: + "Rotate certificates and keys on a managed Kubernetes cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "scale", + description: "Scale the node pool in a managed Kubernetes cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--node-count", "-c"], + description: "Number of nodes in the Kubernetes node pool", + args: { name: "node-count" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--nodepool-name", + description: "Node pool name, up to 12 alphanumeric characters", + args: { name: "nodepool-name" }, + }, + ], + }, + { + name: "show", + description: "Show the details for a managed Kubernetes cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "start", + description: "Starts a previously stopped Managed Cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "stop", + description: "Stops a Managed Cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "update", + description: + "Update a managed Kubernetes cluster. When called with no optional arguments this attempts to move the cluster to its goal state without changing the current cluster configuration. This can be used to move out of a non succeeded state", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aad-admin-group-object-ids", + description: + "Comma seperated list of aad group object IDs that will be set as cluster admin", + args: { name: "aad-admin-group-object-ids" }, + }, + { + name: "--aad-tenant-id", + description: "The ID of an Azure Active Directory tenant", + args: { name: "aad-tenant-id" }, + }, + { + name: "--aks-custom-headers", + description: + "Comma-separated key-value pairs to specify custom headers", + args: { name: "aks-custom-headers" }, + }, + { + name: "--api-server-authorized-ip-ranges", + description: + 'Comma seperated list of authorized apiserver IP ranges. Set to "" to allow all traffic on a previously restricted cluster. Set to 0.0.0.0/32 to restrict apiserver traffic to node pools', + args: { name: "api-server-authorized-ip-ranges" }, + }, + { + name: "--assign-identity", + description: + "Specify an existing user assigned identity to manage cluster resource group", + args: { name: "assign-identity" }, + }, + { + name: "--assign-kubelet-identity", + description: + "Update cluster's kubelet identity to an existing user assigned identity. Please note this operation will recreate all agent nodes in the cluster", + args: { name: "assign-kubelet-identity" }, + }, + { + name: "--attach-acr", + description: + "Grant the 'acrpull' role assignment to the ACR specified by name or resource ID", + args: { name: "attach-acr" }, + }, + { + name: "--auto-upgrade-channel", + description: "Specify the upgrade channel for autoupgrade", + args: { + name: "auto-upgrade-channel", + suggestions: ["node-image", "none", "patch", "rapid", "stable"], + }, + }, + { + name: "--azure-keyvault-kms-key-id", + description: "Identifier of Azure Key Vault key", + args: { name: "azure-keyvault-kms-key-id" }, + }, + { + name: "--azure-keyvault-kms-key-vault-network-access", + description: "Network Access of Azure Key Vault", + args: { + name: "azure-keyvault-kms-key-vault-network-access", + suggestions: ["Private", "Public"], + }, + }, + { + name: "--azure-keyvault-kms-key-vault-resource-id", + description: "Resource ID of Azure Key Vault", + args: { name: "azure-keyvault-kms-key-vault-resource-id" }, + }, + { + name: "--azure-monitor-workspace-resource-id", + description: "Resource ID of the Azure Monitor Workspace", + args: { name: "azure-monitor-workspace-resource-id" }, + }, + { + name: ["--cluster-autoscaler-profile", "--ca-profile"], + description: + "Comma-separated list of key=value pairs for configuring cluster autoscaler. Pass an empty string to clear the profile", + args: { name: "cluster-autoscaler-profile" }, + }, + { + name: "--defender-config", + description: + "Path to JSON file containing Microsoft Defender profile configurations", + args: { name: "defender-config" }, + }, + { + name: "--detach-acr", + description: + "Disable the 'acrpull' role assignment to the ACR specified by name or resource ID", + args: { name: "detach-acr" }, + }, + { + name: "--disable-ahub", + description: + "Disable Azure Hybrid User Benefits (AHUB) feature for cluster", + }, + { + name: "--disable-azure-keyvault-kms", + description: "Disable Azure KeyVault Key Management Service", + }, + { + name: "--disable-azure-monitor-metrics", + description: + "Disable Azure Monitor Metrics Profile. This will delete all DCRA's associated with the cluster, any linked DCRs with the data stream = prometheus-stream and the recording rule groups created by the addon for this AKS cluster", + }, + { + name: "--disable-azure-rbac", + description: + "Disable Azure RBAC to control authorization checks on cluster", + }, + { + name: "--disable-blob-driver", + description: "Disable AzureBlob CSI Driver", + args: { name: "disable-blob-driver" }, + }, + { + name: ["--disable-cluster-autoscaler", "-d"], + description: "Disable cluster autoscaler", + }, + { name: "--disable-defender", description: "Disable defender profile" }, + { + name: "--disable-disk-driver", + description: "Disable AzureDisk CSI Driver", + }, + { + name: "--disable-file-driver", + description: "Disable AzureFile CSI Driver", + }, + { + name: "--disable-force-upgrade", + description: "Disable forceUpgrade cluster upgrade settings override", + }, + { + name: "--disable-image-cleaner", + description: "Disable ImageCleaner Service", + }, + { + name: "--disable-keda", + description: "Disable KEDA workload auto-scaler", + }, + { + name: "--disable-local-accounts", + description: + "If set to true, getting static credential will be disabled for this cluster", + }, + { + name: "--disable-public-fqdn", + description: "Disable public fqdn feature for private cluster", + }, + { + name: "--disable-secret-rotation", + description: + "Disable secret rotation. Use with azure-keyvault-secrets-provider addon", + }, + { + name: "--disable-snapshot-controller", + description: "Disable CSI Snapshot Controller", + }, + { + name: "--disable-vpa", + description: "Disable vertical pod autoscaler for cluster", + }, + { + name: "--disable-windows-gmsa", + description: "Disable Windows gmsa on cluster", + }, + { + name: "--disable-workload-identity", + description: "Disable workload identity addon", + }, + { + name: "--enable-aad", + description: "Enable managed AAD feature for cluster", + }, + { + name: "--enable-ahub", + description: + "Enable Azure Hybrid User Benefits (AHUB) feature for cluster", + }, + { + name: "--enable-azure-keyvault-kms", + description: "Enable Azure KeyVault Key Management Service", + }, + { + name: "--enable-azure-monitor-metrics", + description: + "Enable a kubernetes cluster with the Azure Monitor managed service for Prometheus integration", + }, + { + name: "--enable-azure-rbac", + description: + "Enable Azure RBAC to control authorization checks on cluster", + }, + { + name: "--enable-blob-driver", + description: "Enable AzureBlob CSI Driver", + args: { name: "enable-blob-driver" }, + }, + { + name: ["--enable-cluster-autoscaler", "-e"], + description: "Enable cluster autoscaler", + }, + { + name: "--enable-defender", + description: "Enable Microsoft Defender security profile", + }, + { + name: "--enable-disk-driver", + description: "Enable AzureDisk CSI Driver", + }, + { + name: "--enable-file-driver", + description: "Enable AzureFile CSI Driver", + }, + { + name: "--enable-force-upgrade", + description: "Enable forceUpgrade cluster upgrade settings override", + }, + { + name: "--enable-image-cleaner", + description: "Enable ImageCleaner Service", + }, + { + name: "--enable-keda", + description: "Enable KEDA workload auto-scaler", + }, + { + name: "--enable-local-accounts", + description: + "If set to true, will enable getting static credential for this cluster", + }, + { + name: "--enable-managed-identity", + description: + "Update current cluster to use managed identity to manage cluster resource group", + }, + { name: "--enable-oidc-issuer", description: "Enable OIDC issuer" }, + { + name: "--enable-public-fqdn", + description: "Enable public fqdn feature for private cluster", + }, + { + name: "--enable-secret-rotation", + description: + "Enable secret rotation. Use with azure-keyvault-secrets-provider addon", + }, + { + name: "--enable-snapshot-controller", + description: "Enable Snapshot Controller", + }, + { + name: "--enable-vpa", + description: "Enable vertical pod autoscaler for cluster", + }, + { + name: "--enable-windows-gmsa", + description: "Enable Windows gmsa on cluster", + }, + { + name: "--enable-windows-recording-rules", + description: + "Enable Windows Recording Rules when enabling the Azure Monitor Metrics addon", + }, + { + name: "--enable-workload-identity", + description: "Enable workload identity addon", + }, + { + name: "--gmsa-dns-server", + description: "Specify DNS server for Windows gmsa on cluster", + args: { name: "gmsa-dns-server" }, + }, + { + name: "--gmsa-root-domain-name", + description: "Specify root domain name for Windows gmsa on cluster", + args: { name: "gmsa-root-domain-name" }, + }, + { + name: "--grafana-resource-id", + description: "Resource ID of the Azure Managed Grafana Workspace", + args: { name: "grafana-resource-id" }, + }, + { + name: "--http-proxy-config", + description: "HTTP Proxy configuration for this cluster", + args: { name: "http-proxy-config" }, + }, + { + name: "--image-cleaner-interval-hours", + description: "ImageCleaner scanning interval", + args: { name: "image-cleaner-interval-hours" }, + }, + { + name: "--k8s-support-plan", + description: + 'Choose from "KubernetesOfficial" or "AKSLongTermSupport", with "AKSLongTermSupport" you get 1 extra year of CVE patchs', + args: { + name: "k8s-support-plan", + suggestions: ["AKSLongTermSupport", "KubernetesOfficial"], + }, + }, + { + name: "--ksm-metric-annotations-allow-list", + description: + "Comma-separated list of additional Kubernetes label keys that will be used in the resource' labels metric. By default the metric contains only name and namespace labels. To include additional labels provide a list of resource names in their plural form and Kubernetes label keys you would like to allow for them (e.g.'=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)'. A single '' can be provided per resource instead to allow any labels, but that has severe performance implications (e.g. '=pods=[]')", + args: { name: "ksm-metric-annotations-allow-list" }, + }, + { + name: "--ksm-metric-labels-allow-list", + description: + "Comma-separated list of additional Kubernetes label keys that will be used in the resource' labels metric. By default the metric contains only name and namespace labels. To include additional labels provide a list of resource names in their plural form and Kubernetes label keys you would like to allow for them (e.g. '=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)'. A single '' can be provided per resource instead to allow any labels, but that has severe performance implications (e.g. '=pods=[]')", + args: { name: "ksm-metric-labels-allow-list" }, + }, + { + name: "--load-balancer-idle-timeout", + description: "Load balancer idle timeout in minutes", + args: { name: "load-balancer-idle-timeout" }, + }, + { + name: "--load-balancer-managed-outbound-ip-count", + description: "Load balancer managed outbound IP count", + args: { name: "load-balancer-managed-outbound-ip-count" }, + }, + { + name: "--load-balancer-managed-outbound-ipv6-count", + description: "Load balancer managed outbound IPv6 IP count", + args: { name: "load-balancer-managed-outbound-ipv6-count" }, + }, + { + name: "--load-balancer-outbound-ip-prefixes", + description: "Load balancer outbound IP prefix resource IDs", + args: { name: "load-balancer-outbound-ip-prefixes" }, + }, + { + name: "--load-balancer-outbound-ips", + description: "Load balancer outbound IP resource IDs", + args: { name: "load-balancer-outbound-ips" }, + }, + { + name: "--load-balancer-outbound-ports", + description: "Load balancer outbound allocated ports", + args: { name: "load-balancer-outbound-ports" }, + }, + { + name: "--max-count", + description: + 'Maximum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [1, 1000]', + args: { name: "max-count" }, + }, + { + name: "--min-count", + description: + 'Minimum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [1, 1000]', + args: { name: "min-count" }, + }, + { + name: "--nat-gateway-idle-timeout", + description: "NAT gateway idle timeout in minutes", + args: { name: "nat-gateway-idle-timeout" }, + }, + { + name: "--nat-gateway-managed-outbound-ip-count", + description: "NAT gateway managed outbound IP count", + args: { name: "nat-gateway-managed-outbound-ip-count" }, + }, + { + name: "--network-dataplane", + description: "The network dataplane to use", + args: { name: "network-dataplane", suggestions: ["azure", "cilium"] }, + }, + { + name: "--network-plugin-mode", + description: + "Update the mode of a network plugin to migrate to a different pod networking setup", + args: { name: "network-plugin-mode" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--node-os-upgrade-channel", + description: + "Manner in which the OS on your nodes is updated. It could be NodeImage, None, SecurityPatch or Unmanaged", + args: { name: "node-os-upgrade-channel" }, + }, + { + name: "--nodepool-labels", + description: + "The node labels for all node pool. See https://aka.ms/node-labels for syntax of labels", + args: { name: "nodepool-labels" }, + }, + { + name: "--nodepool-taints", + description: "The node taints for all node pool", + args: { name: "nodepool-taints" }, + }, + { + name: "--outbound-type", + description: "How outbound traffic will be configured for a cluster", + args: { + name: "outbound-type", + suggestions: [ + "loadBalancer", + "managedNATGateway", + "userAssignedNATGateway", + "userDefinedRouting", + ], + }, + }, + { + name: "--pod-cidr", + description: + "Update the pod CIDR for a cluster. Used when updating a cluster from Azure CNI to Azure CNI Overlay", + args: { name: "pod-cidr" }, + }, + { + name: "--private-dns-zone", + description: "The private dns zone mode for private cluster", + args: { name: "private-dns-zone" }, + }, + { + name: "--rotation-poll-interval", + description: + "Set interval of rotation poll. Use with azure-keyvault-secrets-provider addon", + args: { name: "rotation-poll-interval" }, + }, + { + name: "--tags", + description: + "The tags of the managed cluster. The managed cluster instance and all resources managed by the cloud provider will be tagged", + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "Specify SKU tier for managed clusters. '--tier standard' enables a standard managed cluster service with a financially backed SLA. '--tier free' changes a standard managed cluster to a free one", + args: { name: "tier", suggestions: ["free", "premium", "standard"] }, + }, + { + name: ["--update-cluster-autoscaler", "-u"], + description: "Update min-count or max-count for cluster autoscaler", + }, + { + name: "--upgrade-override-until", + description: + "Until when the cluster upgradeSettings overrides are effective. It needs to be in a valid date-time format that's within the next 30 days. For example, 2023-04-01T13:00:00Z. Note that if --force-upgrade is set to true and --upgrade-override-until is not set, by default it will be set to 3 days from now", + args: { name: "upgrade-override-until" }, + }, + { + name: "--windows-admin-password", + description: "User account password to use on windows node VMs", + args: { name: "windows-admin-password" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "update-credentials", + description: + "Update credentials for a managed Kubernetes cluster, like service principal", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-secret", + description: + "Secret associated with the service principal. This argument is required if --service-principal is specified", + args: { name: "client-secret" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--reset-service-principal", + description: "Reset service principal for a managed cluster", + }, + { + name: "--service-principal", + description: + "Service principal used for authentication to Azure APIs. This argument is required if --reset-service-principal is specified", + args: { name: "service-principal" }, + }, + ], + }, + { + name: "upgrade", + description: "Upgrade a managed Kubernetes cluster to a newer version", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--control-plane-only", + description: + "Upgrade the cluster control plane only. If not specified, both control plane AND all node pools will be upgraded", + }, + { + name: ["--kubernetes-version", "-k"], + description: + 'Version of Kubernetes to upgrade the cluster to, such as "1.16.9". value from: `az aks get-upgrades`', + args: { name: "kubernetes-version" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--node-image-only", + description: "Only upgrade node image for agent pools", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "use-dev-spaces", + description: "Use Azure Dev Spaces with a managed Kubernetes cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--endpoint", "-e"], + description: + "The endpoint type to be used for a Azure Dev Spaces controller. See https://aka.ms/azds-networking for more information", + args: { + name: "endpoint", + suggestions: ["None", "Private", "Public"], + }, + }, + { + name: ["--space", "-s"], + description: + "Name of the new or existing dev space to select. Defaults to an interactive selection experience", + args: { name: "space" }, + }, + { + name: "--update", + description: + "Update to the latest Azure Dev Spaces client components", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation. Requires --space", + }, + ], + }, + { + name: "wait", + description: + "Wait for a managed Kubernetes cluster to reach a desired state", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "command", + description: + "See detail usage in 'az aks command invoke', 'az aks command result'", + subcommands: [ + { + name: "invoke", + description: + "Run a shell command (with kubectl, helm) on your aks cluster, support attaching files as well", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--command", "-c"], + description: "Command or shell script you want to run", + args: { name: "command" }, + }, + { + name: ["--file", "-f"], + description: + "Files to be used by the command, use '.' to attach the current folder", + args: { name: "file" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "result", + description: + "Fetch result from previously triggered 'aks command invoke'", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--command-id", "-i"], + description: "CommandId returned from 'aks command invoke'", + args: { name: "command-id" }, + }, + ], + }, + ], + }, + { + name: "draft", + description: + "Commands to build deployment files in a project directory and deploy to an AKS cluster", + subcommands: [ + { + name: "create", + description: + "Generate a Dockerfile and the minimum required Kubernetes deployment files (helm, kustomize, manifests) for your project directory", + options: [ + { + name: "--app", + description: "Specify the name of the helm release", + args: { name: "app" }, + }, + { + name: "--create-config", + description: "Specify the path to the configuration file", + args: { name: "create-config" }, + }, + { + name: "--deployment-only", + description: + "Only generate deployment files (helm, kustomize, manifests) for the Kubernetes deployment", + args: { name: "deployment-only" }, + }, + { + name: "--destination", + description: + "Specify the path to the project directory (default is .)", + args: { name: "destination" }, + }, + { + name: "--dockerfile-only", + description: + "Only generate Dockerfile for the Kubernetes deployment", + args: { name: "dockerfile-only" }, + }, + { + name: "--language", + description: + "Specify the language used to create the Kubernetes deployment", + args: { name: "language" }, + }, + { + name: "--path", + description: + "Automatically download and use the Draft binary at the specified location", + args: { name: "path" }, + }, + ], + }, + { + name: "generate-workflow", + description: + "Generate a GitHub workflow for automatic build and deploy to AKS", + options: [ + { + name: "--branch", + description: + "Specify the GitHub branch to automatically deploy from", + args: { name: "branch" }, + }, + { + name: "--cluster-name", + description: "Specify the AKS cluster name", + args: { name: "cluster-name" }, + }, + { + name: "--container-name", + description: "Specify the name of the container image", + args: { name: "container-name" }, + }, + { + name: "--destination", + description: + "Specify the path to the project directory (default is .)", + args: { name: "destination" }, + }, + { + name: "--path", + description: + "Automatically download and use the Draft binary at the specified location", + args: { name: "path" }, + }, + { + name: "--registry-name", + description: "Specify the path to the project directory", + args: { name: "registry-name" }, + }, + { + name: "--resource-group", + description: "Specify the name of the Azure resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "setup-gh", + description: "Set up GitHub OIDC for your application", + options: [ + { + name: "--app", + description: "Specify the Azure Active Directory applicaton name", + args: { name: "app" }, + }, + { + name: "--gh-repo", + description: + "Specify the the GitHub repository (organization/repo_name)", + args: { name: "gh-repo" }, + }, + { + name: "--path", + description: + "Automatically download and use the Draft binary at the specified location", + args: { name: "path" }, + }, + { + name: "--provider", + description: "Specify the cloud provider (default is azure)", + args: { name: "provider" }, + }, + { + name: "--resource-group", + description: "Specify the name of the Azure resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specify the Azure subscription ID", + args: { name: "subscription-id" }, + }, + ], + }, + { + name: "up", + description: + "Set up GitHub OIDC and generate a GitHub workflow for automatic build and deploy to AKS", + options: [ + { + name: "--app", + description: "Specify the name of the application", + args: { name: "app" }, + }, + { + name: "--branch", + description: + "Specify the GitHub branch to automatically deploy from", + args: { name: "branch" }, + }, + { + name: "--cluster-name", + description: "Specify the AKS cluster name", + args: { name: "cluster-name" }, + }, + { + name: "--container-name", + description: "Specify the name of the container image", + args: { name: "container-name" }, + }, + { + name: "--destination", + description: + "Specify the path to the project directory (default is .)", + args: { name: "destination" }, + }, + { + name: "--gh-repo", + description: + "Specify the the GitHub repository (organization/repo_name)", + args: { name: "gh-repo" }, + }, + { + name: "--path", + description: + "Automatically download and use the Draft binary at the specified location", + args: { name: "path" }, + }, + { + name: "--provider", + description: "Specify the cloud provider (default is azure)", + args: { name: "provider" }, + }, + { + name: "--registry-name", + description: "Specify the path to the project directory", + args: { name: "registry-name" }, + }, + { + name: "--resource-group", + description: "Specify the name of the Azure resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specify the Azure subscription ID", + args: { name: "subscription-id" }, + }, + ], + }, + { + name: "update", + description: "Update your application to be internet accessible", + options: [ + { + name: "--certificate", + description: + "Specify the URI of the Keyvault certificate to present", + args: { name: "certificate" }, + }, + { + name: "--destination", + description: + "Specify the path to the project directory (default is .)", + args: { name: "destination" }, + }, + { + name: "--host", + description: "Specify the host of the ingress resource", + args: { name: "host" }, + }, + { + name: "--path", + description: + "Automatically download and use the Draft binary at the specified location", + args: { name: "path" }, + }, + ], + }, + ], + }, + { + name: "egress-endpoints", + description: + "Commands to manage egress endpoints in managed Kubernetes cluster", + subcommands: [ + { + name: "list", + description: + "List egress endpoints that are required or recommended to be whitelisted for a cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "machine", + description: + "Get information about machines in a nodepool of a managed clusters", + subcommands: [ + { + name: "list", + description: + "Get information about IP Addresses, Hostname for all machines in an agentpool", + options: [ + { + name: "--cluster-name", + description: "Name of the managed cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--nodepool-name", + description: "Name of the agentpool of a managed cluster", + args: { name: "nodepool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show IP Addresses, Hostname for a specific machine in an agentpool for a managedcluster", + options: [ + { + name: "--cluster-name", + description: "Name of the managed cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--machine-name", + description: + "Get IP Addresses, Hostname for a specific machine in an agentpool", + args: { name: "machine-name" }, + isRequired: true, + }, + { + name: "--nodepool-name", + description: "Name of the agentpool of a managed cluster", + args: { name: "nodepool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "maintenanceconfiguration", + description: + "Commands to manage maintenance configurations in managed Kubernetes cluster", + subcommands: [ + { + name: "add", + description: + "Add a maintenance configuration in managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The config name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--config-file", + description: "The maintenance configuration json file", + args: { name: "config-file" }, + }, + { + name: "--day-of-month", + description: + "Specify on which day of the month the maintenance occurs. E.g. 1 indicates the 1st of the month. Applicable to absolute monthly schedule type only", + args: { name: "day-of-month" }, + }, + { + name: "--day-of-week", + description: + 'Specify on which day of the week the maintenance occurs. E.g. "Monday". Applicable to weekly and relative monthly schedule types', + args: { name: "day-of-week" }, + }, + { + name: "--duration", + description: + "The length of maintenance window range from 4 to 24 hours", + args: { name: "duration" }, + }, + { + name: "--interval-days", + description: + "The number of days between each set of occurrences for daily schedule type", + args: { name: "interval-days" }, + }, + { + name: "--interval-months", + description: + "The number of months between each set of occurrences. Applicable to absolute and relative monthly schedule types", + args: { name: "interval-months" }, + }, + { + name: "--interval-weeks", + description: + "The number of weeks between each set of occurrences. Applicable to weekly schedule types only", + args: { name: "interval-weeks" }, + }, + { + name: "--schedule-type", + description: + "Choose either 'Daily', 'Weekly', 'AbsoluteMonthly' or 'RelativeMonthly' for your maintenance schedule. Only applicable to 'aksManagedAutoUpgradeSchedule' and 'aksManagedNodeOSUpgradeSchedule' maintenance configuration", + args: { + name: "schedule-type", + suggestions: [ + "AbsoluteMonthly", + "Daily", + "RelativeMonthly", + "Weekly", + ], + }, + }, + { + name: "--start-date", + description: + 'The date the maintenance configuration activates. If not specified, the maintenance window will be active right away."', + args: { name: "start-date" }, + }, + { + name: "--start-hour", + description: + "The start time of 1 hour window which maintenance is allowd. E.g. 1 means it's allowd between 1:00 am and 2:00 am. Applicable to default maintenance configuration only", + args: { name: "start-hour" }, + }, + { + name: "--start-time", + description: + "The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. '--utc-offset' applies to this field. For example, '02:00' with '--utc-offset +02:00' means UTC time '00:00'", + args: { name: "start-time" }, + }, + { + name: "--utc-offset", + description: + "The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'", + args: { name: "utc-offset" }, + }, + { + name: "--week-index", + description: + "Specify on which instance of the allowed days specified in '--day-of-week' the maintenance occurs. Applicable to relative monthly schedule type only", + args: { + name: "week-index", + suggestions: ["First", "Fourth", "Last", "Second", "Third"], + }, + }, + { + name: "--weekday", + description: + "A day in week on which maintenance is allowed. E.g. Monday. Applicable to default maintenance configuration only", + args: { name: "weekday" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a maintenance configuration in managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The config name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List maintenance configurations in managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a maintenance configuration in managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The config name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update a maintenance configuration of a managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The config name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--config-file", + description: "The maintenance configuration json file", + args: { name: "config-file" }, + }, + { + name: "--day-of-month", + description: + "Specify on which day of the month the maintenance occurs. E.g. 1 indicates the 1st of the month. Applicable to absolute monthly schedule type only", + args: { name: "day-of-month" }, + }, + { + name: "--day-of-week", + description: + 'Specify on which day of the week the maintenance occurs. E.g. "Monday". Applicable to weekly and relative monthly schedule types', + args: { name: "day-of-week" }, + }, + { + name: "--duration", + description: + "The length of maintenance window range from 4 to 24 hours", + args: { name: "duration" }, + }, + { + name: "--interval-days", + description: + "The number of days between each set of occurrences for daily schedule type", + args: { name: "interval-days" }, + }, + { + name: "--interval-months", + description: + "The number of months between each set of occurrences. Applicable to absolute and relative monthly schedule types", + args: { name: "interval-months" }, + }, + { + name: "--interval-weeks", + description: + "The number of weeks between each set of occurrences. Applicable to weekly schedule types only", + args: { name: "interval-weeks" }, + }, + { + name: "--schedule-type", + description: + "Choose either 'Daily', 'Weekly', 'AbsoluteMonthly' or 'RelativeMonthly' for your maintenance schedule. Only applicable to 'aksManagedAutoUpgradeSchedule' and 'aksManagedNodeOSUpgradeSchedule' maintenance configuration", + args: { + name: "schedule-type", + suggestions: [ + "AbsoluteMonthly", + "Daily", + "RelativeMonthly", + "Weekly", + ], + }, + }, + { + name: "--start-date", + description: + 'The date the maintenance configuration activates. If not specified, the maintenance window will be active right away."', + args: { name: "start-date" }, + }, + { + name: "--start-hour", + description: + "The start time of 1 hour window which maintenance is allowd. E.g. 1 means it's allowd between 1:00 am and 2:00 am. Applicable to default maintenance configuration only", + args: { name: "start-hour" }, + }, + { + name: "--start-time", + description: + "The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. '--utc-offset' applies to this field. For example, '02:00' with '--utc-offset +02:00' means UTC time '00:00'", + args: { name: "start-time" }, + }, + { + name: "--utc-offset", + description: + "The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'", + args: { name: "utc-offset" }, + }, + { + name: "--week-index", + description: + "Specify on which instance of the allowed days specified in '--day-of-week' the maintenance occurs. Applicable to relative monthly schedule type only", + args: { + name: "week-index", + suggestions: ["First", "Fourth", "Last", "Second", "Third"], + }, + }, + { + name: "--weekday", + description: + "A day in week on which maintenance is allowed. E.g. Monday. Applicable to default maintenance configuration only", + args: { name: "weekday" }, + }, + ], + }, + ], + }, + { + name: "mesh", + description: + "Commands to manage Azure Service Mesh.\n\n\t\tA group of commands to manage Azure Service Mesh in given cluster", + subcommands: [ + { + name: "disable", + description: "Disable Azure Service Mesh", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "disable-egress-gateway", + description: "Disable an Azure Service Mesh egress gateway", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "disable-ingress-gateway", + description: "Disable an Azure Service Mesh ingress gateway", + options: [ + { + name: "--ingress-gateway-type", + description: "Specify the type of ingress gateway", + args: { + name: "ingress-gateway-type", + suggestions: ["External", "Internal"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "enable", + description: "Enable Azure Service Mesh", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ca-cert-object-name", + description: + "Intermediate cert object name in the Azure Keyvault", + args: { name: "ca-cert-object-name" }, + }, + { + name: "--ca-key-object-name", + description: "Intermediate key object name in the Azure Keyvault", + args: { name: "ca-key-object-name" }, + }, + { + name: "--cert-chain-object-name", + description: "Cert chain object name in the Azure Keyvault", + args: { name: "cert-chain-object-name" }, + }, + { + name: "--key-vault-id", + description: "The Azure Keyvault id with plugin CA info", + args: { name: "key-vault-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--revision", + description: "Azure Service Mesh revision to install", + args: { name: "revision" }, + }, + { + name: "--root-cert-object-name", + description: "Root cert object name in the Azure Keyvault", + args: { name: "root-cert-object-name" }, + }, + ], + }, + { + name: "enable-egress-gateway", + description: "Enable an Azure Service Mesh egress gateway", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--egress-gateway-nodeselector", "--egx-gtw-ns"], + description: + "Specify the node selector for the egress gateway with space-separated, key-value pairs (key1=value1 key2=value2)", + args: { name: "egress-gateway-nodeselector" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "enable-ingress-gateway", + description: "Enable an Azure Service Mesh ingress gateway", + options: [ + { + name: "--ingress-gateway-type", + description: "Specify the type of ingress gateway", + args: { + name: "ingress-gateway-type", + suggestions: ["External", "Internal"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "get-revisions", + description: + "Discover available Azure Service Mesh revisions and their compatibility", + options: [ + { + name: ["--location", "-l"], + description: + "Location in which to discover available Azure Service Mesh revisions", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "get-upgrades", + description: "Discover available Azure Service Mesh upgrades", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "upgrade", + description: + "Commands to manage the upgrades for Azure Service Mesh.\n\n\t\tA group of commands to manage the upgrades for Azure Service Mesh in given cluster", + subcommands: [ + { + name: "complete", + description: "Complete Azure Service Mesh upgrade", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "rollback", + description: "Rollback Azure Service Mesh upgrade", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "start", + description: "Initiate Azure Service Mesh upgrade", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--revision", + description: "Azure Service Mesh revision to upgrade to", + args: { name: "revision" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + ], + }, + ], + }, + { + name: "nodepool", + description: + "Commands to manage node pools in Kubernetes kubernetes cluster", + subcommands: [ + { + name: "add", + description: "Add a node pool to the managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--nodepool-name", "--name", "-n"], + description: "The node pool name", + args: { name: "nodepool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aks-custom-headers", + description: + "Comma-separated key-value pairs to specify custom headers", + args: { name: "aks-custom-headers" }, + }, + { + name: ["--enable-cluster-autoscaler", "-e"], + description: "Enable cluster autoscaler", + }, + { + name: "--enable-encryption-at-host", + description: "Enable EncryptionAtHost, default value is false", + }, + { + name: "--enable-fips-image", + description: "Use FIPS-enabled OS on agent nodes", + }, + { + name: "--enable-node-public-ip", + description: "Enable VMSS node public IP", + }, + { + name: "--enable-ultra-ssd", + description: "Enable UltraSSD, default value is false", + }, + { + name: "--eviction-policy", + description: + "The eviction policy of the Spot node pool. It can only be set when --priority is Spot", + args: { + name: "eviction-policy", + suggestions: ["Deallocate", "Delete"], + }, + }, + { + name: "--gpu-instance-profile", + description: + "GPU instance profile to partition multi-gpu Nvidia GPUs", + args: { + name: "gpu-instance-profile", + suggestions: ["MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g"], + }, + }, + { + name: "--host-group-id", + description: + "The fully qualified dedicated host group id used to provision agent node pool", + args: { name: "host-group-id" }, + }, + { + name: "--kubelet-config", + description: + "Path to JSON file containing Kubelet configurations for agent nodes. https://aka.ms/aks/custom-node-config", + args: { name: "kubelet-config" }, + }, + { + name: ["--kubernetes-version", "-k"], + description: + 'Version of Kubernetes to use for creating the cluster, such as "1.16.9". value from: `az aks get-versions`', + args: { name: "kubernetes-version" }, + }, + { + name: "--labels", + description: + "The node labels for the node pool. See https://aka.ms/node-labels for syntax of labels", + args: { name: "labels" }, + }, + { + name: "--linux-os-config", + description: + "Path to JSON file containing OS configurations for Linux agent nodes. https://aka.ms/aks/custom-node-config", + args: { name: "linux-os-config" }, + }, + { + name: "--max-count", + description: + 'Maximum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [0, 1000] for user nodepool, and [1,1000] for system nodepool', + args: { name: "max-count" }, + }, + { + name: ["--max-pods", "-m"], + description: "The maximum number of pods deployable to a node", + args: { name: "max-pods" }, + }, + { + name: "--max-surge", + description: + "Extra nodes used to speed upgrade. When specified, it represents the number or percent used, eg. 5 or 33%", + args: { name: "max-surge" }, + }, + { + name: "--min-count", + description: + 'Minimum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [0, 1000] for user nodepool, and [1,1000] for system nodepool', + args: { name: "min-count" }, + }, + { + name: "--mode", + description: + 'The mode for a node pool which defines a node pool\'s primary function. If set as "System", AKS prefers system pods scheduling to node pools with mode System. Learn more at https://aka.ms/aks/nodepool/mode', + args: { name: "mode", suggestions: ["System", "User"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--node-count", "-c"], + description: + "Number of nodes in the Kubernetes agent pool. After creating a cluster, you can change the size of its node pool with az aks scale", + args: { name: "node-count" }, + }, + { + name: "--node-osdisk-size", + description: + "Size in GB of the OS disk for each node in the agent pool. Minimum 30 GB", + args: { name: "node-osdisk-size" }, + }, + { + name: "--node-osdisk-type", + description: + "OS disk type to be used for machines in a given agent pool. Defaults to 'Ephemeral' when possible in conjunction with VM size and OS disk size. May not be changed for this pool after creation. ('Ephemeral' or 'Managed')", + args: { + name: "node-osdisk-type", + suggestions: ["Ephemeral", "Managed"], + }, + }, + { + name: "--node-public-ip-prefix-id", + description: + "Public IP prefix ID used to assign public IPs to VMSS nodes", + args: { name: "node-public-ip-prefix-id" }, + }, + { + name: "--node-taints", + description: "The node taints for the node pool", + args: { name: "node-taints" }, + }, + { + name: ["--node-vm-size", "-s"], + description: + "Size of Virtual Machines to create as Kubernetes nodes", + args: { name: "node-vm-size" }, + }, + { + name: "--os-sku", + description: + "The OS SKU of the agent node pool. Ubuntu or CBLMariner for Linux. Windows2019 or Windows2022 for Windows", + args: { + name: "os-sku", + suggestions: [ + "AzureLinux", + "CBLMariner", + "Mariner", + "Ubuntu", + "Windows2019", + "Windows2022", + ], + }, + }, + { + name: "--os-type", + description: "The OS Type. Linux or Windows", + args: { name: "os-type" }, + }, + { + name: "--pod-subnet-id", + description: + "The Resource Id of a subnet in an existing VNet into which to assign pods in the cluster (requires azure network-plugin)", + args: { name: "pod-subnet-id" }, + }, + { + name: "--ppg", + description: "The ID of a PPG", + args: { name: "ppg" }, + }, + { + name: "--priority", + description: "The priority of the node pool", + args: { name: "priority", suggestions: ["Regular", "Spot"] }, + }, + { + name: "--scale-down-mode", + description: + "Describe how VMs are added to or removed from nodepools", + args: { + name: "scale-down-mode", + suggestions: ["Deallocate", "Delete"], + }, + }, + { + name: "--snapshot-id", + description: + "The source snapshot id used to create this nodepool", + args: { name: "snapshot-id" }, + }, + { + name: "--spot-max-price", + description: + "It can only be set when --priority is Spot. Specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. It can only include up to 5 decimal places", + args: { name: "spot-max-price" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vnet-subnet-id", + description: + "The Resource Id of a subnet in an existing VNet into which to deploy the cluster", + args: { name: "vnet-subnet-id" }, + }, + { + name: ["--zones", "-z"], + description: + "Availability zones where agent nodes will be placed. Also, to install agent nodes to more than one zone you need to pass zone numbers separated by blanks. For example - To have all 3 zones, you are expected to enter --zones 1 2 3", + args: { name: "zones", suggestions: ["1", "2", "3"] }, + }, + ], + }, + { + name: "delete", + description: + "Delete the agent pool in the managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--nodepool-name", "--name", "-n"], + description: "The node pool name", + args: { name: "nodepool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "get-upgrades", + description: + "Get the available upgrade versions for an agent pool of the managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--nodepool-name", "--name", "-n"], + description: "The node pool name", + args: { name: "nodepool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List node pools in the managed Kubernetes cluster. To get list of nodes in the cluster run kubectl get nodes command", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "operation-abort", + description: "Abort last running operation on nodepool", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--nodepool-name", "--name", "-n"], + description: "The node pool name", + args: { name: "nodepool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "scale", + description: "Scale the node pool in a managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--nodepool-name", "--name", "-n"], + description: "The node pool name", + args: { name: "nodepool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--node-count", "-c"], + description: "Number of nodes in the Kubernetes node pool", + args: { name: "node-count" }, + }, + ], + }, + { + name: "show", + description: + "Show the details for a node pool in the managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--nodepool-name", "--name", "-n"], + description: "The node pool name", + args: { name: "nodepool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "start", + description: + "Start stopped agent pool in the managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--nodepool-name", "--name", "-n"], + description: "The node pool name", + args: { name: "nodepool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aks-custom-headers", + description: + "Send custom headers. When specified, format should be Key1=Value1,Key2=Value2", + args: { name: "aks-custom-headers" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "stop", + description: + "Stop running agent pool in the managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--nodepool-name", "--name", "-n"], + description: "The node pool name", + args: { name: "nodepool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aks-custom-headers", + description: + "Send custom headers. When specified, format should be Key1=Value1,Key2=Value2", + args: { name: "aks-custom-headers" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "update", + description: "Update a node pool properties", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--nodepool-name", "--name", "-n"], + description: "The node pool name", + args: { name: "nodepool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aks-custom-headers", + description: + "Comma-separated key-value pairs to specify custom headers", + args: { name: "aks-custom-headers" }, + }, + { + name: ["--disable-cluster-autoscaler", "-d"], + description: "Disable cluster autoscaler", + }, + { + name: ["--enable-cluster-autoscaler", "-e"], + description: "Enable cluster autoscaler", + }, + { + name: "--labels", + description: + "The node labels for the node pool. See https://aka.ms/node-labels for syntax of labels", + args: { name: "labels" }, + }, + { + name: "--max-count", + description: + 'Maximum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [0, 1000] for user nodepool, and [1,1000] for system nodepool', + args: { name: "max-count" }, + }, + { + name: "--max-surge", + description: + "Extra nodes used to speed upgrade. When specified, it represents the number or percent used, eg. 5 or 33%", + args: { name: "max-surge" }, + }, + { + name: "--min-count", + description: + 'Minimum nodes count used for autoscaler, when "--enable-cluster-autoscaler" specified. Please specify the value in the range of [0, 1000] for user nodepool, and [1,1000] for system nodepool', + args: { name: "min-count" }, + }, + { + name: "--mode", + description: + 'The mode for a node pool which defines a node pool\'s primary function. If set as "System", AKS prefers system pods scheduling to node pools with mode System. Learn more at https://aka.ms/aks/nodepool/mode', + args: { name: "mode", suggestions: ["System", "User"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--node-taints", + description: + 'The node taints for the node pool. You can update the existing node taint of a nodepool or create a new node taint for a nodepool. Pass the empty string "" to remove all taints', + args: { name: "node-taints" }, + }, + { + name: "--scale-down-mode", + description: + "Describe how VMs are added to or removed from nodepools", + args: { + name: "scale-down-mode", + suggestions: ["Deallocate", "Delete"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--update-cluster-autoscaler", "-u"], + description: + "Update min-count or max-count for cluster autoscaler", + }, + ], + }, + { + name: "upgrade", + description: "Upgrade the node pool in a managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--nodepool-name", "--name", "-n"], + description: "The node pool name", + args: { name: "nodepool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aks-custom-headers", + description: + "Comma-separated key-value pairs to specify custom headers", + args: { name: "aks-custom-headers" }, + }, + { + name: ["--kubernetes-version", "-k"], + description: + 'Version of Kubernetes to upgrade the node pool to, such as "1.16.9"', + args: { name: "kubernetes-version" }, + }, + { + name: "--max-surge", + description: + 'Extra nodes used to speed upgrade. When specified, it represents the number or percent used, eg. 5 or 33% (mutually exclusive with "--node-image-only". See "az aks nodepool update --max-surge" to update max surge before upgrading with "--node-image-only")', + args: { name: "max-surge" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--node-image-only", + description: "Only upgrade agent pool's node image", + }, + { + name: "--snapshot-id", + description: + "The source snapshot id used to upgrade this nodepool", + args: { name: "snapshot-id" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "wait", + description: "Wait for a node pool to reach a desired state", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--nodepool-name", "--name", "-n"], + description: "The node pool name", + args: { name: "nodepool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "snapshot", + description: "Commands to manage nodepool snapshots", + subcommands: [ + { + name: "create", + description: "Create a nodepool snapshot", + options: [ + { + name: ["--name", "-n"], + description: "The nodepool snapshot name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--nodepool-id", + description: + "The source nodepool id from which to create this snapshot", + args: { name: "nodepool-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aks-custom-headers", + description: + "Send custom headers. When specified, format should be Key1=Value1,Key2=Value2", + args: { name: "aks-custom-headers" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: "The tags of the snapshot", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a nodepool snapshot", + options: [ + { + name: ["--name", "-n"], + description: "The nodepool snapshot name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List nodepool snapshots", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a nodepool snapshot", + options: [ + { + name: ["--name", "-n"], + description: "The nodepool snapshot name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update tags on a snapshot of a nodepool", + options: [ + { + name: ["--name", "-n"], + description: "The nodepool snapshot name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: "The tags to set to the snapshot", + args: { name: "tags" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Wait for a nodepool snapshot to reach a desired state", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "oidc-issuer", + description: "Oidc issuer related commands", + subcommands: [ + { + name: "rotate-signing-keys", + description: "Rotate oidc issuer service account signing keys", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "pod-identity", + description: + "Commands to manage pod identities in managed Kubernetes cluster", + subcommands: [ + { + name: "add", + description: "Add a pod identity to a managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--identity-resource-id", + description: "Resource id of the identity to use", + args: { name: "identity-resource-id" }, + isRequired: true, + }, + { + name: "--namespace", + description: "The pod identity namespace", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aks-custom-headers", + description: + "Send custom headers. When specified, format should be Key1=Value1,Key2=Value2", + args: { name: "aks-custom-headers" }, + }, + { + name: "--binding-selector", + description: "Optional binding selector to use", + args: { name: "binding-selector" }, + }, + { + name: ["--name", "-n"], + description: "The pod identity name. Generate if not specified", + args: { name: "name" }, + }, + ], + }, + { + name: "delete", + description: + "Remove a pod identity from a managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The pod identity name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "The pod identity namespace", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aks-custom-headers", + description: + "Send custom headers. When specified, format should be Key1=Value1,Key2=Value2", + args: { name: "aks-custom-headers" }, + }, + ], + }, + { + name: "list", + description: "List pod identities in a managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "exception", + description: + "Commands to manage pod identity exceptions in managed Kubernetes cluster", + subcommands: [ + { + name: "add", + description: + "Add a pod identity exception to a managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "The pod identity exception namespace", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: "--pod-labels", + description: + "Space-separated labels: key=value [key=value ...]", + args: { name: "pod-labels" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aks-custom-headers", + description: + "Send custom headers. When specified, format should be Key1=Value1,Key2=Value2", + args: { name: "aks-custom-headers" }, + }, + { + name: ["--name", "-n"], + description: + "The pod identity exception name. Generate if not specified", + args: { name: "name" }, + }, + ], + }, + { + name: "delete", + description: + "Remove a pod identity exception from a managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The pod identity exception name to remove", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "The pod identity exception namespace to remove", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aks-custom-headers", + description: + "Send custom headers. When specified, format should be Key1=Value1,Key2=Value2", + args: { name: "aks-custom-headers" }, + }, + ], + }, + { + name: "list", + description: + "List pod identity exceptions in a managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update a pod identity exception in a managed Kubernetes cluster", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The pod identity exception name to remove", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "The pod identity exception namespace to remove", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: "--pod-labels", + description: "Pod labels in key=value [key=value ...]", + args: { name: "pod-labels" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aks-custom-headers", + description: + "Send custom headers. When specified, format should be Key1=Value1,Key2=Value2", + args: { name: "aks-custom-headers" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "snapshot", + description: "Commands to manage nodepool snapshots", + subcommands: [ + { + name: "create", + description: "Create a nodepool snapshot", + options: [ + { + name: ["--name", "-n"], + description: "The nodepool snapshot name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--nodepool-id", + description: + "The source nodepool id from which to create this snapshot", + args: { name: "nodepool-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aks-custom-headers", + description: + "Send custom headers. When specified, format should be Key1=Value1,Key2=Value2", + args: { name: "aks-custom-headers" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: "The tags of the snapshot", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a nodepool snapshot", + options: [ + { + name: ["--name", "-n"], + description: "The nodepool snapshot name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List nodepool snapshots", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a nodepool snapshot", + options: [ + { + name: ["--name", "-n"], + description: "The nodepool snapshot name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: "Wait for a nodepool snapshot to reach a desired state", + options: [ + { + name: ["--name", "-n"], + description: "Name of the managed cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "trustedaccess", + description: "Commands to manage trusted access security features", + subcommands: [ + { + name: "role", + description: "Commands to manage trusted access roles", + subcommands: [ + { + name: "list", + description: "List trusted access roles", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "rolebinding", + description: "Commands to manage trusted access role bindings", + subcommands: [ + { + name: "create", + description: "Create a new trusted access role binding", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify the role binding name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--roles", + description: "Specify the space-separated roles", + args: { name: "roles" }, + isRequired: true, + }, + { + name: ["--source-resource-id", "-r"], + description: "Specify the source resource id of the binding", + args: { name: "source-resource-id" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Delete a trusted access role binding according to name", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify the role binding name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the trusted access role bindings", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the specific trusted access role binding according to binding name", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify the role binding name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a trusted access role binding", + options: [ + { + name: "--cluster-name", + description: "The cluster name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify the role binding name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--roles", + description: "Specify the space-separated roles", + args: { name: "roles" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/alerts-management.ts b/src/az/2.53.0/alerts-management.ts new file mode 100644 index 000000000000..adbaa6a4f71c --- /dev/null +++ b/src/az/2.53.0/alerts-management.ts @@ -0,0 +1,285 @@ +const completion: Fig.Spec = { + name: "alerts-management", + description: "Manage Azure Alerts Management Service Resource", + subcommands: [ + { + name: "prometheus-rule-group", + description: "Manage Prometheus Rule Group", + subcommands: [ + { + name: "create", + description: "Create a Prometheus rule group definition", + options: [ + { + name: ["--name", "-n"], + description: "The name of the rule group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rules", + description: + 'Defines the rules in the Prometheus rule group. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rules" }, + isRequired: true, + }, + { + name: "--scopes", + description: + 'Target Azure Monitor workspaces resource ids. This api-version is currently limited to creating with one scope. This may change in future. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "scopes" }, + isRequired: true, + }, + { + name: "--cluster-name", + description: "Apply rule to data from a specific cluster", + args: { name: "cluster-name" }, + }, + { + name: "--description", + description: "Rule group description", + args: { name: "description" }, + }, + { + name: "--enabled", + description: "Enable/disable rule group", + args: { + name: "enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--interval", + description: + "The interval in which to run the Prometheus rule group represented in ISO 8601 duration format. Should be between 1 and 15 minutes", + args: { name: "interval" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Prometheus rule group definition", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the rule group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List Prometheus all rule group definitions in a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a Prometheus rule group definition", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the rule group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Prometheus rule group definition", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--cluster-name", + description: "Apply rule to data from a specific cluster", + args: { name: "cluster-name" }, + }, + { + name: "--description", + description: "Rule group description", + args: { name: "description" }, + }, + { + name: "--enabled", + description: "Enable/disable rule group", + args: { + name: "enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: + "The interval in which to run the Prometheus rule group represented in ISO 8601 duration format. Should be between 1 and 15 minutes", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the rule group", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rules", + description: + 'Defines the rules in the Prometheus rule group. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rules" }, + }, + { + name: "--scopes", + description: + 'Target Azure Monitor workspaces resource ids. This api-version is currently limited to creating with one scope. This may change in future. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "scopes" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/alias.ts b/src/az/2.53.0/alias.ts new file mode 100644 index 000000000000..d3316be76a64 --- /dev/null +++ b/src/az/2.53.0/alias.ts @@ -0,0 +1,79 @@ +const completion: Fig.Spec = { + name: "alias", + description: "Manage Azure CLI Aliases", + subcommands: [ + { + name: "create", + description: "Create an alias", + options: [ + { + name: ["--command", "-c"], + description: "The command that the alias points to", + args: { name: "command" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the alias", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "export", + description: + "Export all registered aliases to a given path, as an INI configuration file. If no export path is specified, the alias configuration file is exported to the current working directory", + options: [ + { + name: ["--exclude", "-e"], + description: "Space-separated aliases excluded from export", + args: { name: "exclude" }, + }, + { + name: ["--path", "-p"], + description: "The path of the alias configuration file to export to", + args: { name: "path" }, + }, + ], + }, + { + name: "import", + description: "Import aliases from an INI configuration file or an URL", + options: [ + { + name: ["--source", "-s"], + description: "The source of the aliases to import from", + args: { name: "source" }, + isRequired: true, + }, + ], + }, + { name: "list", description: "List the registered aliases" }, + { + name: "remove", + description: + "Remove one or more aliases. Aliases to be removed are space-delimited", + options: [ + { + name: ["--name", "-n"], + description: "Space-separated aliases", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "remove-all", + description: "Remove all registered aliases", + options: [ + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/amlfs.ts b/src/az/2.53.0/amlfs.ts new file mode 100644 index 000000000000..df69d66e5bb4 --- /dev/null +++ b/src/az/2.53.0/amlfs.ts @@ -0,0 +1,476 @@ +const completion: Fig.Spec = { + name: "amlfs", + description: "Manage lustre file system", + subcommands: [ + { + name: "archive", + description: "Archive data from the AML file system", + options: [ + { + name: "--amlfs-name", + description: + "Name for the AML file system. Allows alphanumerics, underscores, and hyphens. Start and end with alphanumeric", + args: { name: "amlfs-name" }, + }, + { + name: "--filesystem-path", + description: + "Lustre file system path to archive relative to the file system root. Specify '/' to archive all modified data", + args: { name: "filesystem-path" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "cancel-archive", + description: "Cancel archiving data from the AML file system", + options: [ + { + name: "--amlfs-name", + description: + "Name for the AML file system. Allows alphanumerics, underscores, and hyphens. Start and end with alphanumeric", + args: { name: "amlfs-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "check-amlfs-subnet", + description: + "Check that subnets will be valid for AML file system create calls", + options: [ + { + name: "--filesystem-subnet", + description: + "Subnet used for managing the AML file system and for client-facing operations. This subnet should have at least a /24 subnet mask within the VNET's address space", + args: { name: "filesystem-subnet" }, + }, + { + name: "--location", + description: "Region that the AML file system will be created in", + args: { name: "location" }, + }, + { + name: "--sku", + description: "SKU name for this resource", + args: { name: "sku" }, + }, + { + name: "--storage-capacity", + description: "The size of the AML file system, in TiB", + args: { name: "storage-capacity" }, + }, + ], + }, + { + name: "create", + description: "Create an AML file system", + options: [ + { + name: ["--aml-filesystem-name", "--name", "-n"], + description: + "Name for the AML file system. Allows alphanumerics, underscores, and hyphens. Start and end with alphanumeric", + args: { name: "aml-filesystem-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--encryption-setting", + description: + 'Specifies the location of the encryption key in Key Vault. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "encryption-setting" }, + }, + { + name: "--filesystem-subnet", + description: + "Subnet used for managing the AML file system and for client-facing operations. This subnet should have at least a /24 subnet mask within the VNET's address space", + args: { name: "filesystem-subnet" }, + }, + { + name: "--hsm-settings", + description: + 'Specifies HSM settings of the AML file system. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "hsm-settings" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--maintenance-window", + description: + 'Start time of a 30-minute weekly maintenance window. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "maintenance-window" }, + }, + { + name: "--mi-user-assigned", + description: + 'Space separated resource IDs to add user-assigned identities. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "mi-user-assigned" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--sku", + description: "SKU name for this resource", + args: { name: "sku" }, + }, + { + name: "--storage-capacity", + description: + "The size of the AML file system, in TiB. This might be rounded up", + args: { name: "storage-capacity" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--zones", + description: + 'Availability zones for resources. This field should only contain a single element in the array. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "zones" }, + }, + ], + }, + { + name: "delete", + description: "Delete an AML file system for deletion", + options: [ + { + name: ["--aml-filesystem-name", "--name", "-n"], + description: + "Name for the AML file system. Allows alphanumerics, underscores, and hyphens. Start and end with alphanumeric", + args: { name: "aml-filesystem-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-subnets-size", + description: + "Get the number of available IP addresses needed for the AML file system information provided", + options: [ + { + name: "--sku", + description: "SKU name for this resource", + args: { name: "sku" }, + }, + { + name: "--storage-capacity", + description: "The size of the AML file system, in TiB", + args: { name: "storage-capacity" }, + }, + ], + }, + { + name: "list", + description: + "List all AML file systems the user has access to under a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get an AML file system", + options: [ + { + name: ["--aml-filesystem-name", "--name", "-n"], + description: + "Name for the AML file system. Allows alphanumerics, underscores, and hyphens. Start and end with alphanumeric", + args: { name: "aml-filesystem-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an AML file system", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--aml-filesystem-name", "--name", "-n"], + description: + "Name for the AML file system. Allows alphanumerics, underscores, and hyphens. Start and end with alphanumeric", + args: { name: "aml-filesystem-name" }, + }, + { + name: "--encryption-setting", + description: + 'Specifies the location of the encryption key in Key Vault. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "encryption-setting" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--maintenance-window", + description: + 'Start time of a 30-minute weekly maintenance window. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "maintenance-window" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--aml-filesystem-name", "--name", "-n"], + description: + "Name for the AML file system. Allows alphanumerics, underscores, and hyphens. Start and end with alphanumeric", + args: { name: "aml-filesystem-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/ams.ts b/src/az/2.53.0/ams.ts new file mode 100644 index 000000000000..4a629edce56c --- /dev/null +++ b/src/az/2.53.0/ams.ts @@ -0,0 +1,5387 @@ +const completion: Fig.Spec = { + name: "ams", + description: "Manage Azure Media Services resources", + subcommands: [ + { + name: "account", + description: "Manage Azure Media Services accounts", + subcommands: [ + { + name: "check-name", + description: + "Checks whether the Media Service resource name is available", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Azure Media Services account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + ], + }, + { + name: "create", + description: "Create an Azure Media Services account", + options: [ + { + name: ["--name", "-n"], + description: "The name of the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-account", + description: + "The name or resource ID of the primary storage account to attach to the Azure Media Services account. The storage account MUST be in the same Azure subscription as the Media Services account. It is strongly recommended that the storage account be in the same resource group as the Media Services account. Blob only accounts are not allowed as primary", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: "--default-action", + description: + "The behavior for IP access control in Key Delivery. Allowed values: Allow,Deny", + args: { name: "default-action" }, + }, + { + name: "--disable-public-network", + description: + "Set this flag to disable public network access for resources under the Media Services account. If not set public network access will be enabled", + }, + { + name: "--ip-allow-list", + description: + "The IP allow list for access control in Key Delivery. If the default action is set to Allow, the IP allow list must be empty", + args: { name: "ip-allow-list" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mi-system-assigned", + description: + "Set the system managed identity on the media services account", + }, + { + name: "--mi-user-assigned", + description: + "Set the user managed identities on the media services account", + args: { name: "mi-user-assigned" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure Media Services account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List Azure Media Services accounts for the entire subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the details of an Azure Media Services account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the details of an Azure Media Services account", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the resource", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "encryption", + description: "Manage encryption for an Azure Media Services account", + subcommands: [ + { + name: "set", + description: + "Set the encryption settings for an Azure Media Services account", + options: [ + { + name: "--key-type", + description: + "SystemKeyThe encryption key source (provider). Allowed values: , .CustomerKey", + args: { name: "key-type" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--current-key-id", + description: + "The current key used to encrypt the Media Services account, including the key version", + args: { name: "current-key-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-identifier", + description: + "The URL of the Key Vault key used to encrypt the account. The key may either be versioned (for example https://vault/keys/mykey/version1) or reference a key without a version (for example https://vault/keys/mykey)", + args: { name: "key-identifier" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--system-assigned", + description: + "Set the system managed identity for account encryption", + args: { + name: "system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: "--user-assigned", + description: + "Set the user managed identity for account encryption", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "show", + description: + "Show the details of encryption settings for an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: + "Manage managed identity settings for an Azure Media Services account", + subcommands: [ + { + name: "assign", + description: + "Assign a managed identity to an Azure Media Services account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--system-assigned", + description: + "Set the system managed identity on the media services account", + }, + { + name: "--user-assigned", + description: + "Set the user managed identities on the media services account", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "remove", + description: + "Remove a managed identity to an Azure Media Services account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--system-assigned", + description: + "Set the system managed identity on the media services account", + }, + { + name: "--user-assigned", + description: + "Set the user managed identities on the media services account", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "show", + description: + "Show the details of managed identity settings for an Azure Media Services account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "mru", + description: + "Manage media reserved units for an Azure Media Services account. This doesn't work with accounts created with 2020-05-01 version of the Media Services API or later. Accounts created this way no longer need to set media reserved units as the system will automaticaly scale up and down based on load", + subcommands: [ + { + name: "set", + description: + "Set the type and number of media reserved units for an Azure Media Services account. This doesn't work with accounts created with 2020-05-01 version of the Media Services API or later. Accounts created this way no longer need to set media reserved units as the system will automaticaly scale up and down based on load", + options: [ + { + name: "--count", + description: + "The number of the encoding reserved units that you want to be provisioned for this account for concurrent tasks (one unit equals one task)", + args: { name: "count" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--type", + description: + "Speed of reserved processing units. The cost of media encoding depends on the pricing tier you choose. See https://azure.microsoft.com/pricing/details/media-services/ for further details. Allowed values: S1, S2, S3", + args: { name: "type" }, + }, + ], + }, + { + name: "show", + description: + "Show the details of media reserved units for an Azure Media Services account. This doesn't work with accounts created with 2020-05-01 version of the Media Services API or later. Accounts created this way no longer need to set media reserved units as the system will automaticaly scale up and down based on load", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "sp", + description: + "Manage service principal and role based access for an Azure Media Services account", + subcommands: [ + { + name: "create", + description: + "Create or update a service principal and configure its access to an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The app name or app URI to associate the RBAC with. If not present, a default name like '{amsaccountname}-access-sp' will be generated", + args: { name: "name" }, + }, + { + name: "--new-sp-name", + description: + "The new app name or app URI to update the RBAC with", + args: { name: "new-sp-name" }, + }, + { + name: ["--password", "-p"], + description: + "The friendly name of the password. The actual password will be an autogenerated strong password which will be displayed after the command runs", + args: { name: "password" }, + }, + { + name: "--role", + description: "The role of the service principal", + args: { name: "role" }, + }, + { name: "--xml", description: "Enables xml output format" }, + { + name: "--years", + description: + "Number of years for which the secret will be valid. Default: 1 year", + args: { name: "years" }, + }, + ], + }, + { + name: "reset-credentials", + description: + "Generate a new client secret for a service principal configured for an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The app name or app URI to associate the RBAC with. If not present, a default name like '{amsaccountname}-access-sp' will be generated", + args: { name: "name" }, + }, + { + name: ["--password", "-p"], + description: + "The friendly name of the password. The actual password will be an autogenerated strong password which will be displayed after the command runs", + args: { name: "password" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: "The role of the service principal", + args: { name: "role" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { name: "--xml", description: "Enables xml output format" }, + { + name: "--years", + description: + "Number of years for which the secret will be valid. Default: 1 year", + args: { name: "years" }, + }, + ], + }, + ], + }, + { + name: "storage", + description: "Manage storage for an Azure Media Services account", + subcommands: [ + { + name: "add", + description: + "Attach a secondary storage to an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name or resource ID of the secondary storage account to detach from the Azure Media Services account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--system-assigned", + description: + "Set the system managed identity on the storage account", + }, + { + name: "--user-assigned", + description: + "Set the user managed identity on the storage account", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "remove", + description: + "Detach a secondary storage from an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name or resource ID of the secondary storage account to detach from the Azure Media Services account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set-authentication", + description: + "Set the authentication of a storage account attached to an Azure Media Services account", + options: [ + { + name: "--storage-auth", + description: + "The type of authentication for the storage account associated with the media services account", + args: { + name: "storage-auth", + suggestions: ["ManagedIdentity", "System"], + }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-account-id", + description: "The storage account Id", + args: { name: "storage-account-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--system-assigned", + description: + "Set the system managed identity on the storage account", + }, + { + name: "--user-assigned", + description: + "Set the user managed identity on the storage account", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "sync-storage-keys", + description: + "Synchronize storage account keys for a storage account associated with an Azure Media Services account", + options: [ + { + name: "--storage-account-id", + description: "The storage account Id", + args: { name: "storage-account-id" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "account-filter", + description: "Manage account filters for an Azure Media Services account", + subcommands: [ + { + name: "create", + description: "Create an account filter", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the account filter", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--end-timestamp", + description: + "Applies to Video on Demand (VoD). For the Live Streaming presentation, it is silently ignored and applied when the presentation ends and the stream becomes VoD. This is a long value that represents an absolute end point of the presentation, rounded to the closest next GOP start. The unit is the timescale, so an endTimestamp of 1800000000 would be for 3 minutes. Use startTimestamp and endTimestamp to trim the fragments that will be in the playlist (manifest). For example, startTimestamp=40000000 and endTimestamp=100000000 using the default timescale will generate a playlist that contains fragments from between 4 seconds and 10 seconds of the VoD presentation. If a fragment straddles the boundary, the entire fragment will be included in the manifest", + args: { name: "end-timestamp" }, + }, + { + name: "--first-quality", + description: + "The first quality (lowest) bitrate to include in the manifest", + args: { name: "first-quality" }, + }, + { + name: "--force-end-timestamp", + description: + "Applies to Live Streaming only. Indicates whether the endTimestamp property must be present. If true, endTimestamp must be specified or a bad request code is returned. Allowed values: false, true", + }, + { + name: "--live-backoff-duration", + description: + "Applies to Live Streaming only. This value defines the latest live position that a client can seek to. Using this property, you can delay live playback position and create a server-side buffer for players. The unit for this property is timescale (see below). The maximum live back off duration is 300 seconds (3000000000). For example, a value of 2000000000 means that the latest available content is 20 seconds delayed from the real live edge", + args: { name: "live-backoff-duration" }, + }, + { + name: "--presentation-window-duration", + description: + "Applies to Live Streaming only. Use presentationWindowDuration to apply a sliding window of fragments to include in a playlist. The unit for this property is timescale (see below). For example, set presentationWindowDuration=1200000000 to apply a two-minute sliding window. Media within 2 minutes of the live edge will be included in the playlist. If a fragment straddles the boundary, the entire fragment will be included in the playlist. The minimum presentation window duration is 60 seconds", + args: { name: "presentation-window-duration" }, + }, + { + name: "--start-timestamp", + description: + "Applies to Video on Demand (VoD) or Live Streaming. This is a long value that represents an absolute start point of the stream. The value gets rounded to the closest next GOP start. The unit is the timescale, so a startTimestamp of 150000000 would be for 15 seconds. Use startTimestamp and endTimestampp to trim the fragments that will be in the playlist (manifest). For example, startTimestamp=40000000 and endTimestamp=100000000 using the default timescale will generate a playlist that contains fragments from between 4 seconds and 10 seconds of the VoD presentation. If a fragment straddles the boundary, the entire fragment will be included in the manifest", + args: { name: "start-timestamp" }, + }, + { + name: "--timescale", + description: + "Applies to all timestamps and durations in a Presentation Time Range, specified as the number of increments in one second. Default is 10000000 - ten million increments in one second, where each increment would be 100 nanoseconds long. For example, if you want to set a startTimestamp at 30 seconds, you would use a value of 300000000 when using the default timescale", + args: { name: "timescale" }, + }, + { + name: "--tracks", + description: + "The JSON representing the track selections. Use @{file} to load from a file. For further information about the JSON structure please refer to swagger documentation on https://docs.microsoft.com/rest/api/media/accountfilters/createorupdate#filtertrackselection", + args: { name: "tracks" }, + }, + ], + }, + { + name: "delete", + description: "Delete an account filter", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the account filter", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all the account filters of an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of an account filter", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the account filter", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the details of an account filter", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--end-timestamp", + description: + "Applies to Video on Demand (VoD). For the Live Streaming presentation, it is silently ignored and applied when the presentation ends and the stream becomes VoD. This is a long value that represents an absolute end point of the presentation, rounded to the closest next GOP start. The unit is the timescale, so an endTimestamp of 1800000000 would be for 3 minutes. Use startTimestamp and endTimestamp to trim the fragments that will be in the playlist (manifest). For example, startTimestamp=40000000 and endTimestamp=100000000 using the default timescale will generate a playlist that contains fragments from between 4 seconds and 10 seconds of the VoD presentation. If a fragment straddles the boundary, the entire fragment will be included in the manifest", + args: { name: "end-timestamp" }, + }, + { + name: "--first-quality", + description: + "The first quality (lowest) bitrate to include in the manifest", + args: { name: "first-quality" }, + }, + { + name: "--force-end-timestamp", + description: + "Applies to Live Streaming only. Indicates whether the endTimestamp property must be present. If true, endTimestamp must be specified or a bad request code is returned. Allowed values: false, true", + args: { + name: "force-end-timestamp", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--live-backoff-duration", + description: + "Applies to Live Streaming only. This value defines the latest live position that a client can seek to. Using this property, you can delay live playback position and create a server-side buffer for players. The unit for this property is timescale (see below). The maximum live back off duration is 300 seconds (3000000000). For example, a value of 2000000000 means that the latest available content is 20 seconds delayed from the real live edge", + args: { name: "live-backoff-duration" }, + }, + { + name: ["--name", "-n"], + description: "The name of the account filter", + args: { name: "name" }, + }, + { + name: "--presentation-window-duration", + description: + "Applies to Live Streaming only. Use presentationWindowDuration to apply a sliding window of fragments to include in a playlist. The unit for this property is timescale (see below). For example, set presentationWindowDuration=1200000000 to apply a two-minute sliding window. Media within 2 minutes of the live edge will be included in the playlist. If a fragment straddles the boundary, the entire fragment will be included in the playlist. The minimum presentation window duration is 60 seconds", + args: { name: "presentation-window-duration" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--start-timestamp", + description: + "Applies to Video on Demand (VoD) or Live Streaming. This is a long value that represents an absolute start point of the stream. The value gets rounded to the closest next GOP start. The unit is the timescale, so a startTimestamp of 150000000 would be for 15 seconds. Use startTimestamp and endTimestampp to trim the fragments that will be in the playlist (manifest). For example, startTimestamp=40000000 and endTimestamp=100000000 using the default timescale will generate a playlist that contains fragments from between 4 seconds and 10 seconds of the VoD presentation. If a fragment straddles the boundary, the entire fragment will be included in the manifest", + args: { name: "start-timestamp" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timescale", + description: + "Applies to all timestamps and durations in a Presentation Time Range, specified as the number of increments in one second. Default is 10000000 - ten million increments in one second, where each increment would be 100 nanoseconds long. For example, if you want to set a startTimestamp at 30 seconds, you would use a value of 300000000 when using the default timescale", + args: { name: "timescale" }, + }, + { + name: "--tracks", + description: + "The JSON representing the track selections. Use @{file} to load from a file. For further information about the JSON structure please refer to swagger documentation on https://docs.microsoft.com/rest/api/media/accountfilters/createorupdate#filtertrackselection", + args: { name: "tracks" }, + }, + ], + }, + ], + }, + { + name: "asset", + description: "Manage assets for an Azure Media Services account", + subcommands: [ + { + name: "create", + description: "Create an asset", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the asset", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--alternate-id", + description: "The alternate id of the asset", + args: { name: "alternate-id" }, + }, + { + name: "--container", + description: "The name of the asset blob container", + args: { name: "container" }, + }, + { + name: "--description", + description: "The asset description", + args: { name: "description" }, + }, + { + name: "--storage-account", + description: "The name of the storage account", + args: { name: "storage-account" }, + }, + ], + }, + { + name: "delete", + description: "Delete an asset", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the asset", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-encryption-key", + description: + "Get the asset storage encryption keys used to decrypt content created by version 2 of the Media Services API", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the asset", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-sas-urls", + description: + "Lists storage container URLs with shared access signatures (SAS) for uploading and downloading Asset content. The signatures are derived from the storage account keys", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--expiry", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M:S'Z') at which the SAS becomes invalid. This must be less than 24 hours from the current time", + args: { name: "expiry" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the asset", + args: { name: "name" }, + }, + { + name: "--permissions", + description: "The permissions to set on the SAS URL", + args: { + name: "permissions", + suggestions: ["Read", "ReadWrite", "ReadWriteDelete"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all the assets of an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: "Restricts the set of items returned", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "Specifies the key by which the result collection should be ordered", + args: { name: "orderby" }, + }, + { + name: "--top", + description: + "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n", + args: { name: "top" }, + }, + ], + }, + { + name: "list-streaming-locators", + description: + "List streaming locators which are associated with this asset", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the asset", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show the details of an asset", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the asset", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the details of an asset", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--alternate-id", + description: "The alternate id of the asset", + args: { name: "alternate-id" }, + }, + { + name: "--description", + description: "The asset description", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the asset", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "asset-filter", + description: "Manage asset filters for an Azure Media Services account", + subcommands: [ + { + name: "create", + description: "Create an asset filter", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--asset-name", + description: "The name of the asset", + args: { name: "asset-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the asset filter", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--end-timestamp", + description: + "Applies to Video on Demand (VoD).For the Live Streaming presentation, it is silently ignored and applied when the presentation ends and the stream becomes VoD.This is a long value that represents an absolute end point of the presentation, rounded to the closest next GOP start. The unit is the timescale, so an endTimestamp of 1800000000 would be for 3 minutes.Use startTimestamp and endTimestamp to trim the fragments that will be in the playlist (manifest).For example, startTimestamp=40000000 and endTimestamp=100000000 using the default timescale will generate a playlist that contains fragments from between 4 seconds and 10 seconds of the VoD presentation. If a fragment straddles the boundary, the entire fragment will be included in the manifest", + args: { name: "end-timestamp" }, + }, + { + name: "--first-quality", + description: + "The first quality (lowest) bitrate to include in the manifest", + args: { name: "first-quality" }, + }, + { + name: "--force-end-timestamp", + description: + "Applies to Live Streaming only. Indicates whether the endTimestamp property must be present. If true, endTimestamp must be specified or a bad request code is returned. Allowed values: false, true", + }, + { + name: "--live-backoff-duration", + description: + "Applies to Live Streaming only. This value defines the latest live position that a client can seek to. Using this property, you can delay live playback position and create a server-side buffer for players. The unit for this property is timescale (see below). The maximum live back off duration is 300 seconds (3000000000). For example, a value of 2000000000 means that the latest available content is 20 seconds delayed from the real live edge", + args: { name: "live-backoff-duration" }, + }, + { + name: "--presentation-window-duration", + description: + "Applies to Live Streaming only.Use presentationWindowDuration to apply a sliding window of fragments to include in a playlist.The unit for this property is timescale (see below).For example, set presentationWindowDuration=1200000000 to apply a two-minute sliding window. Media within 2 minutes of the live edge will be included in the playlist. If a fragment straddles the boundary, the entire fragment will be included in the playlist. The minimum presentation window duration is 60 seconds", + args: { name: "presentation-window-duration" }, + }, + { + name: "--start-timestamp", + description: + "Applies to Video on Demand (VoD) or Live Streaming. This is a long value that represents an absolute start point of the stream. The value gets rounded to the closest next GOP start. The unit is the timescale, so a startTimestamp of 150000000 would be for 15 seconds. Use startTimestamp and endTimestampp to trim the fragments that will be in the playlist (manifest). For example, startTimestamp=40000000 and endTimestamp=100000000 using the default timescale will generate a playlist that contains fragments from between 4 seconds and 10 seconds of the VoD presentation. If a fragment straddles the boundary, the entire fragment will be included in the manifest", + args: { name: "start-timestamp" }, + }, + { + name: "--timescale", + description: + "Applies to all timestamps and durations in a Presentation Time Range, specified as the number of increments in one second.Default is 10000000 - ten million increments in one second, where each increment would be 100 nanoseconds long. For example, if you want to set a startTimestamp at 30 seconds, you would use a value of 300000000 when using the default timescale", + args: { name: "timescale" }, + }, + { + name: "--tracks", + description: + "The JSON representing the track selections. Use @{file} to load from a file. For further information about the JSON structure please refer to swagger documentation on https://docs.microsoft.com/rest/api/media/assetfilters/createorupdate#filtertrackselection", + args: { name: "tracks" }, + }, + ], + }, + { + name: "delete", + description: "Delete an asset filter", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--asset-name", + description: "The name of the asset", + args: { name: "asset-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the asset filter", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all the asset filters of an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--asset-name", + description: "The name of the asset", + args: { name: "asset-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of an asset filter", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--asset-name", + description: "The name of the asset", + args: { name: "asset-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the asset filter", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the details of an asset filter", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--asset-name", + description: "The name of the asset", + args: { name: "asset-name" }, + }, + { + name: "--end-timestamp", + description: + "Applies to Video on Demand (VoD).For the Live Streaming presentation, it is silently ignored and applied when the presentation ends and the stream becomes VoD.This is a long value that represents an absolute end point of the presentation, rounded to the closest next GOP start. The unit is the timescale, so an endTimestamp of 1800000000 would be for 3 minutes.Use startTimestamp and endTimestamp to trim the fragments that will be in the playlist (manifest).For example, startTimestamp=40000000 and endTimestamp=100000000 using the default timescale will generate a playlist that contains fragments from between 4 seconds and 10 seconds of the VoD presentation. If a fragment straddles the boundary, the entire fragment will be included in the manifest", + args: { name: "end-timestamp" }, + }, + { + name: "--first-quality", + description: + "The first quality (lowest) bitrate to include in the manifest", + args: { name: "first-quality" }, + }, + { + name: "--force-end-timestamp", + description: + "Applies to Live Streaming only. Indicates whether the endTimestamp property must be present. If true, endTimestamp must be specified or a bad request code is returned. Allowed values: false, true", + args: { + name: "force-end-timestamp", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--live-backoff-duration", + description: + "Applies to Live Streaming only. This value defines the latest live position that a client can seek to. Using this property, you can delay live playback position and create a server-side buffer for players. The unit for this property is timescale (see below). The maximum live back off duration is 300 seconds (3000000000). For example, a value of 2000000000 means that the latest available content is 20 seconds delayed from the real live edge", + args: { name: "live-backoff-duration" }, + }, + { + name: ["--name", "-n"], + description: "The name of the asset filter", + args: { name: "name" }, + }, + { + name: "--presentation-window-duration", + description: + "Applies to Live Streaming only.Use presentationWindowDuration to apply a sliding window of fragments to include in a playlist.The unit for this property is timescale (see below).For example, set presentationWindowDuration=1200000000 to apply a two-minute sliding window. Media within 2 minutes of the live edge will be included in the playlist. If a fragment straddles the boundary, the entire fragment will be included in the playlist. The minimum presentation window duration is 60 seconds", + args: { name: "presentation-window-duration" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--start-timestamp", + description: + "Applies to Video on Demand (VoD) or Live Streaming. This is a long value that represents an absolute start point of the stream. The value gets rounded to the closest next GOP start. The unit is the timescale, so a startTimestamp of 150000000 would be for 15 seconds. Use startTimestamp and endTimestampp to trim the fragments that will be in the playlist (manifest). For example, startTimestamp=40000000 and endTimestamp=100000000 using the default timescale will generate a playlist that contains fragments from between 4 seconds and 10 seconds of the VoD presentation. If a fragment straddles the boundary, the entire fragment will be included in the manifest", + args: { name: "start-timestamp" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timescale", + description: + "Applies to all timestamps and durations in a Presentation Time Range, specified as the number of increments in one second.Default is 10000000 - ten million increments in one second, where each increment would be 100 nanoseconds long. For example, if you want to set a startTimestamp at 30 seconds, you would use a value of 300000000 when using the default timescale", + args: { name: "timescale" }, + }, + { + name: "--tracks", + description: + "The JSON representing the track selections. Use @{file} to load from a file. For further information about the JSON structure please refer to swagger documentation on https://docs.microsoft.com/rest/api/media/assetfilters/createorupdate#filtertrackselection", + args: { name: "tracks" }, + }, + ], + }, + ], + }, + { + name: "asset-track", + description: "Manage asset tracks for an Azure Media Services account", + subcommands: [ + { + name: "create", + description: "Create a track for an Azure Media Services asset", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--asset-name", + description: "The asset name", + args: { name: "asset-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--track-name", + description: "The name of the track", + args: { name: "track-name" }, + isRequired: true, + }, + { + name: "--track-type", + description: "The type of track. Allowed values: Text", + args: { name: "track-type" }, + isRequired: true, + }, + { + name: "--display-name", + description: + "The display name of the text track on a video player. In HLS, this maps to the NAME attribute of EXT-X-MEDIA", + args: { name: "display-name" }, + }, + { + name: "--file-name", + description: + "The name of the file. Note: this file should already be uploaded to the storage container", + args: { name: "file-name" }, + }, + { + name: "--language-code", + description: "The RFC5646 language code for the text track", + args: { name: "language-code" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--player-visibility", + description: + 'When PlayerVisibility is set to "Visible", the text track will be present in the DASH manifest or HLS playlist when requested by a client. When the PlayerVisibility is set to "Hidden", the text will not be available to the client. The default value is "Visible". Possible values include: "Hidden", "Visible"', + args: { name: "player-visibility" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Track", + options: [ + { + name: "--asset-name", + description: "The asset name", + args: { name: "asset-name" }, + isRequired: true, + }, + { + name: "--track-name", + description: "The name of the track", + args: { name: "track-name" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Tracks in the Asset", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--asset-name", + description: "The asset name", + args: { name: "asset-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of a track", + options: [ + { + name: "--asset-name", + description: "The asset name", + args: { name: "asset-name" }, + isRequired: true, + }, + { + name: "--track-name", + description: "The name of the track", + args: { name: "track-name" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the parameters of a track", + options: [ + { + name: "--asset-name", + description: "The asset name", + args: { name: "asset-name" }, + isRequired: true, + }, + { + name: "--track-name", + description: "The name of the track", + args: { name: "track-name" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--display-name", + description: + "The display name of the text track on a video player. In HLS, this maps to the NAME attribute of EXT-X-MEDIA", + args: { name: "display-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--language-code", + description: "The RFC5646 language code for the text track", + args: { name: "language-code" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--player-visibility", + description: + 'When PlayerVisibility is set to "Visible", the text track will be present in the DASH manifest or HLS playlist when requested by a client. When the PlayerVisibility is set to "Hidden", the text will not be available to the client. The default value is "Visible". Possible values include: "Hidden", "Visible"', + args: { name: "player-visibility" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update-data", + description: + "Update a track if the file in the storage container was recently modified", + options: [ + { + name: "--asset-name", + description: "The asset name", + args: { name: "asset-name" }, + isRequired: true, + }, + { + name: "--track-name", + description: "The name of the track", + args: { name: "track-name" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "content-key-policy", + description: + "Manage content key policies for an Azure Media Services account", + subcommands: [ + { + name: "create", + description: "Create a new content key policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The content key policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-option-name", + description: "The content key policy option name", + args: { name: "policy-option-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--alt-rsa-token-keys", + description: "Space-separated list of alternate rsa token keys", + args: { name: "alt-rsa-token-keys" }, + }, + { + name: "--alt-symmetric-token-keys", + description: + "Space-separated list of alternate symmetric token keys", + args: { name: "alt-symmetric-token-keys" }, + }, + { + name: "--alt-x509-token-keys", + description: + "Space-separated list of alternate x509 certificate token keys", + args: { name: "alt-x509-token-keys" }, + }, + { + name: "--ask", + description: + "The key that must be used as FairPlay Application Secret Key, which is a 32 character hex string", + args: { name: "ask" }, + }, + { + name: "--audience", + description: "The audience for the token", + args: { name: "audience" }, + }, + { + name: "--clear-key-configuration", + description: + "Use Clear Key configuration, a.k.a AES encryption. It's intended for non-DRM keys", + }, + { + name: "--description", + description: "The content key policy description", + args: { name: "description" }, + }, + { + name: "--fair-play-pfx", + description: + "The filepath to a FairPlay certificate file in PKCS 12 (pfx) format (including private key)", + args: { name: "fair-play-pfx" }, + }, + { + name: "--fair-play-pfx-password", + description: + "The password encrypting FairPlay certificate in PKCS 12 (pfx) format", + args: { name: "fair-play-pfx-password" }, + }, + { + name: "--fp-playback-duration-seconds", + description: "Playback duration", + args: { name: "fp-playback-duration-seconds" }, + }, + { + name: "--fp-storage-duration-seconds", + description: "Storage duration", + args: { name: "fp-storage-duration-seconds" }, + }, + { + name: "--issuer", + description: "The token issuer", + args: { name: "issuer" }, + }, + { + name: "--open-id-connect-discovery-document", + description: "The OpenID connect discovery document", + args: { name: "open-id-connect-discovery-document" }, + }, + { + name: "--open-restriction", + description: + "Use open restriction. License or key will be delivered on every request. Not recommended for production environments", + }, + { + name: "--play-ready-template", + description: + "JSON PlayReady license template. Use @{file} to load from a file", + args: { name: "play-ready-template" }, + }, + { + name: "--rental-and-lease-key-type", + description: + "The rental and lease key type. Available values: Undefined, DualExpiry, PersistentUnlimited, PersistentLimited", + args: { name: "rental-and-lease-key-type" }, + }, + { + name: "--rental-duration", + description: + "The rental duration. Must be greater than or equal to 0", + args: { name: "rental-duration" }, + }, + { + name: "--token-claims", + description: + "Space-separated required token claims in '[key=value]' format", + args: { name: "token-claims" }, + }, + { + name: "--token-key", + description: + "Either a string (for symmetric key) or a filepath to a certificate (x509) or public key (rsa). Must be used in conjunction with --token-key-type", + args: { name: "token-key" }, + }, + { + name: "--token-key-type", + description: + "The type of the token key to be used for the primary verification key. Allowed values: Symmetric, RSA, X509", + args: { name: "token-key-type" }, + }, + { + name: "--token-type", + description: "The type of token. Allowed values: Jwt, Swt", + args: { name: "token-type" }, + }, + { + name: "--widevine-template", + description: + "JSON Widevine license template. Use @{file} to load from a file", + args: { name: "widevine-template" }, + }, + ], + }, + { + name: "delete", + description: "Delete a content key policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The content key policy name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all the content key policies within an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: "Restricts the set of items returned", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "Specifies the key by which the result collection should be ordered", + args: { name: "orderby" }, + }, + { + name: "--top", + description: + "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Show an existing content key policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The content key policy name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--with-secrets", + description: "Include secret values of the content key policy", + }, + ], + }, + { + name: "update", + description: "Update an existing content key policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "The content key policy description", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The content key policy name", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "option", + description: "Manage options for an existing content key policy", + subcommands: [ + { + name: "add", + description: "Add a new option to an existing content key policy", + options: [ + { + name: "--policy-option-name", + description: "The content key policy option name", + args: { name: "policy-option-name" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--alt-rsa-token-keys", + description: + "Space-separated list of alternate rsa token keys", + args: { name: "alt-rsa-token-keys" }, + }, + { + name: "--alt-symmetric-token-keys", + description: + "Space-separated list of alternate symmetric token keys", + args: { name: "alt-symmetric-token-keys" }, + }, + { + name: "--alt-x509-token-keys", + description: + "Space-separated list of alternate x509 certificate token keys", + args: { name: "alt-x509-token-keys" }, + }, + { + name: "--ask", + description: + "The key that must be used as FairPlay Application Secret Key, which is a 32 character hex string", + args: { name: "ask" }, + }, + { + name: "--audience", + description: "The audience for the token", + args: { name: "audience" }, + }, + { + name: "--clear-key-configuration", + description: + "Use Clear Key configuration, a.k.a AES encryption. It's intended for non-DRM keys", + }, + { + name: "--fair-play-pfx", + description: + "The filepath to a FairPlay certificate file in PKCS 12 (pfx) format (including private key)", + args: { name: "fair-play-pfx" }, + }, + { + name: "--fair-play-pfx-password", + description: + "The password encrypting FairPlay certificate in PKCS 12 (pfx) format", + args: { name: "fair-play-pfx-password" }, + }, + { + name: "--fp-playback-duration-seconds", + description: "Playback duration", + args: { name: "fp-playback-duration-seconds" }, + }, + { + name: "--fp-storage-duration-seconds", + description: "Storage duration", + args: { name: "fp-storage-duration-seconds" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--issuer", + description: "The token issuer", + args: { name: "issuer" }, + }, + { + name: ["--name", "-n"], + description: "The content key policy name", + args: { name: "name" }, + }, + { + name: "--open-id-connect-discovery-document", + description: "The OpenID connect discovery document", + args: { name: "open-id-connect-discovery-document" }, + }, + { + name: "--open-restriction", + description: + "Use open restriction. License or key will be delivered on every request. Not recommended for production environments", + }, + { + name: "--play-ready-template", + description: + "JSON PlayReady license template. Use @{file} to load from a file", + args: { name: "play-ready-template" }, + }, + { + name: "--rental-and-lease-key-type", + description: + "The rental and lease key type. Available values: Undefined, DualExpiry, PersistentUnlimited, PersistentLimited", + args: { name: "rental-and-lease-key-type" }, + }, + { + name: "--rental-duration", + description: + "The rental duration. Must be greater than or equal to 0", + args: { name: "rental-duration" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--token-claims", + description: + "Space-separated required token claims in '[key=value]' format", + args: { name: "token-claims" }, + }, + { + name: "--token-key", + description: + "Either a string (for symmetric key) or a filepath to a certificate (x509) or public key (rsa). Must be used in conjunction with --token-key-type", + args: { name: "token-key" }, + }, + { + name: "--token-key-type", + description: + "The type of the token key to be used for the primary verification key. Allowed values: Symmetric, RSA, X509", + args: { name: "token-key-type" }, + }, + { + name: "--token-type", + description: "The type of token. Allowed values: Jwt, Swt", + args: { name: "token-type" }, + }, + { + name: "--widevine-template", + description: + "JSON Widevine license template. Use @{file} to load from a file", + args: { name: "widevine-template" }, + }, + ], + }, + { + name: "remove", + description: + "Remove an option from an existing content key policy", + options: [ + { + name: "--policy-option-id", + description: + 'The content key policy option identifier. This value can be obtained from "policyOptionId" property by running a show operation on a content key policy resource', + args: { name: "policy-option-id" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The content key policy name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an option from an existing content key policy", + options: [ + { + name: "--policy-option-id", + description: + 'The content key policy option identifier. This value can be obtained from "policyOptionId" property by running a show operation on a content key policy resource', + args: { name: "policy-option-id" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--add-alt-token-key", + description: + "Creates an alternate token key with either a string (for symmetric key) or a filepath to a certificate (x509) or public key (rsa). Must be used in conjunction with --add-alt-token-key-type", + args: { name: "add-alt-token-key" }, + }, + { + name: "--add-alt-token-key-type", + description: + "The type of the token key to be used for the alternate verification key. Allowed values: Symmetric, RSA, X509", + args: { name: "add-alt-token-key-type" }, + }, + { + name: "--ask", + description: + "The key that must be used as FairPlay Application Secret Key, which is a 32 character hex string", + args: { name: "ask" }, + }, + { + name: "--audience", + description: "The audience for the token", + args: { name: "audience" }, + }, + { + name: "--fair-play-pfx", + description: + "The filepath to a FairPlay certificate file in PKCS 12 (pfx) format (including private key)", + args: { name: "fair-play-pfx" }, + }, + { + name: "--fair-play-pfx-password", + description: + "The password encrypting FairPlay certificate in PKCS 12 (pfx) format", + args: { name: "fair-play-pfx-password" }, + }, + { + name: "--fp-playback-duration-seconds", + description: "Playback duration", + args: { name: "fp-playback-duration-seconds" }, + }, + { + name: "--fp-storage-duration-seconds", + description: "Storage duration", + args: { name: "fp-storage-duration-seconds" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--issuer", + description: "The token issuer", + args: { name: "issuer" }, + }, + { + name: ["--name", "-n"], + description: "The content key policy name", + args: { name: "name" }, + }, + { + name: "--open-id-connect-discovery-document", + description: "The OpenID connect discovery document", + args: { name: "open-id-connect-discovery-document" }, + }, + { + name: "--play-ready-template", + description: + "JSON PlayReady license template. Use @{file} to load from a file", + args: { name: "play-ready-template" }, + }, + { + name: "--policy-option-name", + description: "The content key policy option name", + args: { name: "policy-option-name" }, + }, + { + name: "--rental-and-lease-key-type", + description: + "The rental and lease key type. Available values: Undefined, DualExpiry, PersistentUnlimited, PersistentLimited", + args: { name: "rental-and-lease-key-type" }, + }, + { + name: "--rental-duration", + description: + "The rental duration. Must be greater than or equal to 0", + args: { name: "rental-duration" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--token-claims", + description: + "Space-separated required token claims in '[key=value]' format", + args: { name: "token-claims" }, + }, + { + name: "--token-key", + description: + "Either a string (for symmetric key) or a filepath to a certificate (x509) or public key (rsa). Must be used in conjunction with --token-key-type", + args: { name: "token-key" }, + }, + { + name: "--token-key-type", + description: + "The type of the token key to be used for the primary verification key. Allowed values: Symmetric, RSA, X509", + args: { name: "token-key-type" }, + }, + { + name: "--token-type", + description: "The type of token. Allowed values: Jwt, Swt", + args: { name: "token-type" }, + }, + { + name: "--widevine-template", + description: + "JSON Widevine license template. Use @{file} to load from a file", + args: { name: "widevine-template" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "job", + description: "Manage jobs for a transform", + subcommands: [ + { + name: "cancel", + description: "Cancel a job", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { name: "--delete", description: "Delete the job being cancelled" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the job", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--transform-name", "-t"], + description: "The name of the transform", + args: { name: "transform-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a job", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the job", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--transform-name", "-t"], + description: "The name of the transform", + args: { name: "transform-name" }, + }, + ], + }, + { + name: "list", + description: + "List all the jobs of a transform within an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--transform-name", "-t"], + description: "The name of the transform", + args: { name: "transform-name" }, + isRequired: true, + }, + { + name: "--filter", + description: "Restricts the set of items returned", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "Specifies the key by which the result collection should be ordered", + args: { name: "orderby" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a job", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the job", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--transform-name", "-t"], + description: "The name of the transform", + args: { name: "transform-name" }, + }, + ], + }, + { + name: "start", + description: "Start a job", + options: [ + { + name: "--output-assets", + description: + "Space-separated assets in 'assetName=label' format. An asset without label can be sent like this: 'assetName='", + args: { name: "output-assets" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--base-uri", + description: + "Base uri for http job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris", + args: { name: "base-uri" }, + }, + { + name: "--correlation-data", + description: + "Space-separated correlation data in 'key[=value]' format. This customer provided data will be returned in Job and JobOutput state events", + args: { name: "correlation-data" }, + }, + { + name: "--description", + description: "The job description", + args: { name: "description" }, + }, + { + name: "--files", + description: + "Space-separated list of files. It can be used to tell the service to only use the files specified from the input asset", + args: { name: "files" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--input-asset-name", + description: "The name of the input asset", + args: { name: "input-asset-name" }, + }, + { + name: "--label", + description: + "A label that is assigned to a Job Input that is used to satisfy a reference used in the Transform. For example, a Transform can be authored to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: "The name of the job", + args: { name: "name" }, + }, + { + name: "--priority", + description: + "The priority with which the job should be processed", + args: { + name: "priority", + suggestions: ["High", "Low", "Normal"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--transform-name", "-t"], + description: "The name of the transform", + args: { name: "transform-name" }, + }, + ], + }, + { + name: "update", + description: "Update an existing job", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "The job description", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the job", + args: { name: "name" }, + }, + { + name: "--priority", + description: + "The priority with which the job should be processed", + args: { + name: "priority", + suggestions: ["High", "Low", "Normal"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--transform-name", "-t"], + description: "The name of the transform", + args: { name: "transform-name" }, + }, + ], + }, + ], + }, + { + name: "live-event", + description: "Manage live events for an Azure Media Service account", + subcommands: [ + { + name: "create", + description: "Create a live event", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--ips", + description: + 'Space-separated IP addresses for access control. Allowed IP addresses can be specified as either a single IP address (e.g. "10.0.0.1") or as an IP range using an IP address and a CIDR subnet mask (e.g. "10.0.0.1/22"). Use "" to clear existing list. Use "AllowAll" to allow all IP addresses. Allowing all IPs is not recommended for production environments', + args: { name: "ips" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the live event", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--streaming-protocol", + description: + "The streaming protocol for the live event. This value is specified at creation time and cannot be updated", + args: { + name: "streaming-protocol", + suggestions: ["FragmentedMP4", "RTMP"], + }, + isRequired: true, + }, + { + name: "--access-token", + description: + "A unique identifier for a stream. This can be specified at creation time but cannot be updated. If omitted, the service will generate a unique value", + args: { name: "access-token" }, + }, + { + name: "--alternative-media-id", + description: + "An Alternative Media Identifier associated with the StreamingLocator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field", + args: { name: "alternative-media-id" }, + }, + { + name: "--auto-start", + description: + "The flag indicates if the resource should be automatically started on creation", + }, + { + name: "--client-access-policy", + description: + "Filepath to the clientaccesspolicy.xml used by Microsoft Silverlight and Adobe Flash. Use @{file} to load from a file", + args: { name: "client-access-policy" }, + }, + { + name: "--cross-domain-policy", + description: + "Filepath to the crossdomain.xml used by Microsoft Silverlight and Adobe Flash. Use @{file} to load from a file", + args: { name: "cross-domain-policy" }, + }, + { + name: "--description", + description: "The live event description", + args: { name: "description" }, + }, + { + name: "--encoding-type", + description: + "The encoding type for live event. This value is specified at creation time and cannot be updated. Allowed values: Premium1080p, None, Standard", + args: { name: "encoding-type" }, + }, + { + name: "--hostname-prefix", + description: + "When useStaticHostname is set to true, hostname_prefix specifies the first part of the hostname assigned to the live event preview and ingest endpoints. The final hostname would be a combination of this prefix, the media service account name and a short code for the Azure Media Services data center", + args: { name: "hostname-prefix" }, + }, + { + name: "--key-frame-interval", + description: + "Use an ISO 8601 time value between 0.5 to 20 seconds to specify the output fragment length for the video and audiotracks of an encoding live event. For example, use PT2S to indicate 2 seconds. For the video track it also defines the key frame interval, or the length of a GoP (group of pictures). If this value is not set for anencoding live event, the fragment duration defaults to 2 seconds. The value cannot be set for pass-through live events", + args: { name: "key-frame-interval" }, + }, + { + name: "--key-frame-interval-duration", + description: + "ISO 8601 timespan duration of the key frame interval duration in seconds. The value should be an interger in the range of 1 (PT1S or 00:00:01) to 30 (PT30S or 00:00:30) seconds", + args: { name: "key-frame-interval-duration" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--preset-name", + description: + "The encoding preset name. This value is specified at creation time and cannot be updated", + args: { name: "preset-name" }, + }, + { + name: "--preview-ips", + description: + 'Space-separated IP addresses for access control. Allowed IP addresses can be specified as either a single IP address (e.g. "10.0.0.1") or as an IP range using an IP address and a CIDR subnet mask (e.g. "10.0.0.1/22"). Use "" to clear existing list. Use "AllowAll" to allow all IP addresses. Allowing all IPs is not recommended for production environments', + args: { name: "preview-ips" }, + }, + { + name: "--preview-locator", + description: + "The identifier of the preview locator in Guid format. Specifying this at creation time allows the caller to know the preview locator url before the event is created. If omitted, the service will generate a random identifier. This value cannot be updated once the live event is created", + args: { name: "preview-locator" }, + }, + { + name: "--stream-options", + description: + "The options to use for the LiveEvent. This value is specified at creation time and cannot be updated", + args: { + name: "stream-options", + suggestions: ["Default", "LowLatency", "LowLatencyV2"], + }, + }, + { + name: "--streaming-policy-name", + description: + "The name of streaming policy used for the live event preview. This can be specified at creation time but cannot be updated", + args: { name: "streaming-policy-name" }, + }, + { + name: "--stretch-mode", + description: + "Specifies how the input video will be resized to fit the desired output resolution(s). Default is None. Allowed values: None, AutoSize, AutoFit", + args: { name: "stretch-mode" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--transcription-lang", + description: + "Live transcription language for the live event. Allowed values: ca-ES, da-DK, de-DE, en-AU, en-CA, en-GB, en-IN, en-NZ, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, it-IT, nl-NL, pt-BR, pt-PT, sv-SE See https://go.microsoft.com/fwlink/?linkid=2133742 for more information about the live transcription feature", + args: { name: "transcription-lang" }, + }, + { + name: "--use-static-hostname", + description: + "Specifies whether a static hostname would be assigned to the live event preview and ingest endpoints. This value can only be updated if the live event is in Standby state. If hostname_prefix is not specified, the live event name will be used as the hostname prefix", + }, + ], + }, + { + name: "delete", + description: "Delete a live event", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the live event", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all the live events of an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "reset", + description: "Reset a live event", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the live event", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a live event", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the live event", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "standby", + description: "Allocate a live event to be started later", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the live event", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a live event", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the live event", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop a live event", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the live event", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove-outputs-on-stop", + description: "Remove live outputs on stop", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the details of a live event", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--client-access-policy", + description: + "Filepath to the clientaccesspolicy.xml used by Microsoft Silverlight and Adobe Flash. Use @{file} to load from a file", + args: { name: "client-access-policy" }, + }, + { + name: "--cross-domain-policy", + description: + "Filepath to the crossdomain.xml used by Microsoft Silverlight and Adobe Flash. Use @{file} to load from a file", + args: { name: "cross-domain-policy" }, + }, + { + name: "--description", + description: "The live event description", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ips", + description: + 'Space-separated IP addresses for access control. Allowed IP addresses can be specified as either a single IP address (e.g. "10.0.0.1") or as an IP range using an IP address and a CIDR subnet mask (e.g. "10.0.0.1/22"). Use "" to clear existing list. Use "AllowAll" to allow all IP addresses. Allowing all IPs is not recommended for production environments', + args: { name: "ips" }, + }, + { + name: "--key-frame-interval-duration", + description: + "ISO 8601 timespan duration of the key frame interval duration in seconds. The value should be an interger in the range of 1 (PT1S or 00:00:01) to 30 (PT30S or 00:00:30) seconds", + args: { name: "key-frame-interval-duration" }, + }, + { + name: ["--name", "-n"], + description: "The name of the live event", + args: { name: "name" }, + }, + { + name: "--preview-ips", + description: + 'Space-separated IP addresses for access control. Allowed IP addresses can be specified as either a single IP address (e.g. "10.0.0.1") or as an IP range using an IP address and a CIDR subnet mask (e.g. "10.0.0.1/22"). Use "" to clear existing list. Use "AllowAll" to allow all IP addresses. Allowing all IPs is not recommended for production environments', + args: { name: "preview-ips" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the live event is met", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the live event", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "live-output", + description: "Manage live outputs for an Azure Media Service account", + subcommands: [ + { + name: "create", + description: "Create a live output", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--archive-window-length", + description: + "ISO 8601 timespan duration of the archive window length. This is the duration that customer want to retain the recorded content. Minimum window is 5 minutes (PT5M or 00:05:00). Maximum window is 25 hours (PT25H or 25:00:00). For example, to retain the output for 10 minutes, use PT10M or 00:10:00", + args: { name: "archive-window-length" }, + isRequired: true, + }, + { + name: "--asset-name", + description: "The name of the asset", + args: { name: "asset-name" }, + isRequired: true, + }, + { + name: "--live-event-name", + description: "The name of the live event", + args: { name: "live-event-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the live output", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "The live output description", + args: { name: "description" }, + }, + { + name: "--fragments-per-ts-segment", + description: "The number of fragments per HLS segment", + args: { name: "fragments-per-ts-segment" }, + }, + { + name: "--manifest-name", + description: + "The manifest file name. If not provided, the service will generate one automatically", + args: { name: "manifest-name" }, + }, + { + name: "--output-snap-time", + description: "The output snapshot time", + args: { name: "output-snap-time" }, + }, + ], + }, + { + name: "delete", + description: "Delete a live output", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--live-event-name", + description: "The name of the live event", + args: { name: "live-event-name" }, + }, + { + name: ["--name", "-n"], + description: "The name of the live output", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all the live outputs in a live event", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--live-event-name", + description: "The name of the live event", + args: { name: "live-event-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of a live output", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--live-event-name", + description: "The name of the live event", + args: { name: "live-event-name" }, + }, + { + name: ["--name", "-n"], + description: "The name of the live output", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "streaming-endpoint", + description: + "Manage streaming endpoints for an Azure Media Service account", + subcommands: [ + { + name: "create", + description: "Create a streaming endpoint", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scale-units", + description: + "The number of scale units for Premium StreamingEndpoints. For Standard StreamingEndpoints, set this value to 0. Use the Scale operation to adjust this value for Premium StreamingEndpoints", + args: { name: "scale-units" }, + isRequired: true, + }, + { + name: "--auto-start", + description: + "The flag indicates if the resource should be automatically started on creation", + args: { name: "auto-start" }, + }, + { + name: "--availability-set-name", + description: + "The name of the AvailabilitySet used with this StreamingEndpoint for high availability streaming. This value can only be set at creation time", + args: { name: "availability-set-name" }, + }, + { + name: "--cdn-profile", + description: "The CDN profile name", + args: { name: "cdn-profile" }, + }, + { + name: "--cdn-provider", + description: + "The CDN provider name. Allowed values: StandardVerizon, PremiumVerizon, StandardAkamai", + args: { name: "cdn-provider" }, + }, + { + name: "--client-access-policy", + description: + "The XML representing the clientaccesspolicy data used by Microsoft Silverlight and Adobe Flash. Use @{file} to load from a file. For further information about the XML structure please refer to documentation on https://docs.microsoft.com/rest/api/media/operations/crosssiteaccesspolicies", + args: { name: "client-access-policy" }, + }, + { + name: "--cross-domain-policy", + description: + "The XML representing the crossdomain data used by Silverlight. Use @{file} to load from a file. For further information about the XML structure please refer to documentation on https://docs.microsoft.com/rest/api/media/operations/crosssiteaccesspolicies", + args: { name: "cross-domain-policy" }, + }, + { + name: "--custom-host-names", + description: + 'Space-separated list of custom host names for the streaming endpoint. Use "" to clear existing list', + args: { name: "custom-host-names" }, + }, + { + name: "--description", + description: "The streaming endpoint description", + args: { name: "description" }, + }, + { + name: "--ips", + description: + 'Space-separated IP addresses for access control. Allowed IP addresses can be specified as either a single IP address (e.g. "10.0.0.1") or as an IP range using an IP address and a CIDR subnet mask (e.g. "10.0.0.1/22"). Use "" to clear existing list. If no IP addresses are specified any IP address will be allowed', + args: { name: "ips" }, + }, + { + name: "--max-cache-age", + description: "Max cache age", + args: { name: "max-cache-age" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a streaming endpoint", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming endpoint", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-skus", + description: "Get the sku details for a streaming endpoint", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming endpoint", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all the streaming endpoints within an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "scale", + description: "Set the scale of a streaming endpoint", + options: [ + { + name: "--scale-units", + description: + "The number of scale units for Premium StreamingEndpoints. For Standard StreamingEndpoints, set this value to 0. Use the Scale operation to adjust this value for Premium StreamingEndpoints", + args: { name: "scale-units" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming endpoint", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a streaming endpoint", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming endpoint", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a streaming endpoint", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming endpoint", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop a streaming endpoint", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming endpoint", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the details of a streaming endpoint", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--cdn-profile", + description: "The CDN profile name", + args: { name: "cdn-profile" }, + }, + { + name: "--cdn-provider", + description: + "The CDN provider name. Allowed values: StandardVerizon, PremiumVerizon, StandardAkamai", + args: { name: "cdn-provider" }, + }, + { + name: "--client-access-policy", + description: + "The XML representing the clientaccesspolicy data used by Microsoft Silverlight and Adobe Flash. Use @{file} to load from a file. For further information about the XML structure please refer to documentation on https://docs.microsoft.com/rest/api/media/operations/crosssiteaccesspolicies", + args: { name: "client-access-policy" }, + }, + { + name: "--cross-domain-policy", + description: + "The XML representing the crossdomain data used by Silverlight. Use @{file} to load from a file. For further information about the XML structure please refer to documentation on https://docs.microsoft.com/rest/api/media/operations/crosssiteaccesspolicies", + args: { name: "cross-domain-policy" }, + }, + { + name: "--custom-host-names", + description: + 'Space-separated list of custom host names for the streaming endpoint. Use "" to clear existing list', + args: { name: "custom-host-names" }, + }, + { + name: "--description", + description: "The streaming endpoint description", + args: { name: "description" }, + }, + { + name: "--disable-cdn", + description: + "Use this flag to disable CDN for the streaming endpoint", + args: { name: "disable-cdn" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ips", + description: + 'Space-separated IP addresses for access control. Allowed IP addresses can be specified as either a single IP address (e.g. "10.0.0.1") or as an IP range using an IP address and a CIDR subnet mask (e.g. "10.0.0.1/22"). Use "" to clear existing list. If no IP addresses are specified any IP address will be allowed', + args: { name: "ips" }, + }, + { + name: "--max-cache-age", + description: "Max cache age", + args: { name: "max-cache-age" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming endpoint", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the streaming endpoint is met", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming endpoint", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "akamai", + description: + "Manage AkamaiAccessControl objects to be used on streaming endpoints", + subcommands: [ + { + name: "add", + description: + "Add an AkamaiAccessControl to an existing streaming endpoint", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--base64-key", + description: + "Base64-encoded authentication key that will be used by the CDN. The authentication key provided by Akamai is an ASCII encoded string, and must be converted to bytes and then base64 encoded", + args: { name: "base64-key" }, + }, + { + name: "--expiration", + description: + "The ISO 8601 DateTime value that specifies when the Akamai authentication expires", + args: { name: "expiration" }, + }, + { + name: "--identifier", + description: + "The identifier for the authentication key. This is the nonce provided by Akamai", + args: { name: "identifier" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming endpoint", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: + "Remove an AkamaiAccessControl from an existing streaming endpoint", + options: [ + { + name: "--identifier", + description: + "The identifier for the authentication key. This is the nonce provided by Akamai", + args: { name: "identifier" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming endpoint", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "streaming-locator", + description: + "Manage streaming locators for an Azure Media Services account", + subcommands: [ + { + name: "create", + description: "Create a streaming locator", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--asset-name", + description: + "The name of the asset used by the streaming locator", + args: { name: "asset-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming locator", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--streaming-policy-name", + description: + "The name of the streaming policy used by the streaming locator. You can either create one with az ams streaming policy create or use any of the predefined policies: Predefined_DownloadOnly, Predefined_ClearStreamingOnly, Predefined_DownloadAndClearStreaming, Predefined_ClearKey, Predefined_MultiDrmCencStreaming, Predefined_MultiDrmStreaming", + args: { name: "streaming-policy-name" }, + isRequired: true, + }, + { + name: "--alternative-media-id", + description: + "An alternative media identifier associated with the streaming locator", + args: { name: "alternative-media-id" }, + }, + { + name: "--content-key-policy-name", + description: + "The default content key policy name used by the streaming locator", + args: { name: "content-key-policy-name" }, + }, + { + name: "--content-keys", + description: + "JSON string with the content keys to be used by the streaming locator. Use @{file} to load from a file. For further information about the JSON structure please refer to swagger documentation on https://docs.microsoft.com/rest/api/media/streaminglocators/create#streaminglocatorcontentkey", + args: { name: "content-keys" }, + }, + { + name: "--end-time", + description: + "The ISO 8601 DateTime end time (Y-m-d'T'H:M:S'Z') of the streaming locator", + args: { name: "end-time" }, + }, + { + name: "--filters", + description: + "A space-separated list of asset filter names and/or account filter names", + args: { name: "filters" }, + }, + { + name: "--start-time", + description: + "The ISO 8601 DateTime start time (Y-m-d'T'H:M:S'Z') of the streaming locator", + args: { name: "start-time" }, + }, + { + name: "--streaming-locator-id", + description: "The identifier of the streaming locator", + args: { name: "streaming-locator-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Streaming Locator", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming locator", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-paths", + description: "List paths supported by a streaming locator", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming locator", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all the streaming locators within an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: "Restricts the set of items returned", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "Specifies the key by which the result collection should be ordered", + args: { name: "orderby" }, + }, + { + name: "--top", + description: + "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n", + args: { name: "top" }, + }, + ], + }, + { + name: "list-content-keys", + description: "List content keys used by a streaming locator", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming locator", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a streaming locator", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming locator", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "streaming-policy", + description: + "Manage streaming policies for an Azure Media Services account", + subcommands: [ + { + name: "create", + description: "Create a streaming policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming policy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--cbcs-clear-tracks", + description: + "The JSON representing which tracks should not be encrypted. Use @{file} to load from a file. For further information about the JSON structure please refer to swagger documentation on https://docs.microsoft.com/rest/api/media/streamingpolicies/create#trackselection", + args: { name: "cbcs-clear-tracks" }, + }, + { + name: "--cbcs-default-key-label", + description: + "Label to specify Default Content Key for an encryption scheme", + args: { name: "cbcs-default-key-label" }, + }, + { + name: "--cbcs-default-key-policy-name", + description: "Policy used by Default Content Key", + args: { name: "cbcs-default-key-policy-name" }, + }, + { + name: "--cbcs-fair-play-allow-persistent-license", + description: "Allows the license to be persistent or not", + }, + { + name: "--cbcs-fair-play-template", + description: + "The custom license acquisition URL template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys", + args: { name: "cbcs-fair-play-template" }, + }, + { + name: "--cbcs-key-to-track-mappings", + description: + "The JSON representing a list of StreamingPolicyContentKey. Use @{file} to load from a file. For further information about the JSON structure please refer to swagger documentation on https://docs.microsoft.com/rest/api/media/streamingpolicies/create#streamingpolicycontentkey", + args: { name: "cbcs-key-to-track-mappings" }, + }, + { + name: "--cbcs-protocols", + description: + "Space-separated list of enabled protocols for Common Encryption CBCS. Allowed values: Download, Dash, HLS, SmoothStreaming", + args: { name: "cbcs-protocols" }, + }, + { + name: "--cenc-clear-tracks", + description: + "The JSON representing which tracks should not be encrypted. Use @{file} to load from a file. For further information about the JSON structure please refer to swagger documentation on https://docs.microsoft.com/rest/api/media/streamingpolicies/create#trackselection", + args: { name: "cenc-clear-tracks" }, + }, + { + name: "--cenc-default-key-label", + description: + "Label to specify Default Content Key for an encryption scheme", + args: { name: "cenc-default-key-label" }, + }, + { + name: "--cenc-default-key-policy-name", + description: "Policy used by Default Content Key", + args: { name: "cenc-default-key-policy-name" }, + }, + { + name: "--cenc-disable-play-ready", + description: + "If specified, no PlayReady cenc DRM will be configured. If --cenc-disable-play-ready is set, --cenc-disable-widevine cannot also be set", + args: { + name: "cenc-disable-play-ready", + suggestions: ["false", "true"], + }, + }, + { + name: "--cenc-disable-widevine", + description: + "If specified, no Widevine cenc DRM will be configured. If --cenc-disable-widevine is set, --cenc-disable-play-ready cannot also be set", + args: { + name: "cenc-disable-widevine", + suggestions: ["false", "true"], + }, + }, + { + name: "--cenc-key-to-track-mappings", + description: + "The JSON representing a list of StreamingPolicyContentKey. Use @{file} to load from a file. For further information about the JSON structure please refer to swagger documentation on https://docs.microsoft.com/rest/api/media/streamingpolicies/create#streamingpolicycontentkey", + args: { name: "cenc-key-to-track-mappings" }, + }, + { + name: "--cenc-play-ready-attributes", + description: "Custom attributes for PlayReady", + args: { name: "cenc-play-ready-attributes" }, + }, + { + name: "--cenc-play-ready-template", + description: + "The custom license acquisition URL template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys", + args: { name: "cenc-play-ready-template" }, + }, + { + name: "--cenc-protocols", + description: + "Space-separated list of enabled protocols for Common Encryption CENC. Allowed values: Download, Dash, HLS, SmoothStreaming", + args: { name: "cenc-protocols" }, + }, + { + name: "--cenc-widevine-template", + description: + "The custom license acquisition URL template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys", + args: { name: "cenc-widevine-template" }, + }, + { + name: "--default-content-key-policy-name", + description: + "Default Content Key used by current streaming policy", + args: { name: "default-content-key-policy-name" }, + }, + { + name: "--envelope-clear-tracks", + description: + "The JSON representing which tracks should not be encrypted. Use @{file} to load from a file. For further information about the JSON structure please refer to swagger documentation on https://docs.microsoft.com/rest/api/media/streamingpolicies/create#trackselection", + args: { name: "envelope-clear-tracks" }, + }, + { + name: "--envelope-default-key-label", + description: + "Label used to specify Content Key when creating a streaming locator", + args: { name: "envelope-default-key-label" }, + }, + { + name: "--envelope-default-key-policy-name", + description: "Policy used by Default Key", + args: { name: "envelope-default-key-policy-name" }, + }, + { + name: "--envelope-key-to-track-mappings", + description: + "The JSON representing a list of StreamingPolicyContentKey. Use @{file} to load from a file. For further information about the JSON structure please refer to swagger documentation on https://docs.microsoft.com/rest/api/media/streamingpolicies/create#streamingpolicycontentkey", + args: { name: "envelope-key-to-track-mappings" }, + }, + { + name: "--envelope-protocols", + description: + "Space-separated list of enabled protocols for Envelope Encryption. Allowed values: Download, Dash, HLS, SmoothStreaming", + args: { name: "envelope-protocols" }, + }, + { + name: "--envelope-template", + description: + "The KeyAcquistionUrlTemplate is used to point to user specified service to delivery content keys", + args: { name: "envelope-template" }, + }, + { + name: "--no-encryption-protocols", + description: + "Space-separated list of enabled protocols for NoEncryption. Allowed values: Download, Dash, HLS, SmoothStreaming", + args: { name: "no-encryption-protocols" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Streaming Policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all the streaming policies within an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: "Restricts the set of items returned", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "Specifies the key by which the result collection should be ordered", + args: { name: "orderby" }, + }, + { + name: "--top", + description: + "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a streaming policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the streaming policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "transform", + description: "Manage transforms for an Azure Media Services account", + subcommands: [ + { + name: "create", + description: "Create a transform", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the transform", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--preset", + description: + "Preset that describes the operations that will be used to modify, transcode, or extract insights from the source file to generate the transform output. Allowed values: H264SingleBitrateSD, H264SingleBitrate720p, H264SingleBitrate1080p, AdaptiveStreaming, AACGoodQualityAudio, ContentAwareEncodingExperimental, ContentAwareEncoding, CopyAllBitrateNonInterleaved, H264MultipleBitrate1080p, H264MultipleBitrate720p, H264MultipleBitrateSD, H265ContentAwareEncoding, H265AdaptiveStreaming, H265SingleBitrate720p, H265SingleBitrate1080p, H265SingleBitrate4K, AudioAnalyzer, VideoAnalyzer, FaceDetector. In addition to the allowed values, you can also pass a path to a custom Standard Encoder preset JSON file. See https://docs.microsoft.com/rest/api/media/transforms/createorupdate#standardencoderpreset for further details on the settings to use to build a custom preset", + args: { name: "preset" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--audio-analysis-mode", + description: + "Determines the set of audio analysis operations to be performed. If unspecified, the Standard AudioAnalysisMode would be chosen. Allowed values: Standard, Basic", + args: { name: "audio-analysis-mode" }, + }, + { + name: "--audio-language", + description: + 'The language for the audio payload in the input using the BCP-47 format of "language tag-region" (e.g: en-US). If not specified, automatic language detection would be employed. This feature currently supports English, Chinese, French, German, Italian, Japanese, Spanish, Russian, and Portuguese. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to English. Allowed values: en-US, en-GB, es-ES, es-MX, fr-FR, it-IT, ja-JP, pt-BR, zh-CN, de-DE, ar-EG, ru-RU, hi-IN', + args: { name: "audio-language" }, + }, + { + name: "--blur-type", + description: "Allowed values: Box, Low, Med, High, Black", + args: { name: "blur-type" }, + }, + { + name: "--description", + description: "The description of the transform", + args: { name: "description" }, + }, + { + name: "--face-detector-mode", + description: + "This mode provides the ability to choose between the following settings: 1) Analyze - For detection only.This mode generates a metadata JSON file marking appearances of faces throughout the video.Where possible, appearances of the same person are assigned the same ID. 2) Combined - Additionally redacts(blurs) detected faces. 3) Redact - This enables a 2-pass process, allowing for selective redaction of a subset of detected faces.It takes in the metadata file from a prior analyze pass, along with the source video, and a user-selected subset of IDs that require redaction. Allowed values: Analyze, Redact, Combined", + args: { name: "face-detector-mode" }, + }, + { + name: "--insights-to-extract", + description: + "The type of insights to be extracted. If not set then the type will be selected based on the content type. If the content is audio only then only audio insights will be extracted and if it is video only video insights will be extracted", + args: { + name: "insights-to-extract", + suggestions: [ + "AllInsights", + "AudioInsightsOnly", + "VideoInsightsOnly", + ], + }, + }, + { + name: "--on-error", + description: + "A Transform can define more than one output. This property defines what the service should do when one output fails - either continue to produce other outputs, or, stop the other outputs. The overall Job state will not reflect failures of outputs that are specified with 'ContinueJob'. The default is 'StopProcessingJob'", + args: { + name: "on-error", + suggestions: ["ContinueJob", "StopProcessingJob"], + }, + }, + { + name: "--relative-priority", + description: + "Sets the relative priority of the transform outputs within a transform. This sets the priority that the service uses for processing TransformOutputs. The default priority is Normal", + args: { + name: "relative-priority", + suggestions: ["High", "Low", "Normal"], + }, + }, + { + name: "--resolution", + description: + 'Specifies the maximum resolution at which your video is analyzed. The default behavior is "SourceResolution," which will keep the input video at its original resolution when analyzed. Using StandardDefinition will resize input videos to standard definition while preserving the appropriate aspect ratio. It will only resize if the video is of higher resolution. For example, a 1920x1080 input would be scaled to 640x360 before processing. Switching to "StandardDefinition" will reduce the time it takes to process high resolution video. It may also reduce the cost of using this component (see https://azure.microsoft.com/pricing/details/media-services/#analytics for details). However, faces that end up being too small in the resized video may not be detected. Allowed values: StandardDefinition, SourceResolution', + args: { name: "resolution" }, + }, + { + name: "--video-analysis-mode", + description: + "Determines the set of audio analysis operations to be performed. If unspecified, the Standard AudioAnalysisMode would be chosen. Allowed values: Standard, Basic", + args: { name: "video-analysis-mode" }, + }, + ], + }, + { + name: "delete", + description: "Delete a transform", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the transform", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all the transforms of an Azure Media Services account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: "Restricts the set of items returned", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "Specifies the key by which the result collection should be ordered", + args: { name: "orderby" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a transform", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the transform", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the details of a transform", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "The description of the transform", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the transform", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "output", + description: + "Manage transform outputs for an Azure Media Services account", + subcommands: [ + { + name: "add", + description: "Add an output to an existing transform", + options: [ + { + name: "--preset", + description: + "Preset that describes the operations that will be used to modify, transcode, or extract insights from the source file to generate the transform output. Allowed values: H264SingleBitrateSD, H264SingleBitrate720p, H264SingleBitrate1080p, AdaptiveStreaming, AACGoodQualityAudio, ContentAwareEncodingExperimental, ContentAwareEncoding, CopyAllBitrateNonInterleaved, H264MultipleBitrate1080p, H264MultipleBitrate720p, H264MultipleBitrateSD, H265ContentAwareEncoding, H265AdaptiveStreaming, H265SingleBitrate720p, H265SingleBitrate1080p, H265SingleBitrate4K, AudioAnalyzer, VideoAnalyzer, FaceDetector. In addition to the allowed values, you can also pass a path to a custom Standard Encoder preset JSON file. See https://docs.microsoft.com/rest/api/media/transforms/createorupdate#standardencoderpreset for further details on the settings to use to build a custom preset", + args: { name: "preset" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--audio-analysis-mode", + description: + "Determines the set of audio analysis operations to be performed. If unspecified, the Standard AudioAnalysisMode would be chosen. Allowed values: Standard, Basic", + args: { name: "audio-analysis-mode" }, + }, + { + name: "--audio-language", + description: + 'The language for the audio payload in the input using the BCP-47 format of "language tag-region" (e.g: en-US). If not specified, automatic language detection would be employed. This feature currently supports English, Chinese, French, German, Italian, Japanese, Spanish, Russian, and Portuguese. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to English. Allowed values: en-US, en-GB, es-ES, es-MX, fr-FR, it-IT, ja-JP, pt-BR, zh-CN, de-DE, ar-EG, ru-RU, hi-IN', + args: { name: "audio-language" }, + }, + { + name: "--blur-type", + description: "Allowed values: Box, Low, Med, High, Black", + args: { name: "blur-type" }, + }, + { + name: "--face-detector-mode", + description: + "This mode provides the ability to choose between the following settings: 1) Analyze - For detection only.This mode generates a metadata JSON file marking appearances of faces throughout the video.Where possible, appearances of the same person are assigned the same ID. 2) Combined - Additionally redacts(blurs) detected faces. 3) Redact - This enables a 2-pass process, allowing for selective redaction of a subset of detected faces.It takes in the metadata file from a prior analyze pass, along with the source video, and a user-selected subset of IDs that require redaction. Allowed values: Analyze, Redact, Combined", + args: { name: "face-detector-mode" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--insights-to-extract", + description: + "The type of insights to be extracted. If not set then the type will be selected based on the content type. If the content is audio only then only audio insights will be extracted and if it is video only video insights will be extracted", + args: { + name: "insights-to-extract", + suggestions: [ + "AllInsights", + "AudioInsightsOnly", + "VideoInsightsOnly", + ], + }, + }, + { + name: ["--name", "-n"], + description: "The name of the transform", + args: { name: "name" }, + }, + { + name: "--on-error", + description: + "A Transform can define more than one output. This property defines what the service should do when one output fails - either continue to produce other outputs, or, stop the other outputs. The overall Job state will not reflect failures of outputs that are specified with 'ContinueJob'. The default is 'StopProcessingJob'", + args: { + name: "on-error", + suggestions: ["ContinueJob", "StopProcessingJob"], + }, + }, + { + name: "--relative-priority", + description: + "Sets the relative priority of the transform outputs within a transform. This sets the priority that the service uses for processing TransformOutputs. The default priority is Normal", + args: { + name: "relative-priority", + suggestions: ["High", "Low", "Normal"], + }, + }, + { + name: "--resolution", + description: + 'Specifies the maximum resolution at which your video is analyzed. The default behavior is "SourceResolution," which will keep the input video at its original resolution when analyzed. Using StandardDefinition will resize input videos to standard definition while preserving the appropriate aspect ratio. It will only resize if the video is of higher resolution. For example, a 1920x1080 input would be scaled to 640x360 before processing. Switching to "StandardDefinition" will reduce the time it takes to process high resolution video. It may also reduce the cost of using this component (see https://azure.microsoft.com/pricing/details/media-services/#analytics for details). However, faces that end up being too small in the resized video may not be detected. Allowed values: StandardDefinition, SourceResolution', + args: { name: "resolution" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--video-analysis-mode", + description: + "Determines the set of audio analysis operations to be performed. If unspecified, the Standard AudioAnalysisMode would be chosen. Allowed values: Standard, Basic", + args: { name: "video-analysis-mode" }, + }, + ], + }, + { + name: "remove", + description: "Remove an output from an existing transform", + options: [ + { + name: "--output-index", + description: "The element index of the output to remove", + args: { name: "output-index" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the Azure Media Services account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the transform", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/apim.ts b/src/az/2.53.0/apim.ts new file mode 100644 index 000000000000..cd4f4ecde397 --- /dev/null +++ b/src/az/2.53.0/apim.ts @@ -0,0 +1,3287 @@ +const completion: Fig.Spec = { + name: "apim", + description: "Manage Azure API Management services", + subcommands: [ + { + name: "api", + description: "Manage Azure API Management API's", + subcommands: [ + { + name: "create", + description: "Create an API Management API", + options: [ + { + name: "--api-id", + description: "Unique name of the api to be created", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--display-name", + description: "Display name of the API to be created", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--path", + description: "Path to the API", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--api-type", + description: "The type of the API", + args: { + name: "api-type", + suggestions: ["graphql", "http", "soap", "websocket"], + }, + }, + { + name: "--authorization-scope", + description: "Specifies the OAuth operations scope", + args: { name: "authorization-scope" }, + }, + { + name: "--authorization-server-id", + description: "Specifies the OAuth authorization server ID", + args: { name: "authorization-server-id" }, + }, + { + name: "--bearer-token-sending-methods", + description: "Specifies the sending methods for bearer token", + args: { name: "bearer-token-sending-methods" }, + }, + { + name: "--description", + description: + "Description of the API. May include HTML formatting tags", + args: { name: "description" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--open-id-provider-id", + description: "Specifies the openid in the authentication setting", + args: { name: "open-id-provider-id" }, + }, + { + name: "--protocols", + description: + "Describes on which protocols the operations in this API can be invoked", + args: { + name: "protocols", + suggestions: ["http", "https", "ws", "wss"], + }, + }, + { + name: "--service-url", + description: + "Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long", + args: { name: "service-url" }, + }, + { + name: "--subscription-key-header-name", + description: "Specifies the subscription key header name", + args: { name: "subscription-key-header-name" }, + }, + { + name: "--subscription-key-query-param-name", + description: + "Specifies the subscription key query string parameter name", + args: { name: "subscription-key-query-param-name" }, + }, + { + name: "--subscription-key-required", + description: + "Specifies whether subscription key is required during call to this API, true - API is included into closed products only, false - API is included into open products alone, null - there is a mix of products", + args: { name: "subscription-key-required" }, + }, + { + name: "--subscription-required", + description: + "If true, the API requires a subscription key on requests", + }, + ], + }, + { + name: "delete", + description: "Delete an API Management API", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--delete-revisions", + description: "Delete all revisions of the Api", + args: { name: "delete-revisions" }, + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "import", + description: "Import an API Management API", + options: [ + { + name: "--path", + description: + "Required. Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the api management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--specification-format", + description: "Specify the format of the imported API", + args: { + name: "specification-format", + suggestions: [ + "GraphQL", + "OpenApi", + "OpenApiJson", + "Swagger", + "Wadl", + "Wsdl", + ], + }, + isRequired: true, + }, + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + }, + { + name: "--api-revision", + description: + "Describes the Revision of the Api. If no value is provided, default revision 1 is created", + args: { name: "api-revision" }, + }, + { + name: "--api-type", + description: "The type of the API", + args: { + name: "api-type", + suggestions: ["graphql", "http", "soap", "websocket"], + }, + }, + { + name: "--api-version", + description: + "Describes the Version of the Api. If you add a version to a non-versioned API, an Original version will be automatically created and will respond on the default URL", + args: { name: "api-version" }, + }, + { + name: "--api-version-set-id", + description: "Describes the Version Set to be used with the API", + args: { name: "api-version-set-id" }, + }, + { + name: "--description", + description: + "Description of the API. May include HTML formatting tags", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of this API", + args: { name: "display-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--protocols", + description: + "Describes on which protocols(one or more) the operations in this API can be invoked", + args: { + name: "protocols", + suggestions: ["http", "https", "ws", "wss"], + }, + }, + { + name: "--service-url", + description: + "Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long", + args: { name: "service-url" }, + }, + { + name: "--soap-api-type", + description: "The type of API when file format is WSDL", + args: { name: "soap-api-type" }, + }, + { + name: "--specification-path", + description: "File path specified to import the API", + args: { name: "specification-path" }, + }, + { + name: "--specification-url", + description: "Url specified to import the API", + args: { name: "specification-url" }, + }, + { + name: "--subscription-key-header-name", + description: "Specifies the subscription key header name", + args: { name: "subscription-key-header-name" }, + }, + { + name: "--subscription-key-query-param-name", + description: + "Specifies the subscription key query string parameter name", + args: { name: "subscription-key-query-param-name" }, + }, + { + name: "--subscription-required", + description: + "If true, the API requires a subscription key on requests", + args: { + name: "subscription-required", + suggestions: ["false", "true"], + }, + }, + { + name: "--wsdl-endpoint-name", + description: "Local name of WSDL Endpoint (port) to be imported", + args: { name: "wsdl-endpoint-name" }, + }, + { + name: "--wsdl-service-name", + description: "Local name of WSDL Service to be imported", + args: { name: "wsdl-service-name" }, + }, + ], + }, + { + name: "list", + description: "List API Management API's", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--filter-display-name", + description: "Filter of APIs by displayName", + args: { name: "filter-display-name" }, + }, + { + name: "--skip", + description: "Number of records to skip", + args: { name: "skip" }, + }, + { + name: "--top", + description: "Number of records to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Show details of an API Management API", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an API Management API", + options: [ + { + name: "--api-id", + description: "Unique name of the api to be created", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--api-type", + description: "The type of the API", + args: { + name: "api-type", + suggestions: ["graphql", "http", "soap", "websocket"], + }, + }, + { + name: "--description", + description: + "Description of the API. May include HTML formatting tags", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "API name. Must be 1 to 300 characters long", + args: { name: "display-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--if-match", + description: + "ETag of the Entity. Not required when creating an entity, but required when updating an entity. Default value is None", + args: { name: "if-match" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--path", + description: + "Required. Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance", + args: { name: "path" }, + }, + { + name: "--protocols", + description: + "Describes on which protocols the operations in this API can be invoked", + args: { + name: "protocols", + suggestions: ["http", "https", "ws", "wss"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--service-url", + description: + "Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long", + args: { name: "service-url" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription-key-header-name", + description: "Specifies the subscription key header name", + args: { name: "subscription-key-header-name" }, + }, + { + name: "--subscription-key-query-param-name", + description: + "Specifies the subscription key query string parameter name", + args: { name: "subscription-key-query-param-name" }, + }, + { + name: "--subscription-required", + description: + "If true, the API requires a subscription key on requests", + args: { + name: "subscription-required", + suggestions: ["false", "true"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of an apim api is met", + options: [ + { + name: "--api-id", + description: + "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number. Required", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the api management service instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "operation", + description: "Manage Azure API Management API Operations", + subcommands: [ + { + name: "create", + description: "Creates a new operation in the API", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--display-name", + description: "Required. Operation Name", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--method", + description: + "Required. A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them", + args: { name: "method" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--url-template", + description: + "Relative URL template identifying the target resource for this operation. May include parameters", + args: { name: "url-template" }, + isRequired: true, + }, + { + name: "--description", + description: + "Description of the operation. May include HTML formatting tags", + args: { name: "description" }, + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + { + name: "--operation-id", + description: + "Operation identifier within an API. Must be unique in the current API Management service instance", + args: { name: "operation-id" }, + }, + { + name: ["--template-parameters", "--params", "-p"], + description: "Collection of URL template parameters", + args: { name: "template-parameters" }, + }, + ], + }, + { + name: "delete", + description: "Deletes the specified operation in the API", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--operation-id", + description: + "Operation identifier within an API. Must be unique in the current API Management service instance", + args: { name: "operation-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + ], + }, + { + name: "list", + description: + "List a collection of the operations for the specified API", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets the details of the API Operation specified by its identifier", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--operation-id", + description: + "Operation identifier within an API. Must be unique in the current API Management service instance", + args: { name: "operation-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Updates the details of the operation in the API specified by its identifier", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--operation-id", + description: + "Operation identifier within an API. Must be unique in the current API Management service instance", + args: { name: "operation-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: + "Description of the operation. May include HTML formatting tags", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Required. Operation Name", + args: { name: "display-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + { + name: "--method", + description: + "Required. A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them", + args: { name: "method" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--url-template", + description: + "Relative URL template identifying the target resource for this operation. May include parameters", + args: { name: "url-template" }, + }, + ], + }, + ], + }, + { + name: "release", + description: "Manage Azure API Management API Release", + subcommands: [ + { + name: "create", + description: "Creates a new Release for the API", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--api-revision", + description: "API revision number", + args: { name: "api-revision" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + { + name: "--notes", + description: "Release Notes", + args: { name: "notes" }, + }, + { + name: "--release-id", + description: + "Release identifier within an API. Must be unique in the current API Management service instance", + args: { name: "release-id" }, + }, + ], + }, + { + name: "delete", + description: "Deletes the specified release in the API", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--release-id", + description: + "Release identifier within an API. Must be unique in the current API Management service instance", + args: { name: "release-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + ], + }, + { + name: "list", + description: "Lists all releases of an API", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Returns the details of an API release", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--release-id", + description: + "Release identifier within an API. Must be unique in the current API Management service instance", + args: { name: "release-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Updates the details of the release of the API specified by its identifier", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--release-id", + description: + "Release identifier within an API. Must be unique in the current API Management service instance", + args: { name: "release-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + { + name: "--notes", + description: "Release Notes", + args: { name: "notes" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + { + name: "revision", + description: "Manage Azure API Management API Revision", + subcommands: [ + { + name: "create", + description: "Create API revision", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--api-revision", + description: "Describes the Revision of the Api", + args: { name: "api-revision" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--api-revision-description", "--rev-description"], + description: "Description of the Api Revision", + args: { name: "api-revision-description" }, + }, + ], + }, + { + name: "list", + description: "Lists all revisions of an API", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "schema", + description: "Manage Azure API Management API Schema's", + subcommands: [ + { + name: "create", + description: "Create an API Management API Schema", + options: [ + { + name: "--api-id", + description: + "Unique name of the api for which schema needs to be created", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--schema-id", + description: "Unique name of the api schema to be created", + args: { name: "schema-id" }, + isRequired: true, + }, + { + name: "--schema-type", + description: + "Schema type (e.g. application/json, application/vnd.ms-azure-apim.graphql.schema)", + args: { name: "schema-type" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--resource-type", + description: + 'The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"', + args: { name: "resource-type" }, + }, + { + name: "--schema-content", + description: + "Json escaped string defining the document representing the Schema", + args: { name: "schema-content" }, + }, + { + name: "--schema-name", + description: "The name of the schema resource", + args: { name: "schema-name" }, + }, + { + name: "--schema-path", + description: + "File path specified to import schema of the API", + args: { name: "schema-path" }, + }, + ], + }, + { + name: "delete", + description: "Delete an API Management API Schema", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--schema-id", + description: + "Schema identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "schema-id" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-etag", + description: "Get etag of an API Management API schema", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--schema-id", + description: + "Schema identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "schema-id" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List API Management API schema's", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--filter-display-name", + description: "Filter of APIs by displayName", + args: { name: "filter-display-name" }, + }, + { + name: "--skip", + description: "Number of records to skip", + args: { name: "skip" }, + }, + { + name: "--top", + description: "Number of records to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Show details of an API Management API Schema", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--schema-id", + description: + "Schema identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "schema-id" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of an apim api schema is met", + options: [ + { + name: "--api-id", + description: + "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number. Required", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the api management service instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--schema-id", + description: + "Schema id identifier. Must be unique in the current API Management service instance. Required", + args: { name: "schema-id" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "versionset", + description: "Manage Azure API Management API Version Set", + subcommands: [ + { + name: "create", + description: "Creates a Api Version Set", + options: [ + { + name: "--display-name", + description: "Required. Name of API Version Set", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--versioning-scheme", + description: + "Required. An value that determines where the API Version identifer will be located in a HTTP request. Possible values include: 'Segment', 'Query', 'Header'", + args: { name: "versioning-scheme" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of API Version Set", + args: { name: "description" }, + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + { + name: "--version-header-name", + description: + "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to header", + args: { name: "version-header-name" }, + }, + { + name: "--version-query-name", + description: + "Name of query parameter that indicates the API Version if versioningScheme is set to query", + args: { name: "version-query-name" }, + }, + { + name: "--version-set-id", + description: + "A resource identifier for the related ApiVersionSet", + args: { name: "version-set-id" }, + }, + ], + }, + { + name: "delete", + description: "Deletes specific Api Version Set", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--version-set-id", + description: + "A resource identifier for the related ApiVersionSet", + args: { name: "version-set-id" }, + isRequired: true, + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + ], + }, + { + name: "list", + description: + "Lists a collection of API Version Sets in the specified service instance", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets the details of the Api Version Set specified by its identifier", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--version-set-id", + description: + "A resource identifier for the related ApiVersionSet", + args: { name: "version-set-id" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Updates the details of the Api VersionSet specified by its identifier", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--version-set-id", + description: + "A resource identifier for the related ApiVersionSet", + args: { name: "version-set-id" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "Description of API Version Set", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Required. Name of API Version Set", + args: { name: "display-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--version-header-name", + description: + "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to header", + args: { name: "version-header-name" }, + }, + { + name: "--version-query-name", + description: + "Name of query parameter that indicates the API Version if versioningScheme is set to query", + args: { name: "version-query-name" }, + }, + { + name: "--versioning-scheme", + description: + "Required. An value that determines where the API Version identifer will be located in a HTTP request. Possible values include: 'Segment', 'Query', 'Header'", + args: { name: "versioning-scheme" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "apply-network-updates", + description: + "Update the API Management resource running in the virtual network to pick the updated network settings", + options: [ + { + name: ["--name", "-n"], + description: "The name of the api management service instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "backup", + description: + "Creates a backup of the API Management service to the given Azure Storage Account. This is long running operation and could take several minutes to complete", + options: [ + { + name: "--backup-name", + description: "The name of the backup file to create", + args: { name: "backup-name" }, + isRequired: true, + }, + { + name: ["--storage-account-container", "--container-name"], + description: + "The name of the storage account container used to place the backup", + args: { name: "storage-account-container" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the api management service instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-account-key", + description: + "The access key of the storage account used to place the backup", + args: { name: "storage-account-key" }, + isRequired: true, + }, + { + name: "--storage-account-name", + description: + "The name of the storage account used to place the backup", + args: { name: "storage-account-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "check-name", + description: "Checks to see if a service name is available to use", + options: [ + { + name: ["--name", "-n"], + description: "The name of the api management service instance", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create an API Management service instance", + options: [ + { + name: ["--name", "-n"], + description: "Unique name of the service instance to be created", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--publisher-email", + description: "The e-mail address to receive all system notifications", + args: { name: "publisher-email" }, + isRequired: true, + }, + { + name: "--publisher-name", + description: + "The name of your organization for use in the developer portal and e-mail notifications", + args: { name: "publisher-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--disable-gateway", + description: + "Disable gateway in the master region. Only valid for an Api Management service deployed in multiple locations", + args: { name: "disable-gateway", suggestions: ["false", "true"] }, + }, + { + name: "--enable-client-certificate", + description: + "Enforces a client certificate to be presented on each request to the gateway and also enables the ability to authenticate the certificate in the policy on the gateway", + args: { + name: "enable-client-certificate", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-managed-identity", + description: + "Create a managed identity for the API Management service to access other Azure resources. Only meant to be used for Consumption SKU Service", + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--public-network-access", + description: + "Whether or not public endpoint access is allowed for this API Management service. If set to true, private endpoints are the exclusive access method", + args: { + name: "public-network-access", + suggestions: ["false", "true"], + }, + }, + { + name: "--sku-capacity", + description: "The number of deployed units of the SKU", + args: { name: "sku-capacity" }, + }, + { + name: "--sku-name", + description: "The sku of the api management instance", + args: { + name: "sku-name", + suggestions: [ + "Basic", + "Consumption", + "Developer", + "Isolated", + "Premium", + "Standard", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--virtual-network", "-v"], + description: "The virtual network type", + args: { + name: "virtual-network", + suggestions: ["External", "Internal", "None"], + }, + }, + ], + }, + { + name: "delete", + description: "Deletes an API Management service", + options: [ + { + name: ["--name", "-n"], + description: "The name of the api management service instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List API Management service instances", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "restore", + description: + "Restores a backup of an API Management service created using the ApiManagementService_Backup operation on the current service. This is a long running operation and could take several minutes to complete", + options: [ + { + name: "--backup-name", + description: "The name of the backup file to restore", + args: { name: "backup-name" }, + isRequired: true, + }, + { + name: ["--storage-account-container", "--container-name"], + description: + "The name of the storage account container used to retrieve the backup from", + args: { name: "storage-account-container" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the api management service instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-account-key", + description: + "The access key of the storage account used to retrieve the backup from", + args: { name: "storage-account-key" }, + isRequired: true, + }, + { + name: "--storage-account-name", + description: + "The name of the storage account used to retrieve the backup from", + args: { name: "storage-account-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: "Show details of an API Management service instance", + options: [ + { + name: ["--name", "-n"], + description: "The name of the api management service instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an API Management service instance", + options: [ + { + name: ["--name", "-n"], + description: "The name of the api management service instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--disable-gateway", + description: + "Disable gateway in the master region. Only valid for an Api Management service deployed in multiple locations", + args: { name: "disable-gateway", suggestions: ["false", "true"] }, + }, + { + name: "--enable-client-certificate", + description: + "Enforces a client certificate to be presented on each request to the gateway and also enables the ability to authenticate the certificate in the policy on the gateway", + args: { + name: "enable-client-certificate", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-managed-identity", + description: + "Create a managed identity for the API Management service to access other Azure resources. Only meant to be used for Consumption SKU Service", + args: { + name: "enable-managed-identity", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--public-network-access", + description: + "Whether or not public endpoint access is allowed for this API Management service. If set to true, private endpoints are the exclusive access method", + args: { + name: "public-network-access", + suggestions: ["false", "true"], + }, + }, + { + name: "--publisher-email", + description: "The e-mail address to receive all system notifications", + args: { name: "publisher-email" }, + }, + { + name: "--publisher-name", + description: + "The name of your organization for use in the developer portal and e-mail notifications", + args: { name: "publisher-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku-capacity", + description: "The number of deployed units of the SKU", + args: { name: "sku-capacity" }, + }, + { + name: "--sku-name", + description: "The sku of the api management instance", + args: { + name: "sku-name", + suggestions: [ + "Basic", + "Consumption", + "Developer", + "Isolated", + "Premium", + "Standard", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--virtual-network", "-v"], + description: "The virtual network type", + args: { + name: "virtual-network", + suggestions: ["External", "Internal", "None"], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of an apim is met", + options: [ + { + name: ["--name", "-n"], + description: "The name of the api management service instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "deletedservice", + description: "Manage soft-deleted Azure API Management services", + subcommands: [ + { + name: "list", + description: + "List all soft-deleted Api Management services instances available for undelete for the given subscription", + }, + { + name: "purge", + description: + "Purge soft-deleted Api Management service instance (deletes it with no option to undelete)", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the soft deleted API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get soft-deleted Api Management service instances available for undelete by name", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the soft deleted API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "graphql", + description: "Manage Azure API Management GraphQL API's", + subcommands: [ + { + name: "resolver", + description: "Manage Azure API Management GraphQL API's Resolvers", + subcommands: [ + { + name: "create", + description: + "Create a new resolver in the GraphQL API or updates an existing one", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--display-name", + description: "Resolver Name", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Resolver identifier within a GraphQL API. Must be unique in the current API Management service instance", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--resolver-id", + description: + "Resolver identifier within a GraphQL API. Must be unique in the current API Management service instance", + args: { name: "resolver-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--description", + description: + "Description of the resolver. May include HTML formatting tags", + args: { name: "description" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified resolver in the GraphQL API", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--resolver-id", + description: + "Resolver identifier within a GraphQL API. Must be unique in the current API Management service instance", + args: { name: "resolver-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List a collection of the resolvers for the specified GraphQL API", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of the GraphQL API Resolver specified by its identifier", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--resolver-id", + description: + "Resolver identifier within a GraphQL API. Must be unique in the current API Management service instance", + args: { name: "resolver-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "policy", + description: + "Manage Azure API Management GraphQL API's Resolvers Policies", + subcommands: [ + { + name: "create", + description: + "Create or updates policy configuration for the GraphQL API Resolver level", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--resolver-id", + description: + "Resolver identifier within a GraphQL API. Must be unique in the current API Management service instance", + args: { name: "resolver-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--value-path", + description: + "Contents of the Policy as defined by the format", + args: { name: "value-path" }, + isRequired: true, + }, + { + name: "--policy-format", + description: "Format of the policyContent", + args: { name: "policy-format" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the policy configuration at the GraphQL Api Resolver", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--resolver-id", + description: + "Resolver identifier within a GraphQL API. Must be unique in the current API Management service instance", + args: { name: "resolver-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Get the list of policy configuration at the GraphQL API Resolver level", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--resolver-id", + description: + "Resolver identifier within a GraphQL API. Must be unique in the current API Management service instance", + args: { name: "resolver-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the policy configuration at the GraphQL API Resolver level", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--resolver-id", + description: + "Resolver identifier within a GraphQL API. Must be unique in the current API Management service instance", + args: { name: "resolver-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "nv", + description: "Manage Azure API Management Named Values", + subcommands: [ + { + name: "create", + description: "Create an API Management Named Value", + options: [ + { + name: "--display-name", + description: "The Display name of the Named Value", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--named-value-id", + description: "Unique name for the Named Value to be created", + args: { name: "named-value-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: + "Determines whether the value is a secret and should be encrypted or not. Default value is false", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--value", + description: "The value of the Named Value", + args: { name: "value" }, + }, + ], + }, + { + name: "delete", + description: "Delete an API Management Named Value", + options: [ + { + name: "--named-value-id", + description: "Identifier of the NamedValue", + args: { name: "named-value-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List API Management Named Values", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of an API Management Named Value", + options: [ + { + name: "--named-value-id", + description: "Identifier of the NamedValue", + args: { name: "named-value-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "show-secret", + description: "Gets the secret of an API Management Named Value", + options: [ + { + name: "--named-value-id", + description: "Identifier of the NamedValue", + args: { name: "named-value-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an API Management Named Value", + options: [ + { + name: "--named-value-id", + description: "Unique name of the api to be created", + args: { name: "named-value-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--secret", + description: + "Determines whether the value is a secret and should be encrypted or not. Default value is false", + args: { name: "secret", suggestions: ["false", "true"] }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--value", + description: "The value of the Named Value", + args: { name: "value" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of an apim named value is met", + options: [ + { + name: "--named-value-id", + description: "Identifier of the NamedValue", + args: { name: "named-value-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the API Management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "product", + description: "Manage Azure API Management Product's", + subcommands: [ + { + name: "create", + description: "Creates a product", + options: [ + { + name: "--product-name", + description: "Product name", + args: { name: "product-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the api management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--approval-required", + description: + "Whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can use any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false", + args: { + name: "approval-required", + suggestions: ["false", "true"], + }, + }, + { + name: "--description", + description: + "Product description. May include HTML formatting tags", + args: { name: "description" }, + }, + { + name: "--legal-terms", + description: + "Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process", + args: { name: "legal-terms" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--product-id", + description: + "Product identifier. Must be unique in the current API Management service instance", + args: { name: "product-id" }, + }, + { + name: "--state", + description: + "Whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished. Possible values include: 'notPublished', 'published'", + args: { + name: "state", + suggestions: ["notPublished", "published"], + }, + }, + { + name: ["--subscription-required", "-s"], + description: + "Whether a product subscription is required for accessing APIs included in this product", + args: { + name: "subscription-required", + suggestions: ["false", "true"], + }, + }, + { + name: "--subscriptions-limit", + description: + "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false", + args: { name: "subscriptions-limit" }, + }, + ], + }, + { + name: "delete", + description: "Delete product", + options: [ + { + name: "--product-id", + description: + "Product identifier. Must be unique in the current API Management service instance", + args: { name: "product-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the api management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--delete-subscriptions", + description: + "Delete existing subscriptions associated with the product or not", + args: { name: "delete-subscriptions" }, + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists a collection of products in the specified service instance", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the api management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets the details of the product specified by its identifier", + options: [ + { + name: "--product-id", + description: + "Product identifier. Must be unique in the current API Management service instance", + args: { name: "product-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the api management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update existing product details", + options: [ + { + name: "--product-id", + description: + "Product identifier. Must be unique in the current API Management service instance", + args: { name: "product-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the api management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--approval-required", + description: + "Whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can use any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false", + args: { + name: "approval-required", + suggestions: ["false", "true"], + }, + }, + { + name: "--description", + description: + "Product description. May include HTML formatting tags", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--if-match", + description: "ETag of the Entity", + args: { name: "if-match" }, + }, + { + name: "--legal-terms", + description: + "Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process", + args: { name: "legal-terms" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--product-name", + description: "Product name", + args: { name: "product-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: + "Whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished. Possible values include: 'notPublished', 'published'", + args: { + name: "state", + suggestions: ["notPublished", "published"], + }, + }, + { + name: ["--subscription-required", "-s"], + description: + "Whether a product subscription is required for accessing APIs included in this product", + args: { + name: "subscription-required", + suggestions: ["false", "true"], + }, + }, + { + name: "--subscriptions-limit", + description: + "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false", + args: { name: "subscriptions-limit" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of an apim product is met", + options: [ + { + name: "--product-id", + description: + "Product identifier. Must be unique in the current API Management service instance", + args: { name: "product-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: "The name of the api management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "api", + description: "Manage Azure API Management Product's APIs", + subcommands: [ + { + name: "add", + description: "Add an API to the specified product", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--product-id", + description: + "Product identifier. Must be unique in the current API Management service instance", + args: { name: "product-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the api management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "check", + description: + "Checks that API entity specified by identifier is associated with the Product entity", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--product-id", + description: + "Product identifier. Must be unique in the current API Management service instance", + args: { name: "product-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the api management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Deletes the specified API from the specified product", + options: [ + { + name: "--api-id", + description: + "API identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number", + args: { name: "api-id" }, + isRequired: true, + }, + { + name: "--product-id", + description: + "Product identifier. Must be unique in the current API Management service instance", + args: { name: "product-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the api management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Lists a collection of the APIs associated with a product", + options: [ + { + name: "--product-id", + description: + "Product identifier. Must be unique in the current API Management service instance", + args: { name: "product-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-name", "-n"], + description: + "The name of the api management service instance", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/appconfig.ts b/src/az/2.53.0/appconfig.ts new file mode 100644 index 000000000000..ac4c6b280914 --- /dev/null +++ b/src/az/2.53.0/appconfig.ts @@ -0,0 +1,2454 @@ +const completion: Fig.Spec = { + name: "appconfig", + description: "Manage App Configurations", + subcommands: [ + { + name: "create", + description: "Create an App Configuration", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--assign-identity", + description: + 'Space-separated list of managed identities to be assigned. Use "[system]" to refer to system-assigned managed identity or a resource ID to refer to user-assigned managed identity. If this argument is provided without any value, system-assigned managed identity will be assigned by default. If this argument is not provided, no managed identities will be assigned to this App Configuration store', + args: { name: "assign-identity" }, + }, + { + name: "--disable-local-auth", + description: + "Disable all authentication methods other than AAD authentication", + args: { name: "disable-local-auth", suggestions: ["false", "true"] }, + }, + { + name: ["--enable-public-network", "-e"], + description: + "When true, requests coming from public networks have permission to access this store while private endpoint is enabled. When false, only requests made through Private Links can reach this store", + args: { + name: "enable-public-network", + suggestions: ["false", "true"], + }, + }, + { + name: ["--enable-purge-protection", "-p"], + description: + "Property specifying whether protection against purge is enabled for this App Configuration. Setting this property to true activates protection against purge for this App Configuration and its contents. Enabling this functionality is irreversible", + args: { + name: "enable-purge-protection", + suggestions: ["false", "true"], + }, + }, + { + name: "--retention-days", + description: + "Number of days to retain the soft delete enabled App Configuration after deleting. Must be a positive integer between 0 and 7", + args: { name: "retention-days" }, + }, + { + name: "--sku", + description: "The sku of App Configuration", + args: { name: "sku", suggestions: ["Free", "Standard"] }, + }, + { + name: "--tags", + description: "Space-separated tags: key[=value] [key[=value] ...]", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an App Configuration", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all App Configurations under the current subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-deleted", + description: "List all deleted, but not yet purged App Configurations", + }, + { + name: "purge", + description: + "Permanently delete an App Configuration. Aka 'purge' the deleted App Configuration", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location of the deleted App Configuration. Can be viewed using command az appconfig show-deleted", + args: { name: "location" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "recover", + description: + "Recover a previously deleted, but not yet purged App Configuration", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location of the deleted App Configuration. Can be viewed using command az appconfig show-deleted", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group of the deleted App Configuration", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show properties of an App Configuration", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show-deleted", + description: + "Show properties of a deleted, but not yet purged App Configuration", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location of the deleted App Configuration", + args: { name: "location" }, + }, + ], + }, + { + name: "update", + description: "Update an App Configuration", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--disable-local-auth", + description: + "Disable all authentication methods other than AAD authentication", + args: { name: "disable-local-auth", suggestions: ["false", "true"] }, + }, + { + name: ["--enable-public-network", "-e"], + description: + "When true, requests coming from public networks have permission to access this store while private endpoint is enabled. When false, only requests made through Private Links can reach this store", + args: { + name: "enable-public-network", + suggestions: ["false", "true"], + }, + }, + { + name: ["--enable-purge-protection", "-p"], + description: + "Property specifying whether protection against purge is enabled for this App Configuration. Setting this property to true activates protection against purge for this App Configuration and its contents. Enabling this functionality is irreversible", + args: { + name: "enable-purge-protection", + suggestions: ["false", "true"], + }, + }, + { + name: "--encryption-key-name", + description: "The name of the KeyVault key", + args: { name: "encryption-key-name" }, + }, + { + name: "--encryption-key-vault", + description: "The URI of the KeyVault", + args: { name: "encryption-key-vault" }, + }, + { + name: "--encryption-key-version", + description: + "The version of the KeyVault key. Use the latest version by default", + args: { name: "encryption-key-version" }, + }, + { + name: "--identity-client-id", + description: + "Client ID of the managed identity with wrap and unwrap access to encryption key. Use system-assigned managed identity by default", + args: { name: "identity-client-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: "The sku of App Configuration", + args: { name: "sku", suggestions: ["Free", "Standard"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "credential", + description: "Manage credentials for App Configurations", + subcommands: [ + { + name: "list", + description: "List access keys of an App Configuration", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "regenerate", + description: "Regenerate an access key for an App Configuration", + options: [ + { + name: "--id", + description: + "Id of the key to be regenerated. Can be found using az appconfig credential list command", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "feature", + description: "Manage feature flags stored in an App Configuration", + subcommands: [ + { + name: "delete", + description: "Delete feature flag", + options: [ + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--feature", + description: + "Name of the feature to be deleted. If the feature flag key is different from the default key, provide the --key argument instead. Support star sign as filters, for instance * means all features and abc* means features with abc as prefix. Comma separated features are not supported. Please provide escaped string if your feature name contains comma", + args: { name: "feature" }, + }, + { + name: "--key", + description: + 'Key of the feature flag. Key must start with the ".appconfig.featureflag/" prefix. Key cannot contain the "%" character. If both key and feature arguments are provided, only key will be used. Support star sign as filters, for instance ".appconfig.featureflag/" means all features and ".appconfig.featureflag/abc" means features with abc as prefix. Comma separated features are not supported. Please provide escaped string if your feature name contains comma', + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, delete the feature flag with null label by default. Support star sign as filters, for instance * means all labels and abc* means labels with abc as prefix", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "disable", + description: "Disable a feature flag to turn it OFF for use", + options: [ + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--feature", + description: + "Name of the feature to be disabled. If the feature flag key is different from the default key, provide the --key argument instead", + args: { name: "feature" }, + }, + { + name: "--key", + description: + 'Key of the feature flag. Key must start with the ".appconfig.featureflag/" prefix. Key cannot contain the "%" character. If both key and feature arguments are provided, only key will be used. Default key is the reserved prefix ".appconfig.featureflag/" + feature name', + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, disable the feature flag with null label by default", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "enable", + description: "Enable a feature flag to turn it ON for use", + options: [ + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--feature", + description: + "Name of the feature to be enabled. If the feature flag key is different from the default key, provide the --key argument instead", + args: { name: "feature" }, + }, + { + name: "--key", + description: + 'Key of the feature flag. Key must start with the ".appconfig.featureflag/" prefix. Key cannot contain the "%" character. If both key and feature arguments are provided, only key will be used. Default key is the reserved prefix ".appconfig.featureflag/" + feature name', + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, enable the feature flag with null label by default", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List feature flags", + options: [ + { name: "--all", description: "List all feature flags" }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--feature", + description: + "Name of the feature to be listed. If the feature flag key is different from the default key, provide the --key argument instead. Support star sign as filters, for instance * means all features and abc* means features with abc as prefix. Comma separated features are not supported. Please provide escaped string if your feature name contains comma", + args: { name: "feature" }, + }, + { + name: "--fields", + description: "Customize output fields for Feature Flags", + args: { + name: "fields", + suggestions: [ + "conditions", + "description", + "key", + "label", + "last_modified", + "locked", + "name", + "state", + ], + }, + }, + { + name: "--key", + description: + 'Key of the feature flag. Key must start with the ".appconfig.featureflag/" prefix. Key cannot contain the "%" character. If both key and feature arguments are provided, only key will be used. Support star sign as filters, for instance ".appconfig.featureflag/" means all features and ".appconfig.featureflag/abc" means features with abc as prefix. Comma separated features are not supported. Please provide escaped string if your feature name contains comma', + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, list all labels. Support star sign as filters, for instance * means all labels and abc* means labels with abc as prefix. Use '\\0' for null label", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--top", "-t"], + description: + "Maximum number of items to return. Must be a positive integer. Default to 100", + args: { name: "top" }, + }, + ], + }, + { + name: "lock", + description: "Lock a feature flag to prohibit write operations", + options: [ + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--feature", + description: + "Name of the feature to be locked. If the feature flag key is different from the default key, provide the --key argument instead", + args: { name: "feature" }, + }, + { + name: "--key", + description: + 'Key of the feature flag. Key must start with the ".appconfig.featureflag/" prefix. Key cannot contain the "%" character. If both key and feature arguments are provided, only key will be used. Default key is the reserved prefix ".appconfig.featureflag/" + feature name', + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, lock the feature flag with null label by default", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "set", + description: "Set a feature flag", + options: [ + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--description", + description: "Description of the feature flag to be set", + args: { name: "description" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--feature", + description: + "Name of the feature flag to be set. Feature name cannot contain the '%' character", + args: { name: "feature" }, + }, + { + name: "--key", + description: + 'Key of the feature flag. Key must start with the ".appconfig.featureflag/" prefix. Key cannot contain the "%" character. Default key is the reserved prefix ".appconfig.featureflag/" + feature name', + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, set the feature flag with null label by default", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show all attributes of a feature flag", + options: [ + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--feature", + description: + "Name of the feature flag to be retrieved. If the feature flag key is different from the default key, provide the --key argument instead", + args: { name: "feature" }, + }, + { + name: "--fields", + description: "Customize output fields for Feature Flags", + args: { + name: "fields", + suggestions: [ + "conditions", + "description", + "key", + "label", + "last_modified", + "locked", + "name", + "state", + ], + }, + }, + { + name: "--key", + description: + 'Key of the feature flag. Key must start with the ".appconfig.featureflag/" prefix. Key cannot contain the "%" character. If both key and feature arguments are provided, only key will be used. Default key is the reserved prefix ".appconfig.featureflag/" + feature name', + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, show entry with null label. Filtering is not supported", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + ], + }, + { + name: "unlock", + description: "Unlock a feature to gain write operations", + options: [ + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--feature", + description: + "Name of the feature to be unlocked. If the feature flag key is different from the default key, provide the --key argument instead", + args: { name: "feature" }, + }, + { + name: "--key", + description: + 'Key of the feature flag. Key must start with the ".appconfig.featureflag/" prefix. Key cannot contain the "%" character. If both key and feature arguments are provided, only key will be used. Default key is the reserved prefix ".appconfig.featureflag/" + feature name', + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, unlock the feature flag with null label by default", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "filter", + description: + "Manage filters associated with feature flags stored in an App Configuration", + subcommands: [ + { + name: "add", + description: "Add a filter to a feature flag", + options: [ + { + name: "--filter-name", + description: "Name of the filter to be added", + args: { name: "filter-name" }, + isRequired: true, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--feature", + description: + "Name of the feature to which you want to add the filter. If the feature flag key is different from the default key, provide the --key argument instead", + args: { name: "feature" }, + }, + { + name: "--filter-parameters", + description: + "Space-separated filter parameters in 'name[=value]' format. The value must be an escaped JSON string", + args: { name: "filter-parameters" }, + }, + { + name: "--index", + description: + "Zero-based index in the list of filters where you want to insert the new filter. If no index is specified or index is invalid, filter will be added to the end of the list", + args: { name: "index" }, + }, + { + name: "--key", + description: + 'Key of the feature flag. Key must start with the ".appconfig.featureflag/" prefix. Key cannot contain the "%" character. If both key and feature arguments are provided, only key will be used. Default key is the reserved prefix ".appconfig.featureflag/" + feature name', + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, add to the feature flag with null label by default", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "delete", + description: "Delete a filter from a feature flag", + options: [ + { + name: "--all", + description: + "Delete all filters associated with a feature flag", + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--feature", + description: + "Name of the feature from which you want to delete the filter. If the feature flag key is different from the default key, provide the --key argument instead", + args: { name: "feature" }, + }, + { + name: "--filter-name", + description: "Name of the filter to be deleted", + args: { name: "filter-name" }, + }, + { + name: "--index", + description: + "Zero-based index of the filter to be deleted in case there are multiple instances with same filter name", + args: { name: "index" }, + }, + { + name: "--key", + description: + 'Key of the feature flag. Key must start with the ".appconfig.featureflag/" prefix. Key cannot contain the "%" character. If both key and feature arguments are provided, only key will be used. Default key is the reserved prefix ".appconfig.featureflag/" + feature name', + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, delete from the feature flag with null label by default", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all filters for a feature flag", + options: [ + { + name: "--all", + description: + "List all filters associated with a feature flag", + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--feature", + description: + "Name of the feature whose filters you want to be displayed. If the feature flag key is different from the default key, provide the --key argument instead", + args: { name: "feature" }, + }, + { + name: "--key", + description: + 'Key of the feature flag. Key must start with the ".appconfig.featureflag/" prefix. Key cannot contain the "%" character. If both key and feature arguments are provided, only key will be used. Default key is the reserved prefix ".appconfig.featureflag/" + feature name', + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, display filters from the feature flag with null label by default", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--top", "-t"], + description: + "Maximum number of items to return. Must be a positive integer. Default to 100", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Show filters of a feature flag", + options: [ + { + name: "--filter-name", + description: "Name of the filter to be displayed", + args: { name: "filter-name" }, + isRequired: true, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--feature", + description: + "Name of the feature which contains the filter. If the feature flag key is different from the default key, provide the --key argument instead", + args: { name: "feature" }, + }, + { + name: "--index", + description: + "Zero-based index of the filter to be displayed in case there are multiple instances with same filter name", + args: { name: "index" }, + }, + { + name: "--key", + description: + 'Key of the feature flag. Key must start with the ".appconfig.featureflag/" prefix. Key cannot contain the "%" character. If both key and feature arguments are provided, only key will be used. Default key is the reserved prefix ".appconfig.featureflag/" + feature name', + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, show the feature flag with null label by default", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + ], + }, + { + name: "update", + description: "Update a filter in a feature flag", + options: [ + { + name: "--filter-name", + description: "Name of the filter to be updated", + args: { name: "filter-name" }, + isRequired: true, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--feature", + description: + "Name of the feature whose filter you want to update. If the feature flag key is different from the default key, provide the --key argument instead", + args: { name: "feature" }, + }, + { + name: "--filter-parameters", + description: + "Space-separated filter parameters in 'name[=value]' format. The value must be an escaped JSON string", + args: { name: "filter-parameters" }, + }, + { + name: "--index", + description: + "Zero-based index of the filter to be updated in case there are multiple instances with same filter name", + args: { name: "index" }, + }, + { + name: "--key", + description: + 'Key of the feature flag. Key must start with the ".appconfig.featureflag/" prefix. Key cannot contain the "%" character. If both key and feature arguments are provided, only key will be used. Default key is the reserved prefix ".appconfig.featureflag/" + feature name', + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, update the feature flag with null label by default", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + ], + }, + { + name: "identity", + description: "Managed identities for App Configurations", + subcommands: [ + { + name: "assign", + description: "Update managed identities for an App Configuration", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--identities", + description: + "Accept system-assigned or user-assigned managed identities separated by spaces. Use '[system]' to refer to system-assigned managed identity or a resource ID to refer to user-assigned managed identity. If this argument is not provided or this argument is provided without any value, system-assigned managed identity will be used by default", + args: { name: "identities" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Remove managed identities for an App Configuration", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--identities", + description: + "Accept system-assigned or user-assigned managed identities separated by spaces. Use '[system]' to refer to system-assigned managed identity, '[all]' for all managed identities or a resource ID to refer user-assigned managed identity. If this argument is not provided or this argument is provided without any value, system-assigned managed identity will be removed by default", + args: { name: "identities" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Display managed identities for an App Configuration", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "kv", + description: "Manage key-values stored in an App Configuration", + subcommands: [ + { + name: "delete", + description: "Delete key-values", + options: [ + { + name: "--key", + description: + "Support star sign as filters, for instance * means all key and abc* means keys with abc as prefix", + args: { name: "key" }, + isRequired: true, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--label", + description: + "If no label specified, delete entry with null label. Support star sign as filters, for instance * means all label and abc* means labels with abc as prefix", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "export", + description: + "Export configurations to another place from your App Configuration", + options: [ + { + name: ["--destination", "-d"], + description: + "The destination of exporting. Note that exporting feature flags to appservice is not supported", + args: { + name: "destination", + suggestions: ["appconfig", "appservice", "file"], + }, + isRequired: true, + }, + { + name: "--appservice-account", + description: + "ARM ID for AppService OR the name of the AppService, assuming it is in the same subscription and resource group as the App Configuration. Required for AppService arguments", + args: { name: "appservice-account" }, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--dest-auth-mode", + description: + 'Auth mode for connecting to destination App Configuration. For details, refer to "--auth-mode" argument', + args: { name: "dest-auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--dest-connection-string", + description: + "Combination of access key and endpoint of the destination store", + args: { name: "dest-connection-string" }, + }, + { + name: "--dest-endpoint", + description: + 'If --dest-auth-mode is "login", provide endpoint URL of the destination App Configuration', + args: { name: "dest-endpoint" }, + }, + { + name: "--dest-label", + description: + "Exported KVs will be labeled with this destination label. If neither --dest-label nor --preserve-labels is specified, will assign null label", + args: { name: "dest-label" }, + }, + { + name: "--dest-name", + description: "The name of the destination App Configuration", + args: { name: "dest-name" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: ["--export-as-reference", "-r"], + description: + "Export key-values as App Configuration references. For more information, see https://docs.microsoft.com/en-us/azure/app-service/app-service-configuration-references", + }, + { + name: "--format", + description: + "File format exporting to. Required for file arguments. Currently, feature flags are not supported in properties format", + args: { + name: "format", + suggestions: ["json", "properties", "yaml"], + }, + }, + { + name: "--key", + description: + "If no key specified, return all keys by default. Support star sign as filters, for instance abc* means keys with abc as prefix. Key filtering not applicable for feature flags. By default, all feature flags with specified label will be exported", + args: { name: "key" }, + }, + { + name: "--label", + description: + "Only keys and feature flags with this label will be exported. If no label specified, export keys and feature flags with null label by default. When export destination is appconfig, or when export destination is file with appconfig/kvset profile, this argument supports asterisk and comma signs for label filtering, for instance, * means all labels, abc* means labels with abc as prefix, and abc,xyz means labels with abc or xyz", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: "--naming-convention", + description: + 'Naming convention to be used for "Feature Management" section of file. Example: pascal = FeatureManagement, camel = featureManagement, underscore = feature_management, hyphen = feature-management', + args: { + name: "naming-convention", + suggestions: ["camel", "hyphen", "pascal", "underscore"], + }, + }, + { + name: "--path", + description: + "Local configuration file path. Required for file arguments", + args: { name: "path" }, + }, + { + name: "--prefix", + description: + "Prefix to be trimmed from keys. Prefix will be ignored for feature flags", + args: { name: "prefix" }, + }, + { + name: "--preserve-labels", + description: + "Flag to preserve labels from source AppConfig. This argument should NOT be specified along with --dest-label", + }, + { + name: "--profile", + description: + "Export profile to be used for exporting the key-values. Options 'depth', 'separator', 'naming-convention', 'prefix', 'dest-label' and, 'resolve-keyvault' are not supported when using 'appconfig/kvset' profile", + args: { + name: "profile", + suggestions: ["appconfig/default", "appconfig/kvset"], + }, + }, + { + name: "--resolve-keyvault", + description: "Resolve the content of key vault reference", + }, + { + name: "--separator", + description: + "Delimiter for flattening the key-value pairs to json or yaml file. Required for exporting hierarchical structure. Separator will be ignored for property files and feature flags. Supported values: '.', ',', ';', '-', '_', '__', '/', ':'", + args: { name: "separator" }, + }, + { + name: "--skip-features", + description: + "Export items excluding all feature flags. By default, all features with the specified label will be exported to file or appconfig. Not applicable for appservice", + }, + { + name: "--skip-keyvault", + description: + "Export items excluding all key vault references. By default, all key vault references with the specified label will be exported", + }, + { + name: "--snapshot", + description: + "Export all keys in a given snapshot of the App Configuration store. If no snapshot is specified, the keys currently in the store are exported based on the specified key and label filters", + args: { name: "snapshot" }, + }, + { name: ["--yes", "-y"], description: "Do not prompt for preview" }, + ], + }, + { + name: "import", + description: + "Import configurations into your App Configuration from another place", + options: [ + { + name: ["--source", "-s"], + description: + "The source of importing. Note that importing feature flags from appservice is not supported", + args: { + name: "source", + suggestions: ["appconfig", "appservice", "file"], + }, + isRequired: true, + }, + { + name: "--appservice-account", + description: + "ARM ID for AppService OR the name of the AppService, assuming it is in the same subscription and resource group as the App Configuration. Required for AppService arguments", + args: { name: "appservice-account" }, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--content-type", + description: "Content type of all imported items", + args: { name: "content-type" }, + }, + { + name: "--depth", + description: + "Depth for flattening the json or yaml file to key-value pairs. Flatten to the deepest level by default if --separator is provided. Not applicable for property files or feature flags", + args: { name: "depth" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--format", + description: + "Imported file format. Required for file arguments. Currently, feature flags are not supported in properties format", + args: { + name: "format", + suggestions: ["json", "properties", "yaml"], + }, + }, + { + name: "--import-mode", + description: + 'If import mode is "ignore-match", source key-values that already exist at the destination will not be overwritten. Import mode "all" writes all key-values to the destination regardless of whether they exist or not', + args: { + name: "import-mode", + suggestions: ["all", "ignore-match"], + }, + }, + { + name: "--label", + description: + "Imported KVs and feature flags will be assigned with this label. If no label specified, will assign null label", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: "--path", + description: + "Local configuration file path. Required for file arguments", + args: { name: "path" }, + }, + { + name: "--prefix", + description: + "This prefix will be appended to the front of imported keys. Prefix will be ignored for feature flags", + args: { name: "prefix" }, + }, + { + name: "--preserve-labels", + description: + "Flag to preserve labels from source AppConfig. This argument should NOT be specified along with --label", + }, + { + name: "--profile", + description: + "Import profile to be used for importing the key-values. Options 'depth', 'separator', 'content-type', 'label', 'skip-features' and, 'prefix' are not supported when using 'appconfig/kvset' profile", + args: { + name: "profile", + suggestions: ["appconfig/default", "appconfig/kvset"], + }, + }, + { + name: "--separator", + description: + "Delimiter for flattening the json or yaml file to key-value pairs. Separator will be ignored for property files and feature flags. Supported values: '.', ',', ';', '-', '_', '__', '/', ':'", + args: { name: "separator" }, + }, + { + name: "--skip-features", + description: + "Import only key values and exclude all feature flags. By default, all feature flags will be imported from file or appconfig. Not applicable for appservice", + }, + { + name: "--src-auth-mode", + description: + 'Auth mode for connecting to source App Configuration. For details, refer to "--auth-mode" argument', + args: { name: "src-auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--src-connection-string", + description: + "Combination of access key and endpoint of the source store", + args: { name: "src-connection-string" }, + }, + { + name: "--src-endpoint", + description: + 'If --src-auth-mode is "login", provide endpoint URL of the source App Configuration', + args: { name: "src-endpoint" }, + }, + { + name: "--src-key", + description: + "If no key specified, import all keys by default. Support star sign as filters, for instance abc* means keys with abc as prefix. Key filtering not applicable for feature flags. By default, all feature flags with specified label will be imported", + args: { name: "src-key" }, + }, + { + name: "--src-label", + description: + "Only keys with this label in source AppConfig will be imported. If no value specified, import keys with null label by default. Support star sign as filters, for instance * means all labels, abc* means labels with abc as prefix", + args: { name: "src-label" }, + }, + { + name: "--src-name", + description: "The name of the source App Configuration", + args: { name: "src-name" }, + }, + { + name: "--src-snapshot", + description: + "Import all keys in a given snapshot of the source App Configuration store. If no snapshot is specified, the keys currently in the store are imported based on the specified key and label filters", + args: { name: "src-snapshot" }, + }, + { + name: "--strict", + description: + "Delete all other key-values in the store with specified prefix and label", + }, + { name: ["--yes", "-y"], description: "Do not prompt for preview" }, + ], + }, + { + name: "list", + description: "List key-values", + options: [ + { name: "--all", description: "List all items" }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--datetime", + description: + 'Format: "YYYY-MM-DDThh:mm:ssZ". If no time zone specified, use UTC by default', + args: { name: "datetime" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--fields", + description: "Space-separated customized output fields", + args: { + name: "fields", + suggestions: [ + "content_type", + "etag", + "key", + "label", + "last_modified", + "locked", + "tags", + "value", + ], + }, + }, + { + name: "--key", + description: + "If no key specified, return all keys by default. Support star sign as filters, for instance abc* means keys with abc as prefix", + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, list all labels. Support star sign as filters, for instance abc* means labels with abc as prefix. Use '\\0' for null label", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: "--resolve-keyvault", + description: + "Resolve the content of key vault reference. This argument should NOT be specified along with --fields. Instead use --query for customized query", + }, + { + name: "--snapshot", + description: + "List all keys in a given snapshot of the App Configuration store. If no snapshot is specified, the keys currently in the store are listed", + args: { name: "snapshot" }, + }, + { + name: ["--top", "-t"], + description: + "Maximum number of items to return. Must be a positive integer. Default to 100", + args: { name: "top" }, + }, + ], + }, + { + name: "lock", + description: "Lock a key-value to prohibit write operations", + options: [ + { + name: "--key", + description: "Key to be locked", + args: { name: "key" }, + isRequired: true, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--label", + description: + "If no label specified, lock entry with null label. Filtering is not supported", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "restore", + description: "Restore key-values", + options: [ + { + name: "--datetime", + description: + 'Format: "YYYY-MM-DDThh:mm:ssZ". If no time zone specified, use UTC by default', + args: { name: "datetime" }, + isRequired: true, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--key", + description: + "If no key specified, restore all keys by default. Support star sign as filters, for instance abc* means keys with abc as prefix", + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, restore all key-value pairs with all labels. Support star sign as filters, for instance abc* means labels with abc as prefix. Use '\\0' for null label", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "set", + description: "Set a key-value", + options: [ + { + name: "--key", + description: + "Key to be set. Key cannot be a '.' or '..', or contain the '%' character", + args: { name: "key" }, + isRequired: true, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--content-type", + description: "Content type of the keyvalue to be set", + args: { name: "content-type" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--label", + description: + "If no label specified, set the key with null label by default", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--value", + description: "Value of the keyvalue to be set", + args: { name: "value" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "set-keyvault", + description: "Set a keyvault reference", + options: [ + { + name: "--key", + description: + "Key to be set. Key cannot be a '.' or '..', or contain the '%' character", + args: { name: "key" }, + isRequired: true, + }, + { + name: "--secret-identifier", + description: + "ID of the Key Vault object. Can be found using 'az keyvault {collection} show' command, where collection is key, secret or certificate. To set reference to the latest version of your secret, remove version information from secret identifier", + args: { name: "secret-identifier" }, + isRequired: true, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--label", + description: + "If no label specified, set the key with null label by default", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show all attributes of a key-value", + options: [ + { + name: "--key", + description: "Key to be showed", + args: { name: "key" }, + isRequired: true, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--datetime", + description: + 'Format: "YYYY-MM-DDThh:mm:ssZ". If no time zone specified, use UTC by default', + args: { name: "datetime" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--label", + description: + "If no label specified, show entry with null label. Filtering is not supported", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + ], + }, + { + name: "unlock", + description: "Unlock a key-value to gain write operations", + options: [ + { + name: "--key", + description: "Key to be unlocked", + args: { name: "key" }, + isRequired: true, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--label", + description: + "If no label specified, unlock entry with null label. Filtering is not supported", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "replica", + description: "Manage replicas of an App Configuration", + subcommands: [ + { + name: "create", + description: "Create a new replica of an App Configuration", + options: [ + { + name: ["--location", "-l"], + description: "Location at which to create the replica", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the replica of the App Configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--store-name", "-s"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "store-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: "Delete a replica of an App Configuration", + options: [ + { + name: ["--name", "-n"], + description: "Name of the replica of the App Configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--store-name", "-s"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "store-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List replicas of an App Configuration", + options: [ + { + name: ["--store-name", "-s"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "store-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of a replica of an App Configuration", + options: [ + { + name: ["--name", "-n"], + description: "Name of the replica of the App Configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--store-name", "-s"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "store-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "revision", + description: + "Manage revisions for key-values stored in an App Configuration", + subcommands: [ + { + name: "list", + description: "Lists revision history of key-values", + options: [ + { name: "--all", description: "List all items" }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--datetime", + description: + 'Format: "YYYY-MM-DDThh:mm:ssZ". If no time zone specified, use UTC by default', + args: { name: "datetime" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--fields", + description: "Space-separated customized output fields", + args: { + name: "fields", + suggestions: [ + "content_type", + "etag", + "key", + "label", + "last_modified", + "locked", + "tags", + "value", + ], + }, + }, + { + name: "--key", + description: + "If no key specified, return all keys by default. Support star sign as filters, for instance abc* means keys with abc as prefix", + args: { name: "key" }, + }, + { + name: "--label", + description: + "If no label specified, list all labels. Support star sign as filters, for instance abc* means labels with abc as prefix. Use '\\0' for null label", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--top", "-t"], + description: + "Maximum number of items to return. Must be a positive integer. Default to 100", + args: { name: "top" }, + }, + ], + }, + ], + }, + { + name: "snapshot", + description: + "Manage snapshots associated with an app configuration store", + subcommands: [ + { + name: "archive", + description: "Archive a snapshot", + options: [ + { + name: ["--snapshot-name", "-s"], + description: "Name of the App Configuration snapshot", + args: { name: "snapshot-name" }, + isRequired: true, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + ], + }, + { + name: "create", + description: "Create an app configuration snapshot", + options: [ + { + name: "--filters", + description: + "Space-separated list of escaped JSON objects that represent the key and label filters used to build an App Configuration snapshot", + args: { name: "filters" }, + isRequired: true, + }, + { + name: ["--snapshot-name", "-s"], + description: "Name of the App Configuration snapshot", + args: { name: "snapshot-name" }, + isRequired: true, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--composition-type", + description: + "Composition type used in building App Configuration snapshots. If not specified, defaults to key", + args: { + name: "composition-type", + suggestions: ["key", "key_label"], + }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: "--retention-period", + description: + "Duration in seconds for which a snapshot can remain archived before expiry. A snapshot can be archived for a maximum of 7 days (604,800s) for free tier stores and 90 days (7,776,000s) for standard tier stores. If specified, retention period must be at least 1 hour (3600s)", + args: { name: "retention-period" }, + }, + { + name: "--tags", + description: + "Space-separated tags: key[=value] [key[=value] ...]", + args: { name: "tags" }, + }, + ], + }, + { + name: "list", + description: "List snapshots", + options: [ + { + name: "--all", + description: "List all items", + args: { name: "all" }, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--fields", + description: "Customize output fields for Snapshots", + args: { + name: "fields", + suggestions: [ + "composition_type", + "created", + "etag", + "expires", + "filters", + "items_count", + "name", + "retention_period", + "size", + "status", + "tags", + ], + }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + { + name: ["--snapshot-name", "-s"], + description: + "If no name specified, return all snapshots by default. Support star sign as filters, for instance abc* means snapshots with abc as prefix to the name", + args: { name: "snapshot-name" }, + }, + { + name: "--status", + description: + "Filter snapshots by their status. If no status specified, return all snapshots by default", + args: { + name: "status", + suggestions: ["archived", "failed", "provisioning", "ready"], + }, + }, + { + name: ["--top", "-t"], + description: + "Maximum number of items to return. Must be a positive integer. Default to 100", + args: { name: "top" }, + }, + ], + }, + { + name: "recover", + description: "Recover an archived snapshot", + options: [ + { + name: ["--snapshot-name", "-s"], + description: "Name of the App Configuration snapshot", + args: { name: "snapshot-name" }, + isRequired: true, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + ], + }, + { + name: "show", + description: "Show all attributes of an app configuration snapshot", + options: [ + { + name: ["--snapshot-name", "-s"], + description: "Name of the App Configuration snapshot", + args: { name: "snapshot-name" }, + isRequired: true, + }, + { + name: "--auth-mode", + description: + 'This parameter can be used for indicating how a data operation is to be authorized. If the auth mode is "key", provide connection string or store name and your account access keys will be retrieved for authorization. If the auth mode is "login", provide the store endpoint or store name and your "az login" credentials will be used for authorization. You can configure the default auth mode using az configure --defaults appconfig_auth_mode=. For more information, see https://docs.microsoft.com/azure/azure-app-configuration/concept-enable-rbac', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Combination of access key and endpoint of App Configuration. Can be found using 'az appconfig credential list'. Users can preset it using az configure --defaults appconfig_connection_string= or environment variable with the name AZURE_APPCONFIG_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--endpoint", + description: + 'If auth mode is "login", provide endpoint URL of the App Configuration. The endpoint can be retrieved using "az appconfig show" command. You can configure the default endpoint using az configure --defaults appconfig_endpoint=', + args: { name: "endpoint" }, + }, + { + name: "--fields", + description: "Customize output fields for Snapshots", + args: { + name: "fields", + suggestions: [ + "composition_type", + "created", + "etag", + "expires", + "filters", + "items_count", + "name", + "retention_period", + "size", + "status", + "tags", + ], + }, + }, + { + name: ["--name", "-n"], + description: + "Name of the App Configuration. You can configure the default name using az configure --defaults app_configuration_store=", + args: { name: "name" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/appservice.ts b/src/az/2.53.0/appservice.ts new file mode 100644 index 000000000000..7dee31e7701e --- /dev/null +++ b/src/az/2.53.0/appservice.ts @@ -0,0 +1,1074 @@ +const completion: Fig.Spec = { + name: "appservice", + description: "Manage App Service plans", + subcommands: [ + { + name: "ase", + description: "Manage App Service Environments", + subcommands: [ + { + name: "create", + description: "Create app service environment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the app service environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "Name or ID of existing subnet. To create vnet and/or subnet use az network vnet [subnet] create", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--force-network-security-group", + description: + "Override network security group for subnet. Applies to ASEv2 only", + }, + { + name: "--force-route-table", + description: + "Override route table for subnet. Applies to ASEv2 only", + }, + { + name: "--front-end-scale-factor", + description: + "Scale of front ends to app service plan instance ratio. Applies to ASEv2 only", + args: { name: "front-end-scale-factor" }, + }, + { + name: "--front-end-sku", + description: "Size of front end servers. Applies to ASEv2 only", + args: { name: "front-end-sku", suggestions: ["I1", "I2", "I3"] }, + }, + { + name: "--ignore-network-security-group", + description: + "Configure network security group manually. Applies to ASEv2 only", + }, + { + name: "--ignore-route-table", + description: + "Configure route table manually. Applies to ASEv2 only", + }, + { + name: "--ignore-subnet-size-validation", + description: + "Do not check if subnet is sized according to recommendations", + }, + { + name: ["--kind", "-k"], + description: "Specify App Service Environment version", + args: { name: "kind", suggestions: ["ASEv2", "ASEv3"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--os-preference", + description: + "Determine if app service environment should start with Linux workers. Applies to ASEv2 only", + args: { + name: "os-preference", + suggestions: ["Linux", "Windows"], + }, + }, + { + name: "--virtual-ip-type", + description: + "Specify if app service environment should be accessible from internet", + args: { + name: "virtual-ip-type", + suggestions: ["External", "Internal"], + }, + }, + { + name: "--vnet-name", + description: + "Name of the vNet. Mandatory if only subnet name is specified", + args: { name: "vnet-name" }, + }, + { + name: "--zone-redundant", + description: + "Configure App Service Environment as Zone Redundant. Applies to ASEv3 only", + args: { name: "zone-redundant", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "create-inbound-services", + description: + "Private DNS Zone for Internal (ILB) App Service Environments", + options: [ + { + name: ["--name", "-n"], + description: "Name of the app service environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "Name or ID of existing subnet for DNS Zone link. To create vnet and/or subnet use az network vnet [subnet] create", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--skip-dns", + description: + "Argument 'skip_dns' has been deprecated and will be removed in version '3.0.0'. Do not create Private DNS Zone and DNS records", + }, + { + name: "--vnet-name", + description: + "Name of the vNet. Mandatory if only subnet name is specified", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete app service environment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the app service environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List app service environments", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-addresses", + description: + "List VIPs associated with an app service environment v2", + options: [ + { + name: ["--name", "-n"], + description: "Name of the app service environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-plans", + description: + "List app service plans associated with an app service environment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the app service environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "send-test-notification", + description: + "Send a test upgrade notification in app service environment v3", + options: [ + { + name: ["--name", "-n"], + description: "Name of the app service environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of an app service environment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the app service environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update app service environment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the app service environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--allow-incoming-ftp-connections", "-f"], + description: + "(ASEv3 only) Configure App Service Environment to allow FTP access. This ftpEnabled setting allows you to allow or deny FTP connections on the App Service Environment level. Individual apps will still need to configure FTP access", + args: { + name: "allow-incoming-ftp-connections", + suggestions: ["false", "true"], + }, + }, + { + name: ["--allow-new-private-endpoint-connections", "-p"], + description: + "(ASEv3 only) Configure Apps in App Service Environment to allow new private endpoint connections", + args: { + name: "allow-new-private-endpoint-connections", + suggestions: ["false", "true"], + }, + }, + { + name: ["--allow-remote-debugging", "-r"], + description: + "(ASEv3 only) Configure App Service Environment to allow remote debugging. You will still have to configure remote debugging at the individual app level", + args: { + name: "allow-remote-debugging", + suggestions: ["false", "true"], + }, + }, + { + name: "--front-end-scale-factor", + description: + "(ASEv2 only) Scale of front ends to app service plan instance ratio between 5 and 15", + args: { name: "front-end-scale-factor" }, + }, + { + name: "--front-end-sku", + description: "(ASEv2 only) Size of front end servers", + args: { name: "front-end-sku", suggestions: ["I1", "I2", "I3"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "upgrade", + description: "Upgrade app service environment v3", + options: [ + { + name: ["--name", "-n"], + description: "Name of the app service environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "domain", + description: "Manage custom domains", + subcommands: [ + { + name: "create", + description: "Create and purchase a custom domain", + options: [ + { + name: ["--contact-info", "-c"], + description: + "The file path to a JSON object with your contact info for domain registration. Please see the following link for the format of the JSON file expected: https://github.com/AzureAppServiceCLI/appservice_domains_templates/blob/master/contact_info.json", + args: { name: "contact-info" }, + isRequired: true, + }, + { + name: ["--hostname", "-n"], + description: "Name of the custom domain", + args: { name: "hostname" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--accept-terms", + description: + "By using this flag, you are accepting the conditions shown using the --show-hostname-purchase-terms flag", + }, + { + name: ["--auto-renew", "-a"], + description: "Enable auto-renew on the domain", + args: { name: "auto-renew" }, + }, + { + name: "--dryrun", + description: + "Show summary of the purchase and create operation instead of executing it", + }, + { + name: ["--privacy", "-p"], + description: "Enable privacy protection", + args: { name: "privacy" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "show-terms", + description: + "Show the legal terms for purchasing and creating a custom domain", + options: [ + { + name: ["--hostname", "-n"], + description: "Name of the custom domain", + args: { name: "hostname" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "hybrid-connection", + description: "A method that sets the key a hybrid-connection uses", + subcommands: [ + { + name: "set-key", + description: + "Set the key that all apps in an appservice plan use to connect to the hybrid-connections in that appservice plan", + options: [ + { + name: "--hybrid-connection", + description: "Hybrid connection name", + args: { name: "hybrid-connection" }, + isRequired: true, + }, + { + name: "--key-type", + description: "Which key (primary or secondary) should be used", + args: { name: "key-type" }, + isRequired: true, + }, + { + name: "--namespace", + description: "Hybrid connection namespace", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: "--plan", + description: "AppService plan", + args: { name: "plan" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "kube", + description: "Manage Kubernetes Environments", + subcommands: [ + { + name: "create", + description: "Create a Kubernetes Environment", + options: [ + { + name: ["--custom-location", "-c"], + description: "ID of the custom location", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the kubernetes environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the create to complete, and return immediately after queuing the create", + }, + { + name: "--static-ip", + description: + "Static IP Address. This is required if an AKS resource ID is specified", + args: { name: "static-ip" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete kubernetes environment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Kubernetes Environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List kubernetes environments by subscription or resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a kubernetes environment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Kubernetes Environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update a Kubernetes Environment. Currently not supported", + options: [ + { + name: ["--name", "-n"], + description: "Name of the kubernetes environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--custom-location", "-c"], + description: "ID of the custom location", + args: { name: "custom-location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--static-ip", + description: "New Static IP Address", + args: { name: "static-ip" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Wait for a Kubernetes Environment to reach a desired state", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Kubernetes Environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "list-locations", + description: "List regions where a plan sku is available", + options: [ + { + name: "--sku", + description: + "The pricing tiers, e.g., F1(Free), D1(Shared), B1(Basic Small), B2(Basic Medium), B3(Basic Large), S1(Standard Small), P1V2(Premium V2 Small), P2V2(Premium V2 Medium), P3V2(Premium V2 Large), P0V3(Premium V3 Extra Small), P1V3(Premium V3 Small), P2V3(Premium V3 Medium), P3V3(Premium V3 Large), P1MV3(Premium Memory Optimized V3 Small), P2MV3(Premium Memory Optimized V3 Medium), P3MV3(Premium Memory Optimized V3 Large), P4MV3(Premium Memory Optimized V3 Extra Large), P5MV3(Premium Memory Optimized V3 Extra Extra Large), I1 (Isolated Small), I2 (Isolated Medium), I3 (Isolated Large), I1v2 (Isolated V2 Small), I2v2 (Isolated V2 Medium), I3v2 (Isolated V2 Large), I4v2 (Isolated V2 I4v2), I5v2 (Isolated V2 I5v2), I6v2 (Isolated V2 I6v2), WS1 (Logic Apps Workflow Standard 1), WS2 (Logic Apps Workflow Standard 2), WS3 (Logic Apps Workflow Standard 3)", + args: { + name: "sku", + suggestions: [ + "B1", + "B2", + "B3", + "D1", + "F1", + "FREE", + "I1", + "I1v2", + "I2", + "I2v2", + "I3", + "I3v2", + "I4v2", + "I5v2", + "I6v2", + "P0V3", + "P1MV3", + "P1V2", + "P1V3", + "P2MV3", + "P2V2", + "P2V3", + "P3MV3", + "P3V2", + "P3V3", + "P4MV3", + "P5MV3", + "S1", + "S2", + "S3", + "SHARED", + "WS1", + "WS2", + "WS3", + ], + }, + isRequired: true, + }, + { + name: "--linux-workers-enabled", + description: + "Get regions which support hosting web apps on Linux workers", + args: { name: "linux-workers-enabled" }, + }, + ], + }, + { + name: "plan", + description: "Manage app service plans", + subcommands: [ + { + name: "create", + description: "Create an app service plan", + options: [ + { + name: ["--name", "-n"], + description: "Name of the new app service plan", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--app-service-environment", "-e"], + description: + "Name or ID of the app service environment. If you want to create the app service plan in different subscription than the app service environment, please use the resource ID for --app-service-environment parameter", + args: { name: "app-service-environment" }, + }, + { + name: "--hyper-v", + description: "Host web app on Windows container", + args: { name: "hyper-v" }, + }, + { + name: "--is-linux", + description: "Host web app on Linux worker", + args: { name: "is-linux" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--number-of-workers", + description: "Number of workers to be allocated", + args: { name: "number-of-workers" }, + }, + { + name: "--per-site-scaling", + description: + "Enable per-app scaling at the App Service plan level to allow for scaling an app independently from the App Service plan that hosts it", + }, + { + name: "--sku", + description: + "The pricing tiers, e.g., F1(Free), D1(Shared), B1(Basic Small), B2(Basic Medium), B3(Basic Large), S1(Standard Small), P1V2(Premium V2 Small), P2V2(Premium V2 Medium), P3V2(Premium V2 Large), P0V3(Premium V3 Extra Small), P1V3(Premium V3 Small), P2V3(Premium V3 Medium), P3V3(Premium V3 Large), P1MV3(Premium Memory Optimized V3 Small), P2MV3(Premium Memory Optimized V3 Medium), P3MV3(Premium Memory Optimized V3 Large), P4MV3(Premium Memory Optimized V3 Extra Large), P5MV3(Premium Memory Optimized V3 Extra Extra Large), I1 (Isolated Small), I2 (Isolated Medium), I3 (Isolated Large), I1v2 (Isolated V2 Small), I2v2 (Isolated V2 Medium), I3v2 (Isolated V2 Large), I4v2 (Isolated V2 I4v2), I5v2 (Isolated V2 I5v2), I6v2 (Isolated V2 I6v2), WS1 (Logic Apps Workflow Standard 1), WS2 (Logic Apps Workflow Standard 2), WS3 (Logic Apps Workflow Standard 3)", + args: { + name: "sku", + suggestions: [ + "B1", + "B2", + "B3", + "D1", + "F1", + "FREE", + "I1", + "I1v2", + "I2", + "I2v2", + "I3", + "I3v2", + "I4v2", + "I5v2", + "I6v2", + "P0V3", + "P1MV3", + "P1V2", + "P1V3", + "P2MV3", + "P2V2", + "P2V3", + "P3MV3", + "P3V2", + "P3V3", + "P4MV3", + "P5MV3", + "S1", + "S2", + "S3", + "SHARED", + "WS1", + "WS2", + "WS3", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--zone-redundant", "-z"], + description: + "Enable zone redundancy for high availability. Cannot be changed after plan creation. Minimum instance count is 3", + }, + ], + }, + { + name: "delete", + description: "Delete an app service plan", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the app service plan", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List app service plans", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get the app service plans for a resource group or a set of resource groups", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the app service plan", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an app service plan", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--elastic-scale", + description: + 'Enable or disable automatic scaling. Set to "true" to enable elastic scale for this plan, or "false" to disable elastic scale for this plan. The SKU must be a Premium V2 SKU (P1V2, P2V2, P3V2) or a Premium V3 SKU (P1V3, P2V3, P3V3)', + args: { name: "elastic-scale", suggestions: ["false", "true"] }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--max-elastic-worker-count", "-m"], + description: + "Maximum number of instances that the plan can scale out to. The plan must be an elastic scale plan", + args: { name: "max-elastic-worker-count" }, + }, + { + name: ["--name", "-n"], + description: "The name of the app service plan", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--number-of-workers", + description: "Number of workers to be allocated", + args: { name: "number-of-workers" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: + "The pricing tiers, e.g., F1(Free), D1(Shared), B1(Basic Small), B2(Basic Medium), B3(Basic Large), S1(Standard Small), P1V2(Premium V2 Small), P2V2(Premium V2 Medium), P3V2(Premium V2 Large), P0V3(Premium V3 Extra Small), P1V3(Premium V3 Small), P2V3(Premium V3 Medium), P3V3(Premium V3 Large), P1MV3(Premium Memory Optimized V3 Small), P2MV3(Premium Memory Optimized V3 Medium), P3MV3(Premium Memory Optimized V3 Large), P4MV3(Premium Memory Optimized V3 Extra Large), P5MV3(Premium Memory Optimized V3 Extra Extra Large), I1 (Isolated Small), I2 (Isolated Medium), I3 (Isolated Large), I1v2 (Isolated V2 Small), I2v2 (Isolated V2 Medium), I3v2 (Isolated V2 Large), I4v2 (Isolated V2 I4v2), I5v2 (Isolated V2 I5v2), I6v2 (Isolated V2 I6v2), WS1 (Logic Apps Workflow Standard 1), WS2 (Logic Apps Workflow Standard 2), WS3 (Logic Apps Workflow Standard 3)", + args: { + name: "sku", + suggestions: [ + "B1", + "B2", + "B3", + "D1", + "F1", + "FREE", + "I1", + "I1v2", + "I2", + "I2v2", + "I3", + "I3v2", + "I4v2", + "I5v2", + "I6v2", + "P0V3", + "P1MV3", + "P1V2", + "P1V3", + "P2MV3", + "P2V2", + "P2V3", + "P3MV3", + "P3V2", + "P3V3", + "P4MV3", + "P5MV3", + "S1", + "S2", + "S3", + "SHARED", + "WS1", + "WS2", + "WS3", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "vnet-integration", + description: + "A method that lists the virtual network integrations used in an appservice plan", + subcommands: [ + { + name: "list", + description: + "List the virtual network integrations used in an appservice plan", + options: [ + { + name: "--plan", + description: "AppService plan", + args: { name: "plan" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/arcappliance.ts b/src/az/2.53.0/arcappliance.ts new file mode 100644 index 000000000000..3a9ed81ef4c5 --- /dev/null +++ b/src/az/2.53.0/arcappliance.ts @@ -0,0 +1,1840 @@ +const completion: Fig.Spec = { + name: "arcappliance", + description: "Commands to manage Arc resource bridge", + subcommands: [ + { + name: "create", + description: + "Command group for creation of the connection between the Arc resource bridge on-premises appliance VM and its corresponding Azure resource", + subcommands: [ + { + name: "hci", + description: + "Command to create the connection between the on-premises appliance VM and Azure resource for Arc resource bridge (Azure Stack HCI)", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: "--kubeconfig", + description: "Path to kubeconfig, output from deploy command", + args: { name: "kubeconfig" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "scvmm", + description: + "Command to create the connection between the on-premises appliance VM and Azure resource for Arc resource bridge on SCVMM", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: "--kubeconfig", + description: "Path to kubeconfig, output from deploy command", + args: { name: "kubeconfig" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "vmware", + description: + "Command to create the connection between the on-premises appliance VM and Azure resource for Arc resource bridge (Arc-enabled VMware)", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: "--kubeconfig", + description: "Path to kubeconfig, output from deploy command", + args: { name: "kubeconfig" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "createconfig", + description: + "Command group for creating configuration files for Arc resource bridge.\n\n\t\tThis command features two modes - interactive and non-interactive. Interactive mode provides helpful prompts that explain the parameter and what to pass. It is initiated by passing only the required parameters. Non-interactive mode allows you to pass all the parameters needed to create the configuration files without being prompted", + subcommands: [ + { + name: "hci", + description: + "Command to create configuration files for Arc Resource Bridge on HCI", + options: [ + { + name: ["--location", "-l"], + description: + "The Azure location where the Arc resource bridge Azure resource will be deployed. Must be a valid location where the self-service VM feature for Azure Stack HCI is available and set to the same location as the resource group", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--authenticationport", + description: + "Network port used by appliance VM IP to communicate with the cloud agent service endpoint. This port should be open on the firewall to enable communication between the two if the Windows Server physical cluster nodes and Arc resource bridge VM are on separate VLANs", + args: { name: "authenticationport" }, + }, + { + name: "--certificateFilePath", + description: + "Certificate file path if your proxy server requires the proxy clients to trust a certificate. Only pass a single proxy certificate, not a bundle", + args: { name: "certificateFilePath" }, + }, + { + name: "--cloudagent", + description: + "FQDN or IP address of the Azure Stack HCI MOC cloud agent service used by Arc resource bridge. This can be found in the -infra.yaml configuration file stored locally on the HCI cluster", + args: { name: "cloudagent" }, + }, + { + name: "--controlPlaneEndpoint", + description: + "Arc resource bridge on-premises appliance VM hosts a management kubernetes cluster with a control plane that requires a static IP address. This static IP address must lie within the subnet range specified in the IP address prefix", + args: { name: "controlPlaneEndpoint" }, + }, + { + name: "--dnsservers", + description: + "IP address(es) of DNS server(s) used by Arc resource bridge on-premises appliance VM for DNS resolution. Appliance VM must be able to resolve external sites and internal endpoints. Enter multiple IP addresses as a comma-separated list", + args: { name: "dnsservers" }, + }, + { + name: "--gateway", + description: + "Static gateway IP address, must lie within the subnet range specified in the IP address prefix", + args: { name: "gateway" }, + }, + { + name: "--http", + description: + "HTTP proxy URL and port information entered as http://:. Example: http://192.168.0.10:80", + args: { name: "http" }, + }, + { + name: "--https", + description: + "HTTPS URL and port information entered as http://:. Example: https://192.168.0.10:443", + args: { name: "https" }, + }, + { + name: "--ipaddressprefix", + description: + "Arc resource bridge requires 3 IP addresses for the on-premises appliance VM (appliance VM IP, upgrade VM IP, control plane IP). All IPs should reside within the same subnet and fall within the range specified in the IP address prefix. IP address prefix is entered as the subnet's IP address range for the virtual network and subnet mask (IP Mask) in CIDR notation (ex: 192.168.7.1/24). An IP Subnet CIDR calculator can be used for this. Example: For IPs within a subnet range of 192.168.7.1 - 192.168.7.254, the IP address prefix is 192.168.7.1/24. Within 192.168.7.1/24, set k8snodeippoolstart (appliance VM IP) to 192.168.7.2, k8snodeippoolend (upgrade VM IP) to 192.168.7.3 and control plane IP to 192.168.7.4", + args: { name: "ipaddressprefix" }, + }, + { + name: "--k8snodeippoolend", + description: + "Arc resource bridge on-premises appliance VM requires 2 IP addresses (appliance VM IP & upgrade VM IP) that should reside within the same subnet and fall within the range specified in the IP address prefix. IP addresses are specified as an IP range with a minimum size of 2 IP addresses. This parameter is to specify the end range IP. Example: For a subnet range of 192.168.7.1 - 192.168.7.254, the IP address prefix is 192.168.7.1/24. Within 192.168.7.1/24, set k8snodeippoolstart (appliance VM IP) to 192.168.7.2, k8snodeippoolend (upgrade VM IP) to 192.168.7.3 and control plane IP to 192.168.7.4", + args: { name: "k8snodeippoolend" }, + }, + { + name: "--k8snodeippoolstart", + description: + "Arc resource bridge on-premises appliance VM requires 2 IP addresses (appliance VM IP & upgrade VM IP) that should reside within the same subnet and fall within the range specified in the IP address prefix. IP addresses are specified as an IP range with a minimum size of 2 IP addresses. This parameter is to specify the start range IP. Example: For a subnet range of 192.168.7.1 - 192.168.7.254, the IP address prefix is 192.168.7.1/24. Within 192.168.7.1/24, set k8snodeippoolstart (appliance VM IP) to 192.168.7.2, k8snodeippoolend (upgrade VM IP) to 192.168.7.3 and control plane IP to 192.168.7.4", + args: { name: "k8snodeippoolstart" }, + }, + { + name: "--loginconfigfile", + description: + "File path for the Azure Stack HCI login configuration file, kvatoken.tok. By default, it is stored locally on the HCI cluster", + args: { name: "loginconfigfile" }, + }, + { + name: "--noproxy", + description: + "The list of comma-separated entries for excluded networks, hosts, or domains from being accessed through the proxy server", + args: { name: "noproxy" }, + }, + { + name: "--out-dir", + description: + "Output directory for Arc resource bridge configuration files, defaults to ./ (current directory)", + args: { name: "out-dir" }, + }, + { + name: "--overwrite-existing", + description: + "Overwrite existing configuration files. Default: False", + }, + { name: "--port", description: "Port", args: { name: "port" } }, + { + name: "--storagecontainer", + description: "Azure Stack HCI storage container", + args: { name: "storagecontainer" }, + }, + { + name: "--vlanid", + description: "VLAN ID", + args: { name: "vlanid" }, + }, + { + name: "--vswitchname", + description: "Azure Stack HCI virtual network switch name", + args: { name: "vswitchname" }, + }, + { + name: "--working-dir", + description: + "Local directory path to store image & files downloaded for Arc resource bridge on-premises appliance VM deployment. If not specified, a default temp directory is used", + args: { name: "working-dir" }, + }, + ], + }, + { + name: "scvmm", + description: + "Command to create Arc resource bridge configuration files for Arc-enabled SCVMM", + options: [ + { + name: ["--location", "-l"], + description: + "The Azure location where the Arc resource bridgeAzure resource will be deployed. Must be a valid location where Arc-enabled SCVMM is available and set to the same location as the resource group", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address", + description: + "SCVMM Server FQDN(Role name in case of HAVMM) or IP address", + args: { name: "address" }, + }, + { + name: "--certificateFilePath", + description: + "Certificate file path if your proxy server requires the proxy clients to trust a certificate (press enter to skip)", + args: { name: "certificateFilePath" }, + }, + { + name: "--cloudname", + description: "SCVMM cloud", + args: { name: "cloudname" }, + }, + { + name: "--controlPlaneEndpoint", + description: + "Arc resource bridge on-premises appliance VM hosts a management kubernetes cluster with a control plane that requires a static IP address. This static IP address must lie within the subnet range specified in the IP address prefix", + args: { name: "controlPlaneEndpoint" }, + }, + { + name: "--dnsservers", + description: + "IP address(es) of DNS server(s) used by Arc resource bridge on-premises appliance VM for DNS resolution. Appliance VM must be able to resolve external sites and internal endpoints. Enter multiple IP addresses as a comma-separated list", + args: { name: "dnsservers" }, + }, + { + name: "--gateway", + description: + "Static gateway IP address, must lie within the subnet range specified in the IP address prefix", + args: { name: "gateway" }, + }, + { + name: "--highlyavailable", + description: + "Deploy resource bridge as Highly available.Highly available vm recommended for production environment.(Expected true/false)", + args: { name: "highlyavailable" }, + }, + { + name: "--http", + description: + "HTTP proxy URL and port information entered as http://:. Example: http://192.168.0.10:80", + args: { name: "http" }, + }, + { + name: "--https", + description: + "HTTPS URL and port information entered as http://:. Example: https://192.168.0.10:443", + args: { name: "https" }, + }, + { + name: "--ipaddressprefix", + description: + "Arc resource bridge requires 3 IP addresses for the on-premises appliance VM (appliance VM IP, upgrade VM IP, control plane IP). All IPs should reside within the same subnet and fall within the range specified in the IP address prefix. IP address prefix is entered as the subnet's IP address range for the virtual network and subnet mask (IP Mask) in CIDR notation (ex: 192.168.7.1/24). An IP Subnet CIDR calculator can be used for this. Example: For IPs within a subnet range of 192.168.7.1 - 192.168.7.254, the IP address prefix is 192.168.7.1/24. Within 192.168.7.1/24, set k8snodeippoolstart (appliance VM IP) to 192.168.7.2, k8snodeippoolend (upgrade VM IP) to 192.168.7.3 and control plane IP to 192.168.7.4", + args: { name: "ipaddressprefix" }, + }, + { + name: "--ippool", + description: "SCVMM Static IP Pool", + args: { name: "ippool" }, + }, + { + name: "--k8snodeippoolend", + description: + "Arc resource bridge on-premises appliance VM requires 2 IP addresses (appliance VM IP & upgrade VM IP) that should reside within the same subnet and fall within the range specified in the IP address prefix. IP addresses are specified as an IP range with a minimum size of 2 IP addresses. This parameter is to specify the end range IP. Example: For a subnet range of 192.168.7.1 - 192.168.7.254, the IP address prefix is 192.168.7.1/24. Within 192.168.7.1/24, set k8snodeippoolstart (appliance VM IP) to 192.168.7.2, k8snodeippoolend (upgrade VM IP) to 192.168.7.3 and control plane IP to 192.168.7.4", + args: { name: "k8snodeippoolend" }, + }, + { + name: "--k8snodeippoolstart", + description: + "Arc resource bridge on-premises appliance VM requires 2 IP addresses (appliance VM IP & upgrade VM IP) that should reside within the same subnet and fall within the range specified in the IP address prefix. IP addresses are specified as an IP range with a minimum size of 2 IP addresses. This parameter is to specify the start range IP. Example: For a subnet range of 192.168.7.1 - 192.168.7.254, the IP address prefix is 192.168.7.1/24. Within 192.168.7.1/24, set k8snodeippoolstart (appliance VM IP) to 192.168.7.2, k8snodeippoolend (upgrade VM IP) to 192.168.7.3 and control plane IP to 192.168.7.4", + args: { name: "k8snodeippoolstart" }, + }, + { + name: "--libshare", + description: + "SCVMM library share (Ensure VMM server has write access on the selected Library Share)", + args: { name: "libshare" }, + }, + { + name: "--macaddress", + description: + "Static MAC address (Press enter to assign MAC from Default VMM MAC Pool)", + args: { name: "macaddress" }, + }, + { + name: "--memorymib", + description: + "Specify the memory (MB) for the Arc resource bridge on-premises appliance VM", + args: { name: "memorymib" }, + }, + { + name: "--network", + description: "SCVMM VM network", + args: { name: "network" }, + }, + { + name: "--noproxy", + description: + "The list of comma separated entries for excluded networks, hosts, or domains from being accessed through the proxy server", + args: { name: "noproxy" }, + }, + { + name: "--numcpus", + description: + "Specify the number of CPUs to allocate to the Arc resource bridge on-premises appliance VM", + args: { name: "numcpus" }, + }, + { + name: "--out-dir", + description: + "Output directory for Arc resource bridge configuration files, defaults to ./ (current directory)", + args: { name: "out-dir" }, + }, + { + name: "--overwrite-existing", + description: + "Overwrite existing configuration files. Default: False", + }, + { + name: "--password", + description: "SCVMM Administrator Password", + args: { name: "password" }, + }, + { + name: "--port", + description: + "SCVMM server port (The default is 8100. This is the port number specified for VMM console to server connection e.g. vmmserver.constoso.com:8100)", + args: { name: "port" }, + }, + { + name: "--username", + description: "SCVMM Administrator Username (domain\\username)", + args: { name: "username" }, + }, + { + name: "--working-dir", + description: + "Local directory path to store image & files downloaded for Arc resource bridge on-premises appliance VM deployment. If not specified, a default temp directory is used", + args: { name: "working-dir" }, + }, + ], + }, + { + name: "vmware", + description: + "Command to create Arc resource bridge configuration files for Arc-enabled VMware", + options: [ + { + name: ["--location", "-l"], + description: + "The Azure location where the Arc resource bridge Azure resource will be deployed. Must be a valid location where Arc-enabled VMware is available and set to the same location as the resource group", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address", + description: + "FQDN or IP address for vCenter Server instance. Ex: 10.160.0.1", + args: { name: "address" }, + }, + { + name: "--certificateFilePath", + description: + "Certificate file path if your proxy server requires the proxy clients to trust a certificate. Only pass a single proxy certificate, not a bundle. (Press enter to skip)", + args: { name: "certificateFilePath" }, + }, + { + name: "--controlPlaneEndpoint", + description: + "Arc resource bridge on-premises appliance VM hosts a management kubernetes cluster with a control plane that requires a static IP address. This static IP address must lie within the subnet range specified in the IP address prefix", + args: { name: "controlPlaneEndpoint" }, + }, + { + name: "--datacenter", + description: + "Name of the datacenter (as shown in vSphere) where the Arc resource bridge on-premises appliance VM should be deployed", + args: { name: "datacenter" }, + }, + { + name: "--datastore", + description: + "Name of datastore to be used for Arc resource bridge on-premises appliance VM", + args: { name: "datastore" }, + }, + { + name: "--disksizegib", + description: + "Specify the disk size (GB) for the Arc resource bridge on-premises appliance VM", + args: { name: "disksizegib" }, + }, + { + name: "--dnsservers", + description: + "IP address(es) of DNS server(s) used by Arc resource bridge on-premises appliance VM for DNS resolution. Appliance VM must be able to resolve external sites and internal endpoints. Enter multiple IP addresses as a comma-separated list", + args: { name: "dnsservers" }, + }, + { + name: "--folder", + description: + "Full path to the vSphere folder, including vSphere VM name and template folder. This is where the Arc resource bridge appliance VM will be deployed. Ex: /DatacenterA/vm/FolderA", + args: { name: "folder" }, + }, + { + name: "--gateway", + description: + "Static gateway IP address, must lie within the subnet range specified in the IP address prefix", + args: { name: "gateway" }, + }, + { + name: "--http", + description: + "HTTP proxy URL and port information entered as http://:. Example: http://192.168.0.10:80", + args: { name: "http" }, + }, + { + name: "--https", + description: + "HTTPS URL and port information entered as http://:. Example: https://192.168.0.10:443", + args: { name: "https" }, + }, + { + name: "--ipaddressprefix", + description: + "Arc resource bridge requires 3 IP addresses for the on-premises appliance VM (appliance VM IP, upgrade VM IP, control plane IP). All IPs should reside within the same subnet and fall within the range specified in the IP address prefix. IP address prefix is entered as the subnet's IP address range for the virtual network and subnet mask (IP Mask) in CIDR notation (ex: 192.168.7.1/24). An IP Subnet CIDR calculator can be used for this. Example: For IPs within a subnet range of 192.168.7.1 - 192.168.7.254, the IP address prefix is 192.168.7.1/24. Within 192.168.7.1/24, set k8snodeippoolstart (appliance VM IP) to 192.168.7.2, k8snodeippoolend (upgrade VM IP) to 192.168.7.3 and control plane IP to 192.168.7.4", + args: { name: "ipaddressprefix" }, + }, + { + name: "--k8snodeippoolend", + description: + "Arc resource bridge on-premises appliance VM requires 2 IP addresses (appliance VM IP & upgrade VM IP) that should reside within the same subnet and fall within the range specified in the IP address prefix. IP addresses are specified as an IP range with a minimum size of 2 IP addresses. This parameter is to specify the end range IP. Example: For a subnet range of 192.168.7.1 - 192.168.7.254, the IP address prefix is 192.168.7.1/24. Within 192.168.7.1/24, set k8snodeippoolstart (appliance VM IP) to 192.168.7.2, k8snodeippoolend (upgrade VM IP) to 192.168.7.3 and control plane IP to 192.168.7.4", + args: { name: "k8snodeippoolend" }, + }, + { + name: "--k8snodeippoolstart", + description: + "Arc resource bridge on-premises appliance VM requires 2 IP addresses (appliance VM IP & upgrade VM IP) that should reside within the same subnet and fall within the range specified in the IP address prefix. IP addresses are specified as an IP range with a minimum size of 2 IP addresses. This parameter is to specify the start range IP. Example: For a subnet range of 192.168.7.1 - 192.168.7.254, the IP address prefix is 192.168.7.1/24. Within 192.168.7.1/24, set k8snodeippoolstart (appliance VM IP) to 192.168.7.2, k8snodeippoolend (upgrade VM IP) to 192.168.7.3 and control plane IP to 192.168.7.4", + args: { name: "k8snodeippoolstart" }, + }, + { + name: "--memorymib", + description: + "Specify the memory (MB) for the Arc resource bridge on-premises appliance VM", + args: { name: "memorymib" }, + }, + { + name: "--network", + description: + "Name of the virtual network or segment to connect Arc resource bridge on-premises appliance VM to. This network should allow the appliance VM to communicate with vCenter Server and the Azure endpoints (or internet)", + args: { name: "network" }, + }, + { + name: "--noproxy", + description: + "The list of comma separated entries for excluded networks, hosts, or domains from being accessed through the proxy server", + args: { name: "noproxy" }, + }, + { + name: "--numcpus", + description: + "Specify the number of CPUs to allocate to the Arc resource bridge on-premises appliance VM", + args: { name: "numcpus" }, + }, + { + name: "--out-dir", + description: + "Output directory for Arc resource bridge configuration files, defaults to ./ (current directory)", + args: { name: "out-dir" }, + }, + { + name: "--overwrite-existing", + description: + "Overwrite existing configuration files. Default: False", + }, + { + name: "--password", + description: + "Password for vSphere account that Arc resource bridge uses for on-premises infrastructure guest management", + args: { name: "password" }, + }, + { + name: "--resourcepool", + description: + "Full path to the vSphere resource pool where the on-premises appliance VM will be deployed. Ex: /DatacenterA/host/Cluster-1/Resources/ResourcePoolA", + args: { name: "resourcepool" }, + }, + { + name: "--username", + description: + "Username for vSphere account that Arc resource bridge uses for on-premises infrastructure guest management", + args: { name: "username" }, + }, + { + name: "--working-dir", + description: + "Local directory path to store image & files downloaded for Arc resource bridge on-premises appliance VM deployment. If not specified, a default temp directory is used", + args: { name: "working-dir" }, + }, + ], + }, + ], + }, + { + name: "delete", + description: + "Command group for deletion of an Arc resource bridge on-premises appliance VM and its Azure resource", + subcommands: [ + { + name: "hci", + description: + "Command to delete the on-premises appliance VM on Azure Stack HCI and Arc resource bridge Azure resource", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "scvmm", + description: + "Command to delete the on-premises appliance VM on SCVMM and Azure resource", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "vmware", + description: + "Command to delete the on-premises appliance VM and Azure resource for Arc resource bridge (Arc-enabled VMware)", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "deploy", + description: + "Command group for deployment of the Arc resource bridge on-premises appliance VM and creation of its corresponding Azure resource", + subcommands: [ + { + name: "hci", + description: + "Command to deploy the Arc resource bridge's on-premises appliance VM on Azure Stack HCI and its corresponding Azure resource", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: "--outfile", + description: + "File output path for the kubeconfig, defaults to ./kubeconfig", + args: { name: "outfile" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "scvmm", + description: + "Command to deploy the Arc resource bridge's on-premises appliance VM and its Azure resource for Arc-enabled SCVMM", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: "--outfile", + description: + "File output path for the kubeconfig, defaults to ./kubeconfig", + args: { name: "outfile" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "vmware", + description: + "Command to deploy the Arc resource bridge's on-premises appliance VM on VMWare and its corresponding Azure resource", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: "--outfile", + description: + "File output path for the kubeconfig, defaults to ./kubeconfig", + args: { name: "outfile" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "get-credentials", + description: + "Command to get the on-premises infrastructure credentials used by Arc resource bridge to manage on-premises resources", + options: [ + { + name: "--config-file", + description: + "Path to Appliance Config File. This is required if name and resource group are not specified", + args: { name: "config-file" }, + }, + { + name: "--credentials-dir", + description: + "Specify a directory path where the log key, certificate output and kubeconfig are saved. If no value specified, for Darwin/Linux defaults to .kva/.ssh for keys and current directory for kubeconfig,for windows defaults to C:\\ProgramData\\kva.ssh for keys and current directory for kubeconfig", + args: { name: "credentials-dir" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: "--overwrite-existing", + description: "Overwrite existing kubeconfig file. Default: False", + }, + { + name: "--partner", + description: + "Returns the credentials used by private cloud RP/service to access Arc Resource Bridge. Default: customer user credentials", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: + "Do not prompt for confirmation to create credentials_dir if directory does not exist. Default is to prompt for directory creation", + }, + ], + }, + { + name: "get-upgrades", + description: "Command to fetch the available upgrades for an Appliance", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "Command to list Arc resource bridge resources", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "notice", + description: + "Command to display the EULA & Notice File link for Arc resource bridge", + }, + { + name: "show", + description: + "Command to provide information about an Arc resource bridge Azure resource. This is useful to monitor the status of the resource bridge", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "logs", + description: + "Command group for collecting logs for Arc resource bridge. Run get-credentials command before running logs command", + subcommands: [ + { + name: "hci", + description: + "Command to collect logs for an Arc resource bridge's on-premises appliance VM on Azure Stack HCI", + options: [ + { + name: "--cloudagent", + description: + "FQDN or IP address of the Azure Stack HCI MOC cloud agent service used by Arc resource bridge. This can be found in the -infra.yaml configuration file stored locally on the HCI cluster", + args: { name: "cloudagent" }, + }, + { + name: "--credentials-dir", + description: + "Folder to read logging key and certificate from. If no value specified, defaults to .kva/.ssh for Darwin and Linux and C:\\ProgramData\\kva.ssh for Windows", + args: { name: "credentials-dir" }, + }, + { + name: "--ip", + description: + "Arc resource bridge on-premises appliance VM IP or its control plane IP", + args: { name: "ip" }, + }, + { + name: "--kubeconfig", + description: "Path to kubeconfig, output from deploy command", + args: { name: "kubeconfig" }, + }, + { + name: "--loginconfigfile", + description: + "File path for the Azure Stack HCI login configuration file, kvatoken.tok. By default, it is stored locally on the HCI cluster", + args: { name: "loginconfigfile" }, + }, + { + name: "--out-dir", + description: + "Output directory for on-premises appliance VM log files, defaults to ./ (current directory)", + args: { name: "out-dir" }, + }, + ], + }, + { + name: "scvmm", + description: + "Command to collect logs for Arc resource bridge on SCVMM (Arc-enabled SCVMM)", + options: [ + { + name: "--credentials-dir", + description: + "Folder to read logging key and certificate from. If no value specified, defaults to .kva/.ssh for Darwin and Linux and C:\\ProgramData\\kva.ssh for Windows", + args: { name: "credentials-dir" }, + }, + { + name: "--ip", + description: + "Arc resource bridge on-premises appliance VM IP or its control plane IP", + args: { name: "ip" }, + }, + { + name: "--kubeconfig", + description: "Path to kubeconfig, output from deploy command", + args: { name: "kubeconfig" }, + }, + { + name: "--out-dir", + description: + "Output directory for on-premises appliance VM log files, defaults to ./ (current directory)", + args: { name: "out-dir" }, + }, + ], + }, + { + name: "vmware", + description: + "Command to collect logs for Arc resource bridge on VMware (Arc-enabled VMware)", + options: [ + { + name: "--address", + description: + "FQDN or IP address for vCenter Server instance. Ex: 10.160.0.1", + args: { name: "address" }, + }, + { + name: "--credentials-dir", + description: + "Folder to read logging key and certificate from. If no value specified, defaults to .kva/.ssh for Darwin and Linux and C:\\ProgramData\\kva.ssh for Windows", + args: { name: "credentials-dir" }, + }, + { + name: "--ip", + description: + "Arc resource bridge on-premises appliance VM IP or its control plane IP", + args: { name: "ip" }, + }, + { + name: "--kubeconfig", + description: "Path to kubeconfig, output from deploy command", + args: { name: "kubeconfig" }, + }, + { + name: "--out-dir", + description: + "Output directory for on-premises appliance VM log files, defaults to ./ (current directory)", + args: { name: "out-dir" }, + }, + { + name: "--password", + description: + "Password for vSphere account that Arc resource bridge uses for on-premises infrastructure guest management", + args: { name: "password" }, + }, + { + name: "--username", + description: + "Username for vSphere account that Arc resource bridge uses for on-premises infrastructure guest management", + args: { name: "username" }, + }, + ], + }, + ], + }, + { + name: "prepare", + description: + "Command group for preparing for an Arc resource bridge deployment. This downloads the necessary images to build the on-premises appliance VM and uploads it to the private cloud gallery", + subcommands: [ + { + name: "hci", + description: + "Command to prepare the on-premises Azure Stack HCI environment for an Arc resource bridge deployment. This downloads the necessary images to build the on-premises appliance VM and uploads it to the private cloud gallery", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "scvmm", + description: + "Command to prepare for an Arc resource bridge deployment on SCVMM for Arc-enabled SCVMM. This downloads the necessary images to build the on-premises appliance VM and uploads it to the private cloud gallery", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "vmware", + description: + "Command to prepare for an Arc resource bridge deployment on VMware for Arc-enabled VMware. This downloads the necessary images to build the on-premises appliance VM and uploads it to the private cloud gallery", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "run", + description: + "Command group for consecutively running the Arc resource bridge commands required for deployment. This command is idempotent", + subcommands: [ + { + name: "hci", + description: + "Command to consecutively run the Arc resource bridge commands required for deployment on Azure Stack HCI. This command is idempotent", + options: [ + { + name: ["--location", "-l"], + description: + "The Azure location where the Arc resource bridge Azure resource will be deployed. Must be set to the same location as the resource group", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--cloudagent", + description: + "FQDN or IP address of the Azure Stack HCI MOC cloud agent service used by Arc resource bridge. This can be found in the -infra.yaml configuration file stored locally on the HCI cluster", + args: { name: "cloudagent" }, + }, + { + name: "--force", + description: + "Delete Arc resource bridge on-premises appliance VM and Azure resource with the same name/id (if it exists) before continuing to the run command", + }, + { + name: "--loginconfigfile", + description: + "File path for the Azure Stack HCI login configuration file, kvatoken.tok. By default, it is stored locally on the HCI cluster", + args: { name: "loginconfigfile" }, + }, + { + name: "--out-dir", + description: + "Output directory for on-premises appliance VM log files, defaults to ./ (current directory)", + args: { name: "out-dir" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--working-dir", + description: + "Local directory path to store image & files downloaded for Arc resource bridge on-premises appliance VM deployment. If not specified, a default temp directory is used", + args: { name: "working-dir" }, + }, + ], + }, + { + name: "scvmm", + description: + "Command to consecutively run the Arc resource bridge commands required for deployment on SCVMM. This command is idempotent", + options: [ + { + name: ["--location", "-l"], + description: + "The Azure location where the Arc resource bridge Azure resource will be deployed. Must be set to the same location as the resource group", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address", + description: + "SCVMM Server FQDN(Role name in case of HAVMM) or IP address", + args: { name: "address" }, + }, + { + name: "--force", + description: + "Delete Arc resource bridge on-premises appliance VM and Azure resource with the same name/id (if it exists) before continuing to the run command", + }, + { + name: "--out-dir", + description: + "Output directory for on-premises appliance VM log files, defaults to ./ (current directory)", + args: { name: "out-dir" }, + }, + { + name: "--password", + description: "SCVMM Administrator Password", + args: { name: "password" }, + }, + { + name: "--port", + description: + "SCVMM server port (The default is 8100. This is the port number specified for VMM console to server connection e.g. vmmserver.constoso.com:8100)", + args: { name: "port" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--username", + description: "SCVMM Administrator Username (domain\\username)", + args: { name: "username" }, + }, + { + name: "--working-dir", + description: + "Local directory path to store image & files downloaded for Arc resource bridge on-premises appliance VM deployment. If not specified, a default temp directory is used", + args: { name: "working-dir" }, + }, + ], + }, + { + name: "vmware", + description: + "Command to consecutively run the Arc resource bridge commands required for deployment on VMware (Arc-enabled VMware). This command is idempotent", + options: [ + { + name: ["--location", "-l"], + description: + "The Azure location where the Arc resource bridge Azure resource will be deployed. Must be set to the same location as the resource group", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address", + description: + "FQDN or IP address for vCenter Server instance. Ex: 10.160.0.1", + args: { name: "address" }, + }, + { + name: "--force", + description: + "Delete Arc resource bridge on-premises appliance VM and Azure resource with the same name/id (if it exists) before continuing to the run command", + }, + { + name: "--out-dir", + description: + "Output directory for on-premises appliance VM log files, defaults to ./ (current directory)", + args: { name: "out-dir" }, + }, + { + name: "--password", + description: + "Password for vSphere account that Arc resource bridge uses for on-premises infrastructure guest management", + args: { name: "password" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--username", + description: + "Username for vSphere account that Arc resource bridge uses for on-premises infrastructure guest management", + args: { name: "username" }, + }, + { + name: "--working-dir", + description: + "Local directory path to store image & files downloaded for Arc resource bridge on-premises appliance VM deployment. If not specified, a default temp directory is used", + args: { name: "working-dir" }, + }, + ], + }, + ], + }, + { + name: "troubleshoot", + description: "Command group for troubleshooting an Appliance cluster", + subcommands: [ + { + name: "command", + description: + "Command group for troubleshooting an Appliance cluster by executing a shell command", + subcommands: [ + { + name: "hci", + description: + "Command to execute a shell command on an HCI cluster for troubleshooting", + options: [ + { + name: "--cloudagent", + description: + "FQDN or IP address of the Azure Stack HCI MOC cloud agent service used by Arc resource bridge. This can be found in the -infra.yaml configuration file stored locally on the HCI cluster", + args: { name: "cloudagent" }, + }, + { + name: "--command", + description: "This is the shell command to be executed", + args: { name: "command" }, + }, + { + name: "--credentials-dir", + description: + "This is the path to the log key directory, which stores credentials for your Resource Bridge. Once a scoped access key has been generated, use the az arcappliance get-credentials command to download it", + args: { name: "credentials-dir" }, + }, + { + name: "--ip", + description: + "Arc resource bridge on-premises appliance VM IP or its control plane IP", + args: { name: "ip" }, + }, + { + name: "--loginconfigfile", + description: + "File path for the Azure Stack HCI login configuration file, kvatoken.tok. By default, it is stored locally on the HCI cluster", + args: { name: "loginconfigfile" }, + }, + ], + }, + { + name: "scvmm", + description: + "Command to execute a shell command on an SCVMM cluster for troubleshooting", + options: [ + { + name: "--command", + description: "This is the shell command to be executed", + args: { name: "command" }, + }, + { + name: "--credentials-dir", + description: + "This is the path to the log key directory, which stores credentials for your Resource Bridge. Once a scoped access key has been generated, use the az arcappliance get-credentials command to download it", + args: { name: "credentials-dir" }, + }, + { + name: "--ip", + description: + "Arc resource bridge on-premises appliance VM IP or its control plane IP", + args: { name: "ip" }, + }, + ], + }, + { + name: "vmware", + description: + "Command to execute a shell command on an VMWare cluster for troubleshooting", + options: [ + { + name: "--address", + description: + "FQDN or IP address for vCenter Server instance. Ex: 10.160.0.1", + args: { name: "address" }, + }, + { + name: "--command", + description: "This is the shell command to be executed", + args: { name: "command" }, + }, + { + name: "--credentials-dir", + description: + "This is the path to the log key directory, which stores credentials for your Resource Bridge. Once a scoped access key has been generated, use the az arcappliance get-credentials command to download it", + args: { name: "credentials-dir" }, + }, + { + name: "--ip", + description: + "Arc resource bridge on-premises appliance VM IP or its control plane IP", + args: { name: "ip" }, + }, + { + name: "--password", + description: + "Password for vSphere account that Arc resource bridge uses for on-premises infrastructure guest management", + args: { name: "password" }, + }, + { + name: "--username", + description: + "Username for vSphere account that Arc resource bridge uses for on-premises infrastructure guest management", + args: { name: "username" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "update-infracredentials", + description: + "Command group for updating the on-premises infrastructure credentials used by Arc resource bridge to manage on-premises resources", + subcommands: [ + { + name: "hci", + description: + "Command to update the on-premises infrastructure credentials for Azure Stack HCI used by Arc resource bridge", + options: [ + { + name: "--kubeconfig", + description: "Path to kubeconfig output from deploy command", + args: { name: "kubeconfig" }, + isRequired: true, + }, + { + name: "--cloudagent", + description: + "FQDN or IP address of the Azure Stack HCI MOC cloud agent service used by Arc resource bridge. This can be found in the -infra.yaml configuration file stored locally on the HCI cluster", + args: { name: "cloudagent" }, + }, + { + name: "--loginconfigfile", + description: + "File path for the Azure Stack HCI login configuration file, kvatoken.tok. By default, it is stored locally on the HCI cluster", + args: { name: "loginconfigfile" }, + }, + ], + }, + { + name: "scvmm", + description: + "Command to update the SCVMM credentials used by Arc resource bridge", + options: [ + { + name: "--kubeconfig", + description: "Path to kubeconfig output from deploy command", + args: { name: "kubeconfig" }, + isRequired: true, + }, + { + name: "--address", + description: + "SCVMM Server FQDN(Role name in case of HAVMM) or IP address", + args: { name: "address" }, + }, + { + name: "--password", + description: "SCVMM Administrator Password", + args: { name: "password" }, + }, + { + name: "--port", + description: + "SCVMM server port (The default is 8100. This is the port number specified for VMM console to server connection e.g. vmmserver.constoso.com:8100)", + args: { name: "port" }, + }, + { + name: "--username", + description: "SCVMM Administrator Username (domain\\username)", + args: { name: "username" }, + }, + ], + }, + { + name: "vmware", + description: + "Command to update the VMware credentials used by Arc resource bridge", + options: [ + { + name: "--kubeconfig", + description: "Path to kubeconfig output from deploy command", + args: { name: "kubeconfig" }, + isRequired: true, + }, + { + name: "--address", + description: + "FQDN or IP address for vCenter Server instance. Ex: 10.160.0.1", + args: { name: "address" }, + }, + { + name: "--password", + description: + "Password for vSphere account that Arc resource bridge uses for on-premises infrastructure guest management", + args: { name: "password" }, + }, + { + name: "--skipWait", + description: + "Use this flag to update the vCenter credentials without verification. This is only recommended if you are locked out of vSphere and validation is not possible until lockout period expires", + }, + { + name: "--username", + description: + "Username for vSphere account that Arc resource bridge uses for on-premises infrastructure guest management", + args: { name: "username" }, + }, + ], + }, + ], + }, + { + name: "upgrade", + description: "Command group for upgrading an Appliance cluster", + subcommands: [ + { + name: "hci", + description: "Command to upgrade an Appliance on Azure Stack HCI", + options: [ + { + name: "--config-file", + description: "Path to Appliance Config File", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "scvmm", + description: "Command to upgrade an Appliance on SCVMM", + options: [ + { + name: "--config-file", + description: "Path to Appliance Config File", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "vmware", + description: "Command to upgrade an Appliance on VMware", + options: [ + { + name: "--config-file", + description: "Path to Appliance Config File", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "validate", + description: + "Command group to perform validations on Arc resource bridge configuration files and network settings", + subcommands: [ + { + name: "hci", + description: + "Command to validate Arc resource bridge configuration files and network settings on Azure Stack HCI - should be done before 'prepare' command", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "scvmm", + description: + "Command to validate Arc resource bridge configuration files and network settings for Arc-enabled SCVMM - should be done before 'prepare' command", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "vmware", + description: + "Command to validate Arc resource bridge configuration files and network settings for Arc-enabled VMware - should be done before 'prepare' command", + options: [ + { + name: "--config-file", + description: + "Path to the Arc resource bridge appliance config file, -appliance.yaml", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Arc resource bridge", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/arcdata.ts b/src/az/2.53.0/arcdata.ts new file mode 100644 index 000000000000..c3a71202ec62 --- /dev/null +++ b/src/az/2.53.0/arcdata.ts @@ -0,0 +1,1185 @@ +const completion: Fig.Spec = { + name: "arcdata", + description: "Commands for using Azure Arc-enabled data services", + subcommands: [ + { + name: "ad-connector", + description: + "Manage Active Directory authentication for Azure Arc data services", + subcommands: [ + { + name: "create", + description: "Create a new Active Directory connector", + options: [ + { + name: "--account-provisioning", + description: + "Value indicating whether service account provisioning for data services should be automatic or manual. Allowed values are: 'manual' or 'automatic'", + args: { name: "account-provisioning" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the Active Directory connector", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--nameserver-addresses", + description: + "List of Active Directory DNS server IP addresses separated by ',' (e.g. 10.10.10.11,10.10.10.12,10.10.10.13)", + args: { name: "nameserver-addresses" }, + isRequired: true, + }, + { + name: "--realm", + description: + "The name of the Active Directory domain in uppercase (e.g CONTOSO.LOCAL)", + args: { name: "realm" }, + isRequired: true, + }, + { + name: "--data-controller-name", + description: + "The name of the Arc data controller associated with this Active Directory connector", + args: { name: "data-controller-name" }, + }, + { + name: "--dns-domain-name", + description: "The DNS domain name (e.g. contoso.com)", + args: { name: "dns-domain-name" }, + }, + { + name: "--dns-replicas", + description: "The number of copies for DNS proxy service", + args: { name: "dns-replicas" }, + }, + { + name: "--domain-service-account-secret", + description: + "The name of the Kubernetes secret containing the credentials for the pre-created Active Directory account with permissions to create and manage accounts in the given OU. Alternatively, setting the 'DOMAIN_SERVICE_ACCOUNT_USERNAME' and 'DOMAIN_SERVICE_ACCOUNT_PASSWORD' env variables will create this secret automatically", + args: { name: "domain-service-account-secret" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace to deploy the Active Directory connector", + args: { name: "k8s-namespace" }, + }, + { + name: "--netbios-domain-name", + description: + "The NETBIOS name of the Active Directory domain (e.g. CONTOSO)", + args: { name: "netbios-domain-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--ou-distinguished-name", + description: + "The distinguished name of the pre-created Organizational Unit (OU) in the Active Directory domain. (e.g. OU=arcou,DC=contoso,DC=com)", + args: { name: "ou-distinguished-name" }, + }, + { + name: "--prefer-k8s-dns", + description: + "Use Kubernetes DNS Server responses over the Active Directory DNS server responses for IP address lookup. Allowed values are 'true' or 'false'", + args: { name: "prefer-k8s-dns" }, + }, + { + name: "--primary-ad-dc-hostname", + description: "The hostname of the primary AD domain controller", + args: { name: "primary-ad-dc-hostname" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group of the Arc data controller associated with this Active Directory connector", + args: { name: "resource-group" }, + }, + { + name: "--secondary-ad-dc-hostnames", + description: + "List of the hostnames of the secondary Active Directory domain controller separated by ','(e.g. azdc02.contoso.local,azdc03.contoso.local)", + args: { name: "secondary-ad-dc-hostnames" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "delete", + description: "Delete an existing Active Directory connector", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Active Directory connector", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--data-controller-name", + description: + "The name of the Arc data controller associated with this Active Directory connector", + args: { name: "data-controller-name" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace containing the Active Directory connector", + args: { name: "k8s-namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group of the Arc data controller associated with this Active Directory connector", + args: { name: "resource-group" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "list", + description: "List all Active Directory connectors", + options: [ + { + name: "--data-controller-name", + description: + "The name of the Arc data controller associated with the Active Directory connectors", + args: { name: "data-controller-name" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace containing the Active Directory connectors", + args: { name: "k8s-namespace" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group containing the Active Directory connectors", + args: { name: "resource-group" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of an existing Active Directory connector", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Active Directory connector", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--data-controller-name", + description: + "The name of the Arc data controller associated with this Active Directory connector", + args: { name: "data-controller-name" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace containing the Active Directory connector", + args: { name: "k8s-namespace" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group of the Arc data controller associated with this Active Directory connector", + args: { name: "resource-group" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "update", + description: + "Update the settings of an existing Active Directory connector", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Active Directory connector", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--data-controller-name", + description: + "The name of the Arc data controller associated with this Active Directory connector", + args: { name: "data-controller-name" }, + }, + { + name: "--dns-replicas", + description: "The number of copies for DNS proxy service", + args: { name: "dns-replicas" }, + }, + { + name: "--domain-service-account-secret", + description: + "The name of the Kubernetes secret containing the credentials for the pre-created Active Directory account with permissions to create and manage accounts in the given OU", + args: { name: "domain-service-account-secret" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace containing Active Directory connector", + args: { name: "k8s-namespace" }, + }, + { + name: "--nameserver-addresses", + description: + "List of Active Directory DNS server IP addresses separated by ',' (e.g. 10.10.10.11,10.10.10.12,10.10.10.13)", + args: { name: "nameserver-addresses" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--prefer-k8s-dns", + description: + "Use Kubernetes DNS Server responses over the Active Directory DNS server responses for IP address lookup. Allowed values are 'true' or 'false'", + args: { name: "prefer-k8s-dns" }, + }, + { + name: "--primary-ad-dc-hostname", + description: "The hostname of the primary AD domain controller", + args: { name: "primary-ad-dc-hostname" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group of the Arc data controller associated with this Active Directory connector", + args: { name: "resource-group" }, + }, + { + name: "--secondary-ad-dc-hostnames", + description: + "List of the hostnames of the secondary Active Directory domain controller separated by ','(e.g. azdc02.contoso.local,azdc03.contoso.local)", + args: { name: "secondary-ad-dc-hostnames" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + ], + }, + { + name: "dc", + description: "Create, delete, and manage data controllers", + subcommands: [ + { + name: "create", + description: "Create data controller", + options: [ + { + name: "--connectivity-mode", + description: + "The connectivity to Azure - indirect or direct - which the data controller should operate in", + args: { name: "connectivity-mode" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name for the data controller", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group in which the data controller resource should be added", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--annotations", + description: + "Comma-separated list of annotations to apply all data controller resources", + args: { name: "annotations" }, + }, + { + name: "--auto-upload-logs", + description: "Enable auto upload logs", + args: { + name: "auto-upload-logs", + suggestions: ["false", "true"], + }, + }, + { + name: "--auto-upload-metrics", + description: "Enable auto upload metrics", + args: { + name: "auto-upload-metrics", + suggestions: ["false", "true"], + }, + }, + { + name: "--cluster-name", + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + }, + { + name: "--custom-location", + description: "The name of the custom location", + args: { name: "custom-location" }, + }, + { + name: "--image-tag", + description: + "Arc data services image tag to use for the data controller", + args: { name: "image-tag" }, + }, + { + name: "--infrastructure", + description: + "The infrastructure on which the data controller will be running on. Allowed values: ['aws', 'gcp', 'azure', 'alibaba', 'onpremises', 'other', 'auto']", + args: { name: "infrastructure" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace to deploy the data controller into. If it exists already it will be used. If it does not exist, an attempt will be made to create it first", + args: { name: "k8s-namespace" }, + }, + { + name: "--labels", + description: + "Comma-separated list of labels to apply to all data controller resources", + args: { name: "labels" }, + }, + { + name: ["--location", "-l"], + description: + "The Azure location in which the data controller metadata will be stored (e.g. eastus)", + args: { name: "location" }, + }, + { + name: "--logs-ui-private-key-file", + description: + "Path to the file containing a PEM formatted certificate private key to be used for the Logs UI dashboard endpoint", + args: { name: "logs-ui-private-key-file" }, + }, + { + name: "--logs-ui-public-key-file", + description: + "Path to the file containing a PEM formatted certificate to be used for the Logs UI dashboard endpoint", + args: { name: "logs-ui-public-key-file" }, + }, + { + name: "--metrics-ui-private-key-file", + description: + "Path to the file containing a PEM formatted certificate private key to be used for the Metrics UI dashboard endpoint", + args: { name: "metrics-ui-private-key-file" }, + }, + { + name: "--metrics-ui-public-key-file", + description: + "Path to the file containing a PEM formatted certificate to be used for the Metrics UI dashboard endpoint", + args: { name: "metrics-ui-public-key-file" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--path", "-p"], + description: + "The path to a directory containing a custom configuration profile to use. Run az arcdata dc config init to create a custom configuration profile", + args: { name: "path" }, + }, + { + name: "--profile-name", + description: + "The name of an existing configuration profile. Run az arcdata dc config list to see available options. One of the following: ['azure-arc-ake', 'azure-arc-aks-default-storage', 'azure-arc-aks-hci', 'azure-arc-aks-premium-storage', 'azure-arc-azure-openshift', 'azure-arc-eks', 'azure-arc-gke', 'azure-arc-kubeadm', 'azure-arc-openshift', 'azure-arc-unit-test']", + args: { name: "profile-name" }, + }, + { + name: "--service-annotations", + description: + "Comma-separated list of annotations to apply to all external data controller services", + args: { name: "service-annotations" }, + }, + { + name: "--service-labels", + description: + "Comma-separated list of labels to apply to all external data controller services", + args: { name: "service-labels" }, + }, + { + name: "--storage-annotations", + description: + "Comma-separated list of annotations to apply to all PVCs created by the data controller", + args: { name: "storage-annotations" }, + }, + { + name: "--storage-class", + description: + "The storage class to be used for all data and logs persistent volumes for all data controller pods that require them", + args: { name: "storage-class" }, + }, + { + name: "--storage-labels", + description: + "Comma-separated list of labels to apply to all PVCs created by the data controller", + args: { name: "storage-labels" }, + }, + { + name: "--use-k8s", + description: "Create data controller using local Kubernetes APIs", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "delete", + description: "Delete data controller", + options: [ + { + name: ["--name", "-n"], + description: "Data controller name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--force", "-f"], + description: + "Force delete data controller and all of its data services", + args: { name: "force" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace in which the data controller exists", + args: { name: "k8s-namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group in which the data controller exists", + args: { name: "resource-group" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + { + name: ["--yes", "-y"], + description: "Delete data controller without confirmation prompt", + }, + ], + }, + { + name: "export", + description: "Export metrics, logs or usage", + options: [ + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace in which the data controller exists", + args: { name: "k8s-namespace" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "The full or relative path including the file name of the file to be exported", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--type", "-t"], + description: + "The type of data to be exported. Options: logs, metrics, and usage", + args: { name: "type" }, + isRequired: true, + }, + { + name: ["--force", "-f"], + description: + "Force create output file. Overwrites any existing file at the same path", + args: { name: "force" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "list", + description: + "List Azure Arc data controllers by resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group containing the Arc data controller(s)", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-upgrades", + description: "List available upgrade versions", + options: [ + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace in which the data controller exists", + args: { name: "k8s-namespace" }, + isRequired: true, + }, + { + name: "--use-k8s", + description: + "List available data controller versions using local Kubernetes APIs", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "update", + description: "Update data controller", + options: [ + { + name: "--auto-upload-logs", + description: "Enable auto upload logs", + args: { + name: "auto-upload-logs", + suggestions: ["false", "true"], + }, + }, + { + name: "--auto-upload-metrics", + description: "Enable auto upload metrics", + args: { + name: "auto-upload-metrics", + suggestions: ["false", "true"], + }, + }, + { + name: ["--desired-version", "-v"], + description: + "The desired version tag to which the data controller will be upgraded, or empty to use the latest valid version", + args: { name: "desired-version" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace with a deployed data controller", + args: { name: "k8s-namespace" }, + }, + { + name: "--maintenance-duration", + description: "Duration of the default maintenance window", + args: { name: "maintenance-duration" }, + }, + { + name: "--maintenance-enabled", + description: + "Set the enabled flag on the default maintenance window", + args: { + name: "maintenance-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--maintenance-recurrence", + description: + "Recurring interval for the default maintenance window", + args: { name: "maintenance-recurrence" }, + }, + { + name: "--maintenance-start", + description: + "Date time of the start of the first default maintenance window", + args: { name: "maintenance-start" }, + }, + { + name: "--maintenance-time-zone", + description: + "Timezone used to calculate the default maintenance window", + args: { name: "maintenance-time-zone" }, + }, + { + name: ["--name", "-n"], + description: "Data controller name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group in which the data controller exists", + args: { name: "resource-group" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "upgrade", + description: "Upgrade data controller", + options: [ + { + name: ["--desired-version", "-v"], + description: + "The desired version tag to which the data controller will be upgraded, or empty to use the latest valid version", + args: { name: "desired-version" }, + }, + { + name: ["--dry-run", "-d"], + description: + "Indicates which instance would be upgraded but does not actually upgrade the instances", + args: { name: "dry-run" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace in which the data controller exists", + args: { name: "k8s-namespace" }, + }, + { + name: ["--name", "-n"], + description: "The name of the data controller", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "If given, the command will start the upgrade, but will not wait for the entire upgrade to complete. Upgrade will continue in the background", + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group in which the data controller exists", + args: { name: "resource-group" }, + }, + { + name: "--target", + description: + "Option '--target' has been deprecated and will be removed in a future release. Use '--desired-version' instead. The desired version tag to which the data controller will be upgraded, or empty to use the latest valid version", + args: { name: "target" }, + }, + { + name: "--use-k8s", + description: + "Upgrade data controller using local Kubernetes APIs", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "upload", + description: "Upload exported data file", + options: [ + { + name: ["--path", "-p"], + description: + "The full or relative path including the file name of the file to be uploaded", + args: { name: "path" }, + isRequired: true, + }, + ], + }, + { + name: "config", + description: "Configuration commands", + subcommands: [ + { + name: "add", + description: "Add a value for a json path in a config file", + options: [ + { + name: ["--config-file", "-c"], + description: + "Option '-c' has been deprecated and will be removed in a future release. Use '-p' instead. Data controller config file path of the config you would like to set, i.e. custom/control.json", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--json-values", "-j"], + description: + 'A key value pair list of json paths to values: key1.subkey1=value1,key2.subkey2=value2. You may provide inline json values such as: key=\'{"kind":"cluster","name":"test-cluster"}\' or provide a file path, such as key=./values.json. The add command does NOT support conditionals. If the inline value you are providing is a key value pair itself with "=" and "," escape those characters. For example, key1="key2=val2,key3=val3". See http://jsonpatch.com/ for examples of how your path should look. If you would like to access an array, you must do so by indicating the index, such as key.0=value', + args: { name: "json-values" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "Data controller config file path of the config you would like to set, i.e. custom/control.json", + args: { name: "path" }, + isRequired: true, + }, + ], + }, + { + name: "init", + description: + "Initialize a data controller configuration profile that can be used with az arcdata dc create", + options: [ + { + name: ["--force", "-f"], + description: "Force overwrite of the target file", + args: { name: "force" }, + }, + { + name: ["--path", "-p"], + description: + "File path of where you would like the config profile placed, defaults to /custom", + args: { name: "path" }, + }, + { + name: ["--source", "-s"], + description: + "Config profile source: ['azure-arc-ake', 'azure-arc-aks-default-storage', 'azure-arc-aks-dev-test', 'azure-arc-aks-hci', 'azure-arc-aks-premium-storage', 'azure-arc-azure-openshift', 'azure-arc-eks', 'azure-arc-gke', 'azure-arc-kubeadm', 'azure-arc-kubeadm-dev-test', 'azure-arc-openshift', 'azure-arc-unit-test']", + args: { name: "source" }, + }, + { + name: ["--target", "-t"], + description: + "Option '-t' has been deprecated and will be removed in a future release. Use '-p' instead. File path of where you would like the config profile placed, defaults to /custom", + args: { name: "target" }, + }, + ], + }, + { + name: "list", + description: "List available configuration profile choices", + options: [ + { + name: ["--config-profile", "-c"], + description: + "Default config profile: ['azure-arc-ake', 'azure-arc-aks-default-storage', 'azure-arc-aks-dev-test', 'azure-arc-aks-hci', 'azure-arc-aks-premium-storage', 'azure-arc-azure-openshift', 'azure-arc-eks', 'azure-arc-gke', 'azure-arc-kubeadm', 'azure-arc-kubeadm-dev-test', 'azure-arc-openshift', 'azure-arc-unit-test']", + args: { name: "config-profile" }, + }, + ], + }, + { + name: "patch", + description: "Patch a config file based on a json patch file", + options: [ + { + name: ["--config-file", "-c"], + description: + "Option '-c' has been deprecated and will be removed in a future release. Use '--path' instead. Data controller config file path of the config you would like to set, i.e. custom/control.json", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--patch-file", "-p"], + description: + 'Path to a patch json file that is based off the jsonpatch library: http://jsonpatch.com/. You must start your patch json file with a key called "patch", whose value is an array of patch operations you intend to make. For the path of a patch operation, you may use dot notation, such as key1.key2 for most operations. If you would like to do a replace operation, and you are replacing a value in an array that requires a conditional, please use the jsonpath notation by beginning your path with a $. This will allow you to do a conditional such as $.key1.key2[?(@.key3=="someValue"].key4. See the examples below. For additional help with conditionals, See: https://jsonpath.com/', + args: { name: "patch-file" }, + isRequired: true, + }, + { + name: "--path", + description: + "Data controller config file path of the config you would like to set, i.e. custom/control.json", + args: { name: "path" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a value for a json path in a config file", + options: [ + { + name: ["--config-file", "-c"], + description: + "Option '-c' has been deprecated and will be removed in a future release. Use '-p' instead. Data controller config file path of the config you would like to set, i.e. custom/control.json", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--json-path", "-j"], + description: + "A list of json paths based on the jsonpatch library that indicates which values you would like removed, such as: key1.subkey1,key2.subkey2. The remove command does NOT support conditionals. See http://jsonpatch.com/ for examples of how your path should look. If you would like to access an array, you must do so by indicating the index, such as key.0=value", + args: { name: "json-path" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "Data controller config file path of the config you would like to set, i.e. custom/control.json", + args: { name: "path" }, + isRequired: true, + }, + ], + }, + { + name: "replace", + description: "Replace a value for a json path in a config file", + options: [ + { + name: ["--config-file", "-c"], + description: + "Option '-c' has been deprecated and will be removed in a future release. Use '-p' instead. Data controller config file path of the config you would like to set, i.e. custom/control.json", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--json-values", "-j"], + description: + 'A key value pair list of json paths to values: key1.subkey1=value1,key2.subkey2=value2. You may provide inline json values such as: key=\'{"kind":"cluster","name":"test-cluster"}\' or provide a file path, such as key=./values.json. The replace command supports conditionals through the jsonpath library. To use this, start your path with a $. This will allow you to do a conditional such as -j $.key1.key2[?(@.key3=="someValue"].key4=value. If the inline value you are providing is a key value pair itself with "=" and "," escape those characters. For example, key1="key2=val2,key3=val3". You may see examples below. For additional help, See: https://jsonpath.com/', + args: { name: "json-values" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "Data controller config file path of the config you would like to set, i.e. custom/control.json", + args: { name: "path" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Return the config of the data controller custom resource", + options: [ + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace in which the data controller exists", + args: { name: "k8s-namespace" }, + }, + { + name: "--use-k8s", + description: + "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + ], + }, + { + name: "debug", + description: "Debug data controller", + subcommands: [ + { + name: "controldb-cdc", + description: + "Enable/disable CDC on Data Controller Database and Tables - for troubleshooting purposes only", + options: [ + { + name: ["--k8s-namespace", "-k"], + description: + "Kubernetes namespace of the existing data controller", + args: { name: "k8s-namespace" }, + isRequired: true, + }, + { + name: "--enable", + description: "Enable or disable change data capture", + args: { name: "enable", suggestions: ["false", "true"] }, + }, + { + name: "--retention-hours", + description: + "CDC retention period, specified in hours. Allowed values are 1 to 24", + args: { name: "retention-hours" }, + }, + { + name: "--use-k8s", + description: + "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "copy-logs", + description: "Copy logs", + options: [ + { + name: ["--k8s-namespace", "-k"], + description: "Kubernetes namespace of the data controller", + args: { name: "k8s-namespace" }, + isRequired: true, + }, + { + name: ["--container", "-c"], + description: + "Copy the logs for the containers with similar name, Optional, by default copies logs for all containers. Cannot be specified multiple times. If specified multiple times, last one will be used", + args: { name: "container" }, + }, + { + name: "--exclude-arcdata-logs", + description: + "Whether or not to exclude arc data services logs from result folder. The default value is False which includes all arc data services container logs", + }, + { + name: "--exclude-cluster-info", + description: + "Whether or not to exclude kubernetes resource info from result folder per namespace. The default value is False which includes namespaced resource info", + }, + { + name: "--exclude-controldb", + description: + "Whether or not to exclude a backup of controldb from result folder. The default value is False which includes a controldb backup", + }, + { + name: "--exclude-dumps", + description: + "Whether or not to exclude dumps from result folder. The default value is False which includes dumps", + }, + { + name: "--exclude-system-logs", + description: + "Whether or not to exclude kube-system and azure-arc namespace logs from collection. The default value is False which includes kube-system and connectedk8s logs, if accessible", + }, + { + name: "--pod", + description: + "Copy the logs for the pods with similar name. Optional, by default copies logs for all pods. Cannot be specified multiple times. If specified multiple times, last one will be used", + args: { name: "pod" }, + }, + { + name: "--resource-kind", + description: + "Copy the logs for the resource of a particular kind. Cannot specified multiple times. If specified multiple times, last one will be used. If specified, --resource-name should also be specified to identify the resource", + args: { name: "resource-kind" }, + }, + { + name: "--resource-name", + description: + "Copy the logs for the resource of the specified name. Cannot be specified multiple times. If specified multiple times, last one will be used. If specified, --resource-kind should also be specified to identify the resource", + args: { name: "resource-name" }, + }, + { + name: "--skip-compress", + description: + "Whether or not to skip compressing the result folder. The default value is False which compresses the result folder", + }, + { + name: ["--target-folder", "-d"], + description: + "Target folder path to copy logs to. Optional, by default creates the result in the local folder. Cannot be specified multiple times. If specified multiple times, last one will be used", + args: { name: "target-folder" }, + }, + { + name: ["--timeout", "-t"], + description: + "The number of seconds to wait for the command to complete. The default value is 0 which is unlimited", + args: { name: "timeout" }, + }, + { + name: "--use-k8s", + description: + "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "dump", + description: "Trigger memory dump", + options: [ + { + name: ["--k8s-namespace", "-k"], + description: "Kubernetes namespace of the data controller", + args: { name: "k8s-namespace" }, + isRequired: true, + }, + { + name: ["--container", "-c"], + description: + "The target container to be triggered for dumping the running processes", + args: { name: "container", suggestions: ["controller"] }, + }, + { + name: ["--target-folder", "-d"], + description: "Target folder to copy the dump out", + args: { name: "target-folder" }, + }, + { + name: "--use-k8s", + description: + "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "restore-controldb-snapshot", + description: + "Restores a unique copy of ControlDB from backup - for troubleshooting purposes only", + options: [ + { + name: ["--backup-file", "-f"], + description: + "Existing Controller Database backup file - must end in '.bak', will be restored under a unique database name based on execution timestamp", + args: { name: "backup-file" }, + isRequired: true, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "Kubernetes namespace of the existing data controller", + args: { name: "k8s-namespace" }, + isRequired: true, + }, + { + name: "--use-k8s", + description: + "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + ], + }, + { + name: "endpoint", + description: "Endpoint commands", + subcommands: [ + { + name: "list", + description: "List the data controller endpoint", + options: [ + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace in which the data controller exists", + args: { name: "k8s-namespace" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "-e"], + description: "Arc data controller endpoint name", + args: { name: "endpoint-name" }, + }, + { + name: "--use-k8s", + description: + "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + ], + }, + { + name: "status", + description: "Status commands", + subcommands: [ + { + name: "show", + description: "Show the status of the data controller", + options: [ + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace in which the data controller exists", + args: { name: "k8s-namespace" }, + }, + { + name: ["--name", "-n"], + description: "The name for the data controller", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group in which the data controller exists", + args: { name: "resource-group" }, + }, + { + name: "--use-k8s", + description: + "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "resource-kind", + description: + "Resource-kind commands to define and template custom resources on your cluster", + subcommands: [ + { + name: "get", + description: "Get the Arc resource-kind's template file", + options: [ + { + name: ["--kind", "-k"], + description: + "The kind of arc resource you want the template file for", + args: { name: "kind" }, + isRequired: true, + }, + { + name: ["--dest", "-d"], + description: + 'The directory where you"d like to place the template files', + args: { name: "dest" }, + }, + ], + }, + { + name: "list", + description: + "List the available custom resource kinds for Arc that can be defined and created", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/aro.ts b/src/az/2.53.0/aro.ts new file mode 100644 index 000000000000..fff79b830e46 --- /dev/null +++ b/src/az/2.53.0/aro.ts @@ -0,0 +1,461 @@ +const completion: Fig.Spec = { + name: "aro", + description: "Manage Azure Red Hat OpenShift clusters", + subcommands: [ + { + name: "create", + description: "Create a cluster", + options: [ + { + name: "--master-subnet", + description: + "Name or ID of master vnet subnet. If name is supplied, --vnet must be supplied", + args: { name: "master-subnet" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--worker-subnet", + description: + "Name or ID of worker vnet subnet. If name is supplied, --vnet must be supplied", + args: { name: "worker-subnet" }, + isRequired: true, + }, + { + name: "--apiserver-visibility", + description: "API server visibility", + args: { + name: "apiserver-visibility", + suggestions: ["Private", "Public"], + }, + }, + { + name: "--client-id", + description: "Client ID of cluster service principal", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "Client secret of cluster service principal", + args: { name: "client-secret" }, + }, + { + name: "--cluster-resource-group", + description: "Resource group of cluster", + args: { name: "cluster-resource-group" }, + }, + { + name: "--disk-encryption-set", + description: + "ResourceID of the DiskEncryptionSet to be used for master and worker VMs", + args: { name: "disk-encryption-set" }, + }, + { + name: "--domain", + description: "Domain of cluster", + args: { name: "domain" }, + }, + { + name: ["--fips-validated-modules", "--fips"], + description: "Use FIPS validated cryptography modules", + args: { + name: "fips-validated-modules", + suggestions: ["false", "true"], + }, + }, + { + name: "--ingress-visibility", + description: "Ingress visibility", + args: { + name: "ingress-visibility", + suggestions: ["Private", "Public"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--master-encryption-at-host", "--master-enc-host"], + description: "Encryption at host flag for master VMs", + }, + { + name: "--master-vm-size", + description: "Size of master VMs", + args: { name: "master-vm-size" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--outbound-type", + description: + 'Outbound type of cluster. Must be "Loadbalancer" (default) or "UserDefinedRouting"', + args: { name: "outbound-type" }, + }, + { + name: "--pod-cidr", + description: + "CIDR of pod network. Must be a minimum of /18 or larger", + args: { name: "pod-cidr" }, + }, + { + name: "--pull-secret", + description: "Pull secret of cluster", + args: { name: "pull-secret" }, + }, + { + name: "--service-cidr", + description: + "CIDR of service network. Must be a minimum of /18 or larger", + args: { name: "service-cidr" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--version", + description: "OpenShift version to use for cluster creation", + args: { name: "version" }, + }, + { + name: "--vnet", + description: + "Name or ID of vnet. If name is supplied, --vnet-resource-group must be supplied", + args: { name: "vnet" }, + }, + { + name: "--vnet-resource-group", + description: "Name of vnet resource group", + args: { name: "vnet-resource-group" }, + }, + { + name: "--worker-count", + description: "Count of worker VMs", + args: { name: "worker-count" }, + }, + { + name: ["--worker-encryption-at-host", "--worker-enc-host"], + description: "Encryption at host flag for worker VMs", + }, + { + name: "--worker-vm-disk-size-gb", + description: "Disk size in GB of worker VMs", + args: { name: "worker-vm-disk-size-gb" }, + }, + { + name: "--worker-vm-size", + description: "Size of worker VMs", + args: { name: "worker-vm-size" }, + }, + ], + }, + { + name: "delete", + description: "Delete a cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-admin-kubeconfig", + description: "List admin kubeconfig of a cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--file", "-f"], + description: + "Path to the file where kubeconfig should be saved. Default: kubeconfig in local directory", + args: { name: "file" }, + }, + ], + }, + { + name: "get-versions", + description: "List versions available for installation", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List clusters", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-credentials", + description: "List credentials of a cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-id", + description: "Client ID of cluster service principal", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "Client secret of cluster service principal", + args: { name: "client-secret" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--refresh-credentials", + description: "Refresh cluster application credentials", + }, + ], + }, + { + name: "validate", + description: "Validate permissions required to create a cluster", + options: [ + { + name: "--master-subnet", + description: + "Name or ID of master vnet subnet. If name is supplied, --vnet must be supplied", + args: { name: "master-subnet" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--worker-subnet", + description: + "Name or ID of worker vnet subnet. If name is supplied, --vnet must be supplied", + args: { name: "worker-subnet" }, + isRequired: true, + }, + { + name: "--client-id", + description: "Client ID of cluster service principal", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "Client secret of cluster service principal", + args: { name: "client-secret" }, + }, + { + name: "--cluster-resource-group", + description: "Resource group of cluster", + args: { name: "cluster-resource-group" }, + }, + { + name: "--disk-encryption-set", + description: + "ResourceID of the DiskEncryptionSet to be used for master and worker VMs", + args: { name: "disk-encryption-set" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--pod-cidr", + description: + "CIDR of pod network. Must be a minimum of /18 or larger", + args: { name: "pod-cidr" }, + }, + { + name: "--service-cidr", + description: + "CIDR of service network. Must be a minimum of /18 or larger", + args: { name: "service-cidr" }, + }, + { + name: "--version", + description: "OpenShift version to use for cluster creation", + args: { name: "version" }, + }, + { + name: "--vnet", + description: + "Name or ID of vnet. If name is supplied, --vnet-resource-group must be supplied", + args: { name: "vnet" }, + }, + { + name: "--vnet-resource-group", + description: "Name of vnet resource group", + args: { name: "vnet-resource-group" }, + }, + ], + }, + { + name: "wait", + description: "Wait for a cluster to reach a desired state", + options: [ + { + name: ["--name", "-n"], + description: "Name of cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/artifacts.ts b/src/az/2.53.0/artifacts.ts new file mode 100644 index 000000000000..e1ee6a9529cd --- /dev/null +++ b/src/az/2.53.0/artifacts.ts @@ -0,0 +1,130 @@ +const completion: Fig.Spec = { + name: "artifacts", + description: "Manage Azure Artifacts", + subcommands: [ + { + name: "universal", + description: "Manage Universal Packages", + subcommands: [ + { + name: "download", + description: "Download a package", + options: [ + { + name: "--feed", + description: "Name or ID of the feed", + args: { name: "feed" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the package, e.g. 'foo-package'", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: "Directory to place the package contents", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--version", "-v"], + description: "Version of the package, e.g. 1.0.0", + args: { name: "version" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--file-filter", + description: "Wildcard filter for file download", + args: { name: "file-filter" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--scope", + description: + "Scope of the feed: 'project' if the feed was created in a project, and 'organization' otherwise", + args: { name: "scope", suggestions: ["organization", "project"] }, + }, + ], + }, + { + name: "publish", + description: "Publish a package to a feed", + options: [ + { + name: "--feed", + description: "Name or ID of the feed", + args: { name: "feed" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the package, e.g. 'foo-package'", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: "Directory containing the package contents", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--version", "-v"], + description: "Version of the package, e.g. '1.0.0'", + args: { name: "version" }, + isRequired: true, + }, + { + name: ["--description", "-d"], + description: "Description of the package", + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--scope", + description: + "Scope of the feed: 'project' if the feed was created in a project, and 'organization' otherwise", + args: { name: "scope", suggestions: ["organization", "project"] }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/attestation.ts b/src/az/2.53.0/attestation.ts new file mode 100644 index 000000000000..0ae1797da1bf --- /dev/null +++ b/src/az/2.53.0/attestation.ts @@ -0,0 +1,376 @@ +const completion: Fig.Spec = { + name: "attestation", + description: "Manage Microsoft Azure Attestation (MAA)", + subcommands: [ + { + name: "create", + description: "Creates a new Attestation Provider instance", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the attestation service instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--certs-input-path", + description: + "Space-separated file paths to PEM/DER files containing certificates", + args: { name: "certs-input-path" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete Attestation Service", + options: [ + { + name: "--id", + description: + "Resource ID of the provider. Please omit --resource-group/-g or --name/-n if you have already specified --id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the attestation service instance", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-default-by-location", + description: "Get the default provider by location", + options: [ + { + name: ["--location", "-l"], + description: 'Location. (eg: "West US")', + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "Returns a list of attestation providers in a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-default", + description: "Get the default provider", + }, + { + name: "show", + description: "Get the status of Attestation Provider", + options: [ + { + name: "--id", + description: + "Resource ID of the provider. Please omit --resource-group/-g or --name/-n if you have already specified --id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the attestation service instance", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Updates the Attestation Provider", + options: [ + { + name: ["--name", "-n"], + description: "Name of the attestation service instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "policy", + description: "Manage policies", + subcommands: [ + { + name: "reset", + description: + "Resets the attestation policy for the specified tenant and reverts to the default policy", + options: [ + { + name: "--attestation-type", + description: "Type of the attestation", + args: { + name: "attestation-type", + suggestions: ["SGX-IntelSDK", "SGX-OpenEnclaveSDK", "TPM"], + }, + isRequired: true, + }, + { + name: "--id", + description: + "Resource ID of the provider. Please omit --resource-group/-g or --name/-n if you have already specified --id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the attestation provider", + args: { name: "name" }, + }, + { + name: "--policy-jws", + description: "JSON Web Signature with an empty policy document", + args: { name: "policy-jws" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "set", + description: "Sets the policy for a given kind of attestation type", + options: [ + { + name: "--attestation-type", + description: "Type of the attestation", + args: { + name: "attestation-type", + suggestions: ["SGX-IntelSDK", "SGX-OpenEnclaveSDK", "TPM"], + }, + isRequired: true, + }, + { + name: "--id", + description: + "Resource ID of the provider. Please omit --resource-group/-g or --name/-n if you have already specified --id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the attestation provider", + args: { name: "name" }, + }, + { + name: "--new-attestation-policy", + description: + "Content of the new attestation policy (Text or JWT)", + args: { name: "new-attestation-policy" }, + }, + { + name: ["--new-attestation-policy-file", "-f"], + description: "File name of the new attestation policy", + args: { name: "new-attestation-policy-file" }, + }, + { + name: "--policy-format", + description: + "Specifies the format for the policy, either Text or JWT (JSON Web Token)", + args: { name: "policy-format", suggestions: ["JWT", "Text"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Retrieves the current policy for a given kind of attestation type", + options: [ + { + name: "--attestation-type", + description: "Type of the attestation", + args: { + name: "attestation-type", + suggestions: ["SGX-IntelSDK", "SGX-OpenEnclaveSDK", "TPM"], + }, + isRequired: true, + }, + { + name: "--id", + description: + "Resource ID of the provider. Please omit --resource-group/-g or --name/-n if you have already specified --id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the attestation provider", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "signer", + description: "Manage signers", + subcommands: [ + { + name: "add", + description: + "Adds a new attestation policy certificate to the set of policy management certificates", + options: [ + { + name: "--id", + description: + "Resource ID of the provider. Please omit --resource-group/-g or --name/-n if you have already specified --id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the attestation provider", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--signer", + description: + 'The policy certificate to add. An RFC7519 JSON Web Token containing a claim named "maa-policyCertificate" whose value is an RFC7517 JSON Web Key which specifies a new key to update. The RFC7519 JWT must be signed with one of the existing signing certificates', + args: { name: "signer" }, + }, + { + name: ["--signer-file", "-f"], + description: + "File name of the signer. (--signer and --signer-file/-f are mutually exclusive.)", + args: { name: "signer-file" }, + }, + ], + }, + { + name: "list", + description: + "Retrieves the set of certificates used to express policy for the current tenant", + options: [ + { + name: "--id", + description: + "Resource ID of the provider. Please omit --resource-group/-g or --name/-n if you have already specified --id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the attestation provider", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Removes the specified policy management certificate", + options: [ + { + name: "--id", + description: + "Resource ID of the provider. Please omit --resource-group/-g or --name/-n if you have already specified --id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the attestation provider", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--signer", + description: + 'The policy certificate to remove. An RFC7519 JSON Web Token containing a claim named "maa-policyCertificate" whose value is an RFC7517 JSON Web Key which specifies a new key to update. The RFC7519 JWT must be signed with one of the existing signing certificates', + args: { name: "signer" }, + }, + { + name: ["--signer-file", "-f"], + description: + "File name of the signer. (--signer and --signer-file/-f are mutually exclusive.)", + args: { name: "signer-file" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/automanage.ts b/src/az/2.53.0/automanage.ts new file mode 100644 index 000000000000..86eb15002653 --- /dev/null +++ b/src/az/2.53.0/automanage.ts @@ -0,0 +1,1404 @@ +const completion: Fig.Spec = { + name: "automanage", + description: "Manage Automanage", + subcommands: [ + { + name: "best-practice", + description: "Manage Automanage best practice", + subcommands: [ + { + name: "list", + description: "List Automanage best practices", + }, + { + name: "show", + description: "Get information about a Automanage best practice", + options: [ + { + name: "--best-practice-name", + description: "The Automanage best practice name", + args: { name: "best-practice-name" }, + isRequired: true, + }, + ], + }, + { + name: "version", + description: "Manage Automanage best practice version", + subcommands: [ + { + name: "list", + description: "List Automanage best practice versions", + options: [ + { + name: "--best-practice-name", + description: "The Automanage best practice name", + args: { name: "best-practice-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get information about a Automanage best practice version", + options: [ + { + name: "--best-practice-name", + description: "The Automanage best practice name", + args: { name: "best-practice-name" }, + isRequired: true, + }, + { + name: "--version-name", + description: "The Automanage best practice version name", + args: { name: "version-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "configuration-profile", + description: "Manage configuration profile", + subcommands: [ + { + name: "create", + description: "Create a configuration profile", + options: [ + { + name: ["--configuration-profile-name", "--name", "-n"], + description: "Name of the configuration profile", + args: { name: "configuration-profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--configuration", + description: + "Configuration dictionary of the configuration profile. Support json-file and yaml-file", + args: { name: "configuration" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a configuration profile", + options: [ + { + name: ["--configuration-profile-name", "--name", "-n"], + description: "Name of the configuration profile", + args: { name: "configuration-profile-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List configuration profiles within a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get information about a configuration profile", + options: [ + { + name: ["--configuration-profile-name", "--name", "-n"], + description: "The configuration profile name", + args: { name: "configuration-profile-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a configuration profile", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--configuration", + description: + "Configuration dictionary of the configuration profile. Support json-file and yaml-file", + args: { name: "configuration" }, + }, + { + name: ["--configuration-profile-name", "--name", "-n"], + description: "The configuration profile name", + args: { name: "configuration-profile-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "version", + description: "Manage configuration profile version", + subcommands: [ + { + name: "create", + description: "Create a configuration profile version", + options: [ + { + name: ["--configuration-profile-name", "--profile-name"], + description: "Name of the configuration profile", + args: { name: "configuration-profile-name" }, + isRequired: true, + }, + { + name: ["--version-name", "--name", "-n"], + description: "The configuration profile version name", + args: { name: "version-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--configuration", + description: + "Configuration dictionary of the configuration profile. Support json-file and yaml-file", + args: { name: "configuration" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a configuration profile version", + options: [ + { + name: ["--configuration-profile-name", "--profile-name"], + description: "Name of the configuration profile", + args: { name: "configuration-profile-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--version-name", "--name", "-n"], + description: "The configuration profile version name", + args: { name: "version-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List configuration profile versions for a configuration profile", + options: [ + { + name: ["--configuration-profile-name", "--profile-name"], + description: "Name of the configuration profile", + args: { name: "configuration-profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get information about a configuration profile version", + options: [ + { + name: ["--configuration-profile-name", "--profile-name"], + description: "The configuration profile name", + args: { name: "configuration-profile-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--version-name", "--name", "-n"], + description: "The configuration profile version name", + args: { name: "version-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a configuration profile version", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--configuration", + description: + "Configuration dictionary of the configuration profile. Support json-file and yaml-file", + args: { name: "configuration" }, + }, + { + name: ["--configuration-profile-name", "--profile-name"], + description: "The configuration profile name", + args: { name: "configuration-profile-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--version-name", "--name", "-n"], + description: "The configuration profile version name", + args: { name: "version-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "configuration-profile-assignment", + description: "Manage configuration profile assignment", + subcommands: [ + { + name: "list", + description: + "List configuration profile assignments under a given subscription", + options: [ + { + name: "--cluster-name", + description: "The name of the Arc machine", + args: { name: "cluster-name" }, + }, + { + name: "--machine-name", + description: "The name of the Arc machine", + args: { name: "machine-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "arc", + description: + "Manage association between an ARC machine and Automanage configuration profile", + subcommands: [ + { + name: "create", + description: + "Create an association between an ARC machine and Automanage configuration profile", + options: [ + { + name: [ + "--configuration-profile-assignment-name", + "--name", + "-n", + ], + description: + "Name of the configuration profile assignment. Only default is supported", + args: { name: "configuration-profile-assignment-name" }, + isRequired: true, + }, + { + name: "--machine-name", + description: "The name of the Arc machine", + args: { name: "machine-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--configuration-profile", + description: + "The Automanage configurationProfile ARM Resource URI", + args: { name: "configuration-profile" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an association between an ARC machine and Automanage configuration profile", + options: [ + { + name: [ + "--configuration-profile-assignment-name", + "--name", + "-n", + ], + description: "Name of the configuration profile assignment", + args: { name: "configuration-profile-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--machine-name", + description: "The name of the Arc machine", + args: { name: "machine-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Get information about an association between an ARC machine and Automanage configuration profile", + options: [ + { + name: [ + "--configuration-profile-assignment-name", + "--name", + "-n", + ], + description: "The configuration profile assignment name", + args: { name: "configuration-profile-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--machine-name", + description: "The name of the Arc machine", + args: { name: "machine-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an association between a ARC machine and Automanage configuration profile", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--configuration-profile", + description: + "The Automanage configurationProfile ARM Resource URI", + args: { name: "configuration-profile" }, + }, + { + name: [ + "--configuration-profile-assignment-name", + "--name", + "-n", + ], + description: "The configuration profile assignment name", + args: { name: "configuration-profile-assignment-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--machine-name", + description: "The name of the Arc machine", + args: { name: "machine-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "report", + description: + "Manage report within a given ARC machine configuration profile assignment", + subcommands: [ + { + name: "list", + description: + "List reports within a given ARC machine configuration profile assignment", + options: [ + { + name: [ + "--configuration-profile-assignment-name", + "--assignment-name", + ], + description: "The configuration profile assignment name", + args: { name: "configuration-profile-assignment-name" }, + isRequired: true, + }, + { + name: "--machine-name", + description: "The name of the Arc machine", + args: { name: "machine-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get information about a report associated with an ARC machine configuration profile assignment run", + options: [ + { + name: [ + "--configuration-profile-assignment-name", + "--assignment-name", + ], + description: "The configuration profile assignment name", + args: { name: "configuration-profile-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--machine-name", + description: "The name of the Arc machine", + args: { name: "machine-name" }, + }, + { + name: ["--report-name", "--name", "-n"], + description: "The report name", + args: { name: "report-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "cluster", + description: + "Manage association between an AzureStackHCI cluster and Automanage configuration profile", + subcommands: [ + { + name: "create", + description: + "Create an association between an AzureStackHCI cluster and Automanage configuration profile", + options: [ + { + name: "--cluster-name", + description: "The name of the Arc machine", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: [ + "--configuration-profile-assignment-name", + "--name", + "-n", + ], + description: + "Name of the configuration profile assignment. Only default is supported", + args: { name: "configuration-profile-assignment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--configuration-profile", + description: + "The Automanage configurationProfile ARM Resource URI", + args: { name: "configuration-profile" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an association between an AzureStackHCI cluster and Automanage configuration profile", + options: [ + { + name: "--cluster-name", + description: "The name of the Arc machine", + args: { name: "cluster-name" }, + }, + { + name: [ + "--configuration-profile-assignment-name", + "--name", + "-n", + ], + description: "Name of the configuration profile assignment", + args: { name: "configuration-profile-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Get information about an association between an AzureStackHCI cluster and Automanage configuration profile", + options: [ + { + name: "--cluster-name", + description: "The name of the Arc machine", + args: { name: "cluster-name" }, + }, + { + name: [ + "--configuration-profile-assignment-name", + "--name", + "-n", + ], + description: "The configuration profile assignment name", + args: { name: "configuration-profile-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an association between a AzureStackHCI cluster and Automanage configuration profile", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--cluster-name", + description: "The name of the Arc machine", + args: { name: "cluster-name" }, + }, + { + name: "--configuration-profile", + description: + "The Automanage configurationProfile ARM Resource URI", + args: { name: "configuration-profile" }, + }, + { + name: [ + "--configuration-profile-assignment-name", + "--name", + "-n", + ], + description: "The configuration profile assignment name", + args: { name: "configuration-profile-assignment-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "report", + description: + "Manage report within a given AzureStackHCI cluster configuration profile assignment", + subcommands: [ + { + name: "list", + description: + "List reports within a given AzureStackHCI cluster configuration profile assignment", + options: [ + { + name: [ + "--configuration-profile-assignment-name", + "--assignment-name", + ], + description: "The configuration profile assignment name", + args: { name: "configuration-profile-assignment-name" }, + isRequired: true, + }, + { + name: "--cluster-name", + description: "The name of the HCI cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get information about a report associated with a AzureStackHCI cluster configuration profile assignment run", + options: [ + { + name: [ + "--configuration-profile-assignment-name", + "--assignment-name", + ], + description: "The configuration profile assignment name", + args: { name: "configuration-profile-assignment-name" }, + }, + { + name: "--cluster-name", + description: "The name of the HCI cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--report-name", "--name", "-n"], + description: "The report name", + args: { name: "report-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "vm", + description: + "Manage association between a VM and Automanage configuration profile", + subcommands: [ + { + name: "create", + description: + "Create an association between a VM and Automanage configuration profile", + options: [ + { + name: [ + "--configuration-profile-assignment-name", + "--name", + "-n", + ], + description: + "Name of the configuration profile assignment. Only default is supported", + args: { name: "configuration-profile-assignment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--configuration-profile", + description: + "The Automanage configurationProfile ARM Resource URI", + args: { name: "configuration-profile" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an association between a VM and Automanage configuration profile", + options: [ + { + name: [ + "--configuration-profile-assignment-name", + "--name", + "-n", + ], + description: "Name of the configuration profile assignment", + args: { name: "configuration-profile-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Get information about an association between a VM and Automanage configuration profile", + options: [ + { + name: [ + "--configuration-profile-assignment-name", + "--name", + "-n", + ], + description: "The configuration profile assignment name", + args: { name: "configuration-profile-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "update", + description: + "Update an association between a VM and Automanage configuration profile", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--configuration-profile", + description: + "The Automanage configurationProfile ARM Resource URI", + args: { name: "configuration-profile" }, + }, + { + name: [ + "--configuration-profile-assignment-name", + "--name", + "-n", + ], + description: "The configuration profile assignment name", + args: { name: "configuration-profile-assignment-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "report", + description: + "Manage report within a given VM configuration profile assignment", + subcommands: [ + { + name: "list", + description: + "List reports within a given VM configuration profile assignment", + options: [ + { + name: [ + "--configuration-profile-assignment-name", + "--assignment-name", + ], + description: "The configuration profile assignment name", + args: { name: "configuration-profile-assignment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get information about a report associated with a VM configuration profile assignment run", + options: [ + { + name: [ + "--configuration-profile-assignment-name", + "--assignment-name", + ], + description: "The configuration profile assignment name", + args: { name: "configuration-profile-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--report-name", "--name", "-n"], + description: "The report name", + args: { name: "report-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "service-principal", + description: + "Manage Automanage AAD first party Application Service Principal", + subcommands: [ + { + name: "list", + description: + "List the Automanage AAD first party Application Service Principal details for the subscription id", + }, + { + name: "show-default", + description: + "Get the Automanage AAD first party Application Service Principal details for the subscription id", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/automation.ts b/src/az/2.53.0/automation.ts new file mode 100644 index 000000000000..ede7f3e8801c --- /dev/null +++ b/src/az/2.53.0/automation.ts @@ -0,0 +1,1966 @@ +const completion: Fig.Spec = { + name: "automation", + description: "Manage Automation Account", + subcommands: [ + { + name: "account", + description: "Automation Account", + subcommands: [ + { + name: "create", + description: "Create automation account", + options: [ + { + name: ["--automation-account-name", "--name", "-n"], + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--sku", + description: "Account SKU", + args: { name: "sku", suggestions: ["Basic", "Free"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an automation account", + options: [ + { + name: ["--automation-account-name", "--name", "-n"], + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Retrieve a list of accounts within a given resource group. And Retrieve a list of accounts within a given subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get information about an Automation Account", + options: [ + { + name: ["--automation-account-name", "--name", "-n"], + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an automation account", + options: [ + { + name: ["--automation-account-name", "--name", "-n"], + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: "Account SKU", + args: { name: "sku", suggestions: ["Basic", "Free"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "hrwg", + description: "Automation Hybrid Runbook Worker Group", + subcommands: [ + { + name: "create", + description: "Create a hybrid runbook worker group", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--hybrid-runbook-worker-group-name", "--name", "-n"], + description: "The hybrid runbook worker group name", + args: { name: "hybrid-runbook-worker-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--credential", + description: + 'Sets the credential of a worker group. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "credential" }, + }, + ], + }, + { + name: "delete", + description: "Delete a hybrid runbook worker group", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: ["--hybrid-runbook-worker-group-name", "--name", "-n"], + description: "The hybrid runbook worker group name", + args: { name: "hybrid-runbook-worker-group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all hybrid runbook worker groups", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: "The filter to apply on the operation", + args: { name: "filter" }, + }, + ], + }, + { + name: "show", + description: "Get hybrid worker group", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: ["--hybrid-runbook-worker-group-name", "--name", "-n"], + description: "The hybrid runbook worker group name", + args: { name: "hybrid-runbook-worker-group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a hybrid runbook worker group", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--credential", + description: + 'Sets the credential of a worker group. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "credential" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--hybrid-runbook-worker-group-name", "--name", "-n"], + description: "The hybrid runbook worker group name", + args: { name: "hybrid-runbook-worker-group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "hrw", + description: "Hrw", + subcommands: [ + { + name: "create", + description: "Create a hybrid runbook worker", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: "--hybrid-runbook-worker-group-name", + description: "The hybrid runbook worker group name", + args: { name: "hybrid-runbook-worker-group-name" }, + isRequired: true, + }, + { + name: ["--hybrid-runbook-worker-id", "--name", "-n"], + description: "The hybrid runbook worker id", + args: { name: "hybrid-runbook-worker-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-resource-id", + description: + "Azure Resource Manager Id for a virtual machine", + args: { name: "vm-resource-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete a hybrid runbook worker", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--hybrid-runbook-worker-group-name", + description: "The hybrid runbook worker group name", + args: { name: "hybrid-runbook-worker-group-name" }, + }, + { + name: ["--hybrid-runbook-worker-id", "--name", "-n"], + description: "The hybrid runbook worker id", + args: { name: "hybrid-runbook-worker-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List a list of hybrid runbook workers", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: "--hybrid-runbook-worker-group-name", + description: "The hybrid runbook worker group name", + args: { name: "hybrid-runbook-worker-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: "The filter to apply on the operation", + args: { name: "filter" }, + }, + ], + }, + { + name: "move", + description: "Move a hybrid worker to a different group", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: "--hybrid-runbook-worker-group-name", + description: "The hybrid runbook worker group name", + args: { name: "hybrid-runbook-worker-group-name" }, + isRequired: true, + }, + { + name: "--hybrid-runbook-worker-id", + description: "The hybrid runbook worker id", + args: { name: "hybrid-runbook-worker-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a hybrid runbook worker", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--hybrid-runbook-worker-group-name", + description: "The hybrid runbook worker group name", + args: { name: "hybrid-runbook-worker-group-name" }, + }, + { + name: ["--hybrid-runbook-worker-id", "--name", "-n"], + description: "The hybrid runbook worker id", + args: { name: "hybrid-runbook-worker-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "job", + description: "Automation Job", + subcommands: [ + { + name: "list", + description: "Retrieve a list of jobs", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "resume", + description: "Resume the job identified by jobName", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: "The job name", + args: { name: "job-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Retrieve the job identified by job name", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: "The job name", + args: { name: "job-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop the job identified by jobName", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: "The job name", + args: { name: "job-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "suspend", + description: "Suspend the job identified by job name", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: "The job name", + args: { name: "job-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "python3-package", + description: "Python3-package", + subcommands: [ + { + name: "create", + description: + "Create or Update the python 3 package identified by package name", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: "--content-link", + description: + 'Gets or sets the module content link. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "content-link" }, + isRequired: true, + }, + { + name: ["--package-name", "--name", "-n"], + description: "The name of python package", + args: { name: "package-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Gets or sets the tags attached to the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the python 3 package by name", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--package-name", "--name", "-n"], + description: "The python package name", + args: { name: "package-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve a list of python 3 packages", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Retrieve the python 3 package identified by package name", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--package-name", "--name", "-n"], + description: "The python package name", + args: { name: "package-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Create or Update the python 3 package identified by package name", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--content-link", + description: + 'Gets or sets the module content link. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "content-link" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--package-name", "--name", "-n"], + description: "The python package name", + args: { name: "package-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Gets or sets the tags attached to the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "runbook", + description: "Automation Runbook", + subcommands: [ + { + name: "create", + description: "Create the runbook identified by runbook name", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--runbook-name", "--name", "-n"], + description: "The runbook name", + args: { name: "runbook-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--type", + description: "Type of the runbook", + args: { + name: "type", + suggestions: [ + "Graph", + "GraphPowerShell", + "GraphPowerShellWorkflow", + "PowerShell", + "PowerShellWorkflow", + "Python2", + "Python3", + "Script", + ], + }, + isRequired: true, + }, + { + name: "--description", + description: "Description of the runbook", + args: { name: "description" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--log-activity-trace", + description: "Activity level tracing options of the runbook", + args: { name: "log-activity-trace" }, + }, + { + name: "--log-progress", + description: "Progress log option of the runbook", + args: { name: "log-progress", suggestions: ["false", "true"] }, + }, + { + name: "--log-verbose", + description: "Verbose log option of the runbook", + args: { name: "log-verbose", suggestions: ["false", "true"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the runbook by name", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--runbook-name", "--name", "-n"], + description: "The runbook name", + args: { name: "runbook-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve a list of runbooks", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "publish", + description: "Publish runbook draft", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--runbook-name", "--name", "-n"], + description: + "The parameters supplied to the publish runbook operation", + args: { name: "runbook-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "replace-content", + description: "Replace content of the runbook", + options: [ + { + name: "--content", + description: "The runbook content", + args: { name: "content" }, + isRequired: true, + }, + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--runbook-name", "--name", "-n"], + description: "The runbook name", + args: { name: "runbook-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "revert-to-published", + description: + "Revert the runbook content to last known published state", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--runbook-name", "--name", "-n"], + description: "The runbook name", + args: { name: "runbook-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Retrieve the runbook identified by runbook name", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--runbook-name", "--name", "-n"], + description: "The runbook name", + args: { name: "runbook-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start the runbook", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--runbook-name", "--name", "-n"], + description: "The runbook name", + args: { name: "runbook-name" }, + }, + { + name: "--parameters", + description: + "Parameters of the job. Expect value: KEY1=VALUE1 KEY2=VALUE2", + args: { name: "parameters" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--run-on", + description: + "RunOn which specifies the group name where the job is to be executed", + args: { name: "run-on" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the runbook identified by runbook name", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--description", + description: "Description of the runbook", + args: { name: "description" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--log-activity-trace", + description: "Activity level tracing options of the runbook", + args: { name: "log-activity-trace" }, + }, + { + name: "--log-progress", + description: "Progress log option of the runbook", + args: { name: "log-progress", suggestions: ["false", "true"] }, + }, + { + name: "--log-verbose", + description: "Verbose log option of the runbook", + args: { name: "log-verbose", suggestions: ["false", "true"] }, + }, + { + name: ["--runbook-name", "--name", "-n"], + description: "The runbook name", + args: { name: "runbook-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the automation runbook is met", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--runbook-name", "--name", "-n"], + description: "The runbook name", + args: { name: "runbook-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "schedule", + description: "Automation Schedule", + subcommands: [ + { + name: "create", + description: "Create automation schedule", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: "--frequency", + description: "The frequency of the schedule", + args: { name: "frequency" }, + isRequired: true, + }, + { + name: "--interval", + description: "The interval of the schedule", + args: { name: "interval" }, + isRequired: true, + }, + { + name: ["--schedule-name", "--name", "-n"], + description: "The schedule name", + args: { name: "schedule-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "The description of the schedule", + args: { name: "description" }, + }, + { + name: "--expiry-time", + description: + "The end time of the schedule. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "expiry-time" }, + }, + { + name: "--start-time", + description: + "The start time of the schedule. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "start-time" }, + }, + { + name: "--time-zone", + description: "The time zone of the schedule", + args: { name: "time-zone" }, + }, + ], + }, + { + name: "delete", + description: "Delete an automation schedule", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--schedule-name", "--name", "-n"], + description: "The schedule name", + args: { name: "schedule-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve a list of schedules", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Retrieve the schedule identified by schedule name", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--schedule-name", "--name", "-n"], + description: "The schedule name", + args: { name: "schedule-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an automation schedule", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--schedule-name", "--name", "-n"], + description: "The schedule name", + args: { name: "schedule-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "The description of the schedule", + args: { name: "description" }, + }, + { + name: "--is-enabled", + description: "Indicate whether this schedule is enabled", + args: { name: "is-enabled", suggestions: ["false", "true"] }, + }, + ], + }, + ], + }, + { + name: "software-update-configuration", + description: "Automation software-update-configuration", + subcommands: [ + { + name: "create", + description: "Create automation software-update-configuration", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--configuration-name", "--name", "-n"], + description: "The name of the software update configuration", + args: { name: "configuration-name" }, + isRequired: true, + }, + { + name: "--frequency", + description: "The frequency of the schedule", + args: { name: "frequency" }, + isRequired: true, + }, + { + name: "--interval", + description: "The interval of the schedule", + args: { name: "interval" }, + isRequired: true, + }, + { + name: "--operating-system", + description: "Operating system of target machines", + args: { + name: "operating-system", + suggestions: ["Linux", "Windows"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--azure-queries-locations", + description: + "Space-separated list of Azure queries location in the software update configuration", + args: { name: "azure-queries-locations" }, + }, + { + name: "--azure-queries-scope", + description: + "Space-separated list of Azure queries scope in the software update configuration", + args: { name: "azure-queries-scope" }, + }, + { + name: "--azure-queries-tags", + description: + "Space-separated list of Azure queries tag settings in the software update configuration", + args: { name: "azure-queries-tags" }, + }, + { + name: "--azure-virtual-machines", + description: + "Space-separated list of azure resource Ids for azure virtual machines targeted by the software update configuration", + args: { name: "azure-virtual-machines" }, + }, + { + name: "--creation-time", + description: + "The creation time. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "creation-time" }, + }, + { + name: "--description", + description: "The description of the schedule", + args: { name: "description" }, + }, + { + name: "--duration", + description: + "Maximum time allowed for the software update configuration run. Duration needs to be specified using the format PT[n]H[n]M[n]S as per ISO8601", + args: { name: "duration" }, + }, + { + name: "--excluded-kb-numbers", + description: + "Space-separated list of KB numbers excluded from the software update configuration", + args: { name: "excluded-kb-numbers" }, + }, + { + name: "--expiry-time", + description: + "The end time of the schedule. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "expiry-time" }, + }, + { + name: "--expiry-time-offset-minutes", + description: "The expiry time's offset in minutes", + args: { name: "expiry-time-offset-minutes" }, + }, + { + name: "--included-kb-numbers", + description: + "Space-separated list of KB numbers included from the software update configuration", + args: { name: "included-kb-numbers" }, + }, + { + name: "--included-update-classifications", + description: + "Update classification included in the software update configuration. A comma separated string with required values", + args: { name: "included-update-classifications" }, + }, + { + name: "--is-enabled", + description: "Indicating whether this schedule is enabled", + args: { name: "is-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--last-modified-time", + description: + "The last modified time. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "last-modified-time" }, + }, + { + name: "--next-run", + description: + "The next run time of the schedule. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "next-run" }, + }, + { + name: "--next-run-offset-minutes", + description: "The next run time's offset in minutes", + args: { name: "next-run-offset-minutes" }, + }, + { + name: "--non-azure-computer-names", + description: + "Space-separated list of names of non-azure machines targeted by the software update configuration", + args: { name: "non-azure-computer-names" }, + }, + { + name: "--non-azure-queries-function-alias", + description: "Log Analytics Saved Search name", + args: { name: "non-azure-queries-function-alias" }, + }, + { + name: "--non-azure-queries-workspace-id", + description: "Workspace Id for Log Analytics", + args: { name: "non-azure-queries-workspace-id" }, + }, + { + name: "--post-task-job-id", + description: "The job id of the task", + args: { name: "post-task-job-id" }, + }, + { + name: "--post-task-source", + description: "The name of the source of the task", + args: { name: "post-task-source" }, + }, + { + name: "--post-task-status", + description: "The status of the task", + args: { name: "post-task-status" }, + }, + { + name: "--pre-task-job-id", + description: "The job id of the task", + args: { name: "pre-task-job-id" }, + }, + { + name: "--pre-task-source", + description: "The name of the source of the task", + args: { name: "pre-task-source" }, + }, + { + name: "--pre-task-status", + description: "The status of the task", + args: { name: "pre-task-status" }, + }, + { + name: "--reboot-setting", + description: + "Reboot setting for the software update configuration", + args: { name: "reboot-setting" }, + }, + { + name: "--start-time", + description: + "The start time of the schedule. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "start-time" }, + }, + { + name: "--time-zone", + description: "The time zone of the schedule", + args: { name: "time-zone" }, + }, + ], + }, + { + name: "delete", + description: "Delete an automation software-update-configuration", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--configuration-name", "--name", "-n"], + description: "The name of the software update configuration", + args: { name: "configuration-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all software-update-configurations for the account", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a single software-update-configuration by name", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--configuration-name", "--name", "-n"], + description: "The name of the software update configuration", + args: { name: "configuration-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "machine-runs", + description: "Software Update Configuration Machine Runs", + subcommands: [ + { + name: "list", + description: "List software update configuration machine-runs", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get a single software update configuration machine runs by Id", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--software-update-configuration-machine-run-id", + description: + "The Id of the software update configuration machine run", + args: { + name: "software-update-configuration-machine-run-id", + }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "runs", + description: "Software Update Configuration Runs", + subcommands: [ + { + name: "list", + description: "Return list of software update configuration runs", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get a single software update configuration runs by Id", + options: [ + { + name: "--automation-account-name", + description: "The name of the automation account", + args: { name: "automation-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--software-update-configuration-run-id", + description: + "The Id of the software update configuration run", + args: { name: "software-update-configuration-run-id" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/azurestackhci.ts b/src/az/2.53.0/azurestackhci.ts new file mode 100644 index 000000000000..1442f01fd00d --- /dev/null +++ b/src/az/2.53.0/azurestackhci.ts @@ -0,0 +1,1587 @@ +const completion: Fig.Spec = { + name: "azurestackhci", + description: "Manage azurestackhci", + subcommands: [ + { + name: "galleryimage", + description: + "Please use 'az azurestackhci image' instead of 'az azurestackhci galleryimage'", + subcommands: [ + { + name: "create", + description: + "Please use 'az azurestackhci image create' instead of 'az azurestackhci galleryimage create'", + options: [ + { + name: "--name", + description: "Name of the gallery image", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Please use 'az azurestackhci image delete' instead of 'az azurestackhci galleryimage delete'", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the gallery image", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Please use 'az azurestackhci image list' instead of 'az azurestackhci galleryimage list'", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Please use 'az azurestackhci image show' instead of 'az azurestackhci galleryimage show'", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the gallery image", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Please use 'az azurestackhci image update' instead of 'az azurestackhci galleryimage update'", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the gallery image", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "image", + description: "Manage images with azurestackhci", + subcommands: [ + { + name: "create", + description: "Create a gallery image", + options: [ + { + name: "--name", + description: "Name of the gallery image", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete an image", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the gallery image", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all gallery images", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an image", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the gallery image", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an image", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the gallery image", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "networkinterface", + description: "Manage networkinterface with azurestackhci", + subcommands: [ + { + name: "create", + description: "Create a network interface", + options: [ + { + name: "--name", + description: "Name of the network interface", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--dns-servers", + description: "Space-separated list of DNS server IP addresses", + args: { name: "dns-servers" }, + }, + ], + }, + { + name: "delete", + description: "Delete a network interface", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the network interface", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all network interfaces", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a network interface", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the network interface", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a network interface", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the network interface", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "storagepath", + description: "Manage storagepath with azurestackhci", + subcommands: [ + { + name: "create", + description: "Create a storage path", + options: [ + { + name: "--name", + description: "Name of the storage path", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a storage path", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the storage path", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the storage paths", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a storage path", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the storage path", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a storage path", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the storage path", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "virtualharddisk", + description: "Manage virtualharddisk with azurestackhci", + subcommands: [ + { + name: "create", + description: "Create a virtual hard disk", + options: [ + { + name: "--name", + description: "Name of the virtual hard disk", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--block-size-bytes", + description: "Block size", + args: { name: "block-size-bytes" }, + }, + { + name: "--disk-file-format", + description: + "Disk file format of the virtual hard disk - vhd or vhdx", + args: { name: "disk-file-format" }, + }, + { + name: "--disk-size-gb", + description: "Size of the disk in GB", + args: { name: "disk-size-gb" }, + }, + { + name: "--dynamic", + description: + "Boolean for enabling dynamic sizing on the virtual hard disk. Allowed values: false, true", + args: { name: "dynamic", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a virtual hard disk", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the virtual hard disk", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all virtual hard disks", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a virtual hard disk", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the virtual hard disk", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a virtual hard disk", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the virtual hard disk", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "virtualmachine", + description: "Manage virtualmachine with azurestackhci", + subcommands: [ + { + name: "create", + description: "Create a VM", + options: [ + { + name: "--name", + description: "Name of the virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--admin-password", + description: "AdminPassword - Administrator Password", + args: { name: "admin-password" }, + }, + { + name: "--admin-username", + description: "AdminUsername - Administrator Username", + args: { name: "admin-username" }, + }, + { + name: "--allow-password-auth", + description: "Enable password authentication for Linux VM", + args: { + name: "allow-password-auth", + suggestions: ["false", "true"], + }, + }, + { + name: "--computer-name", + description: "Name of the Computer", + args: { name: "computer-name" }, + }, + { + name: "--data-disk", + description: + "Names of the data disk VHD's being attached to the VM", + args: { name: "data-disk" }, + }, + { + name: "--disable-vm-management", + description: + "To enable/disable vm Management agent. The default behaviour enables the provisioning for VM ARC agent", + args: { + name: "disable-vm-management", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-tpm", + description: + "Enable tpm - Enable TPM in security settings for the VMs. If the flag is not provided, default value is False", + }, + ], + }, + { + name: "delete", + description: "Delete a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the virtual machine", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the VMs", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "restart", + description: "Restart a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the virtual machine", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the virtual machine", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a stopped VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the virtual machine", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Power off (stop) a running VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the virtual machine", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a VM", + options: [ + { + name: "--cpu-count", + description: "Number of processors", + args: { name: "cpu-count" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--memory-mb", + description: "Amount of RAM in mb", + args: { name: "memory-mb" }, + }, + { + name: "--name", + description: "Name of the virtual machine", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vhd-names", + description: "List of vhd names", + args: { name: "vhd-names" }, + }, + { + name: "--vnic-names", + description: "List of vnic names", + args: { name: "vnic-names" }, + }, + ], + }, + { + name: "extension", + description: "Manage virtualmachine extension with azurestackhci", + subcommands: [ + { + name: "create", + description: "Create a virtualmachine extension", + options: [ + { + name: "--name", + description: "The name of the extension", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--virtualmachine-name", + description: + "The name of the virtualmachine where the extension should be created or updated", + args: { name: "virtualmachine-name" }, + isRequired: true, + }, + { + name: "--auto-upgrade-minor", + description: + "Indicate whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true", + args: { + name: "auto-upgrade-minor", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-auto-upgrade", + description: + "Indicate whether the extension should be automatically upgraded by the platform if there is a newer version available", + args: { + name: "enable-auto-upgrade", + suggestions: ["false", "true"], + }, + }, + { + name: "--extension-type", + description: + "Specify the type of the virtualmachine extension; an example is CustomScriptExtension", + args: { name: "extension-type" }, + }, + { + name: "--force-update-tag", + description: + "How the extension handler should be forced to update even if the extension configuration has not changed", + args: { name: "force-update-tag" }, + }, + { + name: "--inst-handler-version", + description: "Specify the version of the script handler", + args: { name: "inst-handler-version" }, + }, + { + name: "--instance-view-type", + description: + 'Specify the type of the extension; an example is "CustomScriptExtension"', + args: { name: "instance-view-type" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--protected-settings", + description: + "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. Expected value: json-string/json-file/@json-file", + args: { name: "protected-settings" }, + }, + { + name: "--publisher", + description: + "The name of the virtualmachine extension handler publisher", + args: { name: "publisher" }, + }, + { + name: "--settings", + description: + "Json formatted public settings for the virtualmachine extension", + args: { name: "settings" }, + }, + { + name: "--status", + description: "Instance view status", + args: { name: "status" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--type-handler-version", + description: "Specify the version of the script handler", + args: { name: "type-handler-version" }, + }, + ], + }, + { + name: "delete", + description: "Delete a virtualmachine extension", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "The name of the machine extension", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--virtualmachine-name", + description: + "The name of the virtual machine where the extension should be deleted from", + args: { name: "virtualmachine-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the extensions for a virtualmachine", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--virtualmachine-name", + description: + "The name of the virtual machine containing the extension", + args: { name: "virtualmachine-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a virtualmachine extension", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "The name of the machine extension", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--virtualmachine-name", + description: + "The name of the virtual machine containing the extension", + args: { name: "virtualmachine-name" }, + }, + ], + }, + { + name: "update", + description: "Update a virtualmachine extension", + options: [ + { + name: "--name", + description: "The name of the extension", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--auto-upgrade-minor", + description: + "Indicate whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true", + args: { + name: "auto-upgrade-minor", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-auto-upgrade", + description: + "Indicate whether the extension should be automatically upgraded by the platform if there is a newer version available", + args: { + name: "enable-auto-upgrade", + suggestions: ["false", "true"], + }, + }, + { + name: "--extension-type", + description: + 'Specify the type of the extension; an example is "CustomScriptExtension"', + args: { name: "extension-type" }, + }, + { + name: "--force-update-tag", + description: + "How the extension handler should be forced to update even if the extension configuration has not changed", + args: { name: "force-update-tag" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--protected-settings", + description: + "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. Expected value: json-string/json-file/@json-file", + args: { name: "protected-settings" }, + }, + { + name: "--publisher", + description: "The name of the extension handler publisher", + args: { name: "publisher" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--settings", + description: + "Json formatted public settings for the extension. Expected value: json-string/json-file/@json-file", + args: { name: "settings" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--type-handler-version", + description: "Specify the version of the script handler", + args: { name: "type-handler-version" }, + }, + { + name: "--virtualmachine-name", + description: + "The name of the virtual machine containing the extension", + args: { name: "virtualmachine-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the virtualmachine extension is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--name", + description: "The name of the machine extension", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--virtualmachine-name", + description: + "The name of the virtual machine containing the extension", + args: { name: "virtualmachine-name" }, + }, + ], + }, + ], + }, + { + name: "vnic", + description: "Manage vNIC of a virtual machine with azurestackhci", + subcommands: [ + { + name: "add", + description: "Add existing vNICs to a VM", + options: [ + { + name: "--vnic-names", + description: "List of vnic names", + args: { name: "vnic-names" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the virtual machine", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: "Remove vNICs from a VM", + options: [ + { + name: "--vnic-names", + description: "List of vnic names", + args: { name: "vnic-names" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the virtual machine", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + ], + }, + { + name: "virtualnetwork", + description: "Manage virtualnetwork with azurestackhci", + subcommands: [ + { + name: "create", + description: "Create a virtual network", + options: [ + { + name: "--name", + description: "Name of the virtual network", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address-prefix", + description: "Cidr for this subnet - IPv4, IPv6", + args: { name: "address-prefix" }, + }, + { + name: "--dns-servers", + description: "Space-separated list of DNS server IP addresses", + args: { name: "dns-servers" }, + }, + ], + }, + { + name: "delete", + description: "Delete a virtual network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the virtual network", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the virtual networks", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a virtual network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the virtual network", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a virtual network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the virtual network", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/backup.ts b/src/az/2.53.0/backup.ts new file mode 100644 index 000000000000..3b0e4939980a --- /dev/null +++ b/src/az/2.53.0/backup.ts @@ -0,0 +1,3638 @@ +const completion: Fig.Spec = { + name: "backup", + description: "Manage Azure Backups", + subcommands: [ + { + name: "container", + description: + "Resource which houses items or applications to be protected", + subcommands: [ + { + name: "list", + description: + "List containers registered to a Recovery services vault", + options: [ + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: [ + "AzureIaasVM", + "AzureStorage", + "AzureWorkload", + "MAB", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--use-secondary-region", + description: + "Use this flag to list containers in secondary region", + args: { name: "use-secondary-region" }, + }, + ], + }, + { + name: "re-register", + description: "Reset the registration details for a given container", + options: [ + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "MSSQL", + "SAPASE", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + ], + }, + isRequired: true, + }, + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "register", + description: + "Register a Resource to the given Recovery Services Vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-id", + description: + "ID of the Azure Resource containing items to be protected by Azure Backup service. Currently, only Azure VM resource IDs are supported", + args: { name: "resource-id" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "MSSQL", + "SAPASE", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + ], + }, + isRequired: true, + }, + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + ], + }, + { + name: "show", + description: + "Show details of a container registered to a Recovery services vault", + options: [ + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: [ + "AzureIaasVM", + "AzureStorage", + "AzureWorkload", + "MAB", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container. You can use the backup container list command to get the name of a container", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--use-secondary-region", + description: + "Use this flag to show container in secondary region", + args: { name: "use-secondary-region" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "unregister", + description: + "Unregister a Backup Container to make the underlying 'resource' be protected by another vault", + options: [ + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: [ + "AzureIaasVM", + "AzureStorage", + "AzureWorkload", + "MAB", + ], + }, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "item", + description: + "An item which is already protected or backed up to an Azure Recovery services vault with an associated policy", + subcommands: [ + { + name: "list", + description: "List all backed up items within a container", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: [ + "AzureIaasVM", + "AzureStorage", + "AzureWorkload", + "MAB", + ], + }, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--use-secondary-region", + description: "Use this flag to list items in secondary region", + args: { name: "use-secondary-region" }, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + }, + ], + }, + { + name: "set-policy", + description: + "Update the policy associated with this item. Use this to change policies of the backup item", + options: [ + { + name: ["--policy-name", "-p"], + description: + "Name of the Backup policy. You can use the backup policy list command to get the name of a backup policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the backed up item. You can use the backup item list command to get the name of a backed up item", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tenant-id", + description: + "ID of the tenant if the Resource Guard protecting the vault exists in a different tenant", + args: { name: "tenant-id" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + }, + ], + }, + { + name: "show", + description: "Show details of a particular backed up item", + options: [ + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: [ + "AzureIaasVM", + "AzureStorage", + "AzureWorkload", + "MAB", + ], + }, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the backed up item. You can use the backup item list command to get the name of a backed up item", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--use-secondary-region", + description: "Use this flag to show item in secondary region", + args: { name: "use-secondary-region" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + }, + ], + }, + ], + }, + { + name: "job", + description: "Entity which contains details of the job", + subcommands: [ + { + name: "list", + description: "List all backup jobs of a Recovery Services vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: [ + "AzureIaasVM", + "AzureStorage", + "AzureWorkload", + "MAB", + ], + }, + }, + { + name: "--end-date", + description: "The end date of the range in UTC (d-m-Y)", + args: { name: "end-date" }, + }, + { + name: "--operation", + description: "User initiated operation", + args: { + name: "operation", + suggestions: [ + "Backup", + "ConfigureBackup", + "DeleteBackupData", + "DisableBackup", + "Restore", + ], + }, + }, + { + name: "--start-date", + description: "The start date of the range in UTC (d-m-Y)", + args: { name: "start-date" }, + }, + { + name: "--status", + description: "Status of the Job", + args: { + name: "status", + suggestions: [ + "Cancelled", + "Completed", + "CompletedWithWarnings", + "Failed", + "InProgress", + ], + }, + }, + { + name: "--use-secondary-region", + description: + "Use this flag to show recoverypoints in secondary region", + args: { name: "use-secondary-region" }, + }, + ], + }, + { + name: "show", + description: "Show details of a particular job", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the job. You can use the backup job list command to get the name of a job", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--use-secondary-region", + description: + "Use this flag to show recoverypoints in secondary region", + args: { name: "use-secondary-region" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "stop", + description: "Suspend or terminate a currently running job", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the job. You can use the backup job list command to get the name of a job", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--use-secondary-region", + description: + "Use this flag to show recoverypoints in secondary region", + args: { name: "use-secondary-region" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "wait", + description: + "Wait until either the job completes or the specified timeout value is reached", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the job. You can use the backup job list command to get the name of a job", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum time, in seconds, to wait before aborting", + args: { name: "timeout" }, + }, + { + name: "--use-secondary-region", + description: + "Use this flag to show recoverypoints in secondary region", + args: { name: "use-secondary-region" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "policy", + description: + "A backup policy defines when you want to take a backup and for how long you would retain each backup copy", + subcommands: [ + { + name: "create", + description: + "Create a new policy for the given BackupManagementType and workloadType", + options: [ + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Policy", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy", + description: + "JSON encoded policy definition. Use the show command with JSON output to obtain a policy object. Modify the values using a file editor and pass the object", + args: { name: "policy" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete a backup policy which doesn't have any associated backup items", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the backup policy. You can use the backup policy list command to get the name of a policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "get-default-for-vm", + description: + "Get the default policy with default values to backup a VM", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all policies for a Recovery services vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: "--move-to-archive-tier", + description: + "Parameter that specifies whether to only list policies where archive tier move is enabled/disabled", + args: { + name: "move-to-archive-tier", + suggestions: ["All", "Disabled", "Enabled"], + }, + }, + { + name: "--policy-sub-type", + description: + "Sub type of policies to be retrieved. To list standard backup policies, specify ‘Standard’ as the value of this parameter. To list enhanced backup policies for Azure VMs, specify ‘Enhanced’ as the value of this parameter", + args: { + name: "policy-sub-type", + suggestions: ["Enhanced", "Standard"], + }, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + }, + ], + }, + { + name: "list-associated-items", + description: "List all items protected by a backup policy", + options: [ + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the backup policy. You can use the backup policy list command to get the name of a policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "set", + description: "Update the existing policy with the provided details", + options: [ + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: "--fix-for-inconsistent-items", + description: + "Specify whether or not to retry Policy Update for failed items", + args: { + name: "fix-for-inconsistent-items", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Policy", + args: { name: "name" }, + }, + { + name: "--policy", + description: + "JSON encoded policy definition. Use the show command with JSON output to obtain a policy object. Modify the values using a file editor and pass the object", + args: { name: "policy" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tenant-id", + description: + "ID of the tenant if the Resource Guard protecting the vault exists in a different tenant", + args: { name: "tenant-id" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "show", + description: "Show details of a particular policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the backup policy. You can use the backup policy list command to get the name of a policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "protectable-item", + description: + "Manage the item which is yet to be protected or backed up to an Azure Recovery services vault with an associated policy", + subcommands: [ + { + name: "initialize", + description: + "Trigger the discovery of any unprotected items of the given workload type in the given container", + options: [ + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "MSSQL", + "SAPASE", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + ], + }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Retrieve all protectable items within a certain container or across all registered containers", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "MSSQL", + "SAPASE", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + ], + }, + isRequired: true, + }, + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--protectable-item-type", + description: + "Specify the type of items within the Resource which should be discovered and protected by Azure Backup. 'HANAInstance' and 'SAPHanaSystem' can be used interchangeably", + args: { + name: "protectable-item-type", + suggestions: [ + "HANAInstance", + "SAPHanaDatabase", + "SAPHanaSystem", + "SQLAG", + "SQLDatabase", + "SQLInstance", + ], + }, + }, + { + name: "--server-name", + description: "Parent Server name of the item", + args: { name: "server-name" }, + }, + ], + }, + { + name: "show", + description: + "Retrieve the specified protectable item within the given container", + options: [ + { + name: "--protectable-item-type", + description: + "Specify the type of items within the Resource which should be discovered and protected by Azure Backup. 'HANAInstance' and 'SAPHanaSystem' can be used interchangeably", + args: { + name: "protectable-item-type", + suggestions: [ + "HANAInstance", + "SAPHanaDatabase", + "SAPHanaSystem", + "SQLAG", + "SQLDatabase", + "SQLInstance", + ], + }, + isRequired: true, + }, + { + name: "--server-name", + description: "Parent Server name of the item", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "MSSQL", + "SAPASE", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + ], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the protectable item", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "protection", + description: + "Manage protection of your items, enable protection or disable it, or take on-demand backups", + subcommands: [ + { + name: "auto-disable-for-azurewl", + description: + "Disable auto-protection for the specified protectable item", + options: [ + { + name: "--protectable-item-name", + description: + "Specify the resource name to be protected by Azure Backup service", + args: { name: "protectable-item-name" }, + isRequired: true, + }, + { + name: "--protectable-item-type", + description: + "Specify the type of items within the Resource which should be discovered and protected by Azure Backup. 'HANAInstance' and 'SAPHanaSystem' can be used interchangeably", + args: { + name: "protectable-item-type", + suggestions: [ + "HANAInstance", + "SAPHanaDatabase", + "SAPHanaSystem", + "SQLAG", + "SQLDatabase", + "SQLInstance", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--server-name", + description: "Parent Server name of the item", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + isRequired: true, + }, + ], + }, + { + name: "auto-enable-for-azurewl", + description: + "Automatically protect all existing unprotected DBs and any DB which will be added later with the given policy", + options: [ + { + name: ["--policy-name", "-p"], + description: "Name of the backup policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: "--protectable-item-name", + description: + "Specify the resource name to be protected by Azure Backup service", + args: { name: "protectable-item-name" }, + isRequired: true, + }, + { + name: "--protectable-item-type", + description: + "Specify the type of items within the Resource which should be discovered and protected by Azure Backup. 'HANAInstance' and 'SAPHanaSystem' can be used interchangeably", + args: { + name: "protectable-item-type", + suggestions: [ + "HANAInstance", + "SAPHanaDatabase", + "SAPHanaSystem", + "SQLAG", + "SQLDatabase", + "SQLInstance", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--server-name", + description: "Parent Server name of the item", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + isRequired: true, + }, + ], + }, + { + name: "backup-now", + description: "Perform an on-demand backup of a backed up item", + options: [ + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: "--backup-type", + description: + "'Full, Differential, Log, CopyOnlyFull' for backup Item type 'MSSQL'. 'Full, Differential' for backup item type 'SAPHANA'", + args: { name: "backup-type" }, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--enable-compression", + description: "Option to enable compression", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--retain-until", + description: + "The date until which this backed up copy will be available for retrieval, in UTC (d-m-Y). In case of VM and AzureFileShare a default value of 30 days is taken. For MSSQL workload, retain-until min value is 2 days and max value is 99 years for backup-type 'CopyOnlyFull'. For MSSQL and SAPHANA, retain-until min value is 45 days and max value is 99 years for backup-type 'Full'. For any other backup-type, retain-until value is overriden by Policy. If not specified, a default value of 30 days will be taken for backup-type 'CopyOnlyFull', and a value of 45 days for backup-type 'Full' and no default value for other backup types", + args: { name: "retain-until" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + }, + ], + }, + { + name: "check-vm", + description: + "Find out whether the virtual machine is protected or not. If protected, it returns the recovery services vault ID, otherwise it returns empty", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--vm", + description: "Name or ID of the Virtual Machine to be protected", + args: { name: "vm" }, + }, + ], + }, + { + name: "disable", + description: + "Stop protecting a backed up item. Can retain the backed up data forever or choose to delete it", + options: [ + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--delete-backup-data", + description: + "Option to delete existing backed up data in the Recovery services vault", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: [ + "--retain-recovery-points-as-per-policy", + "--retain-as-per-policy", + ], + description: + "Switch parameter that specifies that existing recovery points should be retained for the duration specified by the backup policy", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tenant-id", + description: + "ID of the tenant if the Resource Guard protecting the vault exists in a different tenant", + args: { name: "tenant-id" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "enable-for-azurefileshare", + description: + "Start protecting a previously unprotected Azure File share within an Azure Storage account as per the specified policy to a Recovery services vault", + options: [ + { + name: "--azure-file-share", + description: "Name of the Azure FileShare", + args: { name: "azure-file-share" }, + isRequired: true, + }, + { + name: ["--policy-name", "-p"], + description: "Name of the backup policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-account", + description: "Name of the Storage Account of the FileShare", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "enable-for-azurewl", + description: + "Start protecting a previously unprotected workload within an Azure VM as per the specified policy to a Recovery services vault. Provide the workload details as a protectable item", + options: [ + { + name: ["--policy-name", "-p"], + description: "Name of the backup policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: "--protectable-item-name", + description: + "Specify the resource name to be protected by Azure Backup service", + args: { name: "protectable-item-name" }, + isRequired: true, + }, + { + name: "--protectable-item-type", + description: + "Specify the type of items within the Resource which should be discovered and protected by Azure Backup. 'HANAInstance' and 'SAPHanaSystem' can be used interchangeably", + args: { + name: "protectable-item-type", + suggestions: [ + "HANAInstance", + "SAPHanaDatabase", + "SAPHanaSystem", + "SQLAG", + "SQLDatabase", + "SQLInstance", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--server-name", + description: "Parent Server name of the item", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + isRequired: true, + }, + ], + }, + { + name: "enable-for-vm", + description: + "Start protecting a previously unprotected Azure VM as per the specified policy to a Recovery services vault", + options: [ + { + name: ["--policy-name", "-p"], + description: "Name of the backup policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--vm", + description: "Name or ID of the Virtual Machine to be protected", + args: { name: "vm" }, + isRequired: true, + }, + { + name: "--disk-list-setting", + description: + "Option to decide whether to include or exclude the disk or reset any previous settings to default behavior", + args: { + name: "disk-list-setting", + suggestions: ["exclude", "include"], + }, + }, + { + name: "--diskslist", + description: "List of disks to be excluded or included", + args: { name: "diskslist" }, + }, + { + name: "--exclude-all-data-disks", + description: "Option to specify to backup OS disk only", + args: { + name: "exclude-all-data-disks", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "resume", + description: + "Resume backup for the associated backup item. Use this to change the policy associated with the backup item", + options: [ + { + name: ["--policy-name", "-p"], + description: "Name of the backup policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + }, + ], + }, + { + name: "undelete", + description: + "Rehydrate an item from softdeleted state to stop protection with retained data state", + options: [ + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + }, + ], + }, + { + name: "update-for-vm", + description: + "Update disk exclusion settings associated with a backed up VM item", + options: [ + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--disk-list-setting", + description: + "Option to decide whether to include or exclude the disk or reset any previous settings to default behavior", + args: { + name: "disk-list-setting", + suggestions: ["exclude", "include", "resetexclusionsettings"], + }, + }, + { + name: "--diskslist", + description: "List of disks to be excluded or included", + args: { name: "diskslist" }, + }, + { + name: "--exclude-all-data-disks", + description: "Option to specify to backup OS disk only", + args: { + name: "exclude-all-data-disks", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "recoveryconfig", + description: + "Manage recovery configuration of an Azure workload backed up item", + subcommands: [ + { + name: "show", + description: + "Construct the recovery configuration of an Azure workload backed up item", + options: [ + { + name: "--restore-mode", + description: "Specify the restore mode", + args: { + name: "restore-mode", + suggestions: [ + "AlternateWorkloadRestore", + "OriginalWorkloadRestore", + "RestoreAsFiles", + ], + }, + isRequired: true, + }, + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--filepath", + description: + "The path to which the DB should be restored as files", + args: { name: "filepath" }, + }, + { + name: "--from-full-rp-name", + description: "Name of the starting Recovery point", + args: { name: "from-full-rp-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + }, + { + name: "--log-point-in-time", + description: + "Specify the point-in-time (in UTC) which will be restored", + args: { name: "log-point-in-time" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rp-name", "-r"], + description: "Name of the recovery point", + args: { name: "rp-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-container-name", + description: + "The target container to which the DB recovery point should be restored", + args: { name: "target-container-name" }, + }, + { + name: "--target-instance-name", + description: + "Specify the target instance name for the restore operation", + args: { name: "target-instance-name" }, + }, + { + name: "--target-item-name", + description: + "Specify the target item name for the restore operation", + args: { name: "target-item-name" }, + }, + { + name: "--target-resource-group", + description: + "Specify the resource group of target item for Cross Region Restore. Default value will be same as --resource-group if not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--target-server-name", + description: "Specify the parent server name of the target item", + args: { name: "target-server-name" }, + }, + { + name: "--target-server-type", + description: + "Specify the type of the server which should be discovered", + args: { + name: "target-server-type", + suggestions: [ + "HANAInstance", + "SAPHanaDatabase", + "SAPHanaSystem", + "SQLAG", + "SQLDatabase", + "SQLInstance", + ], + }, + }, + { + name: "--target-subscription-id", + description: + "Specify the subscription of the target item for Cross Subscription Restore. Defaulted to source subscription if not specified", + args: { name: "target-subscription-id" }, + }, + { + name: "--target-vault-name", + description: + "Specify the vault name of target item for Cross Region Restore. Default value will be same as --vault-name if not specified", + args: { name: "target-vault-name" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "MSSQL", + "SAPASE", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + ], + }, + }, + ], + }, + ], + }, + { + name: "recoverypoint", + description: + "A snapshot of data at that point-of-time, stored in Recovery Services Vault, from which you can restore information", + subcommands: [ + { + name: "list", + description: "List all recovery points of a backed up item", + options: [ + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: "--end-date", + description: "The end date of the range in UTC (d-m-Y)", + args: { name: "end-date" }, + }, + { + name: "--is-ready-for-move", + description: + "Use this flag to retrieve the recoverypoints that are ready to be moved to destination-tier", + args: { + name: "is-ready-for-move", + suggestions: ["false", "true"], + }, + }, + { + name: "--recommended-for-archive", + description: + "Use this flag to retrieve recommended archivable recoverypoints", + args: { name: "recommended-for-archive" }, + }, + { + name: "--start-date", + description: "The start date of the range in UTC (d-m-Y)", + args: { name: "start-date" }, + }, + { + name: "--target-tier", + description: + "The destination/target tier to which a particular recovery point has to be moved", + args: { name: "target-tier", suggestions: ["VaultArchive"] }, + }, + { + name: "--tier", + description: "Provide 'tier' parameter to filter recovery points", + args: { + name: "tier", + suggestions: [ + "Snapshot", + "SnapshotAndVaultArchive", + "SnapshotAndVaultStandard", + "VaultArchive", + "VaultStandard", + "VaultStandardRehydrated", + ], + }, + }, + { + name: "--use-secondary-region", + description: + "Use this flag to list recoverypoints in secondary region", + args: { name: "use-secondary-region" }, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + }, + ], + }, + { + name: "move", + description: + "Move a particular recovery point of a backed up item from one tier to another tier", + options: [ + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--destination-tier", + description: + "The destination/target tier to which a particular recovery point has to be moved", + args: { name: "destination-tier", suggestions: ["VaultArchive"] }, + isRequired: true, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the recovery point", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--source-tier", + description: + "The source tier from which a particular recovery point has to be moved", + args: { name: "source-tier", suggestions: ["VaultStandard"] }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + }, + ], + }, + { + name: "show", + description: "Shows details of a particular recovery point", + options: [ + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the recovery point. You can use the backup recovery point list command to get the name of a backed up item", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--use-secondary-region", + description: + "Use this flag to show recoverypoints in secondary region", + args: { name: "use-secondary-region" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + }, + ], + }, + { + name: "show-log-chain", + description: + "List the start and end points of the unbroken log chain(s) of the given backup item", + options: [ + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + }, + { + name: "--end-date", + description: "The end date of the range in UTC (d-m-Y)", + args: { name: "end-date" }, + }, + { + name: "--start-date", + description: "The start date of the range in UTC (d-m-Y)", + args: { name: "start-date" }, + }, + { + name: "--use-secondary-region", + description: + "Use this flag to list recoverypoints in secondary region", + args: { name: "use-secondary-region" }, + }, + { + name: "--workload-type", + description: + "Specify the type of applications within the Resource which should be discovered and protected by Azure Backup. 'MSSQL' and 'SQLDataBase' can be used interchangeably for SQL in Azure VM, as can 'SAPHANA' and 'SAPHanaDatabase' for SAP HANA in Azure VM", + args: { + name: "workload-type", + suggestions: [ + "AzureFileShare", + "MSSQL", + "SAPHANA", + "SAPHanaDatabase", + "SQLDataBase", + "VM", + ], + }, + }, + ], + }, + ], + }, + { + name: "restore", + description: + "Restore backed up items from recovery points in a Recovery Services vault", + subcommands: [ + { + name: "restore-azurefiles", + description: + "Restore backed up Azure files within a file-share to the same file-share or another file-share in registered storage accounts", + options: [ + { + name: "--resolve-conflict", + description: + "Instruction if there's a conflict with the restored data", + args: { + name: "resolve-conflict", + suggestions: ["Overwrite", "Skip"], + }, + isRequired: true, + }, + { + name: "--restore-mode", + description: "Specify the restore mode", + args: { + name: "restore-mode", + suggestions: ["AlternateLocation", "OriginalLocation"], + }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rp-name", "-r"], + description: "Name of the recovery point", + args: { name: "rp-name" }, + }, + { + name: "--source-file-path", + description: + "The absolute path of the file, to be restored within the file share, as a string. This path is the same path used in the 'az storage file download' or 'az storage file show' CLI commands", + args: { name: "source-file-path" }, + }, + { + name: "--source-file-type", + description: "Specify the source file type to be selected", + args: { + name: "source-file-type", + suggestions: ["Directory", "File"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-file-share", + description: + "Destination file share to which content will be restored", + args: { name: "target-file-share" }, + }, + { + name: "--target-folder", + description: + "Destination folder to which content will be restored. To restore content to root , leave the folder name empty", + args: { name: "target-folder" }, + }, + { + name: "--target-storage-account", + description: + "Destination storage account to which content will be restored", + args: { name: "target-storage-account" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "restore-azurefileshare", + description: + "Restore backed up Azure file shares to the same file-share or another file-share in registered storage accounts", + options: [ + { + name: "--resolve-conflict", + description: + "Instruction if there's a conflict with the restored data", + args: { + name: "resolve-conflict", + suggestions: ["Overwrite", "Skip"], + }, + isRequired: true, + }, + { + name: "--restore-mode", + description: "Specify the restore mode", + args: { + name: "restore-mode", + suggestions: ["AlternateLocation", "OriginalLocation"], + }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rp-name", "-r"], + description: "Name of the recovery point", + args: { name: "rp-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-file-share", + description: + "Destination file share to which content will be restored", + args: { name: "target-file-share" }, + }, + { + name: "--target-folder", + description: + "Destination folder to which content will be restored. To restore content to root , leave the folder name empty", + args: { name: "target-folder" }, + }, + { + name: ["--target-resource-group-name", "--target-rg-name"], + description: + "Resource group of the destination storage account to which the content will be restored, needed if it is different from the vault resource group", + args: { name: "target-resource-group-name" }, + }, + { + name: "--target-storage-account", + description: + "Destination storage account to which content will be restored", + args: { name: "target-storage-account" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "restore-azurewl", + description: + "Restore backed up Azure Workloads in a Recovery services vault to another registered container or to the same container", + options: [ + { + name: "--recovery-config", + description: + "Specify the recovery configuration of a backed up item. The configuration object can be obtained from 'backup recoveryconfig show' command", + args: { name: "recovery-config" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--rehydration-duration", + description: + "Set the maximum time, in days (between 10-30, both inclusive) for which the recovery point stays in hydrated state", + args: { name: "rehydration-duration" }, + }, + { + name: "--rehydration-priority", + description: + "The type of priority to be maintained while rehydrating a recovery point", + args: { + name: "rehydration-priority", + suggestions: ["High", "Standard"], + }, + }, + { + name: "--use-secondary-region", + description: + "Use this flag to restore from a recoverypoint in secondary region", + args: { name: "use-secondary-region" }, + }, + ], + }, + { + name: "restore-disks", + description: + "Restore disks of the backed VM from the specified recovery point", + options: [ + { + name: "--storage-account", + description: + "Name or ID of the staging storage account. The VM configuration will be restored to this storage account. See the help for --restore-to-staging-storage-account parameter for more info. The ID might be needed for cross-region restores where the storage account and vault are not on the same resource group. In order to get the ID, use the storage account show command as specified here (https://learn.microsoft.com/en-us/azure/storage/common/storage-account-get-info?tabs=azure-cli#get-the-resource-id-for-a-storage-account)", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--disk-encryption-set-id", + description: + "The disk encryption set id is used for encrypting restored disks. Please ensure access to disk encryption set id that is specified here", + args: { name: "disk-encryption-set-id" }, + }, + { + name: "--diskslist", + description: "List of disks to be excluded or included", + args: { name: "diskslist" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + }, + { + name: "--mi-system-assigned", + description: + "Use this flag to specify whether a system-assigned managed identity should be used for the restore operation. MI option is not applicable for restoring unmanaged disks", + args: { name: "mi-system-assigned" }, + }, + { + name: "--mi-user-assigned", + description: + "ARM ID of the user-assigned managed identity to use for the restore operation. Specify a value for this parameter if you do not want to use a system-assigned MI for restoring the backup item", + args: { name: "mi-user-assigned" }, + }, + { + name: "--rehydration-duration", + description: + "Set the maximum time, in days (between 10-30, both inclusive) for which the recovery point stays in hydrated state", + args: { name: "rehydration-duration" }, + }, + { + name: "--rehydration-priority", + description: + "The type of priority to be maintained while rehydrating a recovery point", + args: { + name: "rehydration-priority", + suggestions: ["High", "Standard"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--restore-as-unmanaged-disks", + description: + "Use this flag to specify to restore as unmanaged disks", + args: { + name: "restore-as-unmanaged-disks", + suggestions: ["false", "true"], + }, + }, + { + name: "--restore-mode", + description: "Specify the restore mode", + args: { + name: "restore-mode", + suggestions: ["AlternateLocation", "OriginalLocation"], + }, + }, + { + name: "--restore-only-osdisk", + description: + "Use this flag to restore only OS disks of a backed up VM", + args: { + name: "restore-only-osdisk", + suggestions: ["false", "true"], + }, + }, + { + name: "--restore-to-staging-storage-account", + description: + "Use this flag when you want disks to be restored to the staging storage account using the --storage-account parameter. When not specified, disks will be restored to their original storage accounts. Default: false", + args: { + name: "restore-to-staging-storage-account", + suggestions: ["false", "true"], + }, + }, + { + name: ["--rp-name", "-r"], + description: "Name of the recovery point", + args: { name: "rp-name" }, + }, + { + name: "--storage-account-resource-group", + description: + "Name of the resource group which contains the storage account. Default value will be same as --resource-group if not specified", + args: { name: "storage-account-resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--target-resource-group", "-t"], + description: + "Use this to specify the target resource group in which the restored disks will be saved", + args: { name: "target-resource-group" }, + }, + { + name: "--target-subnet-name", + description: + "Name of the subnet in which the target VM should be created, in the case of Alternate Location restore a new VM", + args: { name: "target-subnet-name" }, + }, + { + name: "--target-subscription-id", + description: + "ID of the subscription to which the resource should be restored", + args: { name: "target-subscription-id" }, + }, + { + name: "--target-vm-name", + description: + "Name of the VM to which the data should be restored, in the case of Alternate Location restore to a new VM", + args: { name: "target-vm-name" }, + }, + { + name: "--target-vnet-name", + description: + "Name of the VNet in which the target VM should be created, in the case of Alternate Location restore to a new VM", + args: { name: "target-vnet-name" }, + }, + { + name: "--target-vnet-resource-group", + description: + "Name of the resource group which contains the target VNet, in the case of Alternate Location restore to a new VM", + args: { name: "target-vnet-resource-group" }, + }, + { + name: "--target-zone", + description: + "A primary region currently can have three Azure availability zones. Use this argument to specify the target zone number while doing Cross Zonal Restore", + args: { name: "target-zone", suggestions: ["1", "2", "3"] }, + }, + { + name: "--use-secondary-region", + description: + "Use this flag to restore from a recoverypoint in secondary region", + args: { name: "use-secondary-region" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "files", + description: "Gives access to all files of a recovery point", + subcommands: [ + { + name: "mount-rp", + description: + "Download a script which mounts files of a recovery point", + options: [ + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rp-name", "-r"], + description: "Name of the recovery point", + args: { name: "rp-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "unmount-rp", + description: "Close access to the recovery point", + options: [ + { + name: ["--container-name", "-c"], + description: + "Name of the backup container. Accepts 'Name' or 'FriendlyName' from the output of az backup container list command. If 'FriendlyName' is passed then BackupManagementType is required", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--item-name", "-i"], + description: "Name of the backed up item", + args: { name: "item-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rp-name", "-r"], + description: "Name of the recovery point", + args: { name: "rp-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "Name of the Recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "vault", + description: + "Online storage entity in Azure used to hold data such as backup copies, recovery points and backup policies", + subcommands: [ + { + name: "create", + description: + "Create a new Recovery Services vault or update an existing one", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Recovery services vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--classic-alerts", + description: + "Use this property to specify whether backup alerts from the classic solution should be received", + args: { + name: "classic-alerts", + suggestions: ["Disable", "Enable"], + }, + }, + { + name: "--cross-subscription-restore-state", + description: + 'Use this parameter to configure cross subscription restore settings for the vault. By default, the property is "Enabled" for the vault', + args: { + name: "cross-subscription-restore-state", + suggestions: ["Disable", "Enable", "PermanentlyDisable"], + }, + }, + { + name: "--immutability-state", + description: + 'Use this parameter to configure immutability settings for the vault. By default, immutability is "Disabled" for the vault. "Unlocked" means that immutability is enabled for the vault and can be reversed. "Locked" means that immutability is enabled for the vault and cannot be reversed', + args: { + name: "immutability-state", + suggestions: ["Disabled", "Locked", "Unlocked"], + }, + }, + { + name: "--job-failure-alerts", + description: + "Use this property to specify whether built-in Azure Monitor alerts should be received for every job failure", + args: { + name: "job-failure-alerts", + suggestions: ["Disable", "Enable"], + }, + }, + { + name: "--public-network-access", + description: + "Use this property to specify whether public network access for the vault should be enabled or disabled. It is enabled by default. For setting up private endpoints, it has to be disabled", + args: { + name: "public-network-access", + suggestions: ["Disable", "Enable"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an existing Recovery services vault", + options: [ + { + name: "--force", + description: "Force completion of the requested action", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Recovery services vault", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List Recovery service vaults within a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-soft-deleted-containers", + description: + "List soft-deleted containers within a particular Recovery Services vault", + options: [ + { + name: "--backup-management-type", + description: + "Specify the backup management type. Define how Azure Backup manages the backup of entities within the ARM resource. For eg: AzureWorkloads refers to workloads installed within Azure VMs, AzureStorage refers to entities within Storage account. Required only if friendly name is used as Container name", + args: { + name: "backup-management-type", + suggestions: ["AzureIaasVM", "AzureStorage", "AzureWorkload"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Recovery services vault", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show details of a particular Recovery service vault", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Recovery services vault", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "backup-properties", + description: "Properties of the Recovery Services vault", + subcommands: [ + { + name: "set", + description: + "Sets backup related properties of the Recovery Services vault", + options: [ + { + name: "--backup-storage-redundancy", + description: + "Set backup storage properties for a Recovery Services vault", + args: { + name: "backup-storage-redundancy", + suggestions: [ + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + ], + }, + }, + { + name: "--classic-alerts", + description: + "Use this property to specify whether backup alerts from the classic solution should be received", + args: { + name: "classic-alerts", + suggestions: ["Disable", "Enable"], + }, + }, + { + name: "--cross-region-restore-flag", + description: + "Set cross-region-restore feature state for a Recovery Services Vault. Default: False", + args: { + name: "cross-region-restore-flag", + suggestions: ["False", "True"], + }, + }, + { + name: "--hybrid-backup-security-features", + description: + "Use this field to set the security features for hybrid backups in a Recovery Services Vault", + args: { + name: "hybrid-backup-security-features", + suggestions: ["Disable", "Enable"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--job-failure-alerts", + description: + "Use this property to specify whether built-in Azure Monitor alerts should be received for every job failure", + args: { + name: "job-failure-alerts", + suggestions: ["Disable", "Enable"], + }, + }, + { + name: ["--name", "-n"], + description: "Name of the Recovery services vault", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--soft-delete-duration", + description: + "Set soft-delete retention duration time in days for a Recovery Services Vault", + args: { name: "soft-delete-duration" }, + }, + { + name: "--soft-delete-feature-state", + description: + "Set soft-delete feature state for a Recovery Services Vault", + args: { + name: "soft-delete-feature-state", + suggestions: ["AlwaysOn", "Disable", "Enable"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tenant-id", + description: + "ID of the tenant if the Resource Guard protecting the vault exists in a different tenant", + args: { name: "tenant-id" }, + }, + ], + }, + { + name: "show", + description: + "Gets backup related properties of the Recovery Services vault", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Recovery services vault", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "encryption", + description: "Encryption details of a Recovery Services Vault", + subcommands: [ + { + name: "show", + description: + "Show details of encryption properties of a Recovery Services Vault", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Recovery services vault", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update encryption properties of a Recovery Services Vault", + options: [ + { + name: "--encryption-key-id", + description: + "The encryption key id you want to use for encryption", + args: { name: "encryption-key-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--infrastructure-encryption", + description: + "Use this parameter to enable/disable infrastructure encryption. This must be set when configuring encryption of the vault for the first time. Once enabled/disabled, infrastructure encryption setting cannot be changed. Default value: Disabled. Allowed values: Enabled, Disabled", + args: { + name: "infrastructure-encryption", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--mi-system-assigned", + description: + "Provide this flag to use system assigned identity for encryption", + args: { name: "mi-system-assigned" }, + }, + { + name: "--mi-user-assigned", + description: + "UserAssigned Identity Id to be used for CMK encryption, this will be applicable for encryption using userassigned identity", + args: { name: "mi-user-assigned" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Recovery services vault", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Identity details of a Recovery Services Vault", + subcommands: [ + { + name: "assign", + description: "Assign Identities to Recovery Services vault", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Recovery services vault", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--system-assigned", + description: + "Provide this flag to enable system assigned identity for Recovery Services Vault", + args: { name: "system-assigned" }, + }, + { + name: "--user-assigned", + description: + "Space-separated list of userassigned identities to be assigned to Recovery Services Vault", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "remove", + description: "Remove Identities of Recovery Services vault", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Recovery services vault", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--system-assigned", + description: + "Provide this flag to remove system assigned identity for Recovery Services Vault", + args: { name: "system-assigned" }, + }, + { + name: "--user-assigned", + description: + "Space-separated list of userassigned identities to be removed from Recovery Services Vault", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "show", + description: "Show Identities of Recovery Services vault", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Recovery services vault", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "resource-guard-mapping", + description: + "Resource Guard Mapping details of the Recovery Services vault", + subcommands: [ + { + name: "delete", + description: + "Delete resource guard mapping of the Recovery Services vault", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Recovery services vault", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tenant-id", + description: + "ID of the tenant where the Resource Guard exists in Cross-Tenant scenarios", + args: { name: "tenant-id" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Get resource guard mapping of the Recovery Services vault", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Recovery services vault", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Create/Update resource guard mapping of the Recovery Services vault", + options: [ + { + name: "--resource-guard-id", + description: + "ARM ID of the Resource Guard to be associated with the vault", + args: { name: "resource-guard-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Recovery services vault", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tenant-id", + description: + "ID of the tenant where the Resource Guard exists in Cross-Tenant scenarios", + args: { name: "tenant-id" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/baremetalinstance.ts b/src/az/2.53.0/baremetalinstance.ts new file mode 100644 index 000000000000..ed52cab356ef --- /dev/null +++ b/src/az/2.53.0/baremetalinstance.ts @@ -0,0 +1,221 @@ +const completion: Fig.Spec = { + name: "baremetalinstance", + description: "(PREVIEW) Manage BareMetal Instances", + subcommands: [ + { + name: "delete", + description: "Delete a BareMetal Instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--instance-name", "-n"], + description: "The name of the BareMetal instance", + args: { name: "instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List BareMetal Instances", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "restart", + description: "Restart a BareMetal Instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--instance-name", "-n"], + description: "The name of the BareMetal instance", + args: { name: "instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a BareMetal Instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--instance-name", "-n"], + description: "The name of the BareMetal instance", + args: { name: "instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "shutdown", + description: "Shutdown a BareMetal Instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--instance-name", "-n"], + description: "The name of the BareMetal instance", + args: { name: "instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a BareMetal Instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--instance-name", "-n"], + description: "The name of the BareMetal instance", + args: { name: "instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the tags field of a BareMetal Instance", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--instance-name", "-n"], + description: "The name of the BareMetal instance", + args: { name: "instance-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/batch.ts b/src/az/2.53.0/batch.ts new file mode 100644 index 000000000000..41cf620da3aa --- /dev/null +++ b/src/az/2.53.0/batch.ts @@ -0,0 +1,5660 @@ +const completion: Fig.Spec = { + name: "batch", + description: "Manage Azure Batch", + subcommands: [ + { + name: "account", + description: "Manage Azure Batch accounts", + subcommands: [ + { + name: "create", + description: "Create a Batch account with the specified parameters", + options: [ + { + name: ["--location", "-l"], + description: "The region in which to create the account", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--encryption-key-identifier", + description: + "Part of the encryption configuration for the Batch account. Full path to the versioned secret. Example https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053", + args: { name: "encryption-key-identifier" }, + }, + { + name: "--encryption-key-source", + description: + "Part of the encryption configuration for the Batch account. Type of the key source. Can be either Microsoft.Batch or Microsoft.KeyVault", + args: { + name: "encryption-key-source", + suggestions: ["Microsoft.Batch", "Microsoft.KeyVault"], + }, + }, + { + name: "--keyvault", + description: + "The KeyVault name or resource ID to be used for an account with a pool allocation mode of 'User Subscription'", + args: { name: "keyvault" }, + }, + { + name: "--mi-system-assigned", + description: + "Set the system managed identity on the batch services account", + args: { name: "mi-system-assigned" }, + }, + { + name: "--mi-user-assigned", + description: + "Resource ID of the user assigned identity for the batch services account", + args: { name: "mi-user-assigned" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--public-network-access", + description: + "The network access type for accessing Azure Batch account. Values can either be enabled or disabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-account", + description: + "The storage account name or resource ID to be used for auto storage", + args: { name: "storage-account" }, + }, + { + name: "--tags", + description: "Space-separated tags in 'key[=value]' format", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes the specified Batch account", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the Batch accounts associated with a subscription or resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "login", + description: + "Log in to a Batch account through Azure Active Directory or Shared Key authentication", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--shared-key-auth", + description: + "Using Shared Key authentication, if not specified, it will use Azure Active Directory authentication", + }, + { + name: "--show", + description: + "Display the credential information for the Batch account", + }, + ], + }, + { + name: "outbound-endpoints", + description: "List an account's outbound network dependencies", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Update properties for a Batch account", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--encryption-key-identifier", + description: + "Part of the encryption configuration for the Batch account. Full path to the versioned secret. Example https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053", + args: { name: "encryption-key-identifier" }, + }, + { + name: "--encryption-key-source", + description: + "Part of the encryption configuration for the Batch account. Type of the key source. Can be either Microsoft.Batch or Microsoft.KeyVault", + args: { name: "encryption-key-source" }, + }, + { + name: "--public-network-access", + description: + "The network access type for accessing Azure Batch account. Values can either be enabled or disabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-account", + description: + "The storage account name or resource ID to be used for auto storage", + args: { name: "storage-account" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "show", + description: + "Get a specified Batch account or the currently set account", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the batch account to show. If not specified will display currently set account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group. If not specified will display currently set account", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "autostorage-keys", + description: + "Manage the access keys for the auto storage account configured for a Batch account", + subcommands: [ + { + name: "sync", + description: + "Synchronizes access keys for the auto-storage account configured for the specified Batch account, only if storage key authentication is being used", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage identities of a batch account", + subcommands: [ + { + name: "assign", + description: + "Add managed identities to an existing batch account", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the batch account to show. If not specified will display currently set account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group. If not specified will display currently set account", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-assigned", + description: + "Provide this flag to use system assigned identity for batch accounts. Check out help for more examples", + args: { name: "system-assigned" }, + }, + { + name: "--user-assigned", + description: + "User Assigned Identity ids to be used for batch account. Check out help for more examples", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "remove", + description: + "Remove managed identities from an existing batch account", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the batch account to show. If not specified will display currently set account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group. If not specified will display currently set account", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-assigned", + description: + "Provide this flag to use system assigned identity for batch accounts. Check out help for more examples", + args: { name: "system-assigned" }, + }, + { + name: "--user-assigned", + description: + "User Assigned Identity ids to be used for batch account. Check out help for more examples", + args: { name: "user-assigned" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Display managed identities of a batch account", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the batch account to show. If not specified will display currently set account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group. If not specified will display currently set account", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "keys", + description: "Manage Batch account keys", + subcommands: [ + { + name: "list", + description: + "Gets the account keys for the specified Batch account", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "renew", + description: "Renew keys for a Batch account", + options: [ + { + name: "--key-name", + description: "Name of the batch account key", + args: { + name: "key-name", + suggestions: ["Primary", "Secondary"], + }, + }, + { + name: ["--name", "-n"], + description: + "Name of the batch account to show. If not specified will display currently set account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group. If not specified will display currently set account", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "network-profile", + description: "Manage Batch account Network profiles", + subcommands: [ + { + name: "set", + description: "Set the Network profile for Batch account", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group. If not specified will display currently set account", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--default-action", + description: + "Default action for endpoint access. It is only applicable when publicNetworkAccess is enabled. Possible values include: 'Allow', 'Deny'", + args: { + name: "default-action", + suggestions: ["Allow", "Deny"], + }, + }, + { + name: ["--name", "-n"], + description: + "Name of the batch account to show. If not specified will display currently set account", + args: { name: "name" }, + }, + { + name: "--profile", + description: "Network profile to set", + args: { + name: "profile", + suggestions: ["BatchAccount", "NodeManagement"], + }, + }, + ], + }, + { + name: "show", + description: + "Get information about the Network profile for Batch account", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group. If not specified will display currently set account", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the batch account to show. If not specified will display currently set account", + args: { name: "name" }, + }, + ], + }, + { + name: "network-rule", + description: + "Manage Batch account Network rules in Network Profile", + subcommands: [ + { + name: "add", + description: "Add a Network rule from a Network Profile", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group. If not specified will display currently set account", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ip-address", + description: "IPv4 address or CIDR range", + args: { name: "ip-address" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the batch account to show. If not specified will display currently set account", + args: { name: "name" }, + }, + { + name: "--profile", + description: "Network profile to set", + args: { + name: "profile", + suggestions: ["BatchAccount", "NodeManagement"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a Network rule from a Network Profile", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group. If not specified will display currently set account", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ip-address", + description: "IPv4 address or CIDR range", + args: { name: "ip-address" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the batch account to show. If not specified will display currently set account", + args: { name: "name" }, + }, + { + name: "--profile", + description: "Network profile to set", + args: { + name: "profile", + suggestions: ["BatchAccount", "NodeManagement"], + }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the Network rules from a Network Profile", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group. If not specified will display currently set account", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the batch account to show. If not specified will display currently set account", + args: { name: "name" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "application", + description: "Manage Batch applications", + subcommands: [ + { + name: "create", + description: "Adds an application to the specified Batch account", + options: [ + { + name: "--application-name", + description: + "The name of the application. This must be unique within the account. Required", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--parameters", + description: + "The parameters for the request. Is either a model type or a IO type. Default value is None", + args: { name: "parameters" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an application", + options: [ + { + name: "--application-name", + description: + "The name of the application. This must be unique within the account. Required", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all of the applications in the specified account", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--maxresults", + description: + "The maximum number of items to return in the response. Default value is None", + args: { name: "maxresults" }, + }, + ], + }, + { + name: "set", + description: "Update properties for a Batch application", + options: [ + { + name: "--application-name", + description: "The name of the application", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--allow-updates", + description: + "Specify to indicate whether packages within the application may be overwritten using the same version string. Specify either 'true' or 'false' to update the property", + args: { name: "allow-updates" }, + }, + { + name: "--default-version", + description: + "Specify which package to use if a client requests the application but does not specify a version", + args: { name: "default-version" }, + }, + { + name: "--display-name", + description: "Specify the display name for the application", + args: { name: "display-name" }, + }, + ], + }, + { + name: "show", + description: "Gets information about the specified application", + options: [ + { + name: "--application-name", + description: + "The name of the application. This must be unique within the account. Required", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "package", + description: "Manage Batch application packages", + subcommands: [ + { + name: "activate", + description: "Activates a Batch application package", + options: [ + { + name: "--application-name", + description: "The name of the application", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: "--format", + description: + "The format of the application package binary file", + args: { name: "format" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--version-name", + description: "The version name of the application", + args: { name: "version-name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: + "Create a Batch application package record and activate it", + options: [ + { + name: "--application-name", + description: "The name of the application", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--package-file", + description: + "The path of the application package in zip format", + args: { name: "package-file" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--version-name", + description: "The version name of the application", + args: { name: "version-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Deletes an application package record and its associated binary file", + options: [ + { + name: "--application-name", + description: + "The name of the application. This must be unique within the account. Required", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--version-name", + description: "The version of the application. Required", + args: { name: "version-name" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all of the application packages in the specified application", + options: [ + { + name: "--application-name", + description: + "The name of the application. This must be unique within the account. Required", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--maxresults", + description: + "The maximum number of items to return in the response. Default value is None", + args: { name: "maxresults" }, + }, + ], + }, + { + name: "show", + description: + "Gets information about the specified application package", + options: [ + { + name: "--application-name", + description: + "The name of the application. This must be unique within the account. Required", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Batch account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--version-name", + description: "The version of the application. Required", + args: { name: "version-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "summary", + description: "View a summary of Batch application packages", + subcommands: [ + { + name: "list", + description: + "Lists all of the applications available in the specified account", + options: [ + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + ], + }, + { + name: "show", + description: "Gets information about the specified application", + options: [ + { + name: "--application-id", + description: "The ID of the Application", + args: { name: "application-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "certificate", + description: "Manage Batch certificates", + subcommands: [ + { + name: "create", + description: "Add a certificate to a Batch account", + options: [ + { + name: "--certificate-file", + description: "The certificate file: cer file or pfx file", + args: { name: "certificate-file" }, + isRequired: true, + }, + { + name: "--thumbprint", + description: "The certificate thumbprint", + args: { name: "thumbprint" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "The Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "The Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--password", + description: + "The password to access the certificate's private key", + args: { name: "password" }, + }, + ], + }, + { + name: "delete", + description: "Delete a certificate from a Batch account", + options: [ + { + name: "--thumbprint", + description: "The certificate thumbprint", + args: { name: "thumbprint" }, + isRequired: true, + }, + { + name: "--abort", + description: "Cancel the failed certificate deletion operation", + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "The Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "The Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all of the Certificates that have been added to the specified Account", + options: [ + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--filter", + description: + "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-certificates", + args: { name: "filter" }, + }, + { + name: "--select", + description: "An OData $select clause", + args: { name: "select" }, + }, + ], + }, + { + name: "show", + description: "Gets information about the specified Certificate", + options: [ + { + name: "--thumbprint", + description: "The certificate thumbprint", + args: { name: "thumbprint" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--select", + description: "An OData $select clause", + args: { name: "select" }, + }, + ], + }, + ], + }, + { + name: "file", + description: "Manage Batch input files", + subcommands: [ + { + name: "download", + description: + "Download a specified file or directory of files to the specified storage path", + options: [ + { + name: "--file-group", + description: + "Name of a file group from which the files will be downloaded", + args: { name: "file-group" }, + isRequired: true, + }, + { + name: "--local-path", + description: + "Path to a local file or directory to be stored the download files", + args: { name: "local-path" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "The Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "The Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--overwrite", + description: + "If set, an existing file in the local path will be overwritten", + }, + { + name: "--remote-path", + description: "The subdirectory under which files exist remotely", + args: { name: "remote-path" }, + }, + { + name: "--resource-group", + description: "The resource group of the Batch account", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "upload", + description: + "Upload a specified file or directory of files to the specified storage path", + options: [ + { + name: "--file-group", + description: + "Name of a file group under which the files will be stored", + args: { name: "file-group" }, + isRequired: true, + }, + { + name: "--local-path", + description: + "Path to a local file or directory to be uploaded - can include wildcard patterns", + args: { name: "local-path" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "The Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "The Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--flatten", + description: + "If set, will not retain local directory structure in storage", + args: { name: "flatten" }, + }, + { + name: "--remote-path", + description: + "Group subdirectory under which files will be uploaded", + args: { name: "remote-path" }, + }, + { + name: "--resource-group", + description: "The resource group of the Batch account", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "job", + description: "Manage Batch jobs", + subcommands: [ + { + name: "create", + description: "Add a job to a Batch account", + options: [ + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--allow-task-preemption", + description: + "Whether Tasks in this job can be preempted by other high priority jobs. If the value is set to True, other high priority jobs submitted to the system will take precedence and will be able requeue tasks from this job. You can update a job's allowTaskPreemption after it has been created using the update job API. True if flag present", + args: { name: "allow-task-preemption" }, + }, + { + name: "--id", + description: + "Required. The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)", + args: { name: "id" }, + }, + { + name: "--job-manager-task-command-line", + description: + 'Required. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)', + args: { name: "job-manager-task-command-line" }, + }, + { + name: "--job-manager-task-environment-settings", + description: "Space-separated values in 'key=value' format", + args: { name: "job-manager-task-environment-settings" }, + }, + { + name: "--job-manager-task-id", + description: + "Required. The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters", + args: { name: "job-manager-task-id" }, + }, + { + name: "--job-manager-task-resource-files", + description: + "Files listed under this element are located in the Task's working directory. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers. Space-separated resource references in filename=httpurl format", + args: { name: "job-manager-task-resource-files" }, + }, + { + name: "--job-max-task-retry-count", + description: + "The maximum number of times each Task may be retried. The Batch service retries a Task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try each Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries a Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry Tasks. If the maximum retry count is -1, the Batch service retries Tasks without limit. The default value is 0 (no retries)", + args: { name: "job-max-task-retry-count" }, + }, + { + name: "--job-max-wall-clock-time", + description: + "If the Job does not complete within the time limit, the Batch service terminates it and any Tasks that are still running. In this case, the termination reason will be MaxWallClockTimeExpiry. If this property is not specified, there is no time limit on how long the Job may run. Expected format is an ISO-8601 duration", + args: { name: "job-max-wall-clock-time" }, + }, + { + name: "--json-file", + description: + "A file containing the job specification in JSON (formatted to match the respective REST API body). If this parameter is specified, all 'Job Arguments' are ignored", + args: { name: "json-file" }, + }, + { + name: "--max-parallel-tasks", + description: + "The maximum number of tasks that can be executed in parallel for the job. The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API. Default value: -1", + args: { name: "max-parallel-tasks" }, + }, + { + name: "--metadata", + description: + "The Batch service does not assign any meaning to metadata; it is solely for the use of user code. Space-separated values in 'key=value' format", + args: { name: "metadata" }, + }, + { + name: "--pool-id", + description: + "The id of an existing pool. All the tasks of the job will run on the specified pool", + args: { name: "pool-id" }, + }, + { + name: "--priority", + description: + "The priority of the Job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0", + args: { name: "priority" }, + }, + { + name: "--required-slots", + description: + "The number of scheduling slots that the Task requires to run. The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this property is not supported and must not be specified", + args: { name: "required-slots" }, + }, + { + name: "--uses-task-dependencies", + description: + "Whether Tasks in the Job can define dependencies on each other. The default is false. True if flag present", + args: { name: "uses-task-dependencies" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Job", + options: [ + { + name: "--job-id", + description: "The ID of the Job to delete", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "disable", + description: + "Disables the specified Job, preventing new Tasks from running", + options: [ + { + name: "--job-id", + description: "The ID of the Job to disable", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--disable-tasks", + description: + "Possible values include: 'requeue', 'terminate', 'wait'", + args: { name: "disable-tasks" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + ], + }, + { + name: "enable", + description: "Enables the specified Job, allowing new Tasks to run", + options: [ + { + name: "--job-id", + description: "The ID of the Job to enable", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + ], + }, + { + name: "list", + description: + "List all of the jobs or job schedule in a Batch account", + options: [ + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "The Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "The Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--expand", + description: "An OData $expand clause", + args: { name: "expand" }, + }, + { + name: "--filter", + description: "An OData $filter clause", + args: { name: "filter" }, + }, + { + name: "--job-schedule-id", + description: + "The ID of the job schedule from which you want to get a list of jobs. If omitted, lists all jobs in the account", + args: { name: "job-schedule-id" }, + }, + { + name: "--select", + description: "An OData $select clause", + args: { name: "select" }, + }, + ], + }, + { + name: "reset", + description: + "Update the properties of a Batch job. Unspecified properties which can be updated are reset to their defaults", + options: [ + { + name: "--job-id", + description: + "The ID of the Job whose properties you want to update", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--allow-task-preemption", + description: + "Whether Tasks in this job can be preempted by other high priority jobs. If the value is set to True, other high priority jobs submitted to the system will take precedence and will be able requeue tasks from this job. You can update a job's allowTaskPreemption after it has been created using the update job API. True if flag present", + args: { name: "allow-task-preemption" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: "--job-max-task-retry-count", + description: + "The maximum number of times each Task may be retried. The Batch service retries a Task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try each Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries a Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry Tasks. If the maximum retry count is -1, the Batch service retries Tasks without limit. The default value is 0 (no retries)", + args: { name: "job-max-task-retry-count" }, + }, + { + name: "--job-max-wall-clock-time", + description: + "If the Job does not complete within the time limit, the Batch service terminates it and any Tasks that are still running. In this case, the termination reason will be MaxWallClockTimeExpiry. If this property is not specified, there is no time limit on how long the Job may run. Expected format is an ISO-8601 duration", + args: { name: "job-max-wall-clock-time" }, + }, + { + name: "--json-file", + description: + "A file containing the job update parameter specification in JSON (formatted to match the respective REST API body). If this parameter is specified, all 'Job Arguments' are ignored", + args: { name: "json-file" }, + }, + { + name: "--max-parallel-tasks", + description: + "The maximum number of tasks that can be executed in parallel for the job. The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API. Default value: -1", + args: { name: "max-parallel-tasks" }, + }, + { + name: "--metadata", + description: + "If omitted, it takes the default value of an empty list; in effect, any existing metadata is deleted. Space-separated values in 'key=value' format", + args: { name: "metadata" }, + }, + { + name: "--on-all-tasks-complete", + description: + "The action the Batch service should take when all Tasks in the Job are in the completed state. If omitted, the completion behavior is set to noaction. If the current value is terminatejob, this is an error because a Job's completion behavior may not be changed from terminatejob to noaction. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic Job termination, you cannot turn it off again. If you try to do this, the request fails and Batch returns status code 400 (Bad Request) and an 'invalid property value' error response. If you do not specify this element in a PUT request, it is equivalent to passing noaction. This is an error if the current value is terminatejob", + args: { + name: "on-all-tasks-complete", + suggestions: ["noaction", "terminatejob"], + }, + }, + { + name: "--pool-id", + description: + "The id of an existing pool. All the tasks of the job will run on the specified pool", + args: { name: "pool-id" }, + }, + { + name: "--priority", + description: + "The priority of the Job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, it is set to the default value 0", + args: { name: "priority" }, + }, + ], + }, + { + name: "set", + description: + "Update the properties of a Batch job. Updating a property in a subgroup will reset the unspecified properties of that group", + options: [ + { + name: "--job-id", + description: + "The ID of the Job whose properties you want to update", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--allow-task-preemption", + description: + "Whether Tasks in this job can be preempted by other high priority jobs. If the value is set to True, other high priority jobs submitted to the system will take precedence and will be able requeue tasks from this job. You can update a job's allowTaskPreemption after it has been created using the update job API. Specify either 'true' or 'false' to update the property", + args: { name: "allow-task-preemption" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: "--job-max-task-retry-count", + description: + "The maximum number of times each Task may be retried. The Batch service retries a Task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try each Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries a Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry Tasks. If the maximum retry count is -1, the Batch service retries Tasks without limit. The default value is 0 (no retries)", + args: { name: "job-max-task-retry-count" }, + }, + { + name: "--job-max-wall-clock-time", + description: + "If the Job does not complete within the time limit, the Batch service terminates it and any Tasks that are still running. In this case, the termination reason will be MaxWallClockTimeExpiry. If this property is not specified, there is no time limit on how long the Job may run. Expected format is an ISO-8601 duration", + args: { name: "job-max-wall-clock-time" }, + }, + { + name: "--json-file", + description: + "A file containing the job patch parameter specification in JSON (formatted to match the respective REST API body). If this parameter is specified, all 'Job Arguments' are ignored", + args: { name: "json-file" }, + }, + { + name: "--max-parallel-tasks", + description: + "The maximum number of tasks that can be executed in parallel for the job. The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API", + args: { name: "max-parallel-tasks" }, + }, + { + name: "--metadata", + description: + "If omitted, the existing Job metadata is left unchanged. Space-separated values in 'key=value' format", + args: { name: "metadata" }, + }, + { + name: "--on-all-tasks-complete", + description: + "The action the Batch service should take when all Tasks in the Job are in the completed state. If omitted, the completion behavior is left unchanged. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic Job termination, you cannot turn it off again. If you try to do this, the request fails with an 'invalid property value' error response; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)", + args: { + name: "on-all-tasks-complete", + suggestions: ["noaction", "terminatejob"], + }, + }, + { + name: "--pool-id", + description: + "The id of an existing pool. All the tasks of the job will run on the specified pool", + args: { name: "pool-id" }, + }, + { + name: "--priority", + description: + "The priority of the Job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the Job is left unchanged", + args: { name: "priority" }, + }, + ], + }, + { + name: "show", + description: "Gets information about the specified Job", + options: [ + { + name: "--job-id", + description: "The ID of the Job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--expand", + description: "An OData $expand clause", + args: { name: "expand" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: "--select", + description: "An OData $select clause", + args: { name: "select" }, + }, + ], + }, + { + name: "stop", + description: "Stop a running Batch job", + options: [ + { + name: "--job-id", + description: "The ID of the Job to terminate", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: "--terminate-reason", + description: "Termination reason", + args: { name: "terminate-reason" }, + }, + ], + }, + { + name: "prep-release-status", + description: + "View the status of Batch job preparation and release tasks", + subcommands: [ + { + name: "list", + description: + "Lists the execution status of the Job Preparation and Job Release Task for the specified Job across the Compute Nodes where the Job has run", + options: [ + { + name: "--job-id", + description: "The ID of the Job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--filter", + description: + "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-preparation-and-release-status", + args: { name: "filter" }, + }, + { + name: "--select", + description: "An OData $select clause", + args: { name: "select" }, + }, + ], + }, + ], + }, + { + name: "task-counts", + description: + "View the number of tasks and slots in a Batch job and their states", + subcommands: [ + { + name: "show", + description: "Gets the Task counts for the specified Job", + options: [ + { + name: "--job-id", + description: "The ID of the Job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "job-schedule", + description: "Manage Batch job schedules", + subcommands: [ + { + name: "create", + description: "Add a Batch job schedule to an account", + options: [ + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--allow-task-preemption", + description: + "Whether Tasks in this job can be preempted by other high priority jobs. If the value is set to True, other high priority jobs submitted to the system will take precedence and will be able requeue tasks from this job. You can update a job's allowTaskPreemption after it has been created using the update job API. True if flag present", + args: { name: "allow-task-preemption" }, + }, + { + name: "--do-not-run-after", + description: + "If you do not specify a doNotRunAfter time, and you are creating a recurring Job Schedule, the Job Schedule will remain active until you explicitly terminate it. Expected format is an ISO-8601 timestamp", + args: { name: "do-not-run-after" }, + }, + { + name: "--do-not-run-until", + description: + "If you do not specify a doNotRunUntil time, the schedule becomes ready to create Jobs immediately. Expected format is an ISO-8601 timestamp", + args: { name: "do-not-run-until" }, + }, + { + name: "--id", + description: + "Required. The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)", + args: { name: "id" }, + }, + { + name: "--job-manager-task-command-line", + description: + 'Required. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)', + args: { name: "job-manager-task-command-line" }, + }, + { + name: "--job-manager-task-id", + description: + "Required. The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters", + args: { name: "job-manager-task-id" }, + }, + { + name: "--job-manager-task-resource-files", + description: + "Files listed under this element are located in the Task's working directory. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers. Space-separated resource references in filename=httpurl format", + args: { name: "job-manager-task-resource-files" }, + }, + { + name: "--job-max-task-retry-count", + description: + "The maximum number of times each Task may be retried. The Batch service retries a Task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try each Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries a Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry Tasks. If the maximum retry count is -1, the Batch service retries Tasks without limit. The default value is 0 (no retries)", + args: { name: "job-max-task-retry-count" }, + }, + { + name: "--job-max-wall-clock-time", + description: + "If the Job does not complete within the time limit, the Batch service terminates it and any Tasks that are still running. In this case, the termination reason will be MaxWallClockTimeExpiry. If this property is not specified, there is no time limit on how long the Job may run. Expected format is an ISO-8601 duration", + args: { name: "job-max-wall-clock-time" }, + }, + { + name: "--json-file", + description: + "A file containing the cloud job schedule specification in JSON (formatted to match the respective REST API body). If this parameter is specified, all 'Cloud Job Schedule Arguments' are ignored", + args: { name: "json-file" }, + }, + { + name: "--max-parallel-tasks", + description: + "The maximum number of tasks that can be executed in parallel for the job. The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API. Default value: -1", + args: { name: "max-parallel-tasks" }, + }, + { + name: "--metadata", + description: + "The Batch service does not assign any meaning to metadata; it is solely for the use of user code. Space-separated values in 'key=value' format", + args: { name: "metadata" }, + }, + { + name: "--on-all-tasks-complete", + description: + "The action the Batch service should take when all Tasks in a Job created under this schedule are in the completed state. Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction", + args: { + name: "on-all-tasks-complete", + suggestions: ["noaction", "terminatejob"], + }, + }, + { + name: "--pool-id", + description: + "The id of an existing pool. All the tasks of the job will run on the specified pool", + args: { name: "pool-id" }, + }, + { + name: "--priority", + description: + "The priority of Jobs created under this schedule. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. This priority is used as the default for all Jobs under the Job Schedule. You can update a Job's priority after it has been created using by using the update Job API", + args: { name: "priority" }, + }, + { + name: "--recurrence-interval", + description: + "Because a Job Schedule can have at most one active Job under it at any given time, if it is time to create a new Job under a Job Schedule, but the previous Job is still running, the Batch service will not create the new Job until the previous Job finishes. If the previous Job does not finish within the startWindow period of the new recurrenceInterval, then no new Job will be scheduled for that interval. For recurring Jobs, you should normally specify a jobManagerTask in the jobSpecification. If you do not use jobManagerTask, you will need an external process to monitor when Jobs are created, add Tasks to the Jobs and terminate the Jobs ready for the next recurrence. The default is that the schedule does not recur: one Job is created, within the startWindow after the doNotRunUntil time, and the schedule is complete as soon as that Job finishes. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Expected format is an ISO-8601 duration", + args: { name: "recurrence-interval" }, + }, + { + name: "--required-slots", + description: + "The number of scheduling slots that the Task requires to run. The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this property is not supported and must not be specified", + args: { name: "required-slots" }, + }, + { + name: "--start-window", + description: + "If a Job is not created within the startWindow interval, then the 'opportunity' is lost; no Job will be created until the next recurrence of the schedule. If the schedule is recurring, and the startWindow is longer than the recurrence interval, then this is equivalent to an infinite startWindow, because the Job that is 'due' in one recurrenceInterval is not carried forward into the next recurrence interval. The default is infinite. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Expected format is an ISO-8601 duration", + args: { name: "start-window" }, + }, + { + name: "--uses-task-dependencies", + description: + "Whether Tasks in the Job can define dependencies on each other. The default is false. True if flag present", + args: { name: "uses-task-dependencies" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Job Schedule from the specified Account", + options: [ + { + name: "--job-schedule-id", + description: "The ID of the Job Schedule to delete", + args: { name: "job-schedule-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "disable", + description: "Disables a Job Schedule", + options: [ + { + name: "--job-schedule-id", + description: "The ID of the Job Schedule to disable", + args: { name: "job-schedule-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + ], + }, + { + name: "enable", + description: "Enables a Job Schedule", + options: [ + { + name: "--job-schedule-id", + description: "The ID of the Job Schedule to enable", + args: { name: "job-schedule-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + ], + }, + { + name: "list", + description: + "Lists all of the Job Schedules in the specified Account", + options: [ + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--expand", + description: "An OData $expand clause", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-schedules", + args: { name: "filter" }, + }, + { + name: "--select", + description: "An OData $select clause", + args: { name: "select" }, + }, + ], + }, + { + name: "reset", + description: + "Reset the properties of a job schedule. An updated job specification only applies to new jobs", + options: [ + { + name: "--job-schedule-id", + description: "The ID of the Job Schedule to update", + args: { name: "job-schedule-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--allow-task-preemption", + description: + "Whether Tasks in this job can be preempted by other high priority jobs. If the value is set to True, other high priority jobs submitted to the system will take precedence and will be able requeue tasks from this job. You can update a job's allowTaskPreemption after it has been created using the update job API. True if flag present", + args: { name: "allow-task-preemption" }, + }, + { + name: "--do-not-run-after", + description: + "If you do not specify a doNotRunAfter time, and you are creating a recurring Job Schedule, the Job Schedule will remain active until you explicitly terminate it. Expected format is an ISO-8601 timestamp", + args: { name: "do-not-run-after" }, + }, + { + name: "--do-not-run-until", + description: + "If you do not specify a doNotRunUntil time, the schedule becomes ready to create Jobs immediately. Expected format is an ISO-8601 timestamp", + args: { name: "do-not-run-until" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: "--job-manager-task-application-package-references", + description: + "Application Packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced Application Package is already on the Compute Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Application Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails. Space-separated application IDs with optional version in 'id[#version]' format", + args: { name: "job-manager-task-application-package-references" }, + }, + { + name: "--job-manager-task-command-line", + description: + 'Required. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)', + args: { name: "job-manager-task-command-line" }, + }, + { + name: "--job-manager-task-environment-settings", + description: "Space-separated values in 'key=value' format", + args: { name: "job-manager-task-environment-settings" }, + }, + { + name: "--job-manager-task-id", + description: + "Required. The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters", + args: { name: "job-manager-task-id" }, + }, + { + name: "--job-manager-task-resource-files", + description: + "Files listed under this element are located in the Task's working directory. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers. Space-separated resource references in filename=httpurl format", + args: { name: "job-manager-task-resource-files" }, + }, + { + name: "--job-metadata", + description: + "The Batch service does not assign any meaning to metadata; it is solely for the use of user code. Space-separated values in 'key=value' format", + args: { name: "job-metadata" }, + }, + { + name: "--json-file", + description: + "A file containing the job schedule update parameter specification in JSON (formatted to match the respective REST API body). If this parameter is specified, all 'Job Schedule Arguments' are ignored", + args: { name: "json-file" }, + }, + { + name: "--max-parallel-tasks", + description: + "The maximum number of tasks that can be executed in parallel for the job. The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API. Default value: -1", + args: { name: "max-parallel-tasks" }, + }, + { + name: "--metadata", + description: + "If you do not specify this element, it takes the default value of an empty list; in effect, any existing metadata is deleted. Space-separated values in 'key=value' format", + args: { name: "metadata" }, + }, + { + name: "--on-all-tasks-complete", + description: + "The action the Batch service should take when all Tasks in a Job created under this schedule are in the completed state. Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction", + args: { + name: "on-all-tasks-complete", + suggestions: ["noaction", "terminatejob"], + }, + }, + { + name: "--pool-id", + description: + "The id of an existing pool. All the tasks of the job will run on the specified pool", + args: { name: "pool-id" }, + }, + { + name: "--priority", + description: + "The priority of Jobs created under this schedule. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. This priority is used as the default for all Jobs under the Job Schedule. You can update a Job's priority after it has been created using by using the update Job API", + args: { name: "priority" }, + }, + { + name: "--recurrence-interval", + description: + "Because a Job Schedule can have at most one active Job under it at any given time, if it is time to create a new Job under a Job Schedule, but the previous Job is still running, the Batch service will not create the new Job until the previous Job finishes. If the previous Job does not finish within the startWindow period of the new recurrenceInterval, then no new Job will be scheduled for that interval. For recurring Jobs, you should normally specify a jobManagerTask in the jobSpecification. If you do not use jobManagerTask, you will need an external process to monitor when Jobs are created, add Tasks to the Jobs and terminate the Jobs ready for the next recurrence. The default is that the schedule does not recur: one Job is created, within the startWindow after the doNotRunUntil time, and the schedule is complete as soon as that Job finishes. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Expected format is an ISO-8601 duration", + args: { name: "recurrence-interval" }, + }, + { + name: "--required-slots", + description: + "The number of scheduling slots that the Task requires to run. The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this property is not supported and must not be specified", + args: { name: "required-slots" }, + }, + { + name: "--start-window", + description: + "If a Job is not created within the startWindow interval, then the 'opportunity' is lost; no Job will be created until the next recurrence of the schedule. If the schedule is recurring, and the startWindow is longer than the recurrence interval, then this is equivalent to an infinite startWindow, because the Job that is 'due' in one recurrenceInterval is not carried forward into the next recurrence interval. The default is infinite. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Expected format is an ISO-8601 duration", + args: { name: "start-window" }, + }, + { + name: "--uses-task-dependencies", + description: + "Whether Tasks in the Job can define dependencies on each other. The default is false. True if flag present", + args: { name: "uses-task-dependencies" }, + }, + ], + }, + { + name: "set", + description: "Update the properties of a job schedule", + options: [ + { + name: "--job-schedule-id", + description: "The ID of the Job Schedule to update", + args: { name: "job-schedule-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--allow-task-preemption", + description: + "Whether Tasks in this job can be preempted by other high priority jobs. If the value is set to True, other high priority jobs submitted to the system will take precedence and will be able requeue tasks from this job. You can update a job's allowTaskPreemption after it has been created using the update job API. Specify either 'true' or 'false' to update the property", + args: { name: "allow-task-preemption" }, + }, + { + name: "--do-not-run-after", + description: + "If you do not specify a doNotRunAfter time, and you are creating a recurring Job Schedule, the Job Schedule will remain active until you explicitly terminate it. Expected format is an ISO-8601 timestamp", + args: { name: "do-not-run-after" }, + }, + { + name: "--do-not-run-until", + description: + "If you do not specify a doNotRunUntil time, the schedule becomes ready to create Jobs immediately. Expected format is an ISO-8601 timestamp", + args: { name: "do-not-run-until" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: "--job-manager-task-application-package-references", + description: + "Application Packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced Application Package is already on the Compute Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Application Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails. Space-separated application IDs with optional version in 'id[#version]' format", + args: { name: "job-manager-task-application-package-references" }, + }, + { + name: "--job-manager-task-command-line", + description: + 'Required. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)', + args: { name: "job-manager-task-command-line" }, + }, + { + name: "--job-manager-task-environment-settings", + description: "Space-separated values in 'key=value' format", + args: { name: "job-manager-task-environment-settings" }, + }, + { + name: "--job-manager-task-id", + description: + "Required. The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters", + args: { name: "job-manager-task-id" }, + }, + { + name: "--job-manager-task-resource-files", + description: + "Files listed under this element are located in the Task's working directory. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers. Space-separated resource references in filename=httpurl format", + args: { name: "job-manager-task-resource-files" }, + }, + { + name: "--job-metadata", + description: + "The Batch service does not assign any meaning to metadata; it is solely for the use of user code. Space-separated values in 'key=value' format", + args: { name: "job-metadata" }, + }, + { + name: "--json-file", + description: + "A file containing the job schedule patch parameter specification in JSON (formatted to match the respective REST API body). If this parameter is specified, all 'Job Schedule Arguments' are ignored", + args: { name: "json-file" }, + }, + { + name: "--max-parallel-tasks", + description: + "The maximum number of tasks that can be executed in parallel for the job. The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API. Default value: -1", + args: { name: "max-parallel-tasks" }, + }, + { + name: "--metadata", + description: + "If you do not specify this element, existing metadata is left unchanged. Space-separated values in 'key=value' format", + args: { name: "metadata" }, + }, + { + name: "--on-all-tasks-complete", + description: + "The action the Batch service should take when all Tasks in a Job created under this schedule are in the completed state. Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction", + args: { + name: "on-all-tasks-complete", + suggestions: ["noaction", "terminatejob"], + }, + }, + { + name: "--pool-id", + description: + "The id of an existing pool. All the tasks of the job will run on the specified pool", + args: { name: "pool-id" }, + }, + { + name: "--priority", + description: + "The priority of Jobs created under this schedule. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. This priority is used as the default for all Jobs under the Job Schedule. You can update a Job's priority after it has been created using by using the update Job API", + args: { name: "priority" }, + }, + { + name: "--recurrence-interval", + description: + "Because a Job Schedule can have at most one active Job under it at any given time, if it is time to create a new Job under a Job Schedule, but the previous Job is still running, the Batch service will not create the new Job until the previous Job finishes. If the previous Job does not finish within the startWindow period of the new recurrenceInterval, then no new Job will be scheduled for that interval. For recurring Jobs, you should normally specify a jobManagerTask in the jobSpecification. If you do not use jobManagerTask, you will need an external process to monitor when Jobs are created, add Tasks to the Jobs and terminate the Jobs ready for the next recurrence. The default is that the schedule does not recur: one Job is created, within the startWindow after the doNotRunUntil time, and the schedule is complete as soon as that Job finishes. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Expected format is an ISO-8601 duration", + args: { name: "recurrence-interval" }, + }, + { + name: "--required-slots", + description: + "The number of scheduling slots that the Task requires to run. The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this property is not supported and must not be specified", + args: { name: "required-slots" }, + }, + { + name: "--start-window", + description: + "If a Job is not created within the startWindow interval, then the 'opportunity' is lost; no Job will be created until the next recurrence of the schedule. If the schedule is recurring, and the startWindow is longer than the recurrence interval, then this is equivalent to an infinite startWindow, because the Job that is 'due' in one recurrenceInterval is not carried forward into the next recurrence interval. The default is infinite. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Expected format is an ISO-8601 duration", + args: { name: "start-window" }, + }, + { + name: "--uses-task-dependencies", + description: + "Whether Tasks in the Job can define dependencies on each other. The default is false. Specify either 'true' or 'false' to update the property", + args: { name: "uses-task-dependencies" }, + }, + ], + }, + { + name: "show", + description: "Gets information about the specified Job Schedule", + options: [ + { + name: "--job-schedule-id", + description: "The ID of the Job Schedule to get", + args: { name: "job-schedule-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--expand", + description: "An OData $expand clause", + args: { name: "expand" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: "--select", + description: "An OData $select clause", + args: { name: "select" }, + }, + ], + }, + { + name: "stop", + description: "Terminates a Job Schedule", + options: [ + { + name: "--job-schedule-id", + description: "The ID of the Job Schedule to terminates", + args: { name: "job-schedule-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + ], + }, + ], + }, + { + name: "location", + description: + "Manage Batch service options for a subscription at the region level", + subcommands: [ + { + name: "list-skus", + description: "List virtual machine SKUs available in a location", + options: [ + { + name: ["--location", "-l"], + description: + "The region for which to display the available Batch VM SKUs", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--filter", + description: + 'OData filter expression. Valid properties for filtering are "familyName". Default value is None', + args: { name: "filter" }, + }, + { + name: "--maxresults", + description: + "The maximum number of items to return in the response. Default value is None", + args: { name: "maxresults" }, + }, + ], + }, + { + name: "quotas", + description: "Manage Batch service quotas at the region level", + subcommands: [ + { + name: "show", + description: + "Gets the Batch service quotas for the specified subscription at the given location", + options: [ + { + name: ["--location", "-l"], + description: + "The region for which to display the Batch service quotas", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "node", + description: "Manage Batch compute nodes", + subcommands: [ + { + name: "delete", + description: "Removes Compute Nodes from the specified Pool", + options: [ + { + name: "--pool-id", + description: + "The ID of the Pool from which you want to remove Compute Nodes", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: "--json-file", + description: + "A file containing the node remove parameter specification in JSON (formatted to match the respective REST API body). If this parameter is specified, all 'Node Remove Arguments' are ignored", + args: { name: "json-file" }, + }, + { + name: "--node-deallocation-option", + description: + "Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation. The default value is requeue", + args: { + name: "node-deallocation-option", + suggestions: [ + "requeue", + "retaineddata", + "taskcompletion", + "terminate", + ], + }, + }, + { + name: "--node-list", + description: + "Required. A maximum of 100 nodes may be removed per request. Space-separated values", + args: { name: "node-list" }, + }, + { + name: "--resize-timeout", + description: + "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Expected format is an ISO-8601 duration", + args: { name: "resize-timeout" }, + }, + ], + }, + { + name: "list", + description: "Lists the Compute Nodes in the specified Pool", + options: [ + { + name: "--pool-id", + description: + "The ID of the Pool from which you want to list Compute Nodes", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--filter", + description: + "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-nodes-in-a-pool", + args: { name: "filter" }, + }, + { + name: "--select", + description: "An OData $select clause", + args: { name: "select" }, + }, + ], + }, + { + name: "reboot", + description: "Restarts the specified Compute Node", + options: [ + { + name: "--node-id", + description: + "The ID of the Compute Node that you want to restart", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--node-reboot-option", + description: "The default value is requeue", + args: { + name: "node-reboot-option", + suggestions: [ + "requeue", + "retaineddata", + "taskcompletion", + "terminate", + ], + }, + }, + ], + }, + { + name: "reimage", + description: + "Reinstalls the operating system on the specified Compute Node", + options: [ + { + name: "--node-id", + description: + "The ID of the Compute Node that you want to restart", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--node-reimage-option", + description: "The default value is requeue", + args: { + name: "node-reimage-option", + suggestions: [ + "requeue", + "retaineddata", + "taskcompletion", + "terminate", + ], + }, + }, + ], + }, + { + name: "show", + description: "Gets information about the specified Compute Node", + options: [ + { + name: "--node-id", + description: + "The ID of the Compute Node that you want to get information about", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--select", + description: "An OData $select clause", + args: { name: "select" }, + }, + ], + }, + { + name: "file", + description: "Manage Batch compute node files", + subcommands: [ + { + name: "delete", + description: "Deletes the specified file from the Compute Node", + options: [ + { + name: "--file-path", + description: + "The path to the file or directory that you want to delete", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: "--node-id", + description: + "The ID of the Compute Node from which you want to delete the file", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: + "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--recursive", + description: + "Whether to delete children of a directory. If the filePath parameter represents a directory instead of a file, you can set recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false then the directory must be empty or deletion will fail", + args: { name: "recursive" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "download", + description: "Download the content of the a node file", + options: [ + { + name: "--destination", + description: "The path to the destination file or directory", + args: { name: "destination" }, + isRequired: true, + }, + { + name: "--file-path", + description: + "The path to the Compute Node file that you want to get the content of", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: "--node-id", + description: + "The ID of the Compute Node that contains the file", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: + "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--end-range", + description: + "The byte range to be retrieved. If not set the file will be retrieved to the end", + args: { name: "end-range" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: "--start-range", + description: + "The byte range to be retrieved. If not set the file will be retrieved from the beginning", + args: { name: "start-range" }, + }, + ], + }, + { + name: "list", + description: + "Lists all of the files in Task directories on the specified Compute Node", + options: [ + { + name: "--node-id", + description: + "The ID of the Compute Node whose files you want to list", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: + "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--filter", + description: + "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-compute-node-files", + args: { name: "filter" }, + }, + { + name: "--recursive", + description: "Whether to list children of a directory", + args: { name: "recursive" }, + }, + ], + }, + { + name: "show", + description: + "Gets the properties of the specified Compute Node file", + options: [ + { + name: "--file-path", + description: + "The path to the Compute Node file that you want to get the properties of", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: "--node-id", + description: + "The ID of the Compute Node that contains the file", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: + "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + ], + }, + ], + }, + { + name: "remote-desktop", + description: + "Retrieve the remote desktop protocol file for a Batch compute node", + subcommands: [ + { + name: "download", + description: + "Gets the Remote Desktop Protocol file for the specified Compute Node", + options: [ + { + name: "--destination", + description: "The path to the destination file or directory", + args: { name: "destination" }, + isRequired: true, + }, + { + name: "--node-id", + description: + "The ID of the Compute Node for which you want to get the Remote Desktop Protocol file", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: + "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + ], + }, + ], + }, + { + name: "remote-login-settings", + description: + "Retrieve the remote login settings for a Batch compute node", + subcommands: [ + { + name: "show", + description: + "Gets the settings required for remote login to a Compute Node", + options: [ + { + name: "--node-id", + description: + "The ID of the Compute Node for which to obtain the remote login settings", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: + "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + ], + }, + ], + }, + { + name: "scheduling", + description: "Manage task scheduling for a Batch compute node", + subcommands: [ + { + name: "disable", + description: + "Disables Task scheduling on the specified Compute Node", + options: [ + { + name: "--node-id", + description: + "The ID of the Compute Node on which you want to disable Task scheduling", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: + "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--node-disable-scheduling-option", + description: "The default value is requeue", + args: { + name: "node-disable-scheduling-option", + suggestions: ["requeue", "taskcompletion", "terminate"], + }, + }, + ], + }, + { + name: "enable", + description: + "Enables Task scheduling on the specified Compute Node", + options: [ + { + name: "--node-id", + description: + "The ID of the Compute Node on which you want to enable Task scheduling", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: + "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + ], + }, + ], + }, + { + name: "service-logs", + description: "Manage the service log files of a Batch compute node", + subcommands: [ + { + name: "upload", + description: + "Upload Azure Batch service log files from the specified Compute Node to Azure Blob Storage", + options: [ + { + name: "--node-id", + description: + "The ID of the Compute Node from which you want to upload the Azure Batch service log files", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: + "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--container-url", + description: + "Required. If a user assigned managed identity is not being used, the URL must include a Shared Access Signature (SAS) granting write permissions to the container. The SAS duration must allow enough time for the upload to finish. The start time for SAS is optional and recommended to not be specified", + args: { name: "container-url" }, + }, + { + name: "--end-time", + description: + "Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested. If omitted, the default is to upload all logs available after the startTime. Expected format is an ISO-8601 timestamp", + args: { name: "end-time" }, + }, + { + name: "--json-file", + description: + "A file containing the upload batch service logs configuration specification in JSON (formatted to match the respective REST API body). If this parameter is specified, all 'Upload Batch Service Logs Configuration Arguments' are ignored", + args: { name: "json-file" }, + }, + { + name: "--resource-id", + description: + "The ARM resource id of the user assigned identity", + args: { name: "resource-id" }, + }, + { + name: "--start-time", + description: + "Required. Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested. Expected format is an ISO-8601 timestamp", + args: { name: "start-time" }, + }, + ], + }, + ], + }, + { + name: "user", + description: "Manage the user accounts of a Batch compute node", + subcommands: [ + { + name: "create", + description: "Add a user account to a Batch compute node", + options: [ + { + name: "--node-id", + description: + "The ID of the machine on which you want to create a user Account", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: + "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--expiry-time", + description: + "If omitted, the default is 1 day from the current time. For Linux Compute Nodes, the expiryTime has a precision up to a day. Expected format is an ISO-8601 timestamp", + args: { name: "expiry-time" }, + }, + { + name: "--is-admin", + description: + "Whether the Account should be an administrator on the Compute Node. The default value is false. True if flag present", + args: { name: "is-admin" }, + }, + { + name: "--json-file", + description: + "A file containing the user specification in JSON (formatted to match the respective REST API body). If this parameter is specified, all 'User Arguments' are ignored", + args: { name: "json-file" }, + }, + { + name: "--name", + description: "Required", + args: { name: "name" }, + }, + { + name: "--password", + description: + "The password is required for Windows Compute Nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property", + args: { name: "password" }, + }, + { + name: "--ssh-public-key", + description: + "The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux Compute Nodes. If this is specified for a Windows Compute Node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)", + args: { name: "ssh-public-key" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes a user Account from the specified Compute Node", + options: [ + { + name: "--node-id", + description: + "The ID of the machine on which you want to delete a user Account", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: + "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--user-name", + description: "The name of the user Account to delete", + args: { name: "user-name" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "reset", + description: + "Update the properties of a user account on a Batch compute node. Unspecified properties which can be updated are reset to their defaults", + options: [ + { + name: "--node-id", + description: + "The ID of the machine on which you want to update a user Account", + args: { name: "node-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: + "The ID of the Pool that contains the Compute Node", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--user-name", + description: "The name of the user Account to update", + args: { name: "user-name" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--expiry-time", + description: + "If omitted, the default is 1 day from the current time. For Linux Compute Nodes, the expiryTime has a precision up to a day. Expected format is an ISO-8601 timestamp", + args: { name: "expiry-time" }, + }, + { + name: "--json-file", + description: + "A file containing the node update user parameter specification in JSON (formatted to match the respective REST API body). If this parameter is specified, all 'Node Update User Arguments' are ignored", + args: { name: "json-file" }, + }, + { + name: "--password", + description: + "The password is required for Windows Compute Nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed", + args: { name: "password" }, + }, + { + name: "--ssh-public-key", + description: + "The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux Compute Nodes. If this is specified for a Windows Compute Node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If omitted, any existing SSH public key is removed", + args: { name: "ssh-public-key" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "pool", + description: "Manage Batch pools", + subcommands: [ + { + name: "create", + description: + "Create a Batch pool in an account. When creating a pool, choose arguments from either Cloud Services Configuration or Virtual Machine Configuration", + options: [ + { + name: "--accelerated-networking", + description: + "Whether this pool should enable accelerated networking. Accelerated networking enables single root I/O virtualization (SR-IOV) to a VM, which may lead to improved networking performance. For more details, see: https://learn.microsoft.com/azure/virtual- network/accelerated-networking-overview. Set true to enable", + args: { + name: "accelerated-networking", + suggestions: ["false", "true"], + }, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--application-licenses", + description: + "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail. Space-separated values", + args: { name: "application-licenses" }, + }, + { + name: "--application-package-references", + description: + "When creating a pool, the package's application ID must be fully qualified (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool. Space-separated application IDs with optional version in 'id[#version]' format", + args: { name: "application-package-references" }, + }, + { + name: "--auto-scale-formula", + description: + "A formula for the desired number of compute nodes in the pool. The formula is checked for validity before the pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/", + args: { name: "auto-scale-formula" }, + }, + { + name: "--certificate-references", + description: + "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory. Warning: This property is deprecated and will be removed after February, 2024. Please use the Azure KeyVault Extension instead. Space-separated certificate thumbprints", + args: { name: "certificate-references" }, + }, + { + name: "--disk-encryption-targets", + description: + "A space separated list of DiskEncryptionTargets. current possible values include OsDisk and TemporaryDisk", + args: { name: "disk-encryption-targets" }, + }, + { + name: "--enable-inter-node-communication", + description: + "Whether the Pool permits direct communication between Compute Nodes. Enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool. This may result in the Pool not reaching its desired size. The default value is false. True if flag present", + args: { name: "enable-inter-node-communication" }, + }, + { + name: "--id", + description: + "Required. The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two Pool IDs within an Account that differ only by case)", + args: { name: "id" }, + }, + { + name: "--image", + description: + "OS image reference. This can be either 'publisher:offer:sku[:version]' format, or a fully qualified ARM image id of the form '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}'. If 'publisher:offer:sku[:version]' format, version is optional and if omitted latest will be used. Valid values can be retrieved via 'az batch pool supported-images list'. For example: 'MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest'", + args: { name: "image" }, + }, + { + name: "--json-file", + description: + "The file containing pool create properties parameter specification in JSON(formatted to match REST API request body). If this parameter is specified, all 'Pool Create Properties Parameter Arguments' are ignored. See https://docs.microsoft.com/en-us/rest/api/batchservice/pool/add?tabs=HTTP#request-body", + args: { name: "json-file" }, + }, + { + name: "--metadata", + description: + "The Batch service does not assign any meaning to metadata; it is solely for the use of user code. Space-separated values in 'key=value' format", + args: { name: "metadata" }, + }, + { + name: "--node-agent-sku-id", + description: + "Required. The Batch Compute Node agent is a program that runs on each Compute Node in the Pool, and provides the command-and-control interface between the Compute Node and the Batch service. There are different implementations of the Compute Node agent, known as SKUs, for different operating systems. You must specify a Compute Node agent SKU which matches the selected Image reference. To get the list of supported Compute Node agent SKUs along with their list of verified Image references, see the 'List supported Compute Node agent SKUs' operation", + args: { name: "node-agent-sku-id" }, + }, + { + name: "--os-family", + description: + "Required. Possible values are: 2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1. 3 - OS Family 3, equivalent to Windows Server 2012. 4 - OS Family 4, equivalent to Windows Server 2012 R2. 5 - OS Family 5, equivalent to Windows Server 2016. 6 - OS Family 6, equivalent to Windows Server 2019. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)", + args: { + name: "os-family", + suggestions: ["2", "3", "4", "5", "6"], + }, + }, + { + name: "--os-version", + description: + "The default value is * which specifies the latest operating system version for the specified OS family", + args: { name: "os-version" }, + }, + { + name: "--policy", + description: + "Node placement Policy type on Batch Pools. Allocation policy used by Batch Service to provision the nodes. If not specified, Batch will use the regional policy", + args: { name: "policy", suggestions: ["regional", "zonal"] }, + }, + { + name: "--resize-timeout", + description: + "This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Expected format is an ISO-8601 duration", + args: { name: "resize-timeout" }, + }, + { + name: "--start-task-command-line", + description: + 'Required. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)', + args: { name: "start-task-command-line" }, + }, + { + name: "--start-task-resource-files", + description: + "Files listed under this element are located in the Task's working directory. Space-separated resource references in filename=httpurl format", + args: { name: "start-task-resource-files" }, + }, + { + name: "--start-task-wait-for-success", + description: + "Whether the Batch service should wait for the StartTask to complete successfully (that is, to exit with exit code 0) before scheduling any Tasks on the Compute Node. If true and the StartTask fails on a Node, the Batch service retries the StartTask up to its maximum retry count (maxTaskRetryCount). If the Task has still not completed successfully after all retries, then the Batch service marks the Node unusable, and will not schedule Tasks to it. This condition can be detected via the Compute Node state and failure info details. If false, the Batch service will not wait for the StartTask to complete. In this case, other Tasks can start executing on the Compute Node while the StartTask is still running; and even if the StartTask fails, new Tasks will continue to be scheduled on the Compute Node. The default is true. True if flag present", + args: { name: "start-task-wait-for-success" }, + }, + { + name: "--target-communication", + description: + "The desired node communication mode for the pool. If this element is present, it replaces the existing targetNodeCommunicationMode configured on the Pool. If omitted, any existing metadata is left unchanged", + args: { + name: "target-communication", + suggestions: ["classic", "default", "simplified"], + }, + }, + { + name: "--target-dedicated-nodes", + description: + "The desired number of dedicated Compute Nodes in the Pool. This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both", + args: { name: "target-dedicated-nodes" }, + }, + { + name: "--target-low-priority-nodes", + description: + "The desired number of Spot/Low-priority Compute Nodes in the Pool. This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both", + args: { name: "target-low-priority-nodes" }, + }, + { + name: "--targets", + description: + 'If omitted, no disks on the compute nodes in the pool will be encrypted. On Linux pool, only "TemporaryDisk" is supported; on Windows pool, "OsDisk" and "TemporaryDisk" must be specified. Space seperated target disks to be encrypted. Values can either be OsDisk or TemporaryDisk', + args: { name: "targets" }, + }, + { + name: "--task-slots-per-node", + description: + "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool. The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256", + args: { name: "task-slots-per-node" }, + }, + { + name: "--vm-size", + description: + "Required. For information about available sizes of virtual machines for Cloud Services Pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for Pools using Images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)", + args: { name: "vm-size" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Pool from the specified Account", + options: [ + { + name: "--pool-id", + description: "The ID of the Pool to delete", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all of the Pools in the specified Account", + options: [ + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--expand", + description: "An OData $expand clause", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-pools", + args: { name: "filter" }, + }, + { + name: "--select", + description: "An OData $select clause", + args: { name: "select" }, + }, + ], + }, + { + name: "reset", + description: + "Update the properties of a Batch pool. Unspecified properties which can be updated are reset to their defaults", + options: [ + { + name: "--pool-id", + description: "The ID of the pool to update", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "The Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "The Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--application-package-references", + description: + "Required. The list replaces any existing Application Package references on the Pool. Changes to Application Package references affect all new Compute Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Application Package references on any given Pool. If omitted, or if you specify an empty collection, any existing Application Packages references are removed from the Pool. A maximum of 10 references may be specified on a given Pool", + args: { name: "application-package-references" }, + }, + { + name: "--certificate-references", + description: + "Required. This list replaces any existing Certificate references configured on the Pool. If you specify an empty collection, any existing Certificate references are removed from the Pool. For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory. Warning: This property is deprecated and will be removed after February, 2024. Please use the Azure KeyVault Extension instead", + args: { name: "certificate-references" }, + }, + { + name: "--json-file", + description: + "The file containing pool update properties parameter specification in JSON(formatted to match REST API request body). If this parameter is specified, all 'Pool Update Properties Parameter Arguments' are ignored", + args: { name: "json-file" }, + }, + { + name: "--metadata", + description: + "Required. This list replaces any existing metadata configured on the Pool. If omitted, or if you specify an empty collection, any existing metadata is removed from the Pool", + args: { name: "metadata" }, + }, + { + name: "--start-task-command-line", + description: + 'The command line of the start task. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux', + args: { name: "start-task-command-line" }, + }, + { + name: "--start-task-environment-settings", + description: + "A list of environment variable settings for the start task. Space-separated values in 'key=value' format", + args: { name: "start-task-environment-settings" }, + }, + { + name: "--start-task-max-task-retry-count", + description: + "The maximum number of times the task may be retried", + args: { name: "start-task-max-task-retry-count" }, + }, + { + name: "--start-task-wait-for-success", + description: + "Whether the Batch service should wait for the start task to complete successfully (that is, to exit with exit code 0) before scheduling any tasks on the compute node. True if flag present, otherwise defaults to False", + args: { name: "start-task-wait-for-success" }, + }, + ], + }, + { + name: "resize", + description: "Resize or stop resizing a Batch pool", + options: [ + { + name: "--pool-id", + description: "The ID of the pool", + args: { name: "pool-id" }, + isRequired: true, + }, + { name: "--abort", description: "Stop the pool resize operation" }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "The Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "The Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-match", + description: + "The operation will be performed only if the resource's current ETag exactly matches the specified value", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "The operation will be performed only if the resource has been modified since the specified timestamp", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "The operation will not be performed only if the resource's current ETag exactly matches the specified value", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "The operation will not be performed only if the resource has been modified since the specified timestamp", + args: { name: "if-unmodified-since" }, + }, + { + name: "--node-deallocation-option", + description: + "When nodes may be removed from the pool, if the pool size is decreasing", + args: { + name: "node-deallocation-option", + suggestions: [ + "requeue", + "retaineddata", + "taskcompletion", + "terminate", + ], + }, + }, + { + name: "--resize-timeout", + description: + "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)", + args: { name: "resize-timeout" }, + }, + { + name: "--target-dedicated-nodes", + description: + "The desired number of dedicated Compute Nodes in the Pool", + args: { name: "target-dedicated-nodes" }, + }, + { + name: "--target-low-priority-nodes", + description: + "The desired number of Spot/Low-priority Compute Nodes in the Pool", + args: { name: "target-low-priority-nodes" }, + }, + ], + }, + { + name: "set", + description: + "Update the properties of a Batch pool. Updating a property in a subgroup will reset the unspecified properties of that group", + options: [ + { + name: "--pool-id", + description: "The ID of the Pool to update", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--application-package-references", + description: + "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. If this element is present, it replaces any existing Package references. If you specify an empty collection, then all Package references are removed from the Pool. If omitted, any existing Package references are left unchanged. Space-separated application IDs with optional version in 'id[#version]' format", + args: { name: "application-package-references" }, + }, + { + name: "--certificate-references", + description: + "If this element is present, it replaces any existing Certificate references configured on the Pool. If omitted, any existing Certificate references are left unchanged. For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory. Warning: This property is deprecated and will be removed after February, 2024. Please use the Azure KeyVault Extension instead. Space-separated certificate thumbprints", + args: { name: "certificate-references" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: "--json-file", + description: + "A file containing the pool patch parameter specification in JSON (formatted to match the respective REST API body). If this parameter is specified, all 'Pool Arguments' are ignored", + args: { name: "json-file" }, + }, + { + name: "--metadata", + description: + "If this element is present, it replaces any existing metadata configured on the Pool. If you specify an empty collection, any metadata is removed from the Pool. If omitted, any existing metadata is left unchanged. Space-separated values in 'key=value' format", + args: { name: "metadata" }, + }, + { + name: "--start-task-command-line", + description: + 'Required. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)', + args: { name: "start-task-command-line" }, + }, + { + name: "--start-task-environment-settings", + description: "Space-separated values in 'key=value' format", + args: { name: "start-task-environment-settings" }, + }, + { + name: "--start-task-max-task-retry-count", + description: + "The maximum number of times the Task may be retried. The Batch service retries a Task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the Task. If the maximum retry count is -1, the Batch service retries the Task without limit, however this is not recommended for a start task or any task. The default value is 0 (no retries)", + args: { name: "start-task-max-task-retry-count" }, + }, + { + name: "--start-task-resource-files", + description: + "Files listed under this element are located in the Task's working directory. Space-separated resource references in filename=httpurl format", + args: { name: "start-task-resource-files" }, + }, + { + name: "--start-task-wait-for-success", + description: + "Whether the Batch service should wait for the StartTask to complete successfully (that is, to exit with exit code 0) before scheduling any Tasks on the Compute Node. If true and the StartTask fails on a Node, the Batch service retries the StartTask up to its maximum retry count (maxTaskRetryCount). If the Task has still not completed successfully after all retries, then the Batch service marks the Node unusable, and will not schedule Tasks to it. This condition can be detected via the Compute Node state and failure info details. If false, the Batch service will not wait for the StartTask to complete. In this case, other Tasks can start executing on the Compute Node while the StartTask is still running; and even if the StartTask fails, new Tasks will continue to be scheduled on the Compute Node. The default is true. Specify either 'true' or 'false' to update the property", + args: { name: "start-task-wait-for-success" }, + }, + { + name: "--target-communication", + description: + "The desired node communication mode for the pool. If this element is present, it replaces the existing targetNodeCommunicationMode configured on the Pool. If omitted, any existing metadata is left unchanged", + args: { + name: "target-communication", + suggestions: ["classic", "default", "simplified"], + }, + }, + ], + }, + { + name: "show", + description: "Gets information about the specified Pool", + options: [ + { + name: "--pool-id", + description: "The ID of the Pool to get", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--expand", + description: "An OData $expand clause", + args: { name: "expand" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: "--select", + description: "An OData $select clause", + args: { name: "select" }, + }, + ], + }, + { + name: "autoscale", + description: "Manage automatic scaling of Batch pools", + subcommands: [ + { + name: "disable", + description: "Disables automatic scaling for a Pool", + options: [ + { + name: "--pool-id", + description: + "The ID of the Pool on which to disable automatic scaling", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + ], + }, + { + name: "enable", + description: "Enables automatic scaling for a Pool", + options: [ + { + name: "--pool-id", + description: + "The ID of the Pool on which to enable automatic scaling", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--auto-scale-evaluation-interval", + description: + "The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If you specify a new interval, then the existing autoscale evaluation schedule will be stopped and a new autoscale evaluation schedule will be started, with its starting time being the time when this request was issued", + args: { name: "auto-scale-evaluation-interval" }, + }, + { + name: "--auto-scale-formula", + description: + "The formula is checked for validity before it is applied to the Pool. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling)", + args: { name: "auto-scale-formula" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + ], + }, + { + name: "evaluate", + description: + "Gets the result of evaluating an automatic scaling formula on the Pool", + options: [ + { + name: "--auto-scale-formula", + description: + "The formula is validated and its results calculated, but it is not applied to the Pool. To apply the formula to the Pool, 'Enable automatic scaling on a Pool'. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling)", + args: { name: "auto-scale-formula" }, + isRequired: true, + }, + { + name: "--pool-id", + description: + "The ID of the Pool on which to evaluate the automatic scaling formula", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + ], + }, + ], + }, + { + name: "node-counts", + description: "Get node counts for Batch pools", + subcommands: [ + { + name: "list", + description: + "Gets the number of Compute Nodes in each state, grouped by Pool", + options: [ + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--filter", + description: + "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch", + args: { name: "filter" }, + }, + ], + }, + ], + }, + { + name: "supported-images", + description: + "Query information on VM images supported by Azure Batch service", + subcommands: [ + { + name: "list", + description: + "Lists all Virtual Machine Images supported by the Azure Batch service", + options: [ + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--filter", + description: + "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-support-images", + args: { name: "filter" }, + }, + ], + }, + ], + }, + { + name: "usage-metrics", + description: "View usage metrics of Batch pools", + subcommands: [ + { + name: "list", + description: + "Lists the usage metrics, aggregated by Pool across individual time intervals, for the specified Account", + options: [ + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--end-time", + description: + "The latest time from which to include metrics. This must be at least two hours before the current time. If not specified this defaults to the end time of the last aggregation interval currently available", + args: { name: "end-time" }, + }, + { + name: "--filter", + description: + "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-account-usage-metrics", + args: { name: "filter" }, + }, + { + name: "--start-time", + description: + "The earliest time from which to include metrics. This must be at least two and a half hours before the current time. If not specified this defaults to the start time of the last aggregation interval currently available", + args: { name: "start-time" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: "Manage Batch account private endpoint connections", + subcommands: [ + { + name: "list", + description: + "List all of the private endpoint connections in the specified account", + options: [ + { + name: "--account-name", + description: "The name of the Batch account. Required", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--maxresults", + description: + "The maximum number of items to return in the response. Default value is None", + args: { name: "maxresults" }, + }, + ], + }, + { + name: "show", + description: + "Get information about the specified private endpoint connection", + options: [ + { + name: "--account-name", + description: "The name of the Batch account. Required", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The private endpoint connection name. This must be unique within the account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage Batch account private Link Resources", + subcommands: [ + { + name: "list", + description: + "List all of the private link resources in the specified account", + options: [ + { + name: "--account-name", + description: "The name of the Batch account. Required", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--maxresults", + description: + "The maximum number of items to return in the response. Default value is None", + args: { name: "maxresults" }, + }, + ], + }, + { + name: "show", + description: + "Get information about the specified private link resource", + options: [ + { + name: "--account-name", + description: "The name of the Batch account. Required", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The private link resource name. This must be unique within the account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "task", + description: "Manage Batch tasks", + subcommands: [ + { + name: "create", + description: "Create Batch tasks", + options: [ + { + name: "--job-id", + description: "The ID of the job containing the task", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "The Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "The Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--affinity-id", + description: + "Required. You can pass the affinityId of a Node to indicate that this Task needs to run on that Compute Node. Note that this is just a soft affinity. If the target Compute Node is busy or unavailable at the time the Task is scheduled, then the Task will be scheduled elsewhere", + args: { name: "affinity-id" }, + }, + { + name: "--application-package-references", + description: + "The space-separated list of IDs specifying the application packages to be installed. Space-separated application IDs with optional version in 'id[#version]' format", + args: { name: "application-package-references" }, + }, + { + name: "--command-line", + description: + 'The command line of the task. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux', + args: { name: "command-line" }, + }, + { + name: "--environment-settings", + description: + "A list of environment variable settings for the task. Space-separated values in 'key=value' format", + args: { name: "environment-settings" }, + }, + { + name: "--json-file", + description: + "The file containing the task(s) to create in JSON(formatted to match REST API request body). When submitting multiple tasks, accepts either an array of tasks or a TaskAddCollectionParamater. If this parameter is specified, all other parameters are ignored", + args: { name: "json-file" }, + }, + { + name: "--max-task-retry-count", + description: + "The maximum number of times the Task may be retried. The Batch service retries a Task if its exit code is nonzero. Note that this value specifically controls the number of retries for the Task executable due to a nonzero exit code. The Batch service will try the Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the Task after the first attempt. If the maximum retry count is -1, the Batch service retries the Task without limit, however this is not recommended for a start task or any task. The default value is 0 (no retries)", + args: { name: "max-task-retry-count" }, + }, + { + name: "--max-wall-clock-time", + description: + "If this is not specified, there is no time limit on how long the Task may run", + args: { name: "max-wall-clock-time" }, + }, + { + name: "--resource-files", + description: + "A list of files that the Batch service will download to the compute node before running the command line. Space-separated resource references in filename=httpurl format, with httpurl being any HTTP url with public access or a SAS url with read access", + args: { name: "resource-files" }, + }, + { + name: "--retention-time", + description: + "The default is 7 days, i.e. the Task directory will be retained for 7 days unless the Compute Node is removed or the Job is deleted", + args: { name: "retention-time" }, + }, + { + name: "--task-id", + description: "The ID of the task", + args: { name: "task-id" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Task from the specified Job", + options: [ + { + name: "--job-id", + description: "The ID of the Job from which to delete the Task", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--task-id", + description: "The ID of the Task to delete", + args: { name: "task-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all of the Tasks that are associated with the specified Job", + options: [ + { + name: "--job-id", + description: "The ID of the Job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--expand", + description: "An OData $expand clause", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-tasks", + args: { name: "filter" }, + }, + { + name: "--select", + description: "An OData $select clause", + args: { name: "select" }, + }, + ], + }, + { + name: "reactivate", + description: + "Reactivates a Task, allowing it to run again even if its retry count has been exhausted", + options: [ + { + name: "--job-id", + description: "The ID of the Job containing the Task", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--task-id", + description: "The ID of the Task to reactivate", + args: { name: "task-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + ], + }, + { + name: "reset", + description: "Reset the properties of a Batch task", + options: [ + { + name: "--job-id", + description: "The ID of the Job containing the Task", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--task-id", + description: "The ID of the Task to update", + args: { name: "task-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: "--json-file", + description: + "A file containing the constraints specification in JSON (formatted to match the respective REST API body). If this parameter is specified, all 'Constraints Arguments' are ignored", + args: { name: "json-file" }, + }, + { + name: "--max-task-retry-count", + description: + "The maximum number of times the Task may be retried. The Batch service retries a Task if its exit code is nonzero. Note that this value specifically controls the number of retries for the Task executable due to a nonzero exit code. The Batch service will try the Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the Task after the first attempt. If the maximum retry count is -1, the Batch service retries the Task without limit, however this is not recommended for a start task or any task. The default value is 0 (no retries)", + args: { name: "max-task-retry-count" }, + }, + { + name: "--max-wall-clock-time", + description: + "If this is not specified, there is no time limit on how long the Task may run. Expected format is an ISO-8601 duration", + args: { name: "max-wall-clock-time" }, + }, + { + name: "--retention-time", + description: + "The default is 7 days, i.e. the Task directory will be retained for 7 days unless the Compute Node is removed or the Job is deleted. Expected format is an ISO-8601 duration", + args: { name: "retention-time" }, + }, + ], + }, + { + name: "show", + description: "Gets information about the specified Task", + options: [ + { + name: "--job-id", + description: "The ID of the Job that contains the Task", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--task-id", + description: "The ID of the Task to get information about", + args: { name: "task-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--expand", + description: "An OData $expand clause", + args: { name: "expand" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: "--select", + description: "An OData $select clause", + args: { name: "select" }, + }, + ], + }, + { + name: "stop", + description: "Terminates the specified Task", + options: [ + { + name: "--job-id", + description: "The ID of the Job containing the Task", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--task-id", + description: "The ID of the Task to terminate", + args: { name: "task-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + ], + }, + { + name: "file", + description: "Manage Batch task files", + subcommands: [ + { + name: "delete", + description: + "Deletes the specified Task file from the Compute Node where the Task ran", + options: [ + { + name: "--file-path", + description: + "The path to the Task file or directory that you want to delete", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: "--job-id", + description: "The ID of the Job that contains the Task", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--task-id", + description: + "The ID of the Task whose file you want to delete", + args: { name: "task-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--recursive", + description: + "Whether to delete children of a directory. If the filePath parameter represents a directory instead of a file, you can set recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false then the directory must be empty or deletion will fail", + args: { name: "recursive" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "download", + description: "Download the content of a Batch task file", + options: [ + { + name: "--destination", + description: "The path to the destination file or directory", + args: { name: "destination" }, + isRequired: true, + }, + { + name: "--file-path", + description: + "The path to the Task file that you want to get the content of", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: "--job-id", + description: "The ID of the Job that contains the Task", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--task-id", + description: + "The ID of the Task whose file you want to retrieve", + args: { name: "task-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--end-range", + description: + "The byte range to be retrieved. If not set the file will be retrieved to the end", + args: { name: "end-range" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + { + name: "--start-range", + description: + "The byte range to be retrieved. If not set the file will be retrieved from the beginning", + args: { name: "start-range" }, + }, + ], + }, + { + name: "list", + description: + "Lists the files in a Task's directory on its Compute Node", + options: [ + { + name: "--job-id", + description: "The ID of the Job that contains the Task", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--task-id", + description: + "The ID of the Task whose files you want to list", + args: { name: "task-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--filter", + description: + "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-task-files", + args: { name: "filter" }, + }, + { + name: "--recursive", + description: + "Whether to list children of the Task directory. This parameter can be used in combination with the filter parameter to list specific type of files", + args: { name: "recursive" }, + }, + ], + }, + { + name: "show", + description: "Gets the properties of the specified Task file", + options: [ + { + name: "--file-path", + description: + "The path to the Task file that you want to get the properties of", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: "--job-id", + description: "The ID of the Job that contains the Task", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--task-id", + description: + "The ID of the Task whose file you want to get the properties of", + args: { name: "task-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--if-modified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time", + args: { name: "if-modified-since" }, + }, + { + name: "--if-unmodified-since", + description: + "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time", + args: { name: "if-unmodified-since" }, + }, + ], + }, + ], + }, + { + name: "subtask", + description: "Manage subtask information of a Batch task", + subcommands: [ + { + name: "list", + description: + "Lists all of the subtasks that are associated with the specified multi-instance Task", + options: [ + { + name: "--job-id", + description: "The ID of the Job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--task-id", + description: "The ID of the Task", + args: { name: "task-id" }, + isRequired: true, + }, + { + name: "--account-endpoint", + description: + "Batch service endpoint. Alternatively, set by environment variable: AZURE_BATCH_ENDPOINT", + args: { name: "account-endpoint" }, + }, + { + name: "--account-key", + description: + "Batch account key. Alternatively, set by environment variable: AZURE_BATCH_ACCESS_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Batch account name. Alternatively, set by environment variable: AZURE_BATCH_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--select", + description: "An OData $select clause", + args: { name: "select" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/batchai.ts b/src/az/2.53.0/batchai.ts new file mode 100644 index 000000000000..1550297441c9 --- /dev/null +++ b/src/az/2.53.0/batchai.ts @@ -0,0 +1,1378 @@ +const completion: Fig.Spec = { + name: "batchai", + description: "Manage Batch AI resources", + subcommands: [ + { + name: "cluster", + description: "Commands to manage clusters", + subcommands: [ + { + name: "auto-scale", + description: "Set auto-scale parameters for a cluster", + options: [ + { + name: "--max", + description: "Maximum number of nodes", + args: { name: "max" }, + isRequired: true, + }, + { + name: "--min", + description: "Minimum number of nodes", + args: { name: "min" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of cluster", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + }, + ], + }, + { + name: "create", + description: "Create a cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + { + name: "--afs-mount-path", + description: + "Relative mount path for Azure File share. The file share will be available at $AZ_BATCHAI_MOUNT_ROOT/ folder", + args: { name: "afs-mount-path" }, + }, + { + name: "--afs-name", + description: + "Name of Azure File Share to be mounted on each cluster node. Must be used in conjunction with --storage-account-name. Multiple shares can be mounted using configuration file (see --config-file option)", + args: { name: "afs-name" }, + }, + { + name: "--bfs-mount-path", + description: + "Relative mount path for Azure Storage container. The container will be available at $AZ_BATCHAI_MOUNT_ROOT/ folder", + args: { name: "bfs-mount-path" }, + }, + { + name: "--bfs-name", + description: + "Name of Azure Storage container to be mounted on each cluster node. Must be used in conjunction with --storage-account-name. Multiple containers can be mounted using configuration file (see --config-file option)", + args: { name: "bfs-name" }, + }, + { + name: ["--config-file", "-f"], + description: + "A path to a json file containing cluster create parameters (json representation of azure.mgmt.batchai.models.ClusterCreateParameters)", + args: { name: "config-file" }, + }, + { + name: "--custom-image", + description: + "ARM ID of a virtual machine image to be used for nodes creation. Note, you need to provide --image containing information about the base image used for this image creation", + args: { name: "custom-image" }, + }, + { + name: "--generate-ssh-keys", + description: + "Generate SSH public and private key files in ~/.ssh directory (if missing)", + args: { name: "generate-ssh-keys" }, + }, + { + name: ["--image", "-i"], + description: + 'Operation system image for cluster nodes. The value may contain an alias (UbuntuLTS, UbuntuDSVM) or specify image details in the form "publisher:offer:sku:version". If image configuration is not provided via command line or configuration file, Batch AI will choose default OS image', + args: { name: "image" }, + }, + { + name: "--max", + description: "Max nodes count for the auto-scale cluster", + args: { name: "max" }, + }, + { + name: "--min", + description: "Min nodes count for the auto-scale cluster", + args: { name: "min" }, + }, + { + name: "--nfs", + description: + "Name or ARM ID of a file server to be mounted on each cluster node. You need to provide full ARM ID if the file server belongs to a different workspace. Multiple NFS can be mounted using configuration file (see --config-file option)", + args: { name: "nfs" }, + }, + { + name: "--nfs-mount-path", + description: + "Relative mount path for NFS. The NFS will be available at $AZ_BATCHAI_MOUNT_ROOT/ folder", + args: { name: "nfs-mount-path" }, + }, + { + name: ["--password", "-p"], + description: + "Optional password for the admin user account to be created on each compute node", + args: { name: "password" }, + }, + { + name: "--setup-task", + description: + "A command line which should be executed on each compute node when it's got allocated or rebooted. The task is executed in a bash subshell under root account", + args: { name: "setup-task" }, + }, + { + name: "--setup-task-output", + description: + "Directory path to store where setup-task's logs. Note, Batch AI will create several helper directories under this path. The created directories are reported as stdOutErrPathSuffix by 'az cluster show' command", + args: { name: "setup-task-output" }, + }, + { + name: ["--ssh-key", "-k"], + description: + "Optional SSH public key value or path. If ommited and no password specified, default SSH key (~/.ssh/id_rsa.pub) will be used", + args: { name: "ssh-key" }, + }, + { + name: "--storage-account-key", + description: + "Storage account key. Required if the storage account belongs to a different subscription. Can be specified using AZURE_BATCHAI_STORAGE_KEY environment variable", + args: { name: "storage-account-key" }, + }, + { + name: "--storage-account-name", + description: + "Storage account name for Azure File Shares and/or Azure Storage Containers to be mounted on each cluster node. Can be specified using AZURE_BATCHAI_STORAGE_ACCOUNT environment variable", + args: { name: "storage-account-name" }, + }, + { + name: "--subnet", + description: + "ARM ID of a virtual network subnet to put the cluster in", + args: { name: "subnet" }, + }, + { + name: ["--target", "-t"], + description: + "Number of nodes which should be allocated immediately after cluster creation. If the cluster is in auto-scale mode, BatchAI can change the number of nodes later based on number of running and queued jobs", + args: { name: "target" }, + }, + { + name: "--use-auto-storage", + description: + 'If provided, the command will create a storage account in a new or existing resource group named "batchaiautostorage". It will also create Azure File Share with name "batchaishare", Azure Blob Container with name "batchaicontainer". The File Share and Blob Container will be mounted on each cluster node at $AZ_BATCHAI_MOUNT_ROOT/autoafs and $AZ_BATCHAI_MOUNT_ROOT/autobfs. If the resource group already exists and contains an approapriate storage account belonging to the same region as cluster, this command will reuse existing storage account', + }, + { + name: ["--user-name", "-u"], + description: + "Name of admin user account to be created on each compute node. If the value is not provided and no user configuration is provided in the config file, current user's name will be used", + args: { name: "user-name" }, + }, + { + name: "--vm-priority", + description: "VM priority", + args: { + name: "vm-priority", + suggestions: ["dedicated", "lowpriority"], + }, + }, + { + name: ["--vm-size", "-s"], + description: + "VM size for cluster nodes (e.g. Standard_NC6 for 1 GPU node)", + args: { name: "vm-size" }, + }, + ], + }, + { + name: "delete", + description: "Delete a cluster", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of cluster", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List clusters", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + ], + }, + { + name: "resize", + description: "Resize a cluster", + options: [ + { + name: ["--target", "-t"], + description: "Target number of compute nodes", + args: { name: "target" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of cluster", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + }, + ], + }, + { + name: "show", + description: "Show information about a cluster", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of cluster", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + }, + ], + }, + { + name: "file", + description: + "Commands to work with files generated by node setup task", + subcommands: [ + { + name: "list", + description: + "List files generated by the cluster's node setup task", + options: [ + { + name: ["--cluster", "-c"], + description: "Name of cluster", + args: { name: "cluster" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + { + name: "--expiry", + description: + "Time in minutes for how long generated download URLs should remain valid", + args: { name: "expiry" }, + }, + { + name: ["--path", "-p"], + description: + "Relative path of a subfolder inside of the node setup task output directory", + args: { name: "path" }, + }, + ], + }, + ], + }, + { + name: "node", + description: "Commands to work with cluster nodes", + subcommands: [ + { + name: "exec", + description: + "Executes a command line on a cluster's node with optional ports forwarding", + options: [ + { + name: ["--cluster", "-c"], + description: "Name of cluster", + args: { name: "cluster" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + { + name: ["--address", "-L"], + description: + "Specifies that connections to the given TCP port or Unix socket on the local (client) host are to be forwarded to the given host and port, or Unix socket, on the remote side. e.g. -L 8080:localhost:8080", + args: { name: "address" }, + }, + { + name: "--exec", + description: + "Optional command line to be executed on the node. If not provided, the command will perform ports forwarding only", + args: { name: "exec" }, + }, + { + name: ["--node-id", "-n"], + description: + "ID of the node to forward the ports to. If not provided, the command will be executed on the first available node", + args: { name: "node-id" }, + }, + { + name: ["--password", "-p"], + description: "Optional password to establish SSH connection", + args: { name: "password" }, + }, + { + name: ["--ssh-private-key", "-k"], + description: + "Optional SSH private key path to establish SSH connection. If omitted, the default SSH private key will be used", + args: { name: "ssh-private-key" }, + }, + ], + }, + { + name: "list", + description: "List remote login information for cluster's nodes", + options: [ + { + name: ["--cluster", "-c"], + description: "Name of cluster", + args: { name: "cluster" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "experiment", + description: "Commands to manage experiments", + subcommands: [ + { + name: "create", + description: "Create an experiment", + options: [ + { + name: ["--name", "-n"], + description: "Name of experiment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete an experiment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of experiment", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List experiments", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show information about an experiment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of experiment", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + }, + ], + }, + ], + }, + { + name: "file-server", + description: "Commands to manage file servers", + subcommands: [ + { + name: "create", + description: "Create a file server", + options: [ + { + name: ["--name", "-n"], + description: "Name of file server", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure a default value by setting up default workspace using az batchai workspace set-default", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: + "Name or ARM ID of the workspace. You can configure default workspace using az batchai workspace set-default", + args: { name: "workspace" }, + isRequired: true, + }, + { + name: "--caching-type", + description: + "Caching type for premium disks. If not provided via command line or in configuration file, no caching will be used", + args: { + name: "caching-type", + suggestions: ["none", "readonly", "readwrite"], + }, + }, + { + name: ["--config-file", "-f"], + description: + "A path to a json file containing file server create parameters (json representation of azure.mgmt.batchai.models.FileServerCreateParameters). Note, parameters given via command line will overwrite parameters specified in the configuration file", + args: { name: "config-file" }, + }, + { + name: "--disk-count", + description: "Number of disks", + args: { name: "disk-count" }, + }, + { + name: "--disk-size", + description: "Disk size in Gb", + args: { name: "disk-size" }, + }, + { + name: "--generate-ssh-keys", + description: + "Generate SSH public and private key files in ~/.ssh directory (if missing)", + args: { name: "generate-ssh-keys" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--password", "-p"], + description: + "Optional password for the admin user created on the NFS node", + args: { name: "password" }, + }, + { + name: ["--ssh-key", "-k"], + description: + "Optional SSH public key value or path. If ommited and no password specified, default SSH key (~/.ssh/id_rsa.pub) will be used", + args: { name: "ssh-key" }, + }, + { + name: "--storage-sku", + description: "The sku of storage account to persist VM", + args: { + name: "storage-sku", + suggestions: ["Premium_LRS", "Standard_LRS"], + }, + }, + { + name: "--subnet", + description: + "ARM ID of a virtual network subnet to put the file server in. If not provided via command line or in the configuration file, Batch AI will create a new virtual network and subnet under your subscription", + args: { name: "subnet" }, + }, + { + name: ["--user-name", "-u"], + description: + "Name of admin user account to be created on NFS node. If the value is not provided and no user configuration is provided in the config file, current user's name will be used", + args: { name: "user-name" }, + }, + { + name: ["--vm-size", "-s"], + description: "VM size", + args: { name: "vm-size" }, + }, + ], + }, + { + name: "list", + description: "List file servers", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "job", + description: "Commands to manage jobs", + subcommands: [ + { + name: "create", + description: "Create a job", + options: [ + { + name: ["--cluster", "-c"], + description: + "Name or ARM ID of the cluster to run the job. You need to provide ARM ID if the cluster belongs to a different workspace", + args: { name: "cluster" }, + isRequired: true, + }, + { + name: ["--config-file", "-f"], + description: + "A path to a json file containing job create parameters (json representation of azure.mgmt.batchai.models.JobCreateParameters)", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--experiment", "-e"], + description: "Name of experiment", + args: { name: "experiment" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of job", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + { + name: "--afs-mount-path", + description: + "Relative mount path for Azure File Share. The File Share will be available at $AZ_BATCHAI_JOB_MOUNT_ROOT/ folder", + args: { name: "afs-mount-path" }, + }, + { + name: "--afs-name", + description: + "Name of Azure File Share to mount during the job execution. The File Share will be mounted only on the nodes which are executing the job. Must be used in conjunction with --storage-account-name. Multiple shares can be mounted using configuration file (see --config-file option)", + args: { name: "afs-name" }, + }, + { + name: "--bfs-mount-path", + description: + "Relative mount path for Azure Storage Blob Container. The container will be available at $AZ_BATCHAI_JOB_MOUNT_ROOT/ folder", + args: { name: "bfs-mount-path" }, + }, + { + name: "--bfs-name", + description: + "Name of Azure Storage Blob Container to mount during the job execution. The container will be mounted only on the nodes which are executing the job. Must be used in conjunction with --storage-account-name. Multiple containers can be mounted using configuration file (see --config-file option)", + args: { name: "bfs-name" }, + }, + { + name: "--nfs", + description: + "Name or ARM ID of the file server to be mounted during the job execution. You need to provide ARM ID if the file server belongs to a different workspace. You can configure multiple file servers using job's configuration file", + args: { name: "nfs" }, + }, + { + name: "--nfs-mount-path", + description: + "Relative mount path for NFS. The NFS will be available at $AZ_BATCHAI_JOB_MOUNT_ROOT/ folder", + args: { name: "nfs-mount-path" }, + }, + { + name: "--storage-account-key", + description: + "Storage account key. Required if the storage account belongs to a different subscription. Can be specified using AZURE_BATCHAI_STORAGE_KEY environment variable", + args: { name: "storage-account-key" }, + }, + { + name: "--storage-account-name", + description: + "Storage account name for Azure File Shares and/or Azure Storage Containers to be mounted on each cluster node. Can be specified using AZURE_BATCHAI_STORAGE_ACCOUNT environment variable", + args: { name: "storage-account-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a job", + options: [ + { + name: ["--experiment", "-e"], + description: "Name of experiment", + args: { name: "experiment" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of job", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List jobs", + options: [ + { + name: ["--experiment", "-e"], + description: "Name of experiment", + args: { name: "experiment" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show information about a job", + options: [ + { + name: ["--experiment", "-e"], + description: "Name of experiment", + args: { name: "experiment" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of job", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + }, + ], + }, + { + name: "terminate", + description: "Terminate a job", + options: [ + { + name: ["--experiment", "-e"], + description: "Name of experiment", + args: { name: "experiment" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of job", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "wait", + description: + "Waits for specified job completion and setups the exit code to the job's exit code", + options: [ + { + name: ["--experiment", "-e"], + description: "Name of experiment", + args: { name: "experiment" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in sec", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of job", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + }, + ], + }, + { + name: "file", + description: + "Commands to list and stream files in job's output directories", + subcommands: [ + { + name: "list", + description: + "List job's output files in a directory with given id", + options: [ + { + name: ["--experiment", "-e"], + description: "Name of experiment", + args: { name: "experiment" }, + isRequired: true, + }, + { + name: ["--job", "-j"], + description: "Name of job", + args: { name: "job" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + { + name: "--expiry", + description: + "Time in minutes for how long generated download URL should remain valid", + args: { name: "expiry" }, + }, + { + name: ["--output-directory-id", "-d"], + description: + 'The Id of the job\'s output directory (as specified by "id" element in outputDirectories collection in the job create parameters)', + args: { name: "output-directory-id" }, + }, + { + name: ["--path", "-p"], + description: "Relative path in the given output directory", + args: { name: "path" }, + }, + ], + }, + { + name: "stream", + description: + "Stream the content of a file (similar to 'tail -f')", + options: [ + { + name: ["--experiment", "-e"], + description: "Name of experiment", + args: { name: "experiment" }, + isRequired: true, + }, + { + name: ["--file-name", "-f"], + description: "The name of the file to stream", + args: { name: "file-name" }, + isRequired: true, + }, + { + name: ["--job", "-j"], + description: "Name of job", + args: { name: "job" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + { + name: ["--output-directory-id", "-d"], + description: + 'The Id of the job\'s output directory (as specified by "id" element in outputDirectories collection in the job create parameters)', + args: { name: "output-directory-id" }, + }, + { + name: ["--path", "-p"], + description: "Relative path in the given output directory", + args: { name: "path" }, + }, + ], + }, + ], + }, + { + name: "node", + description: "Commands to work with nodes which executed a job", + subcommands: [ + { + name: "exec", + description: + "Executes a command line on a cluster's node used to execute the job with optional ports forwarding", + options: [ + { + name: ["--experiment", "-e"], + description: "Name of experiment", + args: { name: "experiment" }, + isRequired: true, + }, + { + name: ["--job", "-j"], + description: "Name of job", + args: { name: "job" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + { + name: ["--address", "-L"], + description: + "Specifies that connections to the given TCP port or Unix socket on the local (client) host are to be forwarded to the given host and port, or Unix socket, on the remote side. e.g. -L 8080:localhost:8080", + args: { name: "address" }, + }, + { + name: "--exec", + description: + "Optional command line to be executed on the node. If not provided, the command will perform ports forwarding only", + args: { name: "exec" }, + }, + { + name: ["--node-id", "-n"], + description: + "ID of the node to forward the ports to. If not provided, the command will be executed on the first available node", + args: { name: "node-id" }, + }, + { + name: ["--password", "-p"], + description: "Optional password to establish SSH connection", + args: { name: "password" }, + }, + { + name: ["--ssh-private-key", "-k"], + description: + "Optional SSH private key path to establish SSH connection. If omitted, the default SSH private key will be used", + args: { name: "ssh-private-key" }, + }, + ], + }, + { + name: "list", + description: + "List remote login information for nodes which executed the job", + options: [ + { + name: ["--experiment", "-e"], + description: "Name of experiment", + args: { name: "experiment" }, + isRequired: true, + }, + { + name: ["--job", "-j"], + description: "Name of job", + args: { name: "job" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "list-usages", + description: + "Gets the current usage information as well as limits for Batch AI resources for given location", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "workspace", + description: "Commands to manage workspaces", + subcommands: [ + { + name: "create", + description: "Create a workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace", "-n"], + description: "Name of workspace", + args: { name: "workspace" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location of the workspace. If omitted, the location of the resource group will be used", + args: { name: "location" }, + }, + ], + }, + { + name: "delete", + description: "Delete a workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace", "-n"], + description: "Name of workspace", + args: { name: "workspace" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List workspaces", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show information about a workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace", "-n"], + description: "Name of workspace", + args: { name: "workspace" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/bicep.ts b/src/az/2.53.0/bicep.ts new file mode 100644 index 000000000000..cb57ef27bff0 --- /dev/null +++ b/src/az/2.53.0/bicep.ts @@ -0,0 +1,336 @@ +const completion: Fig.Spec = { + name: "bicep", + description: + "Bicep CLI command group.\n\n\t\tBicep CLI command group. There are two configurations that can be set for the command group, including bicep.check_version and bicep.use_binary_from_path:\n[1] az config set bicep.check_version=True/False\nTurn on/off Bicep CLI version check when executing az bicep commands.\n[2] az config set bicep.use_binary_from_path=True/False/if_found_in_ci\nSpecify whether to use Bicep CLI from PATH or not. The default value is if_found_in_ci", + subcommands: [ + { + name: "build", + description: "Build a Bicep file", + options: [ + { + name: ["--file", "-f"], + description: "The path to the Bicep file to build in the file system", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--no-restore", + description: + "When set, builds the bicep file without restoring external modules", + args: { name: "no-restore" }, + }, + { + name: "--outdir", + description: "When set, saves the output at the specified directory", + args: { name: "outdir" }, + }, + { + name: "--outfile", + description: "When set, saves the output as the specified file path", + args: { name: "outfile" }, + }, + { + name: "--stdout", + description: + "When set, prints all output to stdout instead of corresponding files", + args: { name: "stdout" }, + }, + ], + }, + { + name: "build-params", + description: "Build .bicepparam file", + options: [ + { + name: ["--file", "-f"], + description: + "The path to the .bicepparam file to build in the file system", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--no-restore", + description: + "When set, builds the .bicepparam file without restoring external modules", + args: { name: "no-restore" }, + }, + { + name: "--outdir", + description: "When set, saves the output at the specified directory", + args: { name: "outdir" }, + }, + { + name: "--outfile", + description: "When set, saves the output as the specified file path", + args: { name: "outfile" }, + }, + { + name: "--stdout", + description: + "When set, prints all output to stdout instead of corresponding files", + args: { name: "stdout" }, + }, + ], + }, + { + name: "decompile", + description: "Attempt to decompile an ARM template file to a Bicep file", + options: [ + { + name: ["--file", "-f"], + description: + "The path to the ARM template to decompile in the file system", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--force", + description: "Allows overwriting the output file if it exists", + args: { name: "force" }, + }, + ], + }, + { + name: "decompile-params", + description: "Decompile a parameters .json file to .bicepparam", + options: [ + { + name: ["--file", "-f"], + description: + "The path to the parameters file to build in the file system", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--bicep-file", + description: + "Path to the bicep template file (relative to the .bicepparam file) that will be referenced in the using declaration", + args: { name: "bicep-file" }, + }, + { + name: "--outdir", + description: "When set, saves the output at the specified directory", + args: { name: "outdir" }, + }, + { + name: "--outfile", + description: "When set, saves the output as the specified file path", + args: { name: "outfile" }, + }, + { + name: "--stdout", + description: + "When set, prints all output to stdout instead of corresponding files", + args: { name: "stdout" }, + }, + ], + }, + { + name: "format", + description: "Format a Bicep file", + options: [ + { + name: ["--file", "-f"], + description: + "The path to the Bicep file to format in the file system", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--indent-kind", + description: "Set indentation kind. Valid values are ( Space | Tab )", + args: { name: "indent-kind" }, + }, + { + name: "--indent-size", + description: + "Number of spaces to indent with (Only valid with --indent-kind set to Space)", + args: { name: "indent-size" }, + }, + { + name: "--insert-final-newline", + description: "Insert a final newline", + args: { name: "insert-final-newline" }, + }, + { + name: "--newline", + description: + "Set newline char. Valid values are ( Auto | LF | CRLF | CR )", + args: { name: "newline" }, + }, + { + name: "--outdir", + description: "When set, saves the output at the specified directory", + args: { name: "outdir" }, + }, + { + name: "--outfile", + description: "When set, saves the output as the specified file path", + args: { name: "outfile" }, + }, + { + name: "--stdout", + description: + "When set, prints all output to stdout instead of corresponding files", + args: { name: "stdout" }, + }, + ], + }, + { + name: "generate-params", + description: "Generate parameters file for a Bicep file", + options: [ + { + name: ["--file", "-f"], + description: + "The path to the Bicep file to generate the parameters file from in the file system", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--include-params", + description: + "Set include params. Valid values are ( all | required-only )", + args: { name: "include-params" }, + }, + { + name: "--no-restore", + description: + "When set, generates the parameters file without restoring external modules", + args: { name: "no-restore" }, + }, + { + name: "--outdir", + description: "When set, saves the output at the specified directory", + args: { name: "outdir" }, + }, + { + name: "--outfile", + description: "When set, saves the output as the specified file path", + args: { name: "outfile" }, + }, + { + name: "--output-format", + description: + "Set output format. Valid values are ( json | bicepparam )", + args: { name: "output-format" }, + }, + { + name: "--stdout", + description: + "When set, prints all output to stdout instead of corresponding files", + args: { name: "stdout" }, + }, + ], + }, + { + name: "install", + description: "Install Bicep CLI", + options: [ + { + name: ["--target-platform", "-t"], + description: + "The platform the Bicep CLI will be running on. Set this to skip automatic platform detection if it does not work properly", + args: { + name: "target-platform", + suggestions: [ + "linux-arm64", + "linux-musl-x64", + "linux-x64", + "osx-arm64", + "osx-x64", + "win-x64", + ], + }, + }, + { + name: ["--version", "-v"], + description: + "The version of Bicep CLI to be installed. Default to the latest if not specified", + args: { name: "version" }, + }, + ], + }, + { + name: "list-versions", + description: "List out all available versions of Bicep CLI", + }, + { + name: "publish", + description: "Publish a bicep file to a remote module registry", + options: [ + { + name: ["--file", "-f"], + description: + "The path to the Bicep module file to publish in the file system", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--target", "-t"], + description: + "The target location where the Bicep module will be published", + args: { name: "target" }, + isRequired: true, + }, + { + name: ["--documentationUri", "-d"], + description: "The documentation uri of the Bicep module", + args: { name: "documentationUri" }, + }, + { + name: "--force", + description: "Allow overwriting an existing Bicep module version", + args: { name: "force" }, + }, + ], + }, + { + name: "restore", + description: "Restore external modules for a bicep file", + options: [ + { + name: ["--file", "-f"], + description: + "The path to the Bicep file to restore external modules for", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--force", + description: "Allows overwriting the cached external modules", + args: { name: "force" }, + }, + ], + }, + { name: "uninstall", description: "Uninstall Bicep CLI" }, + { + name: "upgrade", + description: "Upgrade Bicep CLI to the latest version", + options: [ + { + name: ["--target-platform", "-t"], + description: + "The platform the Bicep CLI will be running on. Set this to skip automatic platform detection if it does not work properly", + args: { + name: "target-platform", + suggestions: [ + "linux-arm64", + "linux-musl-x64", + "linux-x64", + "osx-arm64", + "osx-x64", + "win-x64", + ], + }, + }, + ], + }, + { + name: "version", + description: "Show the installed version of Bicep CLI", + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/billing-benefits.ts b/src/az/2.53.0/billing-benefits.ts new file mode 100644 index 000000000000..3fa680901817 --- /dev/null +++ b/src/az/2.53.0/billing-benefits.ts @@ -0,0 +1,554 @@ +const completion: Fig.Spec = { + name: "billing-benefits", + description: "Azure billing benefits commands", + subcommands: [ + { + name: "reservation-order-aliases", + description: "Azure billing benefits reservation order aliases commands", + subcommands: [ + { + name: "create", + description: "Create a reservation order alias", + options: [ + { + name: "--order-alias-name", + description: "Name of the reservation order alias", + args: { name: "order-alias-name" }, + isRequired: true, + }, + { + name: "--applied-scope-prop", + description: + 'Properties specific to applied scope type. Not required if not applicable. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "applied-scope-prop" }, + }, + { + name: "--applied-scope-type", + description: "Type of the Applied Scope", + args: { + name: "applied-scope-type", + suggestions: ["ManagementGroup", "Shared", "Single"], + }, + }, + { + name: "--billing-plan", + description: + "Represents the billing plan in ISO 8601 format. Required only for monthly billing plans", + args: { name: "billing-plan", suggestions: ["P1M"] }, + }, + { + name: "--billing-scope-id", + description: + "Subscription that will be charged for purchasing the benefit", + args: { name: "billing-scope-id" }, + }, + { + name: "--display-name", + description: "Display name", + args: { name: "display-name" }, + }, + { + name: "--instance-flexibility", + description: + "Turning this on will apply the reservation discount to other VMs in the same VM size group", + args: { + name: "instance-flexibility", + suggestions: ["Off", "On"], + }, + }, + { + name: ["--location", "-l"], + description: + "The Azure Region where the reservation benefits are applied to", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--quantity", + description: + "Total Quantity of the SKUs purchased in the Reservation", + args: { name: "quantity" }, + }, + { + name: "--renew", + description: + "Setting this to true will automatically purchase a new benefit on the expiration date time", + }, + { + name: "--reserved-resource-type", + description: "The type of the resource that is being reserved", + args: { + name: "reserved-resource-type", + suggestions: [ + "AVS", + "AppService", + "AzureDataExplorer", + "AzureFiles", + "BlockBlob", + "CosmosDb", + "DataFactory", + "Databricks", + "DedicatedHost", + "ManagedDisk", + "MariaDb", + "MySql", + "NetAppStorage", + "PostgreSql", + "RedHat", + "RedHatOsa", + "RedisCache", + "SapHana", + "SqlAzureHybridBenefit", + "SqlDataWarehouse", + "SqlDatabases", + "SqlEdge", + "SuseLinux", + "VMwareCloudSimple", + "VirtualMachineSoftware", + "VirtualMachines", + ], + }, + }, + { + name: "--review-date-time", + description: + "This is the date-time when the Azure Hybrid Benefit needs to be reviewed", + args: { name: "review-date-time" }, + }, + { + name: "--sku", + description: "Name of the SKU to be applied", + args: { name: "sku" }, + }, + { + name: "--term", + description: "Represent benefit term in ISO 8601 format", + args: { name: "term", suggestions: ["P1Y", "P3Y", "P5Y"] }, + }, + ], + }, + { + name: "show", + description: "Get a reservation order alias", + options: [ + { + name: "--order-alias-name", + description: "Name of the reservation order alias", + args: { name: "order-alias-name" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--order-alias-name", + description: "Name of the reservation order alias", + args: { name: "order-alias-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "savings-plan", + description: "Azure billing benefits savings plan commands", + subcommands: [ + { + name: "list", + description: "List savings plans", + options: [ + { + name: "--filter", + description: + "May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. Reservation properties include sku/name, properties/{appliedScopeType, archived, displayName, displayProvisioningState, effectiveDateTime, expiryDate, provisioningState, quantity, renew, reservedResourceType, term, userFriendlyAppliedScopeType, userFriendlyRenewState}", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "May be used to sort order by reservation properties", + args: { name: "orderby" }, + }, + { + name: "--selected-state", + description: "The selected provisioning state", + args: { name: "selected-state" }, + }, + { + name: "--skiptoken", + description: + "The number of savings plans to skip from the list before returning results", + args: { name: "skiptoken" }, + }, + { + name: "--take", + description: "To number of savings plans to return", + args: { name: "take" }, + }, + ], + }, + ], + }, + { + name: "savings-plan-order", + description: "Azure billing benefits savings plan order commands", + subcommands: [ + { + name: "elevate", + description: + "Elevate as owner on savings plan order based on billing permissions", + options: [ + { + name: "--savings-plan-order-id", + description: "Order ID of the savings plan", + args: { name: "savings-plan-order-id" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all Savings plan orders", + }, + { + name: "show", + description: "Get a savings plan order", + options: [ + { + name: "--savings-plan-order-id", + description: "Order ID of the savings plan", + args: { name: "savings-plan-order-id" }, + isRequired: true, + }, + { + name: "--expand", + description: + "May be used to expand the detail information of some properties", + args: { name: "expand" }, + }, + ], + }, + { + name: "savings-plan", + description: + "Azure billing benefits savings plan in savings plan order commands", + subcommands: [ + { + name: "list", + description: "List savings plans in an order", + options: [ + { + name: "--savings-plan-order-id", + description: "Order ID of the savings plan", + args: { name: "savings-plan-order-id" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get savings plan", + options: [ + { + name: "--savings-plan-id", + description: "ID of the savings plan", + args: { name: "savings-plan-id" }, + isRequired: true, + }, + { + name: "--savings-plan-order-id", + description: "Order ID of the savings plan", + args: { name: "savings-plan-order-id" }, + isRequired: true, + }, + { + name: "--expand", + description: + "May be used to expand the detail information of some properties", + args: { name: "expand" }, + }, + ], + }, + { + name: "update", + description: "Update savings plan", + options: [ + { + name: "--savings-plan-id", + description: "ID of the savings plan", + args: { name: "savings-plan-id" }, + isRequired: true, + }, + { + name: "--savings-plan-order-id", + description: "Order ID of the savings plan", + args: { name: "savings-plan-order-id" }, + isRequired: true, + }, + { + name: "--applied-scope-prop", + description: + 'Properties specific to applied scope type. Not required if not applicable. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "applied-scope-prop" }, + }, + { + name: "--applied-scope-type", + description: "Type of the Applied Scope", + args: { + name: "applied-scope-type", + suggestions: ["ManagementGroup", "Shared", "Single"], + }, + }, + { + name: "--display-name", + description: "Display name", + args: { name: "display-name" }, + }, + { + name: "--renew", + description: + "Setting this to true will automatically purchase a new benefit on the expiration date time", + }, + { + name: "--renew-properties", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "renew-properties" }, + }, + ], + }, + { + name: "validate-update", + description: "Validate savings plan patch", + options: [ + { + name: "--savings-plan-id", + description: "ID of the savings plan", + args: { name: "savings-plan-id" }, + isRequired: true, + }, + { + name: "--savings-plan-order-id", + description: "Order ID of the savings plan", + args: { name: "savings-plan-order-id" }, + isRequired: true, + }, + { + name: "--benefits", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "benefits" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "savings-plan-order-aliases", + description: "Azure billing benefits savings plan order aliases commands", + subcommands: [ + { + name: "create", + description: + "Create a savings plan. Learn more about permissions needed at https://go.microsoft.com/fwlink/?linkid=2215851", + options: [ + { + name: "--order-alias-name", + description: "Name of the savings plan order alias", + args: { name: "order-alias-name" }, + isRequired: true, + }, + { + name: "--applied-scope-prop", + description: + 'Properties specific to applied scope type. Not required if not applicable. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "applied-scope-prop" }, + }, + { + name: "--applied-scope-type", + description: "Type of the Applied Scope", + args: { + name: "applied-scope-type", + suggestions: ["ManagementGroup", "Shared", "Single"], + }, + }, + { + name: "--billing-plan", + description: + "Represents the billing plan in ISO 8601 format. Required only for monthly billing plans", + args: { name: "billing-plan", suggestions: ["P1M"] }, + }, + { + name: "--billing-scope-id", + description: + "Subscription that will be charged for purchasing the benefit", + args: { name: "billing-scope-id" }, + }, + { + name: "--commitment", + description: + 'Commitment towards the benefit. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "commitment" }, + }, + { + name: "--display-name", + description: "Display name", + args: { name: "display-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--sku", + description: "Name of the SKU to be applied", + args: { name: "sku" }, + }, + { + name: "--term", + description: "Represent benefit term in ISO 8601 format", + args: { name: "term", suggestions: ["P1Y", "P3Y", "P5Y"] }, + }, + ], + }, + { + name: "show", + description: "Get a savings plan order alias", + options: [ + { + name: "--order-alias-name", + description: "Name of the savings plan order alias", + args: { name: "order-alias-name" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--order-alias-name", + description: "Name of the savings plan order alias", + args: { name: "order-alias-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "validate-purchase", + description: "Validate savings plan purchase", + options: [ + { + name: "--benefits", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "benefits" }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/billing.ts b/src/az/2.53.0/billing.ts new file mode 100644 index 000000000000..b0a891f40a64 --- /dev/null +++ b/src/az/2.53.0/billing.ts @@ -0,0 +1,1644 @@ +const completion: Fig.Spec = { + name: "billing", + description: "Manage Azure Billing", + subcommands: [ + { + name: "account", + description: "Billing account", + subcommands: [ + { + name: "list", + description: "List the billing accounts that a user has access to", + options: [ + { + name: "--expand", + description: + "May be used to expand the soldTo, invoice sections and billing profiles", + args: { name: "expand" }, + }, + ], + }, + { + name: "show", + description: "Get a billing account by its ID", + options: [ + { + name: ["--name", "-n"], + description: "The ID that uniquely identifies a billing account", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--expand", + description: + "May be used to expand the soldTo, invoice sections and billing profiles", + args: { name: "expand" }, + }, + ], + }, + { + name: "update", + description: + "Update the properties of a billing account. Currently, displayName and address can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: ["--name", "-n"], + description: "The ID that uniquely identifies a billing account", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--billing-profiles-value", + description: + "The billing profiles associated with the billing account. Expected value: json-string/@json-file", + args: { name: "billing-profiles-value" }, + }, + { + name: "--departments", + description: + "The departments associated to the enrollment. Expected value: json-string/@json-file", + args: { name: "departments" }, + }, + { + name: "--display-name", + description: "The billing account name", + args: { name: "display-name" }, + }, + { + name: "--enrollment-accounts", + description: + "The accounts associated to the enrollment. Expected value: json-string/@json-file", + args: { name: "enrollment-accounts" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--sold-to", + description: + "The address of the individual or organization that is responsible for the billing account", + args: { name: "sold-to" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the billing account is met", + options: [ + { + name: ["--name", "-n"], + description: "The ID that uniquely identifies a billing account", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "May be used to expand the soldTo, invoice sections and billing profiles", + args: { name: "expand" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "agreement", + description: "Display billing agreement", + subcommands: [ + { + name: "list", + description: "List the agreements for a billing account", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--expand", + description: "May be used to expand the participants", + args: { name: "expand" }, + }, + ], + }, + { + name: "show", + description: "Get an agreement by ID", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The ID that uniquely identifies an agreement", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--expand", + description: "May be used to expand the participants", + args: { name: "expand" }, + }, + ], + }, + ], + }, + { + name: "balance", + description: "Billing balance", + subcommands: [ + { + name: "show", + description: + "The available credit balance for a billing profile. This is the balance that can be used for pay now to settle due or past due invoices. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "customer", + description: "Billing customer", + subcommands: [ + { + name: "list", + description: + "List the customers that are billed to a billing account. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--filter", + description: "May be used to filter the list of customers", + args: { name: "filter" }, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + }, + { + name: "--search", + description: + "Used for searching customers by their name. Any customer with name containing the search text will be included in the response", + args: { name: "search" }, + }, + ], + }, + { + name: "show", + description: + "Get a customer by its ID. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--customer-name", "--name", "-n"], + description: "The ID that uniquely identifies a customer", + args: { name: "customer-name" }, + isRequired: true, + }, + { + name: "--expand", + description: + "May be used to expand enabledAzurePlans and resellers", + args: { name: "expand" }, + }, + ], + }, + ], + }, + { + name: "enrollment-account", + description: "Get enrollment accounts", + subcommands: [ + { + name: "list", + description: "Lists the enrollment accounts the caller has access to", + }, + { + name: "show", + description: "Gets a enrollment account by name", + options: [ + { + name: ["--name", "-n"], + description: "Name of the enrollment account", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "instruction", + description: "Manage billing instruction", + subcommands: [ + { + name: "create", + description: + "Create an instruction. These are custom billing instructions and are only applicable for certain customers", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Instruction Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: "--amount", + description: "The amount budgeted for this billing instruction", + args: { name: "amount" }, + }, + { + name: "--creation-date", + description: "The date this billing instruction was created", + args: { name: "creation-date" }, + }, + { + name: "--end-date", + description: + "The date this billing instruction is no longer in effect", + args: { name: "end-date" }, + }, + { + name: "--start-date", + description: "The date this billing instruction goes into effect", + args: { name: "start-date" }, + }, + ], + }, + { + name: "list", + description: "List the instructions by billing profile id", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the instruction by name. These are custom billing instructions and are only applicable for certain customers", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Instruction Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an instruction. These are custom billing instructions and are only applicable for certain customers", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Instruction Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--amount", + description: "The amount budgeted for this billing instruction", + args: { name: "amount" }, + }, + { + name: "--creation-date", + description: "The date this billing instruction was created", + args: { name: "creation-date" }, + }, + { + name: "--end-date", + description: + "The date this billing instruction is no longer in effect", + args: { name: "end-date" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--start-date", + description: "The date this billing instruction goes into effect", + args: { name: "start-date" }, + }, + ], + }, + ], + }, + { + name: "invoice", + description: "Get billing invoices for a subscription", + subcommands: [ + { + name: "download", + description: "Get URL to download invoice", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + }, + { + name: "--download-token", + description: + "The download token with document source and document ID", + args: { name: "download-token" }, + }, + { + name: "--download-urls", + description: + "Space-separated list of download urls for individual", + args: { name: "download-urls" }, + }, + { + name: "--invoice-name", + description: "The ID that uniquely identifies an invoice", + args: { name: "invoice-name" }, + }, + ], + }, + { + name: "list", + description: "List the invoices for a subscription", + options: [ + { + name: "--period-end-date", + description: + "The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format", + args: { name: "period-end-date" }, + isRequired: true, + }, + { + name: "--period-start-date", + description: + "The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format", + args: { name: "period-start-date" }, + isRequired: true, + }, + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + }, + ], + }, + { + name: "show", + description: + "Get an invoice. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement", + options: [ + { + name: ["--name", "-n"], + description: "The ID that uniquely identifies an invoice", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + }, + { + name: "--by-subscription", + description: + "When provided, it must work with --invoice-name to get an invoice by subscription ID and invoice ID", + args: { name: "by-subscription" }, + }, + ], + }, + { + name: "section", + description: "Billing invoice section", + subcommands: [ + { + name: "create", + description: + "Creates or updates an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: + "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--invoice-section-name", "--name", "-n"], + description: + "The ID that uniquely identifies an invoice section", + args: { name: "invoice-section-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: "--display-name", + description: "The name of the invoice section", + args: { name: "display-name" }, + }, + { + name: "--labels", + description: + "Dictionary of metadata associated with the invoice section. Expect value: KEY1=VALUE1 KEY2=VALUE2", + args: { name: "labels" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: + "List the invoice sections that a user has access to. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: + "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get an invoice section by its ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: + "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--invoice-section-name", "--name", "-n"], + description: + "The ID that uniquely identifies an invoice section", + args: { name: "invoice-section-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Creates or updates an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: + "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--invoice-section-name", "--name", "-n"], + description: + "The ID that uniquely identifies an invoice section", + args: { name: "invoice-section-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: "--display-name", + description: "The name of the invoice section", + args: { name: "display-name" }, + }, + { + name: "--labels", + description: + "Dictionary of metadata associated with the invoice section. Expect value: KEY1=VALUE1 KEY2=VALUE2", + args: { name: "labels" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the billing invoice section is met", + options: [ + { + name: "--account-name", + description: + "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--invoice-section-name", "--name", "-n"], + description: + "The ID that uniquely identifies an invoice section", + args: { name: "invoice-section-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "period", + description: "Get billing periods for a subscription", + subcommands: [ + { + name: "list", + description: + "Lists the available billing periods for a subscription in reverse chronological order", + options: [ + { + name: "--filter", + description: + "May be used to filter billing periods by billingPeriodEndDate. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'", + args: { name: "filter" }, + }, + { + name: "--skiptoken", + description: + "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skiptoken" }, + }, + { + name: "--top", + description: + "May be used to limit the number of results to the most recent N billing periods", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Gets a named billing period", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the billing period. Run the az billing period list command to list the name of billing period", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "permission", + description: "List billing permissions", + subcommands: [ + { + name: "list", + description: + "List the billing permissions the caller has on a billing account", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--customer-name", + description: "The ID that uniquely identifies a customer", + args: { name: "customer-name" }, + }, + { + name: "--invoice-section-name", + description: "The ID that uniquely identifies an invoice section", + args: { name: "invoice-section-name" }, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + }, + ], + }, + ], + }, + { + name: "policy", + description: "Billing policy", + subcommands: [ + { + name: "show", + description: + 'Show the policies for a customer or for a billing profile. This operation is supported only for billing accounts with agreement type Microsoft Partner Agreement."', + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--customer-name", + description: "The ID that uniquely identifies a customer", + args: { name: "customer-name" }, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + }, + ], + }, + { + name: "update", + description: + "Update the policies for a billing profile. This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--customer-name", + description: "The ID that uniquely identifies a customer", + args: { name: "customer-name" }, + }, + { + name: "--marketplace-purchases", + description: + "The policy that controls whether Azure marketplace purchases are allowed for a billing profile", + args: { + name: "marketplace-purchases", + suggestions: ["AllAllowed", "NotAllowed", "OnlyFreeAllowed"], + }, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + }, + { + name: "--reservation-purchases", + description: + "The policy that controls whether Azure reservation purchases are allowed for a billing profile", + args: { + name: "reservation-purchases", + suggestions: ["Allowed", "NotAllowed"], + }, + }, + { + name: "--view-charges", + description: + "The policy that controls whether users with Azure RBAC access to a subscription can view its charges", + args: { + name: "view-charges", + suggestions: ["Allowed", "NotAllowed"], + }, + }, + ], + }, + ], + }, + { + name: "product", + description: "Billing product", + subcommands: [ + { + name: "list", + description: + "List the products for a billing account. These don't include products billed based on usage. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--customer-name", + description: "The ID that uniquely identifies a customer", + args: { name: "customer-name" }, + }, + { + name: "--filter", + description: + "May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:)", + args: { name: "filter" }, + }, + { + name: "--invoice-section-name", + description: "The ID that uniquely identifies an invoice section", + args: { name: "invoice-section-name" }, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + }, + ], + }, + { + name: "move", + description: + "Moves a product's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--product-name", "--name", "-n"], + description: "The ID that uniquely identifies a product", + args: { name: "product-name" }, + isRequired: true, + }, + { + name: "--destination-invoice-section-id", + description: "The destination invoice section id", + args: { name: "destination-invoice-section-id" }, + }, + ], + }, + { + name: "show", + description: + "Get a product by ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--product-name", "--name", "-n"], + description: "The ID that uniquely identifies a product", + args: { name: "product-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the properties of a Product. Currently, auto renew can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--product-name", "--name", "-n"], + description: "The ID that uniquely identifies a product", + args: { name: "product-name" }, + isRequired: true, + }, + { + name: "--auto-renew", + description: + "Indicates whether auto renewal is turned on or off for a product", + args: { name: "auto-renew", suggestions: ["Off", "On"] }, + }, + { + name: "--billing-frequency", + description: "The frequency at which the product will be billed", + args: { + name: "billing-frequency", + suggestions: ["Monthly", "OneTime", "UsageBased"], + }, + }, + { + name: "--status", + description: "The current status of the product", + args: { + name: "status", + suggestions: [ + "Active", + "AutoRenew", + "Cancelled", + "Disabled", + "Expired", + "Expiring", + "Inactive", + "PastDue", + ], + }, + }, + ], + }, + { + name: "validate-move", + description: + "Validate if a product's charges can be moved to a new invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--product-name", "--name", "-n"], + description: "The ID that uniquely identifies a product", + args: { name: "product-name" }, + isRequired: true, + }, + { + name: "--destination-invoice-section-id", + description: "The destination invoice section id", + args: { name: "destination-invoice-section-id" }, + }, + ], + }, + ], + }, + { + name: "profile", + description: "Manage billing profile of billing account", + subcommands: [ + { + name: "create", + description: + "Creates or updates a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The ID that uniquely identifies a billing profile", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--bill-to", + description: "Billing address", + args: { name: "bill-to" }, + }, + { + name: "--display-name", + description: "The name of the billing profile", + args: { name: "display-name" }, + }, + { + name: "--enabled-azure-plans", + description: "Information about the enabled azure plans", + args: { name: "enabled-azure-plans" }, + }, + { + name: "--invoice-email-opt-in", + description: + "Flag controlling whether the invoices for the billing profile are sent through email", + args: { + name: "invoice-email-opt-in", + suggestions: ["false", "true"], + }, + }, + { + name: "--invoice-sections-value", + description: + "The invoice sections associated to the billing profile. Expected value: json-string/@json-file", + args: { name: "invoice-sections-value" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--po-number", + description: + "The purchase order name that will appear on the invoices generated for the billing profile", + args: { name: "po-number" }, + }, + ], + }, + { + name: "list", + description: + "List the billing profiles that a user has access to. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--expand", + description: "May be used to expand the invoice sections", + args: { name: "expand" }, + }, + ], + }, + { + name: "show", + description: + "Get a billing profile by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The ID that uniquely identifies a billing profile", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--expand", + description: "May be used to expand the invoice sections", + args: { name: "expand" }, + }, + ], + }, + { + name: "update", + description: + "Creates or updates a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The ID that uniquely identifies a billing profile", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--bill-to", + description: "Billing address", + args: { name: "bill-to" }, + }, + { + name: "--display-name", + description: "The name of the billing profile", + args: { name: "display-name" }, + }, + { + name: "--enabled-azure-plans", + description: "Information about the enabled azure plans", + args: { name: "enabled-azure-plans" }, + }, + { + name: "--invoice-email-opt-in", + description: + "Flag controlling whether the invoices for the billing profile are sent through email", + args: { + name: "invoice-email-opt-in", + suggestions: ["false", "true"], + }, + }, + { + name: "--invoice-sections-value", + description: + "The invoice sections associated to the billing profile. Expected value: json-string/@json-file", + args: { name: "invoice-sections-value" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--po-number", + description: + "The purchase order name that will appear on the invoices generated for the billing profile", + args: { name: "po-number" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the billing profile is met", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The ID that uniquely identifies a billing profile", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: "May be used to expand the invoice sections", + args: { name: "expand" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "property", + description: "Billing property", + subcommands: [ + { + name: "show", + description: + "Get the billing properties for a subscription. This operation is not supported for billing accounts with agreement type Enterprise Agreement", + }, + { + name: "update", + description: + "Update the billing property of a subscription. Currently, cost center can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: "--cost-center", + description: "The cost center applied to the subscription", + args: { name: "cost-center" }, + }, + ], + }, + ], + }, + { + name: "role-assignment", + description: "Billing role-assignment", + subcommands: [ + { + name: "delete", + description: + "Delete a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The ID that uniquely identifies a role assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--invoice-section-name", + description: "The ID that uniquely identifies an invoice section", + args: { name: "invoice-section-name" }, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the role assignments for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--invoice-section-name", + description: "The ID that uniquely identifies an invoice section", + args: { name: "invoice-section-name" }, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + }, + ], + }, + { + name: "show", + description: + "Show the role assignment detail for the caller within different scopes. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The ID that uniquely identifies a role assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--invoice-section-name", + description: "The ID that uniquely identifies an invoice section", + args: { name: "invoice-section-name" }, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + }, + ], + }, + ], + }, + { + name: "role-definition", + description: "Display billing role-definition", + subcommands: [ + { + name: "list", + description: + "List the role definitions for a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--invoice-section-name", + description: "The ID that uniquely identifies an invoice section", + args: { name: "invoice-section-name" }, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + }, + ], + }, + { + name: "show", + description: "Show the role definition details", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name that uniquely identifies a role definition", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--invoice-section-name", + description: "The ID that uniquely identifies an invoice section", + args: { name: "invoice-section-name" }, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + }, + ], + }, + ], + }, + { + name: "subscription", + description: "Billing subscription", + subcommands: [ + { + name: "list", + description: + "List the subscriptions for a billing account. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--customer-name", + description: "The ID that uniquely identifies a customer", + args: { name: "customer-name" }, + }, + { + name: "--invoice-section-name", + description: "The ID that uniquely identifies an invoice section", + args: { name: "invoice-section-name" }, + }, + { + name: "--profile-name", + description: "The ID that uniquely identifies a billing profile", + args: { name: "profile-name" }, + }, + ], + }, + { + name: "move", + description: + "Moves a subscription's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--destination-invoice-section-id", + description: "The destination invoice section id", + args: { name: "destination-invoice-section-id" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: + "Get a subscription by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the properties of a billing subscription. Currently, cost center can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--cost-center", + description: "The cost center applied to the subscription", + args: { name: "cost-center" }, + }, + { + name: "--sku-id", + description: "The sku ID of the Azure plan for the subscription", + args: { name: "sku-id" }, + }, + { + name: "--subscription-billing-status", + description: "The current billing status of the subscription", + args: { + name: "subscription-billing-status", + suggestions: [ + "Abandoned", + "Active", + "Deleted", + "Inactive", + "Warning", + ], + }, + }, + ], + }, + { + name: "validate-move", + description: + "Validate if a subscription's charges can be moved to a new invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--destination-invoice-section-id", + description: "The destination invoice section id", + args: { name: "destination-invoice-section-id" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the billing subscription is met", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "transaction", + description: "Billing transaction", + subcommands: [ + { + name: "list", + description: + "List the transactions for an invoice. Transactions include purchases, refunds and Azure usage charges", + options: [ + { + name: "--account-name", + description: "The ID that uniquely identifies a billing account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--invoice-name", + description: "The ID that uniquely identifies an invoice", + args: { name: "invoice-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/blockchain.ts b/src/az/2.53.0/blockchain.ts new file mode 100644 index 000000000000..5652dbbbda06 --- /dev/null +++ b/src/az/2.53.0/blockchain.ts @@ -0,0 +1,601 @@ +const completion: Fig.Spec = { + name: "blockchain", + description: "Manage blockchain", + subcommands: [ + { + name: "consortium", + description: "Blockchain consortium", + subcommands: [ + { + name: "list", + description: "List the available consortiums for a subscription", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "member", + description: "Blockchain member", + subcommands: [ + { + name: "create", + description: "Create a blockchain member", + options: [ + { + name: ["--name", "-n"], + description: "Blockchain member name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--consortium", + description: + "Gets or sets the consortium for the blockchain member", + args: { name: "consortium" }, + }, + { + name: "--consortium-management-account-password", + description: + "Sets the managed consortium management account password", + args: { name: "consortium-management-account-password" }, + }, + { + name: "--firewall-rules", + description: "Firewall rules of the blockchian member", + args: { name: "firewall-rules" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--password", + description: + "Sets the basic auth password of the blockchain member", + args: { name: "password" }, + }, + { + name: "--protocol", + description: "Gets or sets the blockchain protocol", + args: { + name: "protocol", + suggestions: ["Corda", "NotSpecified", "Parity", "Quorum"], + }, + }, + { + name: "--sku", + description: "The Sku of the blockchain member", + args: { name: "sku", suggestions: ["Basic", "Standard"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--validator-nodes-sku", + description: + "Gets or sets the blockchain validator nodes Sku. Expect value: capacity=xx", + args: { name: "validator-nodes-sku" }, + }, + ], + }, + { + name: "delete", + description: "Delete a blockchain member", + options: [ + { + name: ["--name", "-n"], + description: "Blockchain member name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the blockchain members", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-api-key", + description: "List the API keys for a blockchain member", + options: [ + { + name: ["--name", "-n"], + description: "Blockchain member name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-consortium-member", + description: "List the consortium members for a blockchain member", + options: [ + { + name: ["--name", "-n"], + description: "Blockchain member name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "regenerate-api-key", + description: "Regenerate the API keys for a blockchain member", + options: [ + { + name: ["--name", "-n"], + description: "Blockchain member name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--key-name", + description: "Gets or sets the API key name", + args: { name: "key-name", suggestions: ["key1", "key2"] }, + }, + ], + }, + { + name: "show", + description: "Show the details about a blockchain member", + options: [ + { + name: ["--name", "-n"], + description: "Blockchain member name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a blockchain member", + options: [ + { + name: ["--name", "-n"], + description: "Blockchain member name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--consortium-management-account-password", + description: + "Sets the managed consortium management account password", + args: { name: "consortium-management-account-password" }, + }, + { + name: "--firewall-rules", + description: "Firewall rules of the blockchian member", + args: { name: "firewall-rules" }, + }, + { + name: "--password", + description: + "Sets the transaction node dns endpoint basic auth password", + args: { name: "password" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: "Wait until a blockchain member is created or deleted", + options: [ + { + name: ["--name", "-n"], + description: "Blockchain member name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "transaction-node", + description: "Blockchain transaction-node", + subcommands: [ + { + name: "create", + description: "Create a transaction node", + options: [ + { + name: "--member-name", + description: "Blockchain member name", + args: { name: "member-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Transaction node name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--firewall-rules", + description: "Firewall rules of the blockchian transaction node", + args: { name: "firewall-rules" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--password", + description: + "Sets the transaction node dns endpoint basic auth password", + args: { name: "password" }, + }, + ], + }, + { + name: "delete", + description: "Delete the transaction node", + options: [ + { + name: "--member-name", + description: "Blockchain member name", + args: { name: "member-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Transaction node name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the transaction nodes for a blockchain member", + options: [ + { + name: "--member-name", + description: "Blockchain member name", + args: { name: "member-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-api-key", + description: "List the API keys for the transaction node", + options: [ + { + name: "--member-name", + description: "Blockchain member name", + args: { name: "member-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Transaction node name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "regenerate-api-key", + description: "Regenerate the API keys for the blockchain member", + options: [ + { + name: "--member-name", + description: "Blockchain member name", + args: { name: "member-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Transaction node name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--key-name", + description: "Gets or sets the API key name", + args: { name: "key-name", suggestions: ["key1", "key2"] }, + }, + { + name: "--value", + description: "Gets or sets the API key value", + args: { name: "value" }, + }, + ], + }, + { + name: "show", + description: "Show the details of the transaction node", + options: [ + { + name: "--member-name", + description: "Blockchain member name", + args: { name: "member-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Transaction node name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update the transaction node", + options: [ + { + name: "--member-name", + description: "Blockchain member name", + args: { name: "member-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Transaction node name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--firewall-rules", + description: "Firewall rules of the blockchian transaction node", + args: { name: "firewall-rules" }, + }, + { + name: "--password", + description: + "Sets the transaction node dns endpoint basic auth password", + args: { name: "password" }, + }, + ], + }, + { + name: "wait", + description: "Wait until the transaction node is created or deleted", + options: [ + { + name: "--member-name", + description: "Blockchain member name", + args: { name: "member-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Transaction node name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/blueprint.ts b/src/az/2.53.0/blueprint.ts new file mode 100644 index 000000000000..87f032596895 --- /dev/null +++ b/src/az/2.53.0/blueprint.ts @@ -0,0 +1,1595 @@ +const completion: Fig.Spec = { + name: "blueprint", + description: "Commands to manage blueprint", + subcommands: [ + { + name: "artifact", + description: "Commands to manage blueprint artifact", + subcommands: [ + { + name: "delete", + description: "Delete a blueprint artifact", + options: [ + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the blueprint artifact", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List artifacts for a given blueprint definition", + options: [ + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get a blueprint artifact", + options: [ + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the blueprint artifact", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "policy", + description: + "Commands to manage blueprint policy assignment artifact", + subcommands: [ + { + name: "create", + description: "Create blueprint policy artifact", + options: [ + { + name: "--artifact-name", + description: "Name of the blueprint artifact", + args: { name: "artifact-name" }, + isRequired: true, + }, + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: "--policy-definition-id", + description: "The full policy definition id", + args: { name: "policy-definition-id" }, + isRequired: true, + }, + { + name: "--depends-on", + description: + "Artifacts which need to be deployed before the specified artifact", + args: { name: "depends-on" }, + }, + { + name: "--description", + description: "Description of the blueprint artifact", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "DisplayName of this artifact", + args: { name: "display-name" }, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--parameters", "-p"], + description: + "Parameters for policy assignment artifact. It can be a JSON string or JSON file path", + args: { name: "parameters" }, + }, + { + name: "--resource-group-art", + description: + "Name of the resource group artifact to which the policy will be assigned", + args: { name: "resource-group-art" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update blueprint policy artifact", + options: [ + { + name: "--artifact-name", + description: "Name of the blueprint artifact", + args: { name: "artifact-name" }, + isRequired: true, + }, + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: "--depends-on", + description: + "Artifacts which need to be deployed before the specified artifact. Use '--depends-on' with no values to remove dependencies", + args: { name: "depends-on" }, + }, + { + name: "--description", + description: "Description of the blueprint artifact", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "DisplayName of this artifact", + args: { name: "display-name" }, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--parameters", "-p"], + description: + "Parameters for policy assignment artifact. It can be a JSON string or JSON file path", + args: { name: "parameters" }, + }, + { + name: "--resource-group-art", + description: + "Name of the resource group artifact to which the policy will be assigned", + args: { name: "resource-group-art" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "role", + description: "Commands to manage blueprint role assignment artifact", + subcommands: [ + { + name: "create", + description: "Create blueprint role artifact", + options: [ + { + name: "--artifact-name", + description: "Name of the blueprint artifact", + args: { name: "artifact-name" }, + isRequired: true, + }, + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: "--principal-ids", + description: + "Array of user or group identities in Azure Active Directory or a reference to the corresponding parameter in blueprint definiton. The roleDefinition will apply to each identity", + args: { name: "principal-ids" }, + isRequired: true, + }, + { + name: "--role-definition-id", + description: + "The full role definition id. Only built-in roles are supported", + args: { name: "role-definition-id" }, + isRequired: true, + }, + { + name: "--depends-on", + description: + "Artifacts which need to be deployed before the specified artifact", + args: { name: "depends-on" }, + }, + { + name: "--description", + description: "Description of the blueprint artifact", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "DisplayName of this artifact", + args: { name: "display-name" }, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: "--resource-group-art", + description: + "Name of the resource group artifact to which the policy will be assigned", + args: { name: "resource-group-art" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update blueprint role artifact", + options: [ + { + name: "--artifact-name", + description: "Name of the blueprint artifact", + args: { name: "artifact-name" }, + isRequired: true, + }, + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: "--depends-on", + description: + "Artifacts which need to be deployed before the specified artifact. Use '--depends-on' with no values to remove dependencies", + args: { name: "depends-on" }, + }, + { + name: "--description", + description: "Description of the blueprint artifact", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "DisplayName of this artifact", + args: { name: "display-name" }, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: "--resource-group-art", + description: + "Name of the resource group artifact to which the policy will be assigned", + args: { name: "resource-group-art" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "template", + description: "Commands to manage blueprint ARM template artifact", + subcommands: [ + { + name: "create", + description: "Create blueprint arm artifact", + options: [ + { + name: "--artifact-name", + description: "Name of the blueprint artifact", + args: { name: "artifact-name" }, + isRequired: true, + }, + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: ["--template", "-t"], + description: + "ARM template in JSON string or path to JSON file", + args: { name: "template" }, + isRequired: true, + }, + { + name: "--depends-on", + description: + "Artifacts which need to be deployed before the specified artifact", + args: { name: "depends-on" }, + }, + { + name: "--description", + description: "Description of the blueprint artifact", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "DisplayName of this artifact", + args: { name: "display-name" }, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--parameters", "-p"], + description: + "Parameters for ARM template artifact. It can be a JSON string or JSON file path", + args: { name: "parameters" }, + }, + { + name: "--resource-group-art", + description: + "Name of the resource group artifact to which the policy will be assigned", + args: { name: "resource-group-art" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update blueprint arm artifact", + options: [ + { + name: "--artifact-name", + description: "Name of the blueprint artifact", + args: { name: "artifact-name" }, + isRequired: true, + }, + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: "--depends-on", + description: + "Artifacts which need to be deployed before the specified artifact. Use '--depends-on' with no values to remove dependencies", + args: { name: "depends-on" }, + }, + { + name: "--description", + description: "Description of the blueprint artifact", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "DisplayName of this artifact", + args: { name: "display-name" }, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--parameters", "-p"], + description: + "Parameters for ARM template artifact. It can be a JSON string or JSON file path", + args: { name: "parameters" }, + }, + { + name: "--resource-group-art", + description: + "Name of the resource group artifact to which the policy will be assigned", + args: { name: "resource-group-art" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + { + name: ["--template", "-t"], + description: + "ARM template in JSON string or path to JSON file", + args: { name: "template" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "assignment", + description: "Commands to manage blueprint assignment", + subcommands: [ + { + name: "create", + description: "Create a blueprint assignment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the blueprint assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--blueprint-version", + description: + "Resource ID of the published version of a blueprint definition", + args: { name: "blueprint-version" }, + }, + { + name: "--description", + description: "Multi-line explain this resource", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "One-liner string explain this resource", + args: { name: "display-name" }, + }, + { + name: "--identity-type", + description: "Type of the managed identity", + args: { + name: "identity-type", + suggestions: ["None", "SystemAssigned", "UserAssigned"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--locks-excluded-principals", + description: + "List of AAD principals excluded from blueprint locks. Up to 5 principals are permitted", + args: { name: "locks-excluded-principals" }, + }, + { + name: "--locks-mode", + description: "Lock mode", + args: { + name: "locks-mode", + suggestions: [ + "AllResourcesDoNotDelete", + "AllResourcesReadOnly", + "None", + ], + }, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the target scope of the blueprint assignment. It is reserved for future use. Use --subscription instead", + args: { name: "management-group" }, + }, + { + name: ["--parameters", "-p"], + description: + "Blueprint assignment parameter values. It can be a JSON string or JSON file path", + args: { name: "parameters" }, + }, + { + name: "--resource-group-value", + description: + "Key=Value pairs for a resource group. Keys include 'artifact_name'(required), 'name', 'location'", + args: { name: "resource-group-value" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the target scope of the blueprint assignment. Default susbcription will be used if option not specified", + args: { name: "subscription" }, + }, + { + name: "--user-assigned-identity", + description: + "The user-assigned managed identity associated with the resource", + args: { name: "user-assigned-identity" }, + }, + ], + }, + { + name: "delete", + description: "Delete a blueprint assignment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the blueprint assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--delete-behavior", + description: + "When deleteBehavior=all, the resources that were created by the blueprint assignment will be deleted", + args: { name: "delete-behavior", suggestions: ["all", "none"] }, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List blueprint assignments within a subscription", + options: [ + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get a blueprint assignment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the blueprint assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a blueprint assignment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the blueprint assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--blueprint-version", + description: + "Resource ID of the published version of a blueprint definition", + args: { name: "blueprint-version" }, + }, + { + name: "--description", + description: "Multi-line explain this resource", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "One-liner string explain this resource", + args: { name: "display-name" }, + }, + { + name: "--identity-type", + description: "Type of the managed identity", + args: { + name: "identity-type", + suggestions: ["None", "SystemAssigned", "UserAssigned"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--locks-excluded-principals", + description: + "List of AAD principals excluded from blueprint locks. Up to 5 principals are permitted", + args: { name: "locks-excluded-principals" }, + }, + { + name: "--locks-mode", + description: "Lock mode", + args: { + name: "locks-mode", + suggestions: [ + "AllResourcesDoNotDelete", + "AllResourcesReadOnly", + "None", + ], + }, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the target scope of the blueprint assignment. It is reserved for future use. Use --subscription instead", + args: { name: "management-group" }, + }, + { + name: ["--parameters", "-p"], + description: + "Blueprint assignment parameter values. It can be a JSON string or JSON file path", + args: { name: "parameters" }, + }, + { + name: "--resource-group-value", + description: + "Key=Value pairs for a resource group. Keys include 'artifact_name'(required), 'name', 'location'", + args: { name: "resource-group-value" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the target scope of the blueprint assignment. Default susbcription will be used if option not specified", + args: { name: "subscription" }, + }, + { + name: "--user-assigned-identity", + description: + "The user-assigned managed identity associated with the resource", + args: { name: "user-assigned-identity" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the Blueprint Assignment is met", + options: [ + { + name: ["--name", "-n"], + description: "Name of the blueprint assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the target scope of the blueprint assignment. It is reserved for future use. Use --subscription instead", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the target scope of the blueprint assignment. Default susbcription will be used if option not specified", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "who", + description: "Get Blueprint Servie Principal Name objectId", + options: [ + { + name: ["--name", "-n"], + description: "Name of the blueprint assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "create", + description: "Create a blueprint definition", + options: [ + { + name: ["--name", "-n"], + description: "Name of the blueprint definition", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--target-scope", + description: + "The scope where this blueprint definition can be assigned", + args: { + name: "target-scope", + suggestions: ["managementGroup", "subscription"], + }, + isRequired: true, + }, + { + name: "--description", + description: "Multi-line explain this resource", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "One-liner string explain this resource", + args: { name: "display-name" }, + }, + { + name: ["--management-group", "-m"], + description: "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--parameters", "-p"], + description: + 'Parameters required by this blueprint definition. It can be a JSON string or JSON file path. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "parameters" }, + }, + { + name: "--resource-groups", + description: + 'Resource group placeholders defined by this blueprint definition. Expected value: json-string/@json-file. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "resource-groups" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete a blueprint definition", + options: [ + { + name: ["--name", "-n"], + description: "Name of the blueprint definition", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "export", + description: + "Export a blueprint definition and artifacts to json file(s)", + options: [ + { + name: ["--name", "-n"], + description: "Name of the blueprint definition to export", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--output-path", + description: + "The directory path for json definitions of the blueprint and artifacts. The blueprint definition file will be named blueprint.json. Artifacts json files will be in a subdirectory named artifacts", + args: { name: "output-path" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user confirmation. When set, if directory does not exist, it will be created. If the directory exists and has contents, they will be overwritten. If not set, user will be prompted for permission to proceed", + }, + ], + }, + { + name: "import", + description: + "Import a blueprint definition and artifacts from a directoy of json files", + options: [ + { + name: "--input-path", + description: + "The directory path for json definitions of the blueprint and artifacts. The blueprint definition file should be named blueprint.json. Artifacts json files should be in a subdirectory named artifacts", + args: { name: "input-path" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the blueprint definition", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List blueprint definitions", + options: [ + { + name: ["--management-group", "-m"], + description: "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "publish", + description: + "Publish a new version of the blueprint definition with the latest artifacts. Published blueprint definitions are immutable", + options: [ + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: "--version", + description: "Version of the published blueprint definition", + args: { name: "version" }, + isRequired: true, + }, + { + name: "--change-notes", + description: "Version-specific change notes", + args: { name: "change-notes" }, + }, + { + name: ["--management-group", "-m"], + description: "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get a blueprint definition", + options: [ + { + name: ["--name", "-n"], + description: "Name of the blueprint definition", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a blueprint definition", + options: [ + { + name: ["--name", "-n"], + description: "Name of the blueprint definition", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "Multi-line explain this resource", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "One-liner string explain this resource", + args: { name: "display-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--management-group", "-m"], + description: "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--parameters", "-p"], + description: + 'Parameters required by this blueprint definition. It can be a JSON string or JSON file path. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "parameters" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--resource-groups", + description: + 'Resource group placeholders defined by this blueprint definition. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "resource-groups" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + { + name: "--target-scope", + description: + "The scope where this blueprint definition can be assigned", + args: { + name: "target-scope", + suggestions: ["managementGroup", "subscription"], + }, + }, + ], + }, + { + name: "resource-group", + description: "Commands to manage blueprint resource group artifact", + subcommands: [ + { + name: "add", + description: "Add a resource group artifact to the blueprint", + options: [ + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: "--artifact-name", + description: "A unique name of this resource group artifact", + args: { name: "artifact-name" }, + }, + { + name: "--depends-on", + description: + "Artifacts which need to be deployed before the specified artifact", + args: { name: "depends-on" }, + }, + { + name: "--description", + description: "Description of the blueprint artifact", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of this resource group artifact", + args: { name: "display-name" }, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: "--rg-location", + description: + "Location of this resource group. Leave empty if the resource group location will be specified during the blueprint assignment", + args: { name: "rg-location" }, + }, + { + name: "--rg-name", + description: + "Name of this resource group. Leave empty if the resource group name will be specified during the blueprint assignment", + args: { name: "rg-name" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: "Tags to be assigned to this resource group", + args: { name: "tags" }, + }, + ], + }, + { + name: "list", + description: "List blueprint resource group artifact", + options: [ + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: "Remove a blueprint resource group artifact", + options: [ + { + name: "--artifact-name", + description: "A unique name of this resource group artifact", + args: { name: "artifact-name" }, + isRequired: true, + }, + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show blueprint resource group artifact", + options: [ + { + name: "--artifact-name", + description: "A unique name of this resource group artifact", + args: { name: "artifact-name" }, + isRequired: true, + }, + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update blueprint resource group artifact", + options: [ + { + name: "--artifact-name", + description: "A unique name of this resource group artifact", + args: { name: "artifact-name" }, + isRequired: true, + }, + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: "--depends-on", + description: + "Artifacts which need to be deployed before the specified artifact. Use '--depends-on' with no values to remove dependencies", + args: { name: "depends-on" }, + }, + { + name: "--description", + description: "Description of the blueprint artifact", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of this resource group artifact", + args: { name: "display-name" }, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: "--rg-location", + description: + "Location of this resource group. Leave empty if the resource group location will be specified during the blueprint assignment", + args: { name: "rg-location" }, + }, + { + name: "--rg-name", + description: + "Name of this resource group. Leave empty if the resource group name will be specified during the blueprint assignment", + args: { name: "rg-name" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: "Tags to be assigned to this resource group", + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "version", + description: "Commands to manage published blueprint versions", + subcommands: [ + { + name: "delete", + description: "Delete a published version of a blueprint", + options: [ + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: "--version", + description: "Version of the published blueprint definition", + args: { name: "version" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List published versions of given blueprint definition", + options: [ + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get a published version of a blueprint", + options: [ + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: "--version", + description: "Version of the published blueprint definition", + args: { name: "version" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "artifact", + description: "Commands to manage published blueprint artifacts", + subcommands: [ + { + name: "list", + description: + "List artifacts for a version of a published blueprint", + options: [ + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: "--version", + description: "Version of the published blueprint definition", + args: { name: "version" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show an artifact for a published blueprint", + options: [ + { + name: "--artifact-name", + description: "Name of the blueprint artifact", + args: { name: "artifact-name" }, + isRequired: true, + }, + { + name: "--blueprint-name", + description: "Name of the blueprint definition", + args: { name: "blueprint-name" }, + isRequired: true, + }, + { + name: "--version", + description: "Version of the published blueprint definition", + args: { name: "version" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: + "Use management group for the scope of the blueprint", + args: { name: "management-group" }, + }, + { + name: ["--subscription", "-s"], + description: + "Use subscription for the scope of the blueprint. If --management-group is not specified, --subscription value or the default subscription will be used as the scope", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/boards.ts b/src/az/2.53.0/boards.ts new file mode 100644 index 000000000000..6335a5515f60 --- /dev/null +++ b/src/az/2.53.0/boards.ts @@ -0,0 +1,1264 @@ +const completion: Fig.Spec = { + name: "boards", + description: + "Manage Azure Boards.\n\n\t\tThis command group is a part of the azure-devops extension", + subcommands: [ + { + name: "area", + description: "Manage area paths", + subcommands: [ + { + name: "project", + description: "Manage areas for a project", + subcommands: [ + { + name: "create", + description: "Create area", + options: [ + { + name: "--name", + description: "Name of the area", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--path", + description: + "Absolute path of an area. Creates an area at root level if --path is not specified. Example:\\ProjectName\\Area\\AreaName", + args: { name: "path" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "delete", + description: "Delete area", + options: [ + { + name: "--path", + description: + "Absolute path of an area. Example:\\ProjectName\\Area\\AreaName", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List areas for a project", + options: [ + { + name: "--depth", + description: + "Depth of child nodes to be fetched. Example: --depth 3", + args: { name: "depth" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--path", + description: + "Absolute path of an area. Example:\\ProjectName\\Area\\AreaName", + args: { name: "path" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "show", + description: "Show area details for a project", + options: [ + { + name: "--id", + description: "Area ID", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update area", + options: [ + { + name: "--path", + description: + "Absolute path of an area. Example:\\ProjectName\\Area\\AreaName", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--child-id", + description: + "Move an existing area and add as child node for this area", + args: { name: "child-id" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--name", + description: "New name of the area", + args: { name: "name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + ], + }, + { + name: "team", + description: "Manage areas for a team", + subcommands: [ + { + name: "add", + description: "Add area to a team", + options: [ + { + name: "--path", + description: "Area path. Example:\\ProjectName\\AreaName", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--team", + description: "The name or id of the team", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--include-sub-areas", + description: "Include child nodes of this area", + args: { + name: "include-sub-areas", + suggestions: ["false", "true"], + }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--set-as-default", + description: + "Set this area path as default area for this team. Default: False", + }, + ], + }, + { + name: "list", + description: "List areas for a team", + options: [ + { + name: "--team", + description: "The name or id of the team", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "remove", + description: "Remove area from a team", + options: [ + { + name: "--path", + description: "Area path. Example:\\ProjectName\\AreaName", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--team", + description: "The name or id of the team", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update team area", + options: [ + { + name: "--path", + description: "Area path. Example:\\ProjectName\\AreaName", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--team", + description: "The name or id of the team", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--include-sub-areas", + description: "Include child nodes of this area", + args: { + name: "include-sub-areas", + suggestions: ["false", "true"], + }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--set-as-default", + description: "Set as default team area path. Default: False", + }, + ], + }, + ], + }, + ], + }, + { + name: "iteration", + description: "Manage iterations", + subcommands: [ + { + name: "project", + description: "Manage iterations for a project", + subcommands: [ + { + name: "create", + description: "Create iteration", + options: [ + { + name: "--name", + description: "Name of the iteration", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--finish-date", + description: + 'Finish date of the iteration. Example : "2019-06-21"', + args: { name: "finish-date" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--path", + description: + "Absolute path of an iteration. Creates an iteration at root level if --path is not specified. Example:\\ProjectName\\Iteration\\IterationName", + args: { name: "path" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--start-date", + description: + 'Start date of the iteration. Example : "2019-06-03"', + args: { name: "start-date" }, + }, + ], + }, + { + name: "delete", + description: "Delete iteration", + options: [ + { + name: "--path", + description: + "Absolute path of an iteration. Example:\\ProjectName\\Iteration\\IterationName", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List iterations for a project", + options: [ + { + name: "--depth", + description: + "Depth of child nodes to be fetched. Example: --depth 3", + args: { name: "depth" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--path", + description: + "Absolute path of an iteration. Example:\\ProjectName\\Iteration\\IterationName", + args: { name: "path" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "show", + description: "Show iteration details for a project", + options: [ + { + name: "--id", + description: "Iteration ID", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update project iteration", + options: [ + { + name: "--path", + description: + "Absolute path of an iteration. Example:\\ProjectName\\Iteration\\IterationName", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--child-id", + description: + "Move an existing iteration and add as child node for this iteration", + args: { name: "child-id" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--finish-date", + description: + 'Finish date of the iteration. Example : "2019-06-21"', + args: { name: "finish-date" }, + }, + { + name: "--name", + description: "New name of the iteration", + args: { name: "name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--start-date", + description: + 'Start date of the iteration. Example : "2019-06-03"', + args: { name: "start-date" }, + }, + ], + }, + ], + }, + { + name: "team", + description: "Manage iterations for a team", + subcommands: [ + { + name: "add", + description: "Add iteration to a team", + options: [ + { + name: "--id", + description: "Identifier of the iteration", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--team", + description: "Name or ID of the team", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "list", + description: "List iterations for a team", + options: [ + { + name: "--team", + description: "The name or id of the team", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--timeframe", + description: + "A filter for which iterations are returned based on relative time. Only Current is supported currently", + args: { name: "timeframe" }, + }, + ], + }, + { + name: "list-work-items", + description: "List work-items for an iteration", + options: [ + { + name: "--id", + description: "Identifier of the iteration", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--team", + description: "Name or ID of the team", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "remove", + description: "Remove iteration from a team", + options: [ + { + name: "--id", + description: "Identifier of the iteration", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--team", + description: "Name or ID of the team", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "set-backlog-iteration", + description: "Set backlog iteration for a team", + options: [ + { + name: "--id", + description: + "Identifier of the iteration which needs to be set as backlog iteration", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--team", + description: "Name or ID of the team", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "set-default-iteration", + description: "Set default iteration for a team", + options: [ + { + name: "--team", + description: "Name or ID of the team", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--default-iteration-macro", + description: + "Default iteration macro. Example: @CurrentIteration", + args: { name: "default-iteration-macro" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--id", + description: + "Identifier of the iteration which needs to be set as default", + args: { name: "id" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "show-backlog-iteration", + description: "Show backlog iteration for a team", + options: [ + { + name: "--team", + description: "Name or ID of the team", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "show-default-iteration", + description: "Show default iteration for a team", + options: [ + { + name: "--team", + description: "Name or ID of the team", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "query", + description: "Query for a list of work items", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--id", + description: + "The ID of an existing query. Required unless --path or --wiql are specified", + args: { name: "id" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--path", + description: + "The path of an existing query. Ignored if --id is specified", + args: { name: "path" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--wiql", + description: + "The query in Work Item Query Language format. Ignored if --id or --path is specified", + args: { name: "wiql" }, + }, + ], + }, + { + name: "work-item", + description: "Manage work items", + subcommands: [ + { + name: "create", + description: "Create a work item", + options: [ + { + name: "--title", + description: "Title of the work item", + args: { name: "title" }, + isRequired: true, + }, + { + name: "--type", + description: "Name of the work item type (e.g. Bug)", + args: { name: "type" }, + isRequired: true, + }, + { + name: "--area", + description: "Area the work item is assigned to (e.g. Demos)", + args: { name: "area" }, + }, + { + name: "--assigned-to", + description: + "Name of the person the work item is assigned-to (e.g. fabrikam)", + args: { name: "assigned-to" }, + }, + { + name: ["--description", "-d"], + description: "Description of the work item", + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--discussion", + description: "Comment to add to a discussion in a work item", + args: { name: "discussion" }, + }, + { + name: ["--fields", "-f"], + description: + 'Space separated "field=value" pairs for custom fields you would like to set. In case of multiple fields : "field1=value1" "field2=value2". Refer https://aka.ms/azure-devops-cli-field-api for more details on fields', + args: { name: "fields" }, + }, + { + name: "--iteration", + description: + "Iteration path of the work item (e.g. Demos\\Iteration 1)", + args: { name: "iteration" }, + }, + { + name: "--open", + description: "Open the work item in the default web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--reason", + description: "Reason for the state of the work item", + args: { name: "reason" }, + }, + ], + }, + { + name: "delete", + description: "Delete a work item", + options: [ + { + name: "--id", + description: "Unique id of the work item", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--destroy", + description: "Permanently delete this work item", + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show details for a work item", + options: [ + { + name: "--id", + description: "The ID of the work item", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--as-of", + description: + "Work item details as of a particular date and time. Provide a date or date time string. Assumes local time zone. Example: '2019-01-20', '2019-01-20 00:20:00'. For UTC, append 'UTC' to the date time string, '2019-01-20 00:20:00 UTC'", + args: { name: "as-of" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--expand", + description: "The expand parameters for work item attributes", + args: { + name: "expand", + suggestions: ["all", "fields", "links", "none", "relations"], + }, + }, + { + name: ["--fields", "-f"], + description: + "Comma-separated list of requested fields. Example:System.Id,System.AreaPath. Refer https://aka.ms/azure-devops-cli-field-api for more details on fields", + args: { name: "fields" }, + }, + { + name: "--open", + description: "Open the work item in the default web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "update", + description: "Update work items", + options: [ + { + name: "--id", + description: "The id of the work item to update", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--area", + description: "Area the work item is assigned to (e.g. Demos)", + args: { name: "area" }, + }, + { + name: "--assigned-to", + description: + "Name of the person the work item is assigned-to (e.g. fabrikam)", + args: { name: "assigned-to" }, + }, + { + name: ["--description", "-d"], + description: "Description of the work item", + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--discussion", + description: "Comment to add to a discussion in a work item", + args: { name: "discussion" }, + }, + { + name: ["--fields", "-f"], + description: + 'Space separated "field=value" pairs for custom fields you would like to set. Refer https://aka.ms/azure-devops-cli-field-api for more details on fields', + args: { name: "fields" }, + }, + { + name: "--iteration", + description: + "Iteration path of the work item (e.g. Demos\\Iteration 1)", + args: { name: "iteration" }, + }, + { + name: "--open", + description: "Open the work item in the default web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--reason", + description: "Reason for the state of the work item", + args: { name: "reason" }, + }, + { + name: "--state", + description: "State of the work item (e.g. active)", + args: { name: "state" }, + }, + { + name: "--title", + description: "Title of the work item", + args: { name: "title" }, + }, + ], + }, + { + name: "relation", + description: "Manage work item relations", + subcommands: [ + { + name: "add", + description: "Add relation(s) to work item", + options: [ + { + name: "--id", + description: "The ID of the work item", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--relation-type", + description: + "Relation type to create. Example: parent, child", + args: { name: "relation-type" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--target-id", + description: + "ID(s) of work-items to create relation with. Multiple values can be passed comma separated. Example: 1,2", + args: { name: "target-id" }, + }, + { + name: "--target-url", + description: + "URL(s) of work-items to create relation with. Multiple values can be passed comma separated", + args: { name: "target-url" }, + }, + ], + }, + { + name: "list-type", + description: + "List work item relations supported in the organization", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "remove", + description: "Remove relation(s) from work item", + options: [ + { + name: "--id", + description: "The ID of the work item", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--relation-type", + description: + "Relation type to remove. Example: parent, child", + args: { name: "relation-type" }, + isRequired: true, + }, + { + name: "--target-id", + description: + "ID(s) of work-items to remove relation from. Multiple values can be passed comma separated. Example: 1,2", + args: { name: "target-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Get work item, fill relations with friendly name", + options: [ + { + name: "--id", + description: "The ID of the work item", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/bot.ts b/src/az/2.53.0/bot.ts new file mode 100644 index 000000000000..9a4e2c065ba6 --- /dev/null +++ b/src/az/2.53.0/bot.ts @@ -0,0 +1,1539 @@ +const completion: Fig.Spec = { + name: "bot", + description: "Manage Microsoft Azure Bot Service", + subcommands: [ + { + name: "authsetting", + description: "Manage OAuth connection settings on a bot", + subcommands: [ + { + name: "create", + description: "Create an OAuth connection setting on a bot", + options: [ + { + name: "--client-id", + description: + "Client ID associated with the service provider setting", + args: { name: "client-id" }, + isRequired: true, + }, + { + name: "--client-secret", + description: + "Client secret associated with the service provider setting", + args: { name: "client-secret" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--provider-scope-string", + description: + "The scope string associated with the service provider setting.The string should be delimited as needed for the service provider", + args: { name: "provider-scope-string" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service", + description: + "Name of the service provider. For a list of all service providers, use az bot connection listserviceproviders", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--setting-name", "-c"], + description: "Name of the oauth connection setting", + args: { name: "setting-name" }, + isRequired: true, + }, + { + name: "--parameters", + description: + "Parameter values for service provider parameters. Usage: --parameters key=value key1=value1", + args: { name: "parameters" }, + }, + ], + }, + { + name: "delete", + description: "Delete an OAuth connection setting on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--setting-name", "-c"], + description: "Name of the oauth connection setting", + args: { name: "setting-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "Show all OAuth connection settings on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-providers", + description: + "List details for all service providers available for creating OAuth connection settings", + options: [ + { + name: "--provider-name", + description: "Service provider name for which to fetch details", + args: { name: "provider-name" }, + }, + ], + }, + { + name: "show", + description: "Show details of an OAuth connection setting on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--setting-name", "-c"], + description: "Name of the oauth connection setting", + args: { name: "setting-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "create", + description: "Create a new v4 SDK bot", + options: [ + { + name: "--app-type", + description: + 'Microsoft App Type for the bot. Possible values include: "UserAssignedMSI", "SingleTenant", "MultiTenant"', + args: { name: "app-type" }, + isRequired: true, + }, + { + name: "--appid", + description: + "The Microsoft account ID (MSA ID) to be used with the bot", + args: { name: "appid" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--cmk-key-vault-key-url", "--cmk"], + description: + "The key vault key url to enable Customer Managed Keys encryption", + args: { name: "cmk-key-vault-key-url" }, + }, + { + name: ["--description", "-d"], + description: "The description of the bot", + args: { name: "description" }, + }, + { + name: "--display-name", + description: + "The display name of the bot. If not specified, defaults to the name of the bot", + args: { name: "display-name" }, + }, + { + name: ["--endpoint", "-e"], + description: "The messaging endpoint of the bot", + args: { name: "endpoint" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--msi-resource-id", + description: "Microsoft App Managed Identity Resource Id for the bot", + args: { name: "msi-resource-id" }, + }, + { + name: "--sku", + description: "The Sku of the bot", + args: { name: "sku", suggestions: ["F0", "S1"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tenant-id", + description: "Microsoft App Tenant Id for the bot", + args: { name: "tenant-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete an existing bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "download", + description: "Download an existing bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--save-path", + description: "The directory to download bot code to", + args: { name: "save-path" }, + }, + ], + }, + { + name: "prepare-deploy", + description: + "Add scripts/config files for publishing with az webapp deployment", + options: [ + { + name: "--lang", + description: "The language or runtime of the bot", + args: { + name: "lang", + suggestions: ["Csharp", "Javascript", "Typescript"], + }, + isRequired: true, + }, + { + name: "--code-dir", + description: + "The directory to place the generated deployment files in. Defaults to the current directory the command is called from", + args: { name: "code-dir" }, + }, + { + name: "--proj-file-path", + description: "The path to the .csproj file relative to --code-dir", + args: { name: "proj-file-path" }, + }, + ], + }, + { + name: "prepare-publish", + description: + "(Maintenance mode) Add scripts to your local source code directory to be able to publish back using az bot publish for v3 SDK bots", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--proj-file-path", + description: + 'Path to the start up project file name. (E.g. "./EchoBotWithCounter.csproj") Required only for C#', + args: { name: "proj-file-path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sln-name", + description: + "Name of the start up solution file name. Required only for C#", + args: { name: "sln-name" }, + isRequired: true, + }, + { + name: "--code-dir", + description: "The directory to download deployment scripts to", + args: { name: "code-dir" }, + }, + { + name: ["--version", "-v"], + description: + "The Microsoft Bot Builder SDK version to be used in the bot template that will be created", + args: { name: "version", suggestions: ["v3", "v4"] }, + }, + ], + }, + { + name: "publish", + description: "Publish to a bot's associated app service", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--code-dir", + description: "The directory to upload bot code from", + args: { name: "code-dir" }, + }, + { + name: "--keep-node-modules", + description: + "Keep node_modules folder and do not run npm install on the App Service. This can greatly speed up publish commands for Node.js SDK bots", + args: { name: "keep-node-modules", suggestions: ["false", "true"] }, + }, + { + name: "--proj-file-path", + description: + 'Path to the start up project file name. (E.g. "./EchoBotWithCounter.csproj")', + args: { name: "proj-file-path" }, + }, + { + name: ["--timeout", "-t"], + description: + "Configurable timeout in seconds for checking the status of deployment", + args: { name: "timeout" }, + }, + { + name: ["--version", "-v"], + description: "The Microsoft Bot Builder SDK version of the bot", + args: { name: "version" }, + }, + ], + }, + { + name: "show", + description: "Get an existing bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--msbot", + description: "Show the output as JSON compatible with a .bot file", + args: { name: "msbot", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "update", + description: "Update an existing bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--app-insights-api-key", "--ai-api-key"], + description: + "Azure Application Insights API Key used to read bot analytics data. Provide a key if you want to view analytics about your bot in the Analytics blade", + args: { name: "app-insights-api-key" }, + }, + { + name: ["--app-insights-app-id", "--ai-app-id"], + description: + "Azure Application Insights Application ID used to read bot analytics data. Provide an Id if you want to view analytics about your bot in the Analytics blade", + args: { name: "app-insights-app-id" }, + }, + { + name: ["--app-insights-key", "--ai-key"], + description: + "Azure Application Insights Key used to write bot analytics data. Provide a key if you want to receive bot analytics", + args: { name: "app-insights-key" }, + }, + { + name: ["--cmk-key-vault-key-url", "--cmk"], + description: + "The key vault key url to enable Customer Managed Keys encryption", + args: { name: "cmk-key-vault-key-url" }, + }, + { + name: "--cmk-off", + description: "Set encryption to Microsoft-Managed Keys", + args: { name: "cmk-off" }, + }, + { + name: "--description", + description: "The bot's new description", + args: { name: "description" }, + }, + { + name: ["--display-name", "-d"], + description: "The bot's new display name", + args: { name: "display-name" }, + }, + { + name: ["--endpoint", "-e"], + description: + 'The new endpoint of the bot. Must start with "https://"', + args: { name: "endpoint" }, + }, + { + name: "--icon-url", + description: + "Icon URL for bot avatar. Accepts PNG files with file size limit of 30KB", + args: { name: "icon-url" }, + }, + { + name: "--sku", + description: "The Sku of the bot", + args: { name: "sku", suggestions: ["F0", "S1"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "directline", + description: "Manage the Directline Channel on a bot", + subcommands: [ + { + name: "create", + description: + "Create the DirectLine Channel on a bot with only v3 protocol enabled", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add-disabled", + description: "Add the channel in a disabled state", + args: { name: "add-disabled", suggestions: ["false", "true"] }, + }, + { + name: "--disablev1", + description: + "If true, v1 protocol will be disabled on the channel", + args: { name: "disablev1", suggestions: ["false", "true"] }, + }, + { + name: "--disablev3", + description: + "If true, v3 protocol will be disabled on the channel", + args: { name: "disablev3", suggestions: ["false", "true"] }, + }, + { + name: "--enable-enhanced-auth", + description: + "If true, enables enhanced authentication features. Must be true for --trusted-origins parameters to work", + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--site-name", "-s"], + description: "Name of the Directline channel site", + args: { name: "site-name" }, + }, + { + name: "--trusted-origins", + description: + "Space separated Trusted Origins URLs (must use HTTPS) e.g. --trusted-origins https://mybotsite1.azurewebsites.net https://mybotsite2.azurewebsites.net", + args: { name: "trusted-origins" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Directline Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get details of the Directline Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--with-secrets", + description: "Show secrets in response for the channel", + args: { name: "with-secrets", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "update", + description: + "Update the DirectLine Channel on a bot with only v3 protocol enabled", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add-disabled", + description: "Add the channel in a disabled state", + args: { name: "add-disabled", suggestions: ["false", "true"] }, + }, + { + name: "--disablev1", + description: + "If true, v1 protocol will be disabled on the channel", + args: { name: "disablev1", suggestions: ["false", "true"] }, + }, + { + name: "--disablev3", + description: + "If true, v3 protocol will be disabled on the channel", + args: { name: "disablev3", suggestions: ["false", "true"] }, + }, + { + name: "--enable-enhanced-auth", + description: + "If true, enables enhanced authentication features. Must be true for --trusted-origins parameters to work", + }, + { + name: ["--site-name", "-s"], + description: "Name of the Directline channel site", + args: { name: "site-name" }, + }, + { + name: "--trusted-origins", + description: + "Space separated Trusted Origins URLs (must use HTTPS) e.g. --trusted-origins https://mybotsite1.azurewebsites.net https://mybotsite2.azurewebsites.net", + args: { name: "trusted-origins" }, + }, + ], + }, + ], + }, + { + name: "email", + description: "Manage the email Channel on a bot", + subcommands: [ + { + name: "create", + description: "Create the Email Channel on a bot", + options: [ + { + name: ["--email-address", "-a"], + description: "The email address for the bot", + args: { name: "email-address" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: "The email password for the bot", + args: { name: "password" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add-disabled", + description: "Add the channel in a disabled state", + args: { name: "add-disabled", suggestions: ["false", "true"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + ], + }, + { + name: "delete", + description: "Delete the email Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get details of the email Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--with-secrets", + description: "Show secrets in response for the channel", + args: { name: "with-secrets", suggestions: ["false", "true"] }, + }, + ], + }, + ], + }, + { + name: "facebook", + description: "Manage the Facebook Channel on a bot", + subcommands: [ + { + name: "create", + description: "Create the Facebook Channel on a bot", + options: [ + { + name: "--appid", + description: "The Facebook application id", + args: { name: "appid" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--page-id", + description: + "Page ID of the Facebook page to be used for the bot", + args: { name: "page-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--secret", + description: "The Facebook application secret", + args: { name: "secret" }, + isRequired: true, + }, + { + name: "--token", + description: "The Facebook application access token", + args: { name: "token" }, + isRequired: true, + }, + { + name: "--add-disabled", + description: "Add the channel in a disabled state", + args: { name: "add-disabled", suggestions: ["false", "true"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Facebook Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get details of the Facebook Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--with-secrets", + description: "Show secrets in response for the channel", + args: { name: "with-secrets", suggestions: ["false", "true"] }, + }, + ], + }, + ], + }, + { + name: "kik", + description: "Manage the Kik Channel on a bot", + subcommands: [ + { + name: "create", + description: "Create the Kik Channel on a bot", + options: [ + { + name: "--key", + description: "The API key for the Kik account", + args: { name: "key" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--user-name", "-u"], + description: "Kik user name", + args: { name: "user-name" }, + isRequired: true, + }, + { + name: "--add-disabled", + description: "Add the channel in a disabled state", + args: { name: "add-disabled", suggestions: ["false", "true"] }, + }, + { + name: "--is-validated", + description: + "Whether or not the Kik account has been validated for use with the bot", + args: { name: "is-validated", suggestions: ["false", "true"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Kik Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get details of the Kik Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--with-secrets", + description: "Show secrets in response for the channel", + args: { name: "with-secrets", suggestions: ["false", "true"] }, + }, + ], + }, + ], + }, + { + name: "msteams", + description: "Manage the Microsoft Teams Channel on a bot", + subcommands: [ + { + name: "create", + description: "Create the Microsoft Teams Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add-disabled", + description: "Add the channel in a disabled state", + args: { name: "add-disabled", suggestions: ["false", "true"] }, + }, + { + name: "--calling-web-hook", + description: "The calling web hook to use on Microsoft Teams", + args: { name: "calling-web-hook" }, + }, + { + name: "--enable-calling", + description: "Enable calling on Microsoft Teams", + args: { name: "enable-calling", suggestions: ["false", "true"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Microsoft Teams Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get details of the Microsoft Teams Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--with-secrets", + description: "Show secrets in response for the channel", + args: { name: "with-secrets", suggestions: ["false", "true"] }, + }, + ], + }, + ], + }, + { + name: "skype", + description: "Manage the Skype Channel on a bot", + subcommands: [ + { + name: "create", + description: "Create the Skype Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add-disabled", + description: "Add the channel in a disabled state", + args: { name: "add-disabled", suggestions: ["false", "true"] }, + }, + { + name: "--calling-web-hook", + description: "The calling web hook to use on Skype", + args: { name: "calling-web-hook" }, + }, + { + name: "--enable-calling", + description: "Enable calling on Skype", + args: { name: "enable-calling", suggestions: ["false", "true"] }, + }, + { + name: "--enable-groups", + description: "Enable groups on Skype", + args: { name: "enable-groups", suggestions: ["false", "true"] }, + }, + { + name: "--enable-media-cards", + description: "Enable media cards on Skype", + args: { + name: "enable-media-cards", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-messaging", + description: "Enable messaging on Skype", + args: { + name: "enable-messaging", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-screen-sharing", + description: "Enable screen sharing on Skype", + args: { + name: "enable-screen-sharing", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-video", + description: "Enable video on Skype", + args: { name: "enable-video", suggestions: ["false", "true"] }, + }, + { + name: "--groups-mode", + description: "Select groups mode on Skype", + args: { name: "groups-mode" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Skype Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get details of the Skype Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--with-secrets", + description: "Show secrets in response for the channel", + args: { name: "with-secrets", suggestions: ["false", "true"] }, + }, + ], + }, + ], + }, + { + name: "slack", + description: "Manage the Slack Channel on a bot", + subcommands: [ + { + name: "create", + description: "Create the Slack Channel on a bot", + options: [ + { + name: "--client-id", + description: "The client ID from Slack", + args: { name: "client-id" }, + isRequired: true, + }, + { + name: "--client-secret", + description: "The client secret from Slack", + args: { name: "client-secret" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--verification-token", + description: "The verification token from Slack", + args: { name: "verification-token" }, + isRequired: true, + }, + { + name: "--add-disabled", + description: "Add the channel in a disabled state", + args: { name: "add-disabled", suggestions: ["false", "true"] }, + }, + { + name: "--landing-page-url", + description: "The landing page url to redirect to after login", + args: { name: "landing-page-url" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Slack Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get details of the Slack Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--with-secrets", + description: "Show secrets in response for the channel", + args: { name: "with-secrets", suggestions: ["false", "true"] }, + }, + ], + }, + ], + }, + { + name: "sms", + description: "Manage the SMS Channel on a bot", + subcommands: [ + { + name: "create", + description: "Create the SMS Channel on a bot", + options: [ + { + name: "--account-sid", + description: "The account SID for the Twilio account", + args: { name: "account-sid" }, + isRequired: true, + }, + { + name: "--auth-token", + description: "The token token for the Twilio account", + args: { name: "auth-token" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--phone", + description: "The phone number for the Twilio account", + args: { name: "phone" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add-disabled", + description: "Add the channel in a disabled state", + args: { name: "add-disabled", suggestions: ["false", "true"] }, + }, + { + name: "--is-validated", + description: + "Whether or not the Twilio account has been validated for use with the bot", + args: { name: "is-validated", suggestions: ["false", "true"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + ], + }, + { + name: "delete", + description: "Delete the SMS Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get details of the SMS Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--with-secrets", + description: "Show secrets in response for the channel", + args: { name: "with-secrets", suggestions: ["false", "true"] }, + }, + ], + }, + ], + }, + { + name: "telegram", + description: "Manage the Telegram Channel on a bot", + subcommands: [ + { + name: "create", + description: "Create the Telegram Channel on a bot", + options: [ + { + name: "--access-token", + description: "The access token for the Telegram account", + args: { name: "access-token" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add-disabled", + description: "Add the channel in a disabled state", + args: { name: "add-disabled", suggestions: ["false", "true"] }, + }, + { + name: "--is-validated", + description: + "Whether or not the Telegram account has been validated for use with the bot", + args: { name: "is-validated", suggestions: ["false", "true"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Telegram Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get details of the Telegram Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--with-secrets", + description: "Show secrets in response for the channel", + args: { name: "with-secrets", suggestions: ["false", "true"] }, + }, + ], + }, + ], + }, + { + name: "webchat", + description: "Manage the Webchat Channel on a bot", + subcommands: [ + { + name: "show", + description: "Get details of the Webchat Channel on a bot", + options: [ + { + name: ["--name", "-n"], + description: + "The resource name of the bot. Bot name must be between 4 and 42 characters in length. Bot name can only have the following characters -, a - z, A - Z, 0 - 9, and _", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--with-secrets", + description: "Show secrets in response for the channel", + args: { name: "with-secrets", suggestions: ["false", "true"] }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/cache.ts b/src/az/2.53.0/cache.ts new file mode 100644 index 000000000000..971779fbeb59 --- /dev/null +++ b/src/az/2.53.0/cache.ts @@ -0,0 +1,67 @@ +const completion: Fig.Spec = { + name: "cache", + description: + "Commands to manage CLI objects cached using the --defer argument", + subcommands: [ + { + name: "delete", + description: "Delete an object from the cache", + options: [ + { + name: ["--name", "-n"], + description: "The resource name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--resource-type", "-t"], + description: "The resource type", + args: { name: "resource-type" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List the contents of the object cache", + }, + { + name: "purge", + description: "Clear the entire CLI object cache", + }, + { + name: "show", + description: "Show the contents of a specific object in the cache", + options: [ + { + name: ["--name", "-n"], + description: "The resource name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--resource-type", "-t"], + description: "The resource type", + args: { name: "resource-type" }, + isRequired: true, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/capacity.ts b/src/az/2.53.0/capacity.ts new file mode 100644 index 000000000000..9b3fd8f02b46 --- /dev/null +++ b/src/az/2.53.0/capacity.ts @@ -0,0 +1,391 @@ +const completion: Fig.Spec = { + name: "capacity", + description: "Manage capacity", + subcommands: [ + { + name: "reservation", + description: "Manage capacity reservation", + subcommands: [ + { + name: "create", + description: "Create capacity reservation", + options: [ + { + name: ["--capacity-reservation-group", "-c"], + description: "The name of the capacity reservation group", + args: { name: "capacity-reservation-group" }, + isRequired: true, + }, + { + name: ["--capacity-reservation-name", "-n"], + description: "The name of the capacity reservation", + args: { name: "capacity-reservation-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--sku", "-s"], + description: + 'The SKU of the resource for which capacity needs be reserved. Currently VM Skus with the capability called "CapacityReservationSupported" set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values', + args: { name: "sku" }, + isRequired: true, + }, + { + name: "--capacity", + description: + "Specify the number of virtual machines in the scale set", + args: { name: "capacity" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--zone", "-z"], + description: + "Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone", + args: { name: "zone", suggestions: ["1", "2", "3"] }, + }, + ], + }, + { + name: "delete", + description: + "Delete operation to delete a capacity reservation. This operation is allowed only when all the associated resources are disassociated from the capacity reservation. Please refer to https://aka.ms/CapacityReservation for more details", + options: [ + { + name: [ + "--capacity-reservation-group-name", + "--capacity-reservation-group", + "-c", + ], + description: "The name of the capacity reservation group", + args: { name: "capacity-reservation-group-name" }, + }, + { + name: ["--capacity-reservation-name", "--name", "-n"], + description: "The name of the capacity reservation", + args: { name: "capacity-reservation-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all of the capacity reservations in the specified capacity reservation group. Use the nextLink property in the response to get the next page of capacity reservations", + options: [ + { + name: [ + "--capacity-reservation-group-name", + "--capacity-reservation-group", + "-c", + ], + description: "The name of the capacity reservation group", + args: { name: "capacity-reservation-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show capacity reservation", + options: [ + { + name: ["--capacity-reservation-group", "-c"], + description: "The name of the capacity reservation group", + args: { name: "capacity-reservation-group" }, + isRequired: true, + }, + { + name: ["--capacity-reservation-name", "-n"], + description: "The name of the capacity reservation", + args: { name: "capacity-reservation-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--instance-view", "-i"], + description: + "Retrieve a snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations", + args: { name: "instance-view" }, + }, + ], + }, + { + name: "update", + description: "Update capacity reservation", + options: [ + { + name: ["--capacity-reservation-group", "-c"], + description: "The name of the capacity reservation group", + args: { name: "capacity-reservation-group" }, + isRequired: true, + }, + { + name: ["--capacity-reservation-name", "-n"], + description: "The name of the capacity reservation", + args: { name: "capacity-reservation-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--capacity", + description: + "Specify the number of virtual machines in the scale set", + args: { name: "capacity" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "group", + description: "Manage capacity reservation group", + subcommands: [ + { + name: "create", + description: "Create capacity reservation group", + options: [ + { + name: ["--capacity-reservation-group", "-n"], + description: "The name of the capacity reservation group", + args: { name: "capacity-reservation-group" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--zones", "-z"], + description: + "Availability Zones to use for this capacity reservation group. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones", + args: { name: "zones", suggestions: ["1", "2", "3"] }, + }, + ], + }, + { + name: "delete", + description: + "Delete operation to delete a capacity reservation group. This operation is allowed only if all the associated resources are disassociated from the reservation group and all capacity reservations under the reservation group have also been deleted. Please refer to https://aka.ms/CapacityReservation for more details", + options: [ + { + name: [ + "--capacity-reservation-group-name", + "--capacity-reservation-group", + "-n", + ], + description: "The name of the capacity reservation group", + args: { name: "capacity-reservation-group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the capacity reservation groups", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-instance", + description: + "Retrieve the Virtual Machine Instance which are associated to capacity reservation group in the response", + args: { name: "vm-instance" }, + }, + { + name: "--vmss-instance", + description: + "Retrieve the ScaleSet VM Instance which are associated to capacity reservation group in the response", + args: { name: "vmss-instance" }, + }, + ], + }, + { + name: "show", + description: "Show capacity reservation group", + options: [ + { + name: ["--capacity-reservation-group", "-n"], + description: "The name of the capacity reservation group", + args: { name: "capacity-reservation-group" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--instance-view", "-i"], + description: + "Retrieve the list of instance views of the capacity reservations under the capacity reservation group which is a snapshot of the runtime properties of a capacity reservation that is managed by the platform and can change outside of control plane operations", + args: { name: "instance-view" }, + }, + ], + }, + { + name: "update", + description: "Update capacity reservation group", + options: [ + { + name: ["--capacity-reservation-group", "-n"], + description: "The name of the capacity reservation group", + args: { name: "capacity-reservation-group" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/cdn.ts b/src/az/2.53.0/cdn.ts new file mode 100644 index 000000000000..dd0e867f634d --- /dev/null +++ b/src/az/2.53.0/cdn.ts @@ -0,0 +1,3445 @@ +const completion: Fig.Spec = { + name: "cdn", + description: "Manage Azure Content Delivery Networks (CDNs)", + subcommands: [ + { + name: "custom-domain", + description: + "Manage Azure CDN Custom Domains to provide custom host names for endpoints", + subcommands: [ + { + name: "create", + description: + "Create a new custom domain to provide a hostname for a CDN endpoint", + options: [ + { + name: "--endpoint-name", + description: + "Name of the endpoint under the profile which is unique globally", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--hostname", + description: + "The host name of the custom domain. Must be a domain name", + args: { name: "hostname" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Resource name of the custom domain", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the custom domain of a CDN", + options: [ + { + name: "--endpoint-name", + description: + "Name of the endpoint under the profile which is unique globally", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Resource name of the custom domain", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "disable-https", + description: "Disable https delivery of the custom domain", + options: [ + { + name: "--endpoint-name", + description: + "Name of the endpoint under the profile which is unique globally", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Resource name of the custom domain", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "enable-https", + description: + 'Enable HTTPS for a custom domain. The resource name of the custom domain could be obtained using "az cdn custom-domain list"', + options: [ + { + name: "--endpoint-name", + description: "Name of the parent endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Resource name of the custom domain", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: "Name of the parent profile", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--min-tls-version", + description: + "The minimum TLS version required for the custom domain", + args: { + name: "min-tls-version", + suggestions: ["1.0", "1.2", "none"], + }, + }, + { + name: "--user-cert-group-name", + description: "The resource group of the KeyVault certificate", + args: { name: "user-cert-group-name" }, + }, + { + name: "--user-cert-protocol-type", + description: "The protocol type of the certificate", + args: { + name: "user-cert-protocol-type", + suggestions: ["ip", "sni"], + }, + }, + { + name: "--user-cert-secret-name", + description: "The secret name of the KeyVault certificate", + args: { name: "user-cert-secret-name" }, + }, + { + name: "--user-cert-secret-version", + description: + 'The secret version of the KeyVault certificate, If not specified, the "Latest" version will always been used and the deployed certificate will be automatically rotated to the latest version when a newer version of the certificate is available', + args: { name: "user-cert-secret-version" }, + }, + { + name: "--user-cert-subscription-id", + description: "The subscription id of the KeyVault certificate", + args: { name: "user-cert-subscription-id" }, + }, + { + name: "--user-cert-vault-name", + description: "The vault name of the KeyVault certificate", + args: { name: "user-cert-vault-name" }, + }, + ], + }, + { + name: "list", + description: + "Lists all of the existing custom domains within an endpoint", + options: [ + { + name: "--endpoint-name", + description: + "Name of the endpoint under the profile which is unique globally", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details for the custom domain of a CDN", + options: [ + { + name: "--endpoint-name", + description: + "Name of the endpoint under the profile which is unique globally", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Resource name of the custom domain", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "edge-node", + description: "View all available CDN edge nodes", + subcommands: [ + { + name: "list", + description: + "Edgenodes are the global Point of Presence (POP) locations used to deliver CDN content to end users", + }, + ], + }, + { + name: "endpoint", + description: "Manage CDN endpoints", + subcommands: [ + { + name: "create", + description: "Create a named endpoint to connect to a CDN", + options: [ + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--origin", + description: + "Endpoint origin specified by the following space-delimited 6 tuple: www.example.com http_port https_port private_link_resource_id private_link_location private_link_approval_message. The HTTP and HTTPS ports and the private link resource ID and location are optional. The HTTP and HTTPS ports default to 80 and 443, respectively. Private link fields are only valid for the sku Standard_Microsoft, and private_link_location is required if private_link_resource_id is set", + args: { name: "origin" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--content-types-to-compress", + description: + "List of content types on which compression applies. The value should be a valid MIME type", + args: { name: "content-types-to-compress" }, + }, + { + name: "--enable-compression", + description: + "If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB", + args: { + name: "enable-compression", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-http", + description: + "Indicates whether HTTP traffic is not allowed on the endpoint. Default is to allow HTTP traffic", + args: { name: "no-http", suggestions: ["false", "true"] }, + }, + { + name: "--no-https", + description: + "Indicates whether HTTPS traffic is not allowed on the endpoint. Default is to allow HTTPS traffic", + args: { name: "no-https", suggestions: ["false", "true"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--origin-host-header", + description: + "The Host header to send for requests to this origin. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default", + args: { name: "origin-host-header" }, + }, + { + name: "--origin-path", + description: + "A directory path on the origin that Azure CDN can use to retrieve content from", + args: { name: "origin-path" }, + }, + { + name: "--query-string-caching", + description: + "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL", + args: { + name: "query-string-caching", + suggestions: [ + "BypassCaching", + "IgnoreQueryString", + "NotSet", + "UseQueryString", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a CDN endpoint", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List available endpoints for a CDN", + options: [ + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "load", + description: "Pre-load content for a CDN endpoint", + options: [ + { + name: "--content-paths", + description: + "Space-separated values. The path to the content to be loaded. Path should be a relative file URL of the origin", + args: { name: "content-paths" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "purge", + description: "Purge pre-loaded content for a CDN endpoint", + options: [ + { + name: "--content-paths", + description: + "Space-separated values. The path to the content to be purged. Can describe a file path or a wildcard directory", + args: { name: "content-paths" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Gets an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a CDN endpoint", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop a CDN endpoint", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a CDN endpoint to manage how content is delivered", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--content-types-to-compress", + description: + "List of content types on which compression applies. The value should be a valid MIME type", + args: { name: "content-types-to-compress" }, + }, + { + name: "--default-origin-group", + description: + "The origin group to use for origins not explicitly included in an origin group. Can be specified as a resource ID or the name of an origin group of this endpoint", + args: { name: "default-origin-group" }, + }, + { + name: "--enable-compression", + description: + "If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB", + args: { + name: "enable-compression", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--no-http", + description: + "Indicates whether HTTP traffic is not allowed on the endpoint. Default is to allow HTTP traffic", + args: { name: "no-http", suggestions: ["false", "true"] }, + }, + { + name: "--no-https", + description: + "Indicates whether HTTPS traffic is not allowed on the endpoint. Default is to allow HTTPS traffic", + args: { name: "no-https", suggestions: ["false", "true"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--origin-host-header", + description: + "The Host header to send for requests to this origin. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default", + args: { name: "origin-host-header" }, + }, + { + name: "--origin-path", + description: + "A directory path on the origin that Azure CDN can use to retrieve content from", + args: { name: "origin-path" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: "--query-string-caching", + description: + "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL", + args: { + name: "query-string-caching", + suggestions: [ + "BypassCaching", + "IgnoreQueryString", + "NotSet", + "UseQueryString", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "validate-custom-domain", + description: + "Validates the custom domain mapping to ensure it maps to the correct CDN endpoint in DNS", + options: [ + { + name: "--host-name", + description: + "The host name of the custom domain. Must be a domain name", + args: { name: "host-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "rule", + description: "Manage delivery rules for an endpoint", + subcommands: [ + { + name: "add", + description: "Add a delivery rule to a CDN endpoint", + options: [ + { + name: "--action-name", + description: + "The name of the action for the delivery rule: https://docs.microsoft.com/en-us/azure/cdn/cdn-standard-rules-engine-actions", + args: { + name: "action-name", + suggestions: [ + "CacheExpiration", + "CacheKeyQueryString", + "ModifyRequestHeader", + "ModifyResponseHeader", + "OriginGroupOverride", + "UrlRedirect", + "UrlRewrite", + ], + }, + isRequired: true, + }, + { + name: "--order", + description: + "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lower order will be applied before one with a higher order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied", + args: { name: "order" }, + isRequired: true, + }, + { + name: "--cache-behavior", + description: "Caching behavior for the requests", + args: { + name: "cache-behavior", + suggestions: ["BypassCache", "Override", "SetIfMissing"], + }, + }, + { + name: "--cache-duration", + description: + "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + args: { name: "cache-duration" }, + }, + { + name: "--custom-fragment", + description: "Fragment to add to the redirect URL", + args: { name: "custom-fragment" }, + }, + { + name: "--custom-hostname", + description: + "Host to redirect. Leave empty to use the incoming host as the destination host", + args: { name: "custom-hostname" }, + }, + { + name: "--custom-path", + description: + "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path", + args: { name: "custom-path" }, + }, + { + name: "--custom-querystring", + description: + "The set of query strings to be placed in the redirect URL. leave empty to preserve the incoming query string", + args: { name: "custom-querystring" }, + }, + { + name: "--destination", + description: "The destination path to be used in the rewrite", + args: { name: "destination" }, + }, + { + name: "--header-action", + description: "Header action for the requests", + args: { + name: "header-action", + suggestions: ["Append", "Delete", "Overwrite"], + }, + }, + { + name: "--header-name", + description: "Name of the header to modify", + args: { name: "header-name" }, + }, + { + name: "--header-value", + description: "Value of the header", + args: { name: "header-value" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--match-values", + description: + 'Match values of the match condition. e.g, space separated values "GET" "HTTP"', + args: { name: "match-values" }, + }, + { + name: "--match-variable", + description: + "Name of the match condition: https://docs.microsoft.com/en-us/azure/cdn/cdn-standard-rules-engine-match-conditions", + args: { + name: "match-variable", + suggestions: [ + "ClientPort", + "Cookies", + "HostName", + "HttpVersion", + "IsDevice", + "PostArgs", + "QueryString", + "RemoteAddress", + "RequestBody", + "RequestHeader", + "RequestMethod", + "RequestScheme", + "RequestUri", + "ServerPort", + "SocketAddr", + "SslProtocol", + "UrlFileExtension", + "UrlFileName", + "UrlPath", + ], + }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--negate-condition", + description: "If true, negates the condition", + args: { + name: "negate-condition", + suggestions: ["false", "true"], + }, + }, + { + name: "--operator", + description: "Operator of the match condition", + args: { name: "operator" }, + }, + { + name: "--origin-group", + description: + "Name or ID of the OriginGroup that would override the default OriginGroup", + args: { name: "origin-group" }, + }, + { + name: "--preserve-unmatched-path", + description: + "If True, the remaining path after the source pattern will be appended to the new destination path", + args: { + name: "preserve-unmatched-path", + suggestions: ["false", "true"], + }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: "--query-parameters", + description: + "Query parameters to include or exclude (comma separated)", + args: { name: "query-parameters" }, + }, + { + name: "--query-string-behavior", + description: "Query string behavior for the requests", + args: { + name: "query-string-behavior", + suggestions: [ + "Exclude", + "ExcludeAll", + "Include", + "IncludeAll", + ], + }, + }, + { + name: "--redirect-protocol", + description: "Protocol to use for the redirect", + args: { + name: "redirect-protocol", + suggestions: ["Http", "Https", "MatchRequest"], + }, + }, + { + name: "--redirect-type", + description: + "The redirect type the rule will use when redirecting traffic", + args: { + name: "redirect-type", + suggestions: [ + "Found", + "Moved", + "PermanentRedirect", + "TemporaryRedirect", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "Name of the rule, only required for Microsoft SKU", + args: { name: "rule-name" }, + }, + { + name: "--selector", + description: "Selector of the match condition", + args: { name: "selector" }, + }, + { + name: "--source-pattern", + description: + "A request URI pattern that identifies the type of requests that may be rewritten", + args: { name: "source-pattern" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--transform", + description: "Transform to apply before matching", + args: { + name: "transform", + suggestions: ["Lowercase", "Uppercase"], + }, + }, + ], + }, + { + name: "remove", + description: "Remove a delivery rule from an endpoint", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--order", + description: + "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lower order will be applied before one with a higher order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied", + args: { name: "order" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: "Name of the rule", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show delivery rules associate with the endpoint", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "action", + description: "Manage delivery rule actions for an endpoint", + subcommands: [ + { + name: "add", + description: "Add an action to a delivery rule", + options: [ + { + name: "--action-name", + description: + "The name of the action for the delivery rule: https://docs.microsoft.com/en-us/azure/cdn/cdn-standard-rules-engine-actions", + args: { + name: "action-name", + suggestions: [ + "CacheExpiration", + "CacheKeyQueryString", + "ModifyRequestHeader", + "ModifyResponseHeader", + "OriginGroupOverride", + "UrlRedirect", + "UrlRewrite", + ], + }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--cache-behavior", + description: "Caching behavior for the requests", + args: { + name: "cache-behavior", + suggestions: [ + "BypassCache", + "Override", + "SetIfMissing", + ], + }, + }, + { + name: "--cache-duration", + description: + "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + args: { name: "cache-duration" }, + }, + { + name: "--custom-fragment", + description: "Fragment to add to the redirect URL", + args: { name: "custom-fragment" }, + }, + { + name: "--custom-hostname", + description: + "Host to redirect. Leave empty to use the incoming host as the destination host", + args: { name: "custom-hostname" }, + }, + { + name: "--custom-path", + description: + "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path", + args: { name: "custom-path" }, + }, + { + name: "--custom-querystring", + description: + "The set of query strings to be placed in the redirect URL. leave empty to preserve the incoming query string", + args: { name: "custom-querystring" }, + }, + { + name: "--destination", + description: + "The destination path to be used in the rewrite", + args: { name: "destination" }, + }, + { + name: "--header-action", + description: "Header action for the requests", + args: { + name: "header-action", + suggestions: ["Append", "Delete", "Overwrite"], + }, + }, + { + name: "--header-name", + description: "Name of the header to modify", + args: { name: "header-name" }, + }, + { + name: "--header-value", + description: "Value of the header", + args: { name: "header-value" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--origin-group", + description: + "Name or ID of the OriginGroup that would override the default OriginGroup", + args: { name: "origin-group" }, + }, + { + name: "--preserve-unmatched-path", + description: + "If True, the remaining path after the source pattern will be appended to the new destination path", + args: { + name: "preserve-unmatched-path", + suggestions: ["false", "true"], + }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: "--query-parameters", + description: + "Query parameters to include or exclude (comma separated)", + args: { name: "query-parameters" }, + }, + { + name: "--query-string-behavior", + description: "Query string behavior for the requests", + args: { + name: "query-string-behavior", + suggestions: [ + "Exclude", + "ExcludeAll", + "Include", + "IncludeAll", + ], + }, + }, + { + name: "--redirect-protocol", + description: "Protocol to use for the redirect", + args: { + name: "redirect-protocol", + suggestions: ["Http", "Https", "MatchRequest"], + }, + }, + { + name: "--redirect-type", + description: + "The redirect type the rule will use when redirecting traffic", + args: { + name: "redirect-type", + suggestions: [ + "Found", + "Moved", + "PermanentRedirect", + "TemporaryRedirect", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--source-pattern", + description: + "A request URI pattern that identifies the type of requests that may be rewritten", + args: { name: "source-pattern" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: "Remove an action from a delivery rule", + options: [ + { + name: "--index", + description: "The index of the condition/action", + args: { name: "index" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show delivery rules asscociate with the endpoint", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "condition", + description: "Manage delivery rule conditions for an endpoint", + subcommands: [ + { + name: "add", + description: "Add a condition to a delivery rule", + options: [ + { + name: "--match-variable", + description: + "Name of the match condition: https://docs.microsoft.com/en-us/azure/cdn/cdn-standard-rules-engine-match-conditions", + args: { + name: "match-variable", + suggestions: [ + "ClientPort", + "Cookies", + "HostName", + "HttpVersion", + "IsDevice", + "PostArgs", + "QueryString", + "RemoteAddress", + "RequestBody", + "RequestHeader", + "RequestMethod", + "RequestScheme", + "RequestUri", + "ServerPort", + "SocketAddr", + "SslProtocol", + "UrlFileExtension", + "UrlFileName", + "UrlPath", + ], + }, + isRequired: true, + }, + { + name: "--operator", + description: "Operator of the match condition", + args: { name: "operator" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--match-values", + description: + 'Match values of the match condition. e.g, space separated values "GET" "HTTP"', + args: { name: "match-values" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--negate-condition", + description: "If true, negates the condition", + args: { + name: "negate-condition", + suggestions: ["false", "true"], + }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--selector", + description: "Selector of the match condition", + args: { name: "selector" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--transform", + description: "Transform to apply before matching", + args: { + name: "transform", + suggestions: ["Lowercase", "Uppercase"], + }, + }, + ], + }, + { + name: "remove", + description: "Remove a condition from a delivery rule", + options: [ + { + name: "--index", + description: "The index of the condition/action", + args: { name: "index" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show delivery rules associate with the endpoint", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the CDN endpoint", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "waf", + description: "Manage WAF properties of a CDN endpoint", + subcommands: [ + { + name: "policy", + description: "Apply a CDN WAF policy to a CDN endpoint", + subcommands: [ + { + name: "remove", + description: "Remove a CDN WAF policy from a CDN endpoint", + options: [ + { + name: "--endpoint-name", + description: "Name of the CDN endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "set", + description: + "Set the CDN WAF policy applied to a CDN endpoint", + options: [ + { + name: "--endpoint-name", + description: "Name of the CDN endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--waf-policy-id", + description: + "The Resource ID of the CDN WAF policy to apply to this endpoint", + args: { name: "waf-policy-id" }, + }, + { + name: "--waf-policy-name", + description: + "The name of the CDN WAF policy to apply to this endpoint. Ignored if --waf-policy-id is set", + args: { name: "waf-policy-name" }, + }, + { + name: "--waf-policy-resource-group-name", + description: + "The resource group of the CDN WAF policy to apply to this endpoint. Ignored if --waf-policy-id is set", + args: { name: "waf-policy-resource-group-name" }, + }, + { + name: "--waf-policy-subscription-id", + description: + "The Resource ID of the CDN WAF policy to apply to this endpoint. ignored if --waf-policy-id is set", + args: { name: "waf-policy-subscription-id" }, + }, + ], + }, + { + name: "show", + description: + "Show which CDN WAF policy is applied to a CDN endpoint", + options: [ + { + name: "--endpoint-name", + description: "Name of the CDN endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "name-exists", + description: + "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN endpoint", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The resource name to validate", + args: { name: "name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "usage", + description: + "Check the quota and actual usage of the CDN profiles under the given subscription", + }, + { + name: "origin", + description: "List or show existing origins related to CDN endpoints", + subcommands: [ + { + name: "create", + description: "Create an origin", + options: [ + { + name: "--endpoint-name", + description: "Name of the CDN endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--host-name", + description: + "The host name where requests to the origin will be sent", + args: { name: "host-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the origin", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--disabled", + description: "Don't use the origin for load balancing", + }, + { + name: "--http-port", + description: "The port used for http requests to the origin", + args: { name: "http-port" }, + }, + { + name: "--https-port", + description: "The port used for https requests to the origin", + args: { name: "https-port" }, + }, + { + name: "--origin-host-header", + description: + "The Host header to send for requests to this origin", + args: { name: "origin-host-header" }, + }, + { + name: "--priority", + description: + "The load balancing priority. Higher priorities will not be used for load balancing if any lower priority origin is healthy. Must be between 1 and 5", + args: { name: "priority" }, + }, + { + name: ["--private-link-approval-message", "-m"], + description: + "The message that is shown to the approver of the private link request", + args: { name: "private-link-approval-message" }, + }, + { + name: ["--private-link-location", "-l"], + description: + "The location of the private link that the origin will be connected to", + args: { name: "private-link-location" }, + }, + { + name: ["--private-link-resource-id", "-p"], + description: + "The resource id of the private link that the origin will be connected to", + args: { name: "private-link-resource-id" }, + }, + { + name: "--weight", + description: + "The weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + args: { name: "weight" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an existing origin within an endpoint", + options: [ + { + name: "--endpoint-name", + description: "Name of the CDN endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the origin", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all of the existing origins within an endpoint", + options: [ + { + name: "--endpoint-name", + description: "Name of the CDN endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets an existing origin within an endpoint", + options: [ + { + name: "--endpoint-name", + description: "Name of the CDN endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the origin", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an origin", + options: [ + { + name: "--disabled", + description: "Don't use the origin for load balancing", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--endpoint-name", + description: "Name of the CDN endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--host-name", + description: + "The host name where requests to the origin will be sent", + args: { name: "host-name" }, + }, + { + name: "--http-port", + description: "The port used for http requests to the origin", + args: { name: "http-port" }, + }, + { + name: "--https-port", + description: "The port used for https requests to the origin", + args: { name: "https-port" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the origin", + args: { name: "name" }, + }, + { + name: "--origin-host-header", + description: + "The Host header to send for requests to this origin", + args: { name: "origin-host-header" }, + }, + { + name: "--priority", + description: + "The load balancing priority. Higher priorities will not be used for load balancing if any lower priority origin is healthy. Must be between 1 and 5", + args: { name: "priority" }, + }, + { + name: ["--private-link-approval-message", "-m"], + description: + "The message that is shown to the approver of the private link request", + args: { name: "private-link-approval-message" }, + }, + { + name: ["--private-link-location", "-l"], + description: + "The location of the private link that the origin will be connected to", + args: { name: "private-link-location" }, + }, + { + name: ["--private-link-resource-id", "-p"], + description: + "The resource id of the private link that the origin will be connected to", + args: { name: "private-link-resource-id" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--weight", + description: + "The weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + args: { name: "weight" }, + }, + ], + }, + ], + }, + { + name: "origin-group", + description: "Manage origin groups of an endpoint", + subcommands: [ + { + name: "create", + description: "Create an origin group", + options: [ + { + name: "--endpoint-name", + description: "Name of the CDN endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the origin group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--origins", + description: + "The origins load balanced by this origin group, as a comma-separated list of origin names or origin resource IDs", + args: { name: "origins" }, + }, + { + name: "--probe-interval", + description: "The frequency to perform health probes in seconds", + args: { name: "probe-interval" }, + }, + { + name: "--probe-method", + description: "The request method to use for health probes", + args: { name: "probe-method", suggestions: ["GET", "HEAD"] }, + }, + { + name: "--probe-path", + description: + "The path relative to the origin that is used to determine the health of the origin", + args: { name: "probe-path" }, + }, + { + name: "--probe-protocol", + description: "The protocol to use for health probes", + args: { name: "probe-protocol", suggestions: ["HTTP", "HTTPS"] }, + }, + ], + }, + { + name: "delete", + description: "Deletes an existing origin group within an endpoint", + options: [ + { + name: "--endpoint-name", + description: "Name of the CDN endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the origin group", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all of the existing origin groups within an endpoint", + options: [ + { + name: "--endpoint-name", + description: "Name of the CDN endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets an existing origin group within an endpoint", + options: [ + { + name: "--endpoint-name", + description: "Name of the CDN endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the origin group", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an origin group", + options: [ + { + name: "--endpoint-name", + description: "Name of the CDN endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the origin group", + args: { name: "name" }, + }, + { + name: "--origins", + description: + "The origins load balanced by this origin group, as a comma-separated list of origin names from the parent endpoint origin IDs", + args: { name: "origins" }, + }, + { + name: "--probe-interval", + description: "The frequency to perform health probes in seconds", + args: { name: "probe-interval" }, + }, + { + name: "--probe-method", + description: "The request method to use for health probes", + args: { name: "probe-method", suggestions: ["GET", "HEAD"] }, + }, + { + name: "--probe-path", + description: + "The path relative to the origin that is used to determine the health of the origin", + args: { name: "probe-path" }, + }, + { + name: "--probe-protocol", + description: "The protocol to use for health probes", + args: { name: "probe-protocol", suggestions: ["HTTP", "HTTPS"] }, + }, + { + name: "--profile-name", + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "profile", + description: "Manage CDN profiles to define an edge network", + subcommands: [ + { + name: "create", + description: "Create a new CDN profile", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--sku", + description: + "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile. Defaults to Standard_Akamai", + args: { + name: "sku", + suggestions: [ + "Custom_Verizon", + "Premium_Verizon", + "StandardPlus_955BandWidth_ChinaCdn", + "StandardPlus_AvgBandWidth_ChinaCdn", + "StandardPlus_ChinaCdn", + "Standard_955BandWidth_ChinaCdn", + "Standard_Akamai", + "Standard_AvgBandWidth_ChinaCdn", + "Standard_ChinaCdn", + "Standard_Microsoft", + "Standard_Verizon", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a CDN profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List CDN profiles", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show CDN profile details", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a CDN profile", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "usage", + description: + "Checks the quota and actual usage of endpoints under the given Azure Front Door Standard or Azure Front Door Premium or CDN profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the CDN profile which is unique within the resource group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "waf", + description: + "Manage CDN WAF.\n\n\t\tWAF on Azure CDN from Microsoft is currently in public preview and is provided with a preview service level agreement. Certain features may not be supported or may have constrained capabilities. See the Supplemental Terms of Use for Microsoft Azure Previews (https://azure.microsoft.com/en-us/support/legal/preview-supplemental-terms/) for details", + subcommands: [ + { + name: "policy", + description: "Manage CDN WAF policies", + subcommands: [ + { + name: "delete", + description: "Delete a CDN WAF policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the CDN WAF policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List CDN WAF policies", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Create a new CDN WAF policy", + options: [ + { + name: "--block-response-body", + description: + "The response body to send when a request is blocked, provided as a Base64 encoded string", + args: { name: "block-response-body" }, + }, + { + name: "--block-response-status-code", + description: + "The response status code to send when a request is blocked", + args: { name: "block-response-status-code" }, + }, + { + name: "--disabled", + description: "Disable the policy", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mode", + description: + "The operation mode of the policy. Valid options are 'Detection' and 'Prevention'", + args: { name: "mode" }, + }, + { + name: ["--name", "-n"], + description: "The name of the CDN WAF policy", + args: { name: "name" }, + }, + { + name: "--redirect-url", + description: "The URL to use when redirecting a request", + args: { name: "redirect-url" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: + "The pricing tier (defines a CDN provider, feature list and rate) of the CDN WAF policy", + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "show", + description: "Show details of a CDN WAF policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the CDN WAF policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "custom-rule", + description: "Manage custom rules of a CDN WAF policy", + subcommands: [ + { + name: "delete", + description: "Remove a custom rule from a CDN WAF policy", + options: [ + { + name: ["--name", "-n"], + description: "The name of the custom rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List custom rules of a CDN WAF policy", + options: [ + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Add a custom rule to a CDN WAF policy", + options: [ + { + name: "--action", + description: + "The action to take when the rule is matched", + args: { + name: "action", + suggestions: ["Allow", "Block", "Log", "Redirect"], + }, + isRequired: true, + }, + { + name: ["--match-condition", "-m"], + description: + "Conditions used to determine if the rule is matched for a request", + args: { name: "match-condition" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the custom rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--priority", + description: + "The priority of the custom rule as a non-negative integer", + args: { name: "priority" }, + isRequired: true, + }, + { + name: "--disabled", + description: "Disable the custom rule", + args: { name: "disabled" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show a custom rule of a CDN WAF policy", + options: [ + { + name: ["--name", "-n"], + description: "The name of the custom rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "managed-rule-set", + description: "Manage managed rule sets of a CDN WAF policy", + subcommands: [ + { + name: "add", + description: "Add a managed rule set to a CDN WAF policy", + options: [ + { + name: "--rule-set-type", + description: "The type of the managed rule set", + args: { name: "rule-set-type" }, + isRequired: true, + }, + { + name: "--rule-set-version", + description: "The version of the managed rule set", + args: { name: "rule-set-version" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List managed rule sets added to a CDN WAF policy", + options: [ + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-available", + description: "List available CDN WAF managed rule sets", + }, + { + name: "remove", + description: + "Remove a managed rule set from a CDN WAF policy", + options: [ + { + name: "--rule-set-type", + description: "The type of the managed rule set", + args: { name: "rule-set-type" }, + isRequired: true, + }, + { + name: "--rule-set-version", + description: "The version of the managed rule set", + args: { name: "rule-set-version" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show a managed rule of a CDN WAF policy", + options: [ + { + name: "--rule-set-type", + description: "The type of the managed rule set", + args: { name: "rule-set-type" }, + isRequired: true, + }, + { + name: "--rule-set-version", + description: "The version of the managed rule set", + args: { name: "rule-set-version" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "rule-group-override", + description: + "Manage rule group overrides of a managed rule on a CDN WAF policy", + subcommands: [ + { + name: "delete", + description: + "Remove a rule group override from a managed rule set on a CDN WAF policy", + options: [ + { + name: ["--name", "-n"], + description: "The name of the rule group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--rule-set-type", + description: "The type of the managed rule set", + args: { name: "rule-set-type" }, + isRequired: true, + }, + { + name: "--rule-set-version", + description: "The version of the managed rule set", + args: { name: "rule-set-version" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List rule group overrides of a managed rule on a CDN WAF policy", + options: [ + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-set-type", + description: "The type of the managed rule set", + args: { name: "rule-set-type" }, + isRequired: true, + }, + { + name: "--rule-set-version", + description: "The version of the managed rule set", + args: { name: "rule-set-version" }, + isRequired: true, + }, + ], + }, + { + name: "list-available", + description: + "List available CDN WAF managed rule groups of a managed rule set", + options: [ + { + name: "--rule-set-type", + description: "The type of the managed rule set", + args: { name: "rule-set-type" }, + isRequired: true, + }, + { + name: "--rule-set-version", + description: "The version of the managed rule set", + args: { name: "rule-set-version" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: + "Add or update a rule group override to a managed rule set on a CDN WAF policy", + options: [ + { + name: ["--name", "-n"], + description: "The name of the rule group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--rule-override", "-r"], + description: "Override a rule in the rule group", + args: { name: "rule-override" }, + isRequired: true, + }, + { + name: "--rule-set-type", + description: "The type of the managed rule set", + args: { name: "rule-set-type" }, + isRequired: true, + }, + { + name: "--rule-set-version", + description: "The version of the managed rule set", + args: { name: "rule-set-version" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show a rule group override of a managed rule on a CDN WAF policy", + options: [ + { + name: ["--name", "-n"], + description: "The name of the rule group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--rule-set-type", + description: "The type of the managed rule set", + args: { name: "rule-set-type" }, + isRequired: true, + }, + { + name: "--rule-set-version", + description: "The version of the managed rule set", + args: { name: "rule-set-version" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "rate-limit-rule", + description: "Manage rate limit rules of a CDN WAF policy", + subcommands: [ + { + name: "delete", + description: "Remove a rate limit rule from a CDN WAF policy", + options: [ + { + name: ["--name", "-n"], + description: "The name of the rate limit rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List rate limit rules of a CDN WAF policy", + options: [ + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Add a rate limit rule to a CDN WAF policy", + options: [ + { + name: "--action", + description: + "The action to take when the rule is matched", + args: { + name: "action", + suggestions: ["Allow", "Block", "Log", "Redirect"], + }, + isRequired: true, + }, + { + name: "--duration", + description: + "The duration of the rate limit in minutes. Valid values are 1 and 5", + args: { name: "duration" }, + isRequired: true, + }, + { + name: ["--match-condition", "-m"], + description: + "Conditions used to determine if the rule is matched for a request", + args: { name: "match-condition" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the rate limit rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--priority", + description: + "The priority of the rate limit rule as a non-negative integer", + args: { name: "priority" }, + isRequired: true, + }, + { + name: "--request-threshold", + description: + "The request threshold to trigger rate limiting", + args: { name: "request-threshold" }, + isRequired: true, + }, + { + name: "--disabled", + description: "Disable the rate limit rule", + args: { name: "disabled" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show a rate limit rule of a CDN WAF policy", + options: [ + { + name: ["--name", "-n"], + description: "The name of the rate limit rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the CDN WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/change-analysis.ts b/src/az/2.53.0/change-analysis.ts new file mode 100644 index 000000000000..95fd4bd18ceb --- /dev/null +++ b/src/az/2.53.0/change-analysis.ts @@ -0,0 +1,70 @@ +const completion: Fig.Spec = { + name: "change-analysis", + description: "List changes for resources", + subcommands: [ + { + name: "list", + description: + "List the changes of resources in the subscription within the specified time range. Customer data will always be masked", + options: [ + { + name: "--end-time", + description: "Specifies the end time of the changes request", + args: { name: "end-time" }, + isRequired: true, + }, + { + name: "--start-time", + description: "Specifies the start time of the changes request", + args: { name: "start-time" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-token", + description: + "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "list-by-resource", + description: + "List the changes of a resource within the specified time range. Customer data will be masked if the user doesn't have access", + options: [ + { + name: "--end-time", + description: "Specifies the end time of the changes request", + args: { name: "end-time" }, + isRequired: true, + }, + { + name: ["--resource", "-r"], + description: "The identifier of the resource", + args: { name: "resource" }, + isRequired: true, + }, + { + name: "--start-time", + description: "Specifies the start time of the changes request", + args: { name: "start-time" }, + isRequired: true, + }, + { + name: "--skip-token", + description: + "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/cli-translator.ts b/src/az/2.53.0/cli-translator.ts new file mode 100644 index 000000000000..17cef9e0a792 --- /dev/null +++ b/src/az/2.53.0/cli-translator.ts @@ -0,0 +1,47 @@ +const completion: Fig.Spec = { + name: "cli-translator", + description: "Translate ARM template or REST API to CLI scripts", + subcommands: [ + { + name: "arm", + description: + "Translate ARM template to CLI scripts(Currently only support Compute, Network and Storage)", + subcommands: [ + { + name: "translate", + description: + "Translate ARM template to CLI scripts(Currently only support Compute, Network and Storage)", + options: [ + { + name: "--parameters", + description: "The local path or url of parameters.json file", + args: { name: "parameters" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--template", + description: "The local path or url of template.json file", + args: { name: "template" }, + isRequired: true, + }, + { + name: "--target-subscription", + description: + "The target subscription id. If omit, the current subscription id will be used", + args: { name: "target-subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/cloud-service.ts b/src/az/2.53.0/cloud-service.ts new file mode 100644 index 000000000000..b16f1663aaf1 --- /dev/null +++ b/src/az/2.53.0/cloud-service.ts @@ -0,0 +1,988 @@ +const completion: Fig.Spec = { + name: "cloud-service", + description: "Manage cloud service (extended support)", + subcommands: [ + { + name: "create", + description: + "Create a cloud service (extended support). Please note some properties can be set only during cloud service creation", + options: [ + { + name: ["--cloud-service-name", "--name", "-n"], + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--configuration", + description: + "Specify the XML service configuration (.cscfg) for the cloud service. Expected value: xml-string/@xml-file", + args: { name: "configuration" }, + }, + { + name: "--configuration-url", + description: + "Specify a URL that refers to the location of the service configuration in the Blob service. The service package URL can be Shared Access Signature (SAS) URI from any storage account. This is a write-only property and is not returned in GET calls", + args: { name: "configuration-url" }, + }, + { + name: "--extensions", + description: + 'List of extensions for the cloud service. Expected value: json-string/@json-file. Example: [{"properties": {"type": "RDP", "autoUpgradeMinorVersion": false, "protectedSettings": "settings","publisher": "Microsoft.Windows.Azure.Extensions", "settings": "settings", "typeHandlerVersion": "1.2.1"}, "name": "RDPExtension"}]', + args: { name: "extensions" }, + }, + { name: "--id", description: "Resource Id", args: { name: "id" } }, + { + name: ["--load-balancer-configurations", "--lb"], + description: + "The list of load balancer configurations separated by space for the cloud service. The public IP is a mandatory field. Format: LBName:FrontendIPConfiguration:PublicIPAddress:Subnet:PrivateIP", + args: { name: "load-balancer-configurations" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--package-url", + description: + "Specify a URL that refers to the location of the service package in the Blob service. The service package URL can be Shared Access Signature (SAS) URI from any storage account. This is a write-only property and is not returned in GET calls", + args: { name: "package-url" }, + }, + { + name: "--roles", + description: + "List of roles separated by space for the cloud service. Format: RoleName:SkuName:SkuCapacity:SkuTier", + args: { name: "roles" }, + }, + { + name: "--secrets", + description: + "Specify certificates separated by space that should be installed onto the role instances. Format: KeyVaultName:CertificateUrl:CertificateUrl2:...:CertificateUrlN", + args: { name: "secrets" }, + }, + { + name: "--start-cloud-service", + description: + "Indicate whether to start the cloud service immediately after it is created. The default value is true. If false, the service model is still deployed, but the code is not run immediately. Instead, the service is PoweredOff until you call Start, at which time the service will be started. A deployed service still incurs charges, even if it is poweredoff", + args: { name: "start-cloud-service", suggestions: ["false", "true"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--upgrade-mode", + description: + "Update mode for the cloud service. Role instances are allocated to update domains when the service is deployed. Updates can be initiated manually in each update domain or initiated automatically in all update domains. Possible Values are Auto, Manual, Simultaneous. If not specified, the default value is Auto. If set to Manual, PUT UpdateDomain must be called to apply the update. If set to Auto, the update is automatically applied to each update domain in sequence", + args: { + name: "upgrade-mode", + suggestions: ["Auto", "Manual", "Simultaneous"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a cloud service", + options: [ + { + name: ["--cloud-service-name", "--name", "-n"], + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "delete-instance", + description: "Delete role instances in a cloud service", + options: [ + { + name: ["--cloud-service-name", "--name", "-n"], + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role-instances", + description: + "List of cloud service role instance names. Value of '*' will signify all role instances of the cloud service", + args: { name: "role-instances" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get a list of all cloud services under a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-all", + description: + "Get a list of all cloud services in the subscription, regardless of the associated resource group", + }, + { + name: "power-off", + description: + "Power off the cloud service. Note that resources are still attached and you are getting charged for the resources", + options: [ + { + name: ["--cloud-service-name", "--name", "-n"], + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "rebuild", + description: + "Rebuild Role Instances. Reinstall the operating system on instances of web roles or worker roles and initialize the storage resources that are used by them. If you do not want to initialize storage resources, you can use Reimage Role Instances", + options: [ + { + name: ["--cloud-service-name", "--name", "-n"], + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role-instances", + description: + "List of cloud service role instance names. Value of '*' will signify all role instances of the cloud service", + args: { name: "role-instances" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reimage", + description: + "Reimage asynchronous operation reinstalls the operating system on instances of web roles or worker roles", + options: [ + { + name: ["--cloud-service-name", "--name", "-n"], + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role-instances", + description: + "List of cloud service role instance names. Value of '*' will signify all role instances of the cloud service", + args: { name: "role-instances" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restart", + description: "Restart one or more role instances in a cloud service", + options: [ + { + name: ["--cloud-service-name", "--name", "-n"], + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role-instances", + description: + "List of cloud service role instance names. Value of '*' will signify all role instances of the cloud service", + args: { name: "role-instances" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Display information about a cloud service", + options: [ + { + name: ["--cloud-service-name", "--name", "-n"], + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-instance-view", + description: "Get the status of a cloud service", + options: [ + { + name: ["--cloud-service-name", "--name", "-n"], + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start the cloud service", + options: [ + { + name: ["--cloud-service-name", "--name", "-n"], + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a cloud service", + options: [ + { + name: ["--cloud-service-name", "--name", "-n"], + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the cloud-service is met", + options: [ + { + name: ["--cloud-service-name", "--name", "-n"], + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "role", + description: "Manage cloud service role with cloud service", + subcommands: [ + { + name: "list", + description: "Get a list of all roles in a cloud service", + options: [ + { + name: "--cloud-service-name", + description: "Cloud service name", + args: { name: "cloud-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a role from a cloud service", + options: [ + { + name: "--cloud-service-name", + description: "Cloud service name", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role-name", + description: "Name of the role", + args: { name: "role-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "role-instance", + description: "Manage cloud service role instance with cloud service", + subcommands: [ + { + name: "delete", + description: "Delete a role instance from a cloud service", + options: [ + { + name: "--cloud-service-name", + description: "Cloud service name", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role-instance-name", + description: "Name of the role instance", + args: { name: "role-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get the list of all role instances in a cloud service", + options: [ + { + name: "--cloud-service-name", + description: "Cloud service name", + args: { name: "cloud-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "rebuild", + description: + "The Rebuild Role Instance asynchronous operation reinstalls the operating system on instances of web roles or worker roles and initializes the storage resources that are used by them. If you do not want to initialize storage resources, you can use Reimage Role Instance", + options: [ + { + name: "--cloud-service-name", + description: "Cloud service name", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role-instance-name", + description: "Name of the role instance", + args: { name: "role-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reimage", + description: + "The Reimage Role Instance asynchronous operation reinstalls the operating system on instances of web roles or worker roles", + options: [ + { + name: "--cloud-service-name", + description: "Cloud service name", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role-instance-name", + description: "Name of the role instance", + args: { name: "role-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restart", + description: + "The Reboot Role Instance asynchronous operation requests a reboot of a role instance in the cloud service", + options: [ + { + name: "--cloud-service-name", + description: "Cloud service name", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role-instance-name", + description: "Name of the role instance", + args: { name: "role-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get a role instance from a cloud service", + options: [ + { + name: "--cloud-service-name", + description: "Cloud service name", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role-instance-name", + description: "Name of the role instance", + args: { name: "role-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-instance-view", + description: + "Retrieve information about the run-time state of a role instance in a cloud service", + options: [ + { + name: "--cloud-service-name", + description: "Cloud service name", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role-instance-name", + description: "Name of the role instance", + args: { name: "role-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-remote-desktop-file", + description: + "Get a remote desktop file for a role instance in a cloud service", + options: [ + { + name: "--cloud-service-name", + description: "Cloud service name", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role-instance-name", + description: "Name of the role instance", + args: { name: "role-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "update-domain", + description: "Manage cloud service update domain with cloud service", + subcommands: [ + { + name: "list-update-domain", + description: "Get a list of all update domains in a cloud service", + options: [ + { + name: "--cloud-service-name", + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show-update-domain", + description: "Get the specified update domain of a cloud service", + options: [ + { + name: "--cloud-service-name", + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--update-domain", + description: + "Specifies an integer value that identifies the update domain. Update domains are identified with a zero-based index: the first update domain has an ID of 0, the second has an ID of 1, and so on", + args: { name: "update-domain" }, + }, + ], + }, + { + name: "walk-update-domain", + description: + "Update the role instances in the specified update domain", + options: [ + { + name: "--cloud-service-name", + description: "Name of the cloud service", + args: { name: "cloud-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--update-domain", + description: + "Specifies an integer value that identifies the update domain. Update domains are identified with a zero-based index: the first update domain has an ID of 0, the second has an ID of 1, and so on", + args: { name: "update-domain" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/cloud.ts b/src/az/2.53.0/cloud.ts new file mode 100644 index 000000000000..a75b0f673533 --- /dev/null +++ b/src/az/2.53.0/cloud.ts @@ -0,0 +1,296 @@ +const completion: Fig.Spec = { + name: "cloud", + description: "Manage registered Azure clouds", + subcommands: [ + { name: "list", description: "List registered clouds" }, + { + name: "list-profiles", + description: "List the supported profiles for a cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of a registered cloud", + args: { name: "name" }, + }, + { + name: "--show-all", + description: "Show all available profiles supported in the CLI", + }, + ], + }, + { + name: "register", + description: "Register a cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of a registered cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--cloud-config", + description: + "JSON encoded cloud configuration. Use @{file} to load from a file", + args: { name: "cloud-config" }, + }, + { + name: "--endpoint-active-directory", + description: "The Active Directory login endpoint", + args: { name: "endpoint-active-directory" }, + }, + { + name: "--endpoint-active-directory-data-lake-resource-id", + description: + "The Active Directory resource ID for data lake services", + args: { name: "endpoint-active-directory-data-lake-resource-id" }, + }, + { + name: "--endpoint-active-directory-graph-resource-id", + description: "The Active Directory resource ID", + args: { name: "endpoint-active-directory-graph-resource-id" }, + }, + { + name: "--endpoint-active-directory-resource-id", + description: "The resource ID to obtain AD tokens for", + args: { name: "endpoint-active-directory-resource-id" }, + }, + { + name: "--endpoint-gallery", + description: "The template gallery endpoint", + args: { name: "endpoint-gallery" }, + }, + { + name: "--endpoint-management", + description: "The management service endpoint", + args: { name: "endpoint-management" }, + }, + { + name: "--endpoint-resource-manager", + description: "The resource management endpoint", + args: { name: "endpoint-resource-manager" }, + }, + { + name: "--endpoint-sql-management", + description: "The sql server management endpoint", + args: { name: "endpoint-sql-management" }, + }, + { + name: "--endpoint-vm-image-alias-doc", + description: + "The uri of the document which caches commonly used virtual machine images", + args: { name: "endpoint-vm-image-alias-doc" }, + }, + { + name: "--profile", + description: "Profile to use for this cloud", + args: { + name: "profile", + suggestions: [ + "2017-03-09-profile", + "2018-03-01-hybrid", + "2019-03-01-hybrid", + "2020-09-01-hybrid", + "latest", + ], + }, + }, + { + name: "--suffix-acr-login-server-endpoint", + description: "The Azure Container Registry login server suffix", + args: { name: "suffix-acr-login-server-endpoint" }, + }, + { + name: "--suffix-azure-datalake-analytics-catalog-and-job-endpoint", + description: + "The Data Lake analytics job and catalog service dns suffix", + args: { + name: "suffix-azure-datalake-analytics-catalog-and-job-endpoint", + }, + }, + { + name: "--suffix-azure-datalake-store-file-system-endpoint", + description: "The Data Lake store filesystem service dns suffix", + args: { name: "suffix-azure-datalake-store-file-system-endpoint" }, + }, + { + name: "--suffix-keyvault-dns", + description: "The Key Vault service dns suffix", + args: { name: "suffix-keyvault-dns" }, + }, + { + name: "--suffix-sql-server-hostname", + description: "The dns suffix for sql servers", + args: { name: "suffix-sql-server-hostname" }, + }, + { + name: "--suffix-storage-endpoint", + description: "The endpoint suffix for storage accounts", + args: { name: "suffix-storage-endpoint" }, + }, + ], + }, + { + name: "set", + description: "Set the active cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of a registered cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile", + description: "Profile to use for this cloud", + args: { + name: "profile", + suggestions: [ + "2017-03-09-profile", + "2018-03-01-hybrid", + "2019-03-01-hybrid", + "2020-09-01-hybrid", + "latest", + ], + }, + }, + ], + }, + { + name: "show", + description: "Get the details of a registered cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of a registered cloud", + args: { name: "name" }, + }, + ], + }, + { + name: "unregister", + description: "Unregister a cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of a registered cloud", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update the configuration of a cloud", + options: [ + { + name: "--cloud-config", + description: + "JSON encoded cloud configuration. Use @{file} to load from a file", + args: { name: "cloud-config" }, + }, + { + name: "--endpoint-active-directory", + description: "The Active Directory login endpoint", + args: { name: "endpoint-active-directory" }, + }, + { + name: "--endpoint-active-directory-data-lake-resource-id", + description: + "The Active Directory resource ID for data lake services", + args: { name: "endpoint-active-directory-data-lake-resource-id" }, + }, + { + name: "--endpoint-active-directory-graph-resource-id", + description: "The Active Directory resource ID", + args: { name: "endpoint-active-directory-graph-resource-id" }, + }, + { + name: "--endpoint-active-directory-resource-id", + description: "The resource ID to obtain AD tokens for", + args: { name: "endpoint-active-directory-resource-id" }, + }, + { + name: "--endpoint-gallery", + description: "The template gallery endpoint", + args: { name: "endpoint-gallery" }, + }, + { + name: "--endpoint-management", + description: "The management service endpoint", + args: { name: "endpoint-management" }, + }, + { + name: "--endpoint-resource-manager", + description: "The resource management endpoint", + args: { name: "endpoint-resource-manager" }, + }, + { + name: "--endpoint-sql-management", + description: "The sql server management endpoint", + args: { name: "endpoint-sql-management" }, + }, + { + name: "--endpoint-vm-image-alias-doc", + description: + "The uri of the document which caches commonly used virtual machine images", + args: { name: "endpoint-vm-image-alias-doc" }, + }, + { + name: ["--name", "-n"], + description: "Name of a registered cloud", + args: { name: "name" }, + }, + { + name: "--profile", + description: "Profile to use for this cloud", + args: { + name: "profile", + suggestions: [ + "2017-03-09-profile", + "2018-03-01-hybrid", + "2019-03-01-hybrid", + "2020-09-01-hybrid", + "latest", + ], + }, + }, + { + name: "--suffix-acr-login-server-endpoint", + description: "The Azure Container Registry login server suffix", + args: { name: "suffix-acr-login-server-endpoint" }, + }, + { + name: "--suffix-azure-datalake-analytics-catalog-and-job-endpoint", + description: + "The Data Lake analytics job and catalog service dns suffix", + args: { + name: "suffix-azure-datalake-analytics-catalog-and-job-endpoint", + }, + }, + { + name: "--suffix-azure-datalake-store-file-system-endpoint", + description: "The Data Lake store filesystem service dns suffix", + args: { name: "suffix-azure-datalake-store-file-system-endpoint" }, + }, + { + name: "--suffix-keyvault-dns", + description: "The Key Vault service dns suffix", + args: { name: "suffix-keyvault-dns" }, + }, + { + name: "--suffix-sql-server-hostname", + description: "The dns suffix for sql servers", + args: { name: "suffix-sql-server-hostname" }, + }, + { + name: "--suffix-storage-endpoint", + description: "The endpoint suffix for storage accounts", + args: { name: "suffix-storage-endpoint" }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/cognitiveservices.ts b/src/az/2.53.0/cognitiveservices.ts new file mode 100644 index 000000000000..90a79c9186f1 --- /dev/null +++ b/src/az/2.53.0/cognitiveservices.ts @@ -0,0 +1,956 @@ +const completion: Fig.Spec = { + name: "cognitiveservices", + description: + "Manage Azure Cognitive Services accounts.\n\n\t\tThis article lists the Azure CLI commands for Azure Cognitive Services account and subscription management only. Refer to the documentation at https://docs.microsoft.com/azure/cognitive-services/ for individual services to learn how to use the APIs and supported SDKs", + subcommands: [ + { + name: "account", + description: + "Manage Azure Cognitive Services accounts.\n\n\t\tThis article lists the Azure CLI commands for Azure Cognitive Services account and subscription management only. Refer to the documentation at https://docs.microsoft.com/azure/cognitive-services/ for individual services to learn how to use the APIs and supported SDKs", + subcommands: [ + { + name: "create", + description: "Manage Azure Cognitive Services accounts", + options: [ + { + name: "--kind", + description: + "The API name of cognitive services account. value from: az cognitiveservices account list-kinds", + args: { name: "kind" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--sku-name", "--sku"], + description: + "Name of the Sku of Cognitive Services account/deployment. value from: az cognitiveservices account list-skus", + args: { name: "sku-name" }, + isRequired: true, + }, + { + name: "--api-properties", + description: + "Api properties in JSON format or a=b c=d format. Some cognitive services (i.e. QnA Maker) require extra api properties to create the account", + args: { name: "api-properties" }, + }, + { + name: "--assign-identity", + description: + "Generate and assign an Azure Active Directory Identity for this account", + }, + { + name: "--custom-domain", + description: + "User domain assigned to the account. Name is the CNAME source", + args: { name: "custom-domain" }, + }, + { + name: "--encryption", + description: + "The encryption properties for this resource, in JSON format", + args: { name: "encryption" }, + }, + { + name: "--storage", + description: + "The storage accounts for this resource, in JSON array format", + args: { name: "storage" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--yes", + description: "Do not prompt for terms confirmation", + }, + ], + }, + { + name: "delete", + description: "Manage Azure Cognitive Services accounts", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "Manage Azure Cognitive Services accounts", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-deleted", + description: "List soft-deleted Azure Cognitive Services accounts", + }, + { + name: "list-kinds", + description: + "List all valid kinds for Azure Cognitive Services account", + }, + { + name: "list-models", + description: "Manage Azure Cognitive Services accounts", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-skus", + description: "Manage Azure Cognitive Services accounts", + options: [ + { + name: "--kind", + description: + "The API name of cognitive services account. value from: az cognitiveservices account list-kinds", + args: { name: "kind" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-usage", + description: "List usages for Azure Cognitive Services account", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "purge", + description: "Purge a soft-deleted Azure Cognitive Services account", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "recover", + description: + "Recover a soft-deleted Azure Cognitive Services account", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Manage Azure Cognitive Services accounts", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show-deleted", + description: "Show a soft-deleted Azure Cognitive Services account", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Manage Azure Cognitive Services accounts", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--api-properties", + description: + "Api properties in JSON format or a=b c=d format. Some cognitive services (i.e. QnA Maker) require extra api properties to create the account", + args: { name: "api-properties" }, + }, + { + name: "--custom-domain", + description: + "User domain assigned to the account. Name is the CNAME source", + args: { name: "custom-domain" }, + }, + { + name: "--encryption", + description: + "The encryption properties for this resource, in JSON format", + args: { name: "encryption" }, + }, + { + name: ["--sku-name", "--sku"], + description: + "Name of the Sku of Cognitive Services account/deployment. value from: az cognitiveservices account list-skus", + args: { name: "sku-name" }, + }, + { + name: "--storage", + description: + "The storage accounts for this resource, in JSON array format", + args: { name: "storage" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "commitment-plan", + description: + "Manage commitment plans for Azure Cognitive Services accounts", + subcommands: [ + { + name: "create", + description: + "Create a commitment plan for Azure Cognitive Services account", + options: [ + { + name: "--auto-renew", + description: + "A boolean indicating whether to apply auto renew", + args: { name: "auto-renew", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--commitment-plan-name", + description: + "Cognitive Services account commitment plan name", + args: { name: "commitment-plan-name" }, + isRequired: true, + }, + { + name: "--hosting-model", + description: "Cognitive Services account hosting model", + args: { + name: "hosting-model", + suggestions: [ + "ConnectedContainer", + "DisconnectedContainer", + "ProvisionedWeb", + "Web", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--plan-type", + description: + "Cognitive Services account commitment plan type", + args: { name: "plan-type" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--current-count", + description: + "Cognitive Services account commitment plan current commitment period count", + args: { name: "current-count" }, + }, + { + name: "--current-tier", + description: + "Cognitive Services account commitment plan current commitment period tier", + args: { name: "current-tier" }, + }, + { + name: "--next-count", + description: + "Cognitive Services account commitment plan next commitment period count", + args: { name: "next-count" }, + }, + { + name: "--next-tier", + description: + "Cognitive Services account commitment plan next commitment period tier", + args: { name: "next-tier" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a commitment plan from Azure Cognitive Services account", + options: [ + { + name: "--commitment-plan-name", + description: + "Cognitive Services account commitment plan name", + args: { name: "commitment-plan-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Show all commitment plans from Azure Cognitive Services account", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show a commitment plan from Azure Cognitive Services account", + options: [ + { + name: "--commitment-plan-name", + description: + "Cognitive Services account commitment plan name", + args: { name: "commitment-plan-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "deployment", + description: + "Manage deployments for Azure Cognitive Services accounts", + subcommands: [ + { + name: "create", + description: + "Create a deployment for Azure Cognitive Services account", + options: [ + { + name: "--model-format", + description: + "Cognitive Services account deployment model format", + args: { name: "model-format" }, + isRequired: true, + }, + { + name: "--model-name", + description: + "Cognitive Services account deployment model name", + args: { name: "model-name" }, + isRequired: true, + }, + { + name: "--model-version", + description: + "Cognitive Services account deployment model version", + args: { name: "model-version" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--sku-capacity", "--capacity"], + description: + "Capacity value of the Sku of Cognitive Services account/deployment", + args: { name: "sku-capacity" }, + }, + { + name: "--deployment-name", + description: "Cognitive Services account deployment name", + args: { name: "deployment-name" }, + }, + { + name: "--model-source", + description: + "Cognitive Services account deployment model source", + args: { name: "model-source" }, + }, + { + name: ["--scale-settings-capacity", "--scale-capacity"], + description: + "Cognitive Services account deployment scale settings capacity", + args: { name: "scale-settings-capacity" }, + }, + { + name: ["--scale-settings-scale-type", "--scale-type"], + description: + "Cognitive Services account deployment scale settings scale type", + args: { + name: "scale-settings-scale-type", + suggestions: ["Manual", "Standard"], + }, + }, + { + name: ["--sku-name", "--sku"], + description: + "Name of the Sku of Cognitive Services account/deployment", + args: { name: "sku-name" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a deployment from Azure Cognitive Services account", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--deployment-name", + description: "Cognitive Services account deployment name", + args: { name: "deployment-name" }, + }, + ], + }, + { + name: "list", + description: + "Show all deployments for Azure Cognitive Services account", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show a deployment for Azure Cognitive Services account", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--deployment-name", + description: "Cognitive Services account deployment name", + args: { name: "deployment-name" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage identity of Cognitive Services accounts", + subcommands: [ + { + name: "assign", + description: "Assign an identity of a Cognitive Services account", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove the identity from a Cognitive Services account", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the identity of a Cognitive Services account", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "keys", + description: + "Manage Azure Cognitive Services accounts.\n\n\t\tThis article lists the Azure CLI commands for Azure Cognitive Services account and subscription management only. Refer to the documentation at https://docs.microsoft.com/azure/cognitive-services/ for individual services to learn how to use the APIs and supported SDKs", + subcommands: [ + { + name: "list", + description: "Manage Azure Cognitive Services accounts", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "regenerate", + description: "Manage Azure Cognitive Services accounts", + options: [ + { + name: "--key-name", + description: "Key name to generate", + args: { name: "key-name", suggestions: ["Key1", "Key2"] }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "network-rule", + description: "Manage network rules", + subcommands: [ + { + name: "add", + description: "Add a network rule", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ip-address", + description: "IPv4 address or CIDR range", + args: { name: "ip-address" }, + }, + { + name: "--subnet", + description: + "Name or ID of subnet. If name is supplied, --vnet-name must be supplied", + args: { name: "subnet" }, + }, + { + name: "--vnet-name", + description: "Name of a virtual network", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "list", + description: "List network rules", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a network rule", + options: [ + { + name: ["--name", "-n"], + description: "Cognitive service account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ip-address", + description: "IPv4 address or CIDR range", + args: { name: "ip-address" }, + }, + { + name: "--subnet", + description: + "Name or ID of subnet. If name is supplied, --vnet-name must be supplied", + args: { name: "subnet" }, + }, + { + name: "--vnet-name", + description: "Name of a virtual network", + args: { name: "vnet-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "commitment-tier", + description: "Manage commitment tiers for Azure Cognitive Services", + subcommands: [ + { + name: "list", + description: "Show all commitment tiers for Azure Cognitive Services", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "list", + description: "Manage Azure Cognitive Services accounts", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "model", + description: "Manage model for Azure Cognitive Services", + subcommands: [ + { + name: "list", + description: "Show all models for Azure Cognitive Services", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "usage", + description: "Manage usage for Azure Cognitive Services", + subcommands: [ + { + name: "list", + description: "Show all usages for Azure Cognitive Services", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--filter", + description: + "An OData filter expression that describes a subset of usages to return. The supported parameter is name.value (name of the metric, can have an or of multiple names). Default value is None", + args: { name: "filter" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/command-change.ts b/src/az/2.53.0/command-change.ts new file mode 100644 index 000000000000..f12877e8e095 --- /dev/null +++ b/src/az/2.53.0/command-change.ts @@ -0,0 +1,81 @@ +const completion: Fig.Spec = { + name: "command-change", + description: "Commands for CLI modules metadata management", + subcommands: [ + { + name: "meta-diff", + description: "Diff command meta between provided meta files", + options: [ + { + name: "--base-meta-file", + description: "Command meta json file", + args: { name: "base-meta-file" }, + isRequired: true, + }, + { + name: "--diff-meta-file", + description: "Command meta json file to diff", + args: { name: "diff-meta-file" }, + isRequired: true, + }, + { + name: "--only-break", + description: "Whether include non breaking changes", + }, + { + name: "--output-file", + description: "Command meta diff json file path to store", + args: { name: "output-file" }, + }, + { + name: "--output-type", + description: "Format to print diff and suggest message", + args: { name: "output-type", suggestions: ["dict", "text", "tree"] }, + }, + ], + }, + { + name: "version-diff", + description: "Diff command meta data between different cli versions", + options: [ + { + name: "--base-version", + description: "Azure cli version as base", + args: { name: "base-version" }, + isRequired: true, + }, + { + name: "--diff-version", + description: "Azure cli version to diff", + args: { name: "diff-version" }, + isRequired: true, + }, + { + name: "--only-break", + description: "Whether include non breaking changes", + }, + { + name: "--output-type", + description: "Command meta diff format to store", + args: { name: "output-type" }, + }, + { + name: "--target-module", + description: "Module chosen to diff between different cli versions", + args: { name: "target-module" }, + }, + { + name: "--use-cache", + description: "Whether use cached metadata files", + }, + { + name: "--version-diff-file", + description: "Command meta version diff file path to store", + args: { name: "version-diff-file" }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/communication.ts b/src/az/2.53.0/communication.ts new file mode 100644 index 000000000000..973223fd3be7 --- /dev/null +++ b/src/az/2.53.0/communication.ts @@ -0,0 +1,1910 @@ +const completion: Fig.Spec = { + name: "communication", + description: "Manage communication service with communication", + subcommands: [ + { + name: "chat", + description: + "Commands to interact with Azure Communication Services Chat gateway", + subcommands: [ + { + name: "message", + description: + "Commands to manage messages in a chat thread of a Communication Service resource", + subcommands: [ + { + name: "delete", + description: "Deletes a message from a chat thread by id", + options: [ + { + name: "--message-id", + description: "Message id", + args: { name: "message-id" }, + isRequired: true, + }, + { + name: ["--thread", "-t"], + description: "Thread id", + args: { name: "thread" }, + isRequired: true, + }, + { + name: "--access-token", + description: + "Communication access token. Environment variable: AZURE_COMMUNICATION_ACCESS_TOKEN", + args: { name: "access-token" }, + }, + { + name: "--endpoint", + description: + "Communication endpoint. Environment variable: AZURE_COMMUNICATION_ENDPOINT", + args: { name: "endpoint" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get", + description: "Gets a message from a chat thread by id", + options: [ + { + name: "--message-id", + description: "Message id", + args: { name: "message-id" }, + isRequired: true, + }, + { + name: ["--thread", "-t"], + description: "Thread id", + args: { name: "thread" }, + isRequired: true, + }, + { + name: "--access-token", + description: + "Communication access token. Environment variable: AZURE_COMMUNICATION_ACCESS_TOKEN", + args: { name: "access-token" }, + }, + { + name: "--endpoint", + description: + "Communication endpoint. Environment variable: AZURE_COMMUNICATION_ENDPOINT", + args: { name: "endpoint" }, + }, + ], + }, + { + name: "list", + description: "Gets list of messages from a chat thread", + options: [ + { + name: ["--thread", "-t"], + description: "Thread id", + args: { name: "thread" }, + isRequired: true, + }, + { + name: "--access-token", + description: + "Communication access token. Environment variable: AZURE_COMMUNICATION_ACCESS_TOKEN", + args: { name: "access-token" }, + }, + { + name: "--endpoint", + description: + "Communication endpoint. Environment variable: AZURE_COMMUNICATION_ENDPOINT", + args: { name: "endpoint" }, + }, + { + name: "--start-time", + description: + "Start time in ISO8601 format, ex: 2022-07-14T10:21", + args: { name: "start-time" }, + }, + ], + }, + { + name: "send", + description: "Sends a message to a chat thread", + options: [ + { + name: "--content", + description: "Chat message content", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--thread", "-t"], + description: "Thread id", + args: { name: "thread" }, + isRequired: true, + }, + { + name: "--access-token", + description: + "Communication access token. Environment variable: AZURE_COMMUNICATION_ACCESS_TOKEN", + args: { name: "access-token" }, + }, + { + name: "--display-name", + description: "Senders display name", + args: { name: "display-name" }, + }, + { + name: "--endpoint", + description: + "Communication endpoint. Environment variable: AZURE_COMMUNICATION_ENDPOINT", + args: { name: "endpoint" }, + }, + { + name: "--message-type", + description: "Content type, can be text or html", + args: { name: "message-type" }, + }, + ], + }, + { + name: "update", + description: "Updates a message", + options: [ + { + name: "--content", + description: "Chat message content", + args: { name: "content" }, + isRequired: true, + }, + { + name: "--message-id", + description: "Message id", + args: { name: "message-id" }, + isRequired: true, + }, + { + name: ["--thread", "-t"], + description: "Thread id", + args: { name: "thread" }, + isRequired: true, + }, + { + name: "--access-token", + description: + "Communication access token. Environment variable: AZURE_COMMUNICATION_ACCESS_TOKEN", + args: { name: "access-token" }, + }, + { + name: "--endpoint", + description: + "Communication endpoint. Environment variable: AZURE_COMMUNICATION_ENDPOINT", + args: { name: "endpoint" }, + }, + ], + }, + { + name: "receipt", + description: + "Commands to manage message read-receipts in a chat thread of a Communication Service resource", + subcommands: [ + { + name: "list", + description: "Gets read receipts of a chat thread", + options: [ + { + name: ["--thread", "-t"], + description: "Thread id", + args: { name: "thread" }, + isRequired: true, + }, + { + name: "--access-token", + description: + "Communication access token. Environment variable: AZURE_COMMUNICATION_ACCESS_TOKEN", + args: { name: "access-token" }, + }, + { + name: "--endpoint", + description: + "Communication endpoint. Environment variable: AZURE_COMMUNICATION_ENDPOINT", + args: { name: "endpoint" }, + }, + { + name: "--skip", + description: "Number of read receipts to skip", + args: { name: "skip" }, + }, + ], + }, + { + name: "send", + description: + "Posts a read receipt event to a chat thread, on behalf of a user", + options: [ + { + name: "--message-id", + description: "Message id", + args: { name: "message-id" }, + isRequired: true, + }, + { + name: ["--thread", "-t"], + description: "Thread id", + args: { name: "thread" }, + isRequired: true, + }, + { + name: "--access-token", + description: + "Communication access token. Environment variable: AZURE_COMMUNICATION_ACCESS_TOKEN", + args: { name: "access-token" }, + }, + { + name: "--endpoint", + description: + "Communication endpoint. Environment variable: AZURE_COMMUNICATION_ENDPOINT", + args: { name: "endpoint" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "participant", + description: + "Commands to manage participants in a chat thread of a Communication Service resource", + subcommands: [ + { + name: "add", + description: "Adds a participant to a chat thread", + options: [ + { + name: ["--thread", "-t"], + description: "Thread id", + args: { name: "thread" }, + isRequired: true, + }, + { + name: "--user", + description: "Chat participant identifier", + args: { name: "user" }, + isRequired: true, + }, + { + name: "--access-token", + description: + "Communication access token. Environment variable: AZURE_COMMUNICATION_ACCESS_TOKEN", + args: { name: "access-token" }, + }, + { + name: "--display-name", + description: "Chat participant display name", + args: { name: "display-name" }, + }, + { + name: "--endpoint", + description: + "Communication endpoint. Environment variable: AZURE_COMMUNICATION_ENDPOINT", + args: { name: "endpoint" }, + }, + { + name: "--start-time", + description: + "Start time to share history in ISO8601 format, ex: 2022-07-14T10:21", + args: { name: "start-time" }, + }, + ], + }, + { + name: "list", + description: "Gets the participants of a chat thread", + options: [ + { + name: ["--thread", "-t"], + description: "Thread id", + args: { name: "thread" }, + isRequired: true, + }, + { + name: "--access-token", + description: + "Communication access token. Environment variable: AZURE_COMMUNICATION_ACCESS_TOKEN", + args: { name: "access-token" }, + }, + { + name: "--endpoint", + description: + "Communication endpoint. Environment variable: AZURE_COMMUNICATION_ENDPOINT", + args: { name: "endpoint" }, + }, + { + name: "--skip", + description: "Number of participants to skip", + args: { name: "skip" }, + }, + ], + }, + { + name: "remove", + description: "Removes a participant from a chat thread", + options: [ + { + name: ["--thread", "-t"], + description: "Thread id", + args: { name: "thread" }, + isRequired: true, + }, + { + name: "--user", + description: "Chat participant identifier", + args: { name: "user" }, + isRequired: true, + }, + { + name: "--access-token", + description: + "Communication access token. Environment variable: AZURE_COMMUNICATION_ACCESS_TOKEN", + args: { name: "access-token" }, + }, + { + name: "--endpoint", + description: + "Communication endpoint. Environment variable: AZURE_COMMUNICATION_ENDPOINT", + args: { name: "endpoint" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "thread", + description: + "Commands to manage chat thread of a Communication Service resource", + subcommands: [ + { + name: "create", + description: "Creates a chat thread", + options: [ + { + name: "--topic", + description: "Chat topic", + args: { name: "topic" }, + isRequired: true, + }, + { + name: "--access-token", + description: + "Communication access token. Environment variable: AZURE_COMMUNICATION_ACCESS_TOKEN", + args: { name: "access-token" }, + }, + { + name: "--endpoint", + description: + "Communication endpoint. Environment variable: AZURE_COMMUNICATION_ENDPOINT", + args: { name: "endpoint" }, + }, + { + name: "--idempotency-token", + description: "Idempotency token", + args: { name: "idempotency-token" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a chat thread", + options: [ + { + name: ["--thread", "-t"], + description: "Thread id", + args: { name: "thread" }, + isRequired: true, + }, + { + name: "--access-token", + description: + "Communication access token. Environment variable: AZURE_COMMUNICATION_ACCESS_TOKEN", + args: { name: "access-token" }, + }, + { + name: "--endpoint", + description: + "Communication endpoint. Environment variable: AZURE_COMMUNICATION_ENDPOINT", + args: { name: "endpoint" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Gets the list of chat threads of a user", + options: [ + { + name: "--access-token", + description: + "Communication access token. Environment variable: AZURE_COMMUNICATION_ACCESS_TOKEN", + args: { name: "access-token" }, + }, + { + name: "--endpoint", + description: + "Communication endpoint. Environment variable: AZURE_COMMUNICATION_ENDPOINT", + args: { name: "endpoint" }, + }, + { + name: "--start-time", + description: + "Start time in ISO8601 format, ex: 2022-07-14T10:21", + args: { name: "start-time" }, + }, + ], + }, + { + name: "update-topic", + description: "Updates the topic of a chat thread", + options: [ + { + name: ["--thread", "-t"], + description: "Thread id", + args: { name: "thread" }, + isRequired: true, + }, + { + name: "--topic", + description: "Chat topic", + args: { name: "topic" }, + isRequired: true, + }, + { + name: "--access-token", + description: + "Communication access token. Environment variable: AZURE_COMMUNICATION_ACCESS_TOKEN", + args: { name: "access-token" }, + }, + { + name: "--endpoint", + description: + "Communication endpoint. Environment variable: AZURE_COMMUNICATION_ENDPOINT", + args: { name: "endpoint" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "create", + description: + "Create a new CommunicationService or update an existing CommunicationService", + options: [ + { + name: "--data-location", + description: + "The location where the communication service stores its data at rest", + args: { name: "data-location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the CommunicationService resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--linked-domains", + description: + 'List of email Domain resource Ids. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "linked-domains" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--mi-system-assigned", + description: "Enable system assigned identity", + args: { + name: "mi-system-assigned", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--mi-user-assigned", + description: + 'Space separated resource IDs to add user-assigned identities. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "mi-user-assigned" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete to delete a CommunicationService", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the CommunicationService resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "link-notification-hub", + description: + "Links an Azure Notification Hub to this communication service", + options: [ + { + name: "--connection-string", + description: "Connection string for the notification hub", + args: { name: "connection-string" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the CommunicationService resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-id", + description: "The resource ID of the notification hub", + args: { name: "resource-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List requests to list all resources in a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-key", + description: "Get the access keys of the CommunicationService resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the CommunicationService resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "regenerate-key", + description: + "Regenerate CommunicationService access key. PrimaryKey and SecondaryKey cannot be regenerated at the same time", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-type", + description: + "The keyType to regenerate. Must be either 'primary' or 'secondary'(case-insensitive)", + args: { name: "key-type", suggestions: ["Primary", "Secondary"] }, + }, + { + name: ["--name", "-n"], + description: "The name of the CommunicationService resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the CommunicationService and its properties", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the CommunicationService resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a new CommunicationService or update an existing CommunicationService", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--linked-domains", + description: + 'List of email Domain resource Ids. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "linked-domains" }, + }, + { + name: ["--name", "-n"], + description: "The name of the CommunicationService resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--type", + description: + "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)", + args: { + name: "type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: ["--user-assigned-identities", "-i"], + description: + 'The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: \'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-assigned-identities" }, + }, + ], + }, + { + name: "wait", + description: "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the CommunicationService resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "email", + description: + "Commands to send emails and get the status of emails previously sent using Azure Communication Services Email service", + subcommands: [ + { + name: "send", + description: "Send an email and get final status", + options: [ + { + name: "--sender", + description: "Sender email address from a verified domain", + args: { name: "sender" }, + isRequired: true, + }, + { + name: "--subject", + description: "Subject of the email message", + args: { name: "subject" }, + isRequired: true, + }, + { + name: "--attachment-types", + description: + "List of email attachment types, in the same order of attachments. Required for each attachment. Known values are: avi, bmp, doc, docm, docx, gif, jpeg, mp3, one, pdf, png, ppsm, ppsx, ppt, pptm, pptx, pub, rpmsg, rtf, tif, txt, vsd, wav, wma, xls, xlsb, xlsm, and xlsx", + args: { name: "attachment-types" }, + }, + { + name: "--attachments", + description: "List of email attachments. Optional", + args: { name: "attachments" }, + }, + { + name: "--bcc", + description: "Blind carbon copy email addresses", + args: { name: "bcc" }, + }, + { + name: "--cc", + description: "Carbon copy email addresses", + args: { name: "cc" }, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--disable-tracking", + description: + "Indicates whether user engagement tracking should be disabled for this specific request. This is only applicable if the resource-level user engagement tracking setting was already enabled in control plane. Optional", + }, + { + name: "--html", + description: "Html version of the email message. Optional", + args: { name: "html" }, + }, + { + name: "--importance", + description: + "The importance type for the email. Known values are: high, normal, and low. Default is normal. Optional", + args: { + name: "importance", + suggestions: ["high", "low", "normal"], + }, + }, + { + name: "--reply-to", + description: "Reply-to email address. Optional", + args: { name: "reply-to" }, + }, + { + name: "--text", + description: "Plain text version of the email message. Optional", + args: { name: "text" }, + }, + { + name: "--to", + description: "Recepients email addresses", + args: { name: "to" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage the Communication Resource's managed identities", + subcommands: [ + { + name: "assign", + description: + "Assign a managed identity to the Communication Resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the CommunicationService resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--system-assigned", + description: "Enable system assigned identity", + args: { + name: "system-assigned", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--user-assigned", + description: + 'Space separated resource IDs to add user-assigned identities. Use [] to remove all identities. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "remove", + description: + "Remove a managed identity from the communication resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the CommunicationService resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--system-assigned", + description: "Enable system assigned identity", + args: { + name: "system-assigned", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--user-assigned", + description: + 'Space separated resource IDs to add user-assigned identities. Use [] to remove all identities. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "show", + description: "Show the Communication Resource's managed identities", + options: [ + { + name: ["--name", "-n"], + description: "The name of the CommunicationService resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the CommunicationService resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "token", + description: + "Commands to manage user tokens for a Communication Service resource", + subcommands: [ + { + name: "get-for-teams-user", + description: + "Exchanges an Azure Active Directory (Azure AD) access token of a Teams user for a new ACS Identity access token with a matching expiration time", + options: [ + { + name: "--aad-token", + description: "Azure AD access token of a Teams User", + args: { name: "aad-token" }, + isRequired: true, + }, + { + name: "--aad-user", + description: + "Object ID of an Azure AD user(Teams User) to be verified against the OID claim in the Azure AD access token", + args: { name: "aad-user" }, + isRequired: true, + }, + { + name: "--client", + description: + "Client ID of an Azure AD applicationto be verified against the appId claim in the Azure AD access token", + args: { name: "client" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + ], + }, + { + name: "issue", + description: + "Issues a new access token with the specified scopes for a given User Identity. If no User Identity is specified, creates a new User Identity as well", + options: [ + { + name: "--scope", + description: + "List of scopes for an access token ex: chat/voip", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--user", + description: "ACS identifier", + args: { name: "user" }, + }, + ], + }, + { + name: "revoke", + description: + "Revokes all access tokens for the specific ACS Identity", + options: [ + { + name: "--user", + description: "ACS identifier", + args: { name: "user" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "user", + description: + "Commands to manage user identities for a Communication Service resource", + subcommands: [ + { + name: "create", + description: "Creates a new ACS Identity", + options: [ + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes an existing ACS Identity, revokes all tokens for that ACS Identity and deletes all associated data", + options: [ + { + name: "--user", + description: "ACS identifier", + args: { name: "user" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + ], + }, + { + name: "phonenumber", + description: + "Commands to manage phone numbers for a Communication Service resource", + subcommands: [ + { + name: "list", + description: + "Lists all phone numbers associated with the Communication Service resource", + options: [ + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + ], + }, + { + name: "show", + description: + "Shows the details for a phone number associated with the Communication Service resource", + options: [ + { + name: "--phonenumber", + description: "Phone number to get information about", + args: { name: "phonenumber" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + ], + }, + ], + }, + { + name: "phonenumbers", + description: + "Commands to manage phone numbers for a Communication Service resource", + subcommands: [ + { + name: "list-phonenumbers", + description: + "Lists all phone numbers associated with the Communication Service resource", + options: [ + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + ], + }, + { + name: "show-phonenumber", + description: + "Shows the details for a phone number associated with the Communication Service resource", + options: [ + { + name: ["--phonenumber", "-p"], + description: "Phone number to get information about", + args: { name: "phonenumber" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + ], + }, + ], + }, + { + name: "rooms", + description: + "Commands to interact with Azure Communication Services Rooms gateway", + subcommands: [ + { + name: "create", + description: "Create a new room", + options: [ + { + name: "--attendee-participants", + description: + "Collection of identities to be invited to the room as attendee. Optional", + args: { name: "attendee-participants" }, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--consumer-participants", + description: + "Collection of identities to be invited to the room as consumer. Optional", + args: { name: "consumer-participants" }, + }, + { + name: "--presenter-participants", + description: + "Collection of identities to be invited to the room as presenter. Optional", + args: { name: "presenter-participants" }, + }, + { + name: "--valid-from", + description: + "The timestamp from when the room is open for joining, in in ISO8601 format, ex: 2023-03-31T10:21. Optional", + args: { name: "valid-from" }, + }, + { + name: "--valid-until", + description: + "The timestamp from when the room can no longer be joined, in ISO8601 format, ex: 2023-06-31T10:21. Optional", + args: { name: "valid-until" }, + }, + ], + }, + { + name: "delete", + description: "Delete an existing room", + options: [ + { + name: "--room", + description: "Room Id", + args: { name: "room" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get", + description: "Return attributes of an existing room", + options: [ + { + name: "--room", + description: "Room Id", + args: { name: "room" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + ], + }, + { + name: "list", + description: + "List all active rooms belonging to a current Communication Service resource", + options: [ + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + ], + }, + { + name: "update", + description: "Update attributes of an existing room", + options: [ + { + name: "--room", + description: "Room Id", + args: { name: "room" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--valid-from", + description: + "The timestamp from when the room is open for joining, in in ISO8601 format, ex: 2023-03-31T10:21. Should be used together with --valid-until. Optional", + args: { name: "valid-from" }, + }, + { + name: "--valid-until", + description: + "The timestamp from when the room can no longer be joined, in ISO8601 format, ex: 2023-06-31T10:21. Should be used together with --valid-from. Optional", + args: { name: "valid-until" }, + }, + ], + }, + { + name: "participant", + description: "Commands to manage participants of an existing room", + subcommands: [ + { + name: "add-or-update", + description: "Add or update participants in a room", + options: [ + { + name: "--room", + description: "Room Id", + args: { name: "room" }, + isRequired: true, + }, + { + name: "--attendee-participants", + description: + "Collection of identities to be added to the room as attendee", + args: { name: "attendee-participants" }, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--consumer-participants", + description: + "Collection of identities to be added to the room as consumer", + args: { name: "consumer-participants" }, + }, + { + name: "--presenter-participants", + description: + "Collection of identities to be added to the room as presenter", + args: { name: "presenter-participants" }, + }, + ], + }, + { + name: "get", + description: "Get participants of a room", + options: [ + { + name: "--room", + description: "Room Id", + args: { name: "room" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + ], + }, + { + name: "remove", + description: "Remove participants from a room", + options: [ + { + name: "--participants", + description: + "Collection of identities that will be removed from the room", + args: { name: "participants" }, + isRequired: true, + }, + { + name: "--room", + description: "Room Id", + args: { name: "room" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + ], + }, + { + name: "sms", + description: + "Commands to manage SMS for a Communication Service resource", + subcommands: [ + { + name: "send", + description: + "Sends an SMS from the sender phone number to the recipient(s) phone number(s)", + options: [ + { + name: "--message", + description: "The message in the SMS", + args: { name: "message" }, + isRequired: true, + }, + { + name: "--recipient", + description: "The recipient(s) of the SMS", + args: { name: "recipient" }, + isRequired: true, + }, + { + name: "--sender", + description: "The sender of the SMS", + args: { name: "sender" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + ], + }, + { + name: "send-sms", + description: + "Sends an SMS from the sender phone number to the recipient(s) phone number(s)", + options: [ + { + name: ["--message", "-m"], + description: "The message in the SMS", + args: { name: "message" }, + isRequired: true, + }, + { + name: ["--recipient", "-r"], + description: "The recipient(s) of the SMS", + args: { name: "recipient" }, + isRequired: true, + }, + { + name: ["--sender", "-s"], + description: "The sender of the SMS", + args: { name: "sender" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + ], + }, + ], + }, + { + name: "user-identity", + description: + "Commands to manage user identities and their tokens for a Communication Service resource", + subcommands: [ + { + name: "issue-access-token", + description: + "Issues a new access token with the specified scopes for a given User Identity. If no User Identity is specified, creates a new User Identity as well", + options: [ + { + name: ["--scope", "-s"], + description: "List of scopes for an access token ex: chat/voip", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--userid", "-u"], + description: "ACS identifier", + args: { name: "userid" }, + }, + ], + }, + { + name: "token", + description: + "Commands to manage user tokens for a Communication Service resource", + subcommands: [ + { + name: "get-for-teams-user", + description: + "Exchanges an Azure Active Directory (Azure AD) access token of a Teams user for a new ACS Identity access token with a matching expiration time", + options: [ + { + name: "--aad-token", + description: "Azure AD access token of a Teams User", + args: { name: "aad-token" }, + isRequired: true, + }, + { + name: "--aad-user", + description: + "Object ID of an Azure AD user(Teams User) to be verified against the OID claim in the Azure AD access token", + args: { name: "aad-user" }, + isRequired: true, + }, + { + name: "--client", + description: + "Client ID of an Azure AD applicationto be verified against the appId claim in the Azure AD access token", + args: { name: "client" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + ], + }, + { + name: "issue", + description: + "Issues a new access token with the specified scopes for a given User Identity. If no User Identity is specified, creates a new User Identity as well", + options: [ + { + name: "--scope", + description: + "List of scopes for an access token ex: chat/voip", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--user", + description: "ACS identifier", + args: { name: "user" }, + }, + ], + }, + { + name: "revoke", + description: + "Revokes all access tokens for the specific ACS Identity", + options: [ + { + name: "--user", + description: "ACS identifier", + args: { name: "user" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "user", + description: + "Commands to manage user identities for a Communication Service resource", + subcommands: [ + { + name: "create", + description: "Creates a new ACS Identity", + options: [ + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes an existing ACS Identity, revokes all tokens for that ACS Identity and deletes all associated data", + options: [ + { + name: "--user", + description: "ACS identifier", + args: { name: "user" }, + isRequired: true, + }, + { + name: "--connection-string", + description: + "Communication connection string. Environment variable: AZURE_COMMUNICATION_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/confcom.ts b/src/az/2.53.0/confcom.ts new file mode 100644 index 000000000000..1a8c547abece --- /dev/null +++ b/src/az/2.53.0/confcom.ts @@ -0,0 +1,97 @@ +const completion: Fig.Spec = { + name: "confcom", + description: + "Commands to generate security policies for confidential containers in Azure", + subcommands: [ + { + name: "acipolicygen", + description: "Create a Confidential Container Security Policy", + options: [ + { + name: ["--approve-wildcards", "-y"], + description: + "When enabled, all prompts for using wildcards in environment variables are automatically approved", + }, + { + name: "--debug-mode", + description: + "When enabled, the generated security policy adds the ability to use /bin/sh or /bin/bash to debug the container. It also enabled stdio access, ability to dump stack traces, and enables runtime logging. It is recommended to only use this option for debugging purposes", + }, + { + name: ["--diff", "-d"], + description: + 'When combined with an input ARM Template, verifies the policy present in the ARM Template under "ccePolicy" and the containers within the ARM Template are compatible. If they are incompatible, a list of reasons is given and the exit status code will be 2', + }, + { + name: "--disable-stdio", + description: + "When enabled, the containers in the container group do not have access to stdio", + }, + { + name: "--image", + description: "Input image name", + args: { name: "image" }, + }, + { + name: "--infrastructure-svn", + description: + "Minimum Allowed Software Version Number for Infrastructure Fragment", + args: { name: "infrastructure-svn" }, + }, + { + name: ["--input", "-i"], + description: "Input JSON config file", + args: { name: "input" }, + }, + { + name: "--outraw", + description: + "Output policy in clear text compact JSON instead of default base64 format", + }, + { + name: "--outraw-pretty-print", + description: "Output policy in clear text and pretty print format", + }, + { + name: ["--parameters", "-p"], + description: + "Input parameters file to optionally accompany an ARM Template", + args: { name: "parameters" }, + }, + { + name: "--print-existing-policy", + description: + "When enabled, the existing security policy that is present in the ARM Template is printed to the command line, and no new security policy is generated", + }, + { + name: "--print-policy", + description: + "When enabled, the generated security policy is printed to the command line instead of injected into the input ARM Template", + }, + { + name: ["--save-to-file", "-s"], + description: "Save output policy to given file path", + args: { name: "save-to-file" }, + }, + { + name: "--tar", + description: + "Path to either a tarball containing image layers or a JSON file containing paths to tarballs of image layers", + args: { name: "tar" }, + }, + { + name: ["--template-file", "-a"], + description: "Input ARM Template file", + args: { name: "template-file" }, + }, + { + name: ["--validate-sidecar", "-v"], + description: + "Validate that the image used to generate the CCE Policy for a sidecar container will be allowed by its generated policy", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/confidentialledger.ts b/src/az/2.53.0/confidentialledger.ts new file mode 100644 index 000000000000..99268e6c42e3 --- /dev/null +++ b/src/az/2.53.0/confidentialledger.ts @@ -0,0 +1,575 @@ +const completion: Fig.Spec = { + name: "confidentialledger", + description: "Manage Confidential Ledger", + subcommands: [ + { + name: "create", + description: + "Creates a Confidential Ledger with the specified ledger parameters", + options: [ + { + name: ["--ledger-name", "--name", "-n"], + description: "Name of the Confidential Ledger", + args: { name: "ledger-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--aad-based-security-principals", "--aad-based-users"], + description: "Array of all AAD based Security Principals", + args: { name: "aad-based-security-principals" }, + }, + { + name: ["--cert-based-security-principals", "--cert-based-users"], + description: "Array of all cert based Security Principals", + args: { name: "cert-based-security-principals" }, + }, + { + name: "--ledger-type", + description: "Type of Confidential Ledger", + args: { + name: "ledger-type", + suggestions: ["Private", "Public", "Unknown"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an existing Confidential Ledger", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--ledger-name", "--name", "-n"], + description: "Name of the Confidential Ledger", + args: { name: "ledger-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Retrieves the properties of all Confidential Ledgers. And Retrieves the properties of all Confidential Ledgers", + options: [ + { + name: "--filter", + description: + "The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'", + args: { name: "filter" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Retrieves the properties of a Confidential Ledger", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--ledger-name", "--name", "-n"], + description: "Name of the Confidential Ledger", + args: { name: "ledger-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates properties of Confidential Ledger", + options: [ + { + name: ["--aad-based-security-principals", "--aad-based-users"], + description: "Array of all AAD based Security Principals", + args: { name: "aad-based-security-principals" }, + }, + { + name: ["--cert-based-security-principals", "--cert-based-users"], + description: "Array of all cert based Security Principals", + args: { name: "cert-based-security-principals" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--ledger-name", "--name", "-n"], + description: "Name of the Confidential Ledger", + args: { name: "ledger-name" }, + }, + { + name: "--ledger-type", + description: "Type of Confidential Ledger", + args: { + name: "ledger-type", + suggestions: ["Private", "Public", "Unknown"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the confidentialledger is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--ledger-name", "--name", "-n"], + description: "Name of the Confidential Ledger", + args: { name: "ledger-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "managedccfs", + description: "Deploy and manage the Azure Managed CCF instances", + subcommands: [ + { + name: "create", + description: "Create an instance of the Azure Managed CCF service", + options: [ + { + name: "--members", + description: + 'Member details. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "members" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "A unique name for the instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--app-type", + description: + "Set it to 'sample' to deploy the sample JS application", + args: { name: "app-type" }, + }, + { + name: "--language-runtime", + description: "The application language", + args: { name: "language-runtime" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location of the instance. Southcentralus is the only supported region. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--node-count", + description: + "Node consensus requires odd number of nodes. Select a number between 3 and 9", + args: { name: "node-count" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Managed CCF instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "A unique name for the instance", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "View the Azure Managed CCF instances in a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "View the details of an instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "A unique name for the instance", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Patch a Managed CCF instance", + options: [ + { + name: "--deployment-type", + description: + 'Deployment Type of Managed CCF Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "deployment-type" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--member-certificates", + description: + 'List of member identity certificates for Managed CCF Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "member-certificates" }, + }, + { + name: ["--name", "-n"], + description: "A unique name for the instance", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--node-count", + description: + "Node consensus requires odd number of nodes. Select a number between 3 and 9", + args: { name: "node-count" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "A unique name for the instance", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/config.ts b/src/az/2.53.0/config.ts new file mode 100644 index 000000000000..9460f72d31dd --- /dev/null +++ b/src/az/2.53.0/config.ts @@ -0,0 +1,113 @@ +const completion: Fig.Spec = { + name: "config", + description: + "Manage Azure CLI configuration.\n\n\t\tAvailable since Azure CLI 2.10.0", + subcommands: [ + { + name: "get", + description: "Get a configuration", + options: [ + { + name: "--local", + description: + "Include local configuration. Scan from the working directory up to the root drive, then the global configuration and return the first occurrence", + }, + ], + args: { + name: "", + description: + "The configuration to get. If not provided, all sections and configurations will be listed. If section is provided, all configurations under the specified section will be listed. If
. is provided, only the corresponding configuration is shown", + isOptional: true, + }, + }, + { + name: "set", + description: "Set a configuration", + options: [ + { + name: "--local", + description: "Set as a local configuration in the working directory", + }, + ], + args: { + name: "", + description: "Space-separated configurations in the form of .=", + isOptional: true, + }, + }, + { + name: "unset", + description: "Unset a configuration", + options: [ + { + name: "--local", + description: + "Include local configuration. Scan from the working directory up to the root drive, then the global configuration and unset the first occurrence", + }, + ], + args: { + name: "", + description: "The configuration to unset, in the form of", + isOptional: true, + }, + }, + { + name: "param-persist", + description: "Manage parameter persistence", + subcommands: [ + { + name: "delete", + description: "Delete parameter persistence data", + options: [ + { + name: "--all", + description: + "Clear all parameter persistence data. Either positional name argument or --all can be specified", + }, + { + name: "--purge", + description: + "Delete parameter persistence file from working directory. Only available when --all is specified", + }, + { + name: "--recursive", + description: + "Indicate this is recursive delete of parameter persistence. Only available when --all is specified", + }, + { + name: ["--yes", "-y"], + description: + "Do not prompt for confirmation. Only available when --all is specified", + }, + ], + args: { + name: "", + description: + "Space-separated list of parameter persistence names. Either positional name argument or --all can be specified", + isOptional: true, + }, + }, + { + name: "off", + description: "Turn off parameter persistence", + }, + { + name: "on", + description: "Turn on parameter persistence", + }, + { + name: "show", + description: "Show parameter persistence data", + + args: { + name: "", + description: "Space-separated list of parameter persistence names", + isOptional: true, + }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/configure.ts b/src/az/2.53.0/configure.ts new file mode 100644 index 000000000000..8c8dd8a7f3c3 --- /dev/null +++ b/src/az/2.53.0/configure.ts @@ -0,0 +1,25 @@ +const completion: Fig.Spec = { + name: "configure", + description: "Manage Azure CLI configuration. This command is interactive", + options: [ + { + name: ["--defaults", "-d"], + description: + "Space-separated 'name=value' pairs for common argument defaults", + args: { name: "defaults" }, + }, + { + name: ["--list-defaults", "-l"], + description: "List all applicable defaults", + args: { name: "list-defaults", suggestions: ["false", "true"] }, + }, + { + name: "--scope", + description: + 'Scope of defaults. Using "local" for settings only effective under current folder', + args: { name: "scope", suggestions: ["global", "local"] }, + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/confluent.ts b/src/az/2.53.0/confluent.ts new file mode 100644 index 000000000000..bef53e50df48 --- /dev/null +++ b/src/az/2.53.0/confluent.ts @@ -0,0 +1,285 @@ +const completion: Fig.Spec = { + name: "confluent", + description: "Manage confluent resources", + subcommands: [ + { + name: "offer-detail", + description: "Manage confluent offer details", + subcommands: [ + { + name: "show", + description: "Get the offer details for available offers", + options: [ + { + name: "--offer-id", + description: "Offer Id", + args: { name: "offer-id" }, + }, + { + name: "--publisher-id", + description: "Publisher Id", + args: { name: "publisher-id" }, + }, + ], + }, + ], + }, + { + name: "organization", + description: "Manage organization with confluent", + subcommands: [ + { + name: "create", + description: "Create Organization resource", + options: [ + { + name: ["--organization-name", "--name", "-n"], + description: "Organization resource name", + args: { name: "organization-name" }, + isRequired: true, + }, + { + name: "--plan-id", + description: "Offer Plan Id", + args: { name: "plan-id" }, + isRequired: true, + }, + { + name: "--plan-name", + description: "Offer Plan Name", + args: { name: "plan-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--term-unit", + description: "Offer Plan Term unit", + args: { name: "term-unit" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--offer-id", + description: "Offer Id", + args: { name: "offer-id" }, + }, + { + name: "--publisher-id", + description: "Publisher Id", + args: { name: "publisher-id" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete Organization resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--organization-name", "--name", "-n"], + description: "Organization resource name", + args: { name: "organization-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all Organizations under the specified resource group. And List all organizations under the specified subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the properties of a specific Organization resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--organization-name", "--name", "-n"], + description: "Organization resource name", + args: { name: "organization-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update Organization resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--organization-name", "--name", "-n"], + description: "Organization resource name", + args: { name: "organization-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the confluent organization is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--organization-name", "--name", "-n"], + description: "Organization resource name", + args: { name: "organization-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "terms", + description: + "Manage marketplace agreement with confluent. This command group will be deprecated, please use 'az term' instead", + subcommands: [ + { + name: "list", + description: + "List Confluent marketplace agreements in the subscription. This command will be deprecated, please use 'az term show' instead", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/connectedk8s.ts b/src/az/2.53.0/connectedk8s.ts new file mode 100644 index 000000000000..1dccb70cd666 --- /dev/null +++ b/src/az/2.53.0/connectedk8s.ts @@ -0,0 +1,684 @@ +const completion: Fig.Spec = { + name: "connectedk8s", + description: "Commands to manage connected kubernetes clusters", + subcommands: [ + { + name: "connect", + description: "Onboard a connected kubernetes cluster to azure", + options: [ + { + name: ["--name", "-n"], + description: "The name of the connected cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--azure-hybrid-benefit", + description: "Flag to enable/disable Azure Hybrid Benefit feature", + args: { + name: "azure-hybrid-benefit", + suggestions: ["False", "NotApplicable", "True"], + }, + }, + { + name: "--container-log-path", + description: + "Override the default container log path to enable fluent-bit logging", + args: { name: "container-log-path" }, + }, + { + name: "--correlation-id", + description: + "A guid that is used to internally track the source of cluster onboarding. Please do not modify it unless advised", + args: { name: "correlation-id" }, + }, + { + name: ["--custom-ca-cert", "--proxy-cert"], + description: + "Path to the certificate file for proxy or custom Certificate Authority", + args: { name: "custom-ca-cert" }, + }, + { + name: "--custom-locations-oid", + description: "OID of 'custom-locations' app", + args: { name: "custom-locations-oid" }, + }, + { + name: "--disable-auto-upgrade", + description: "Flag to disable auto upgrade of arc agents", + }, + { + name: "--distribution", + description: + "The Kubernetes distribution which will be running on this connected cluster", + args: { + name: "distribution", + suggestions: [ + "aks", + "aks_edge_k3s", + "aks_edge_k8s", + "aks_engine", + "aks_management", + "aks_workload", + "canonical", + "capz", + "eks", + "generic", + "gke", + "k3s", + "karbon", + "kind", + "minikube", + "openshift", + "rancher_rke", + "tkg", + ], + }, + }, + { + name: "--distribution-version", + description: + "The Kubernetes distribution version of the connected cluster", + args: { name: "distribution-version" }, + }, + { + name: "--enable-private-link", + description: + "Flag to enable/disable private link support on a connected cluster resource. Allowed values: false, true", + args: { name: "enable-private-link", suggestions: ["false", "true"] }, + }, + { + name: "--infrastructure", + description: + "The infrastructure on which the Kubernetes cluster represented by this connected cluster will be running on", + args: { + name: "infrastructure", + suggestions: [ + "LTSCWindows 10 Enterprise LTSC", + "Windows 10 Enterprise", + "Windows 10 Enterprise LTSC 2019", + "Windows 10 Enterprise LTSC 2021", + "Windows 10 Enterprise N", + "Windows 10 Enterprise N LTSC 2019", + "Windows 10 Enterprise N LTSC 2021", + "Windows 10 IoT Enterprise", + "Windows 10 IoT Enterprise LTSC 2019", + "Windows 10 IoT Enterprise LTSC 2021", + "Windows 10 Pro", + "Windows 11 Enterprise", + "Windows 11 Enterprise N", + "Windows 11 IoT Enterprise", + "Windows 11 Pro", + "Windows Server 2019", + "Windows Server 2019 Datacenter", + "Windows Server 2019 Standard", + "Windows Server 2022", + "Windows Server 2022 Datacenter", + "Windows Server 2022 Standard", + "aws", + "azure", + "azure_stack_edge", + "azure_stack_hci", + "azure_stack_hub", + "gcp", + "generic", + "vsphere", + "windows_server", + ], + }, + }, + { + name: "--kube-config", + description: "Path to the kube config file", + args: { name: "kube-config" }, + }, + { + name: "--kube-context", + description: "Kubconfig context from current machine", + args: { name: "kube-context" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--onboarding-timeout", + description: + "Time required (in seconds) for the arc-agent pods to be installed on the kubernetes cluster. Override this value if the hardware/network constraints on your cluster requires more time for installing the arc-agent pods", + args: { name: "onboarding-timeout" }, + }, + { + name: ["--private-link-scope-resource-id", "--pls-arm-id"], + description: + "ARM resource id of the private link scope resource to which this connected cluster is associated", + args: { name: "private-link-scope-resource-id" }, + }, + { + name: "--proxy-http", + description: "Http proxy URL to be used", + args: { name: "proxy-http" }, + }, + { + name: "--proxy-https", + description: "Https proxy URL to be used", + args: { name: "proxy-https" }, + }, + { + name: "--proxy-skip-range", + description: + "List of URLs/CIDRs for which proxy should not to be used", + args: { name: "proxy-skip-range" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "delete", + description: + "Delete a connected kubernetes cluster along with connected cluster agents", + options: [ + { + name: "--force", + description: + "Force delete to remove all azure-arc resources from the cluster", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kube-config", + description: "Path to the kube config file", + args: { name: "kube-config" }, + }, + { + name: "--kube-context", + description: "Kubconfig context from current machine", + args: { name: "kube-context" }, + }, + { + name: ["--name", "-n"], + description: "The name of the connected cluster", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "disable-features", + description: "Disables the selective features on the connected cluster", + options: [ + { + name: "--features", + description: "Space-separated list of features you want to disable", + args: { + name: "features", + suggestions: ["azure-rbac", "cluster-connect", "custom-locations"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kube-config", + description: "Path to the kube config file", + args: { name: "kube-config" }, + }, + { + name: "--kube-context", + description: "Kubconfig context from current machine", + args: { name: "kube-context" }, + }, + { + name: ["--name", "-n"], + description: "The name of the connected cluster", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "enable-features", + description: "Enables the selective features on the connected cluster", + options: [ + { + name: "--features", + description: "Space-separated list of features you want to enable", + args: { + name: "features", + suggestions: ["azure-rbac", "cluster-connect", "custom-locations"], + }, + isRequired: true, + }, + { + name: "--app-id", + description: + "Application ID for enabling Azure RBAC. Specify when enabling azure-rbac", + args: { name: "app-id" }, + }, + { + name: "--app-secret", + description: + "Application secret for enabling Azure RBAC. Specify when enabling azure-rbac", + args: { name: "app-secret" }, + }, + { + name: "--custom-locations-oid", + description: "OID of 'custom-locations' app", + args: { name: "custom-locations-oid" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kube-config", + description: "Path to the kube config file", + args: { name: "kube-config" }, + }, + { + name: "--kube-context", + description: "Kubconfig context from current machine", + args: { name: "kube-context" }, + }, + { + name: ["--name", "-n"], + description: "The name of the connected cluster", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-azure-rbac-list", + description: + "Comma separated list of names of usernames/email/oid. Azure RBAC will be skipped for these users. Specify when enabling azure-rbac", + args: { name: "skip-azure-rbac-list" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List connected kubernetes clusters", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "proxy", + description: "Get access to a connected kubernetes cluster", + options: [ + { + name: ["--file", "-f"], + description: + "Kubernetes configuration file to update. If not provided, updates the file '~/.kube/config'. Use '-' to print YAML to stdout instead", + args: { name: "file" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kube-context", + description: "If specified, overwrite the default context name", + args: { name: "kube-context" }, + }, + { + name: ["--name", "-n"], + description: "The name of the connected cluster", + args: { name: "name" }, + }, + { + name: "--port", + description: "Port used for accessing connected cluster", + args: { name: "port" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--token", + description: + "Service account token to use to authenticate to the kubernetes cluster", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Show details of a connected kubernetes cluster", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the connected cluster", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "troubleshoot", + description: + "Perform diagnostic checks on an Arc enabled Kubernetes cluster", + options: [ + { + name: ["--name", "-n"], + description: "The name of the connected cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--kube-config", + description: "Path to the kube config file", + args: { name: "kube-config" }, + }, + { + name: "--kube-context", + description: "Kubconfig context from current machine", + args: { name: "kube-context" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "update", + description: "Update properties of the arc onboarded kubernetes cluster", + options: [ + { + name: "--auto-upgrade", + description: + "Flag to enable/disable auto upgrade of arc agents. By default, auto upgrade of agents is enabled", + args: { name: "auto-upgrade", suggestions: ["false", "true"] }, + }, + { + name: "--azure-hybrid-benefit", + description: "Flag to enable/disable Azure Hybrid Benefit feature", + args: { + name: "azure-hybrid-benefit", + suggestions: ["False", "NotApplicable", "True"], + }, + }, + { + name: "--container-log-path", + description: + "Override the default container log path to enable fluent-bit logging", + args: { name: "container-log-path" }, + }, + { + name: ["--custom-ca-cert", "--proxy-cert"], + description: + "Path to the certificate file for proxy or custom Certificate Authority", + args: { name: "custom-ca-cert" }, + }, + { + name: "--disable-proxy", + description: "Disables proxy settings for agents", + }, + { + name: "--distribution", + description: + "The Kubernetes distribution which will be running on this connected cluster", + args: { + name: "distribution", + suggestions: [ + "aks", + "aks_edge_k3s", + "aks_edge_k8s", + "aks_engine", + "aks_management", + "aks_workload", + "canonical", + "capz", + "eks", + "generic", + "gke", + "k3s", + "karbon", + "kind", + "minikube", + "openshift", + "rancher_rke", + "tkg", + ], + }, + }, + { + name: "--distribution-version", + description: + "The Kubernetes distribution version of the connected cluster", + args: { name: "distribution-version" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kube-config", + description: "Path to the kube config file", + args: { name: "kube-config" }, + }, + { + name: "--kube-context", + description: "Kubconfig context from current machine", + args: { name: "kube-context" }, + }, + { + name: ["--name", "-n"], + description: "The name of the connected cluster", + args: { name: "name" }, + }, + { + name: "--proxy-http", + description: "Http proxy URL to be used", + args: { name: "proxy-http" }, + }, + { + name: "--proxy-https", + description: "Https proxy URL to be used", + args: { name: "proxy-https" }, + }, + { + name: "--proxy-skip-range", + description: + "List of URLs/CIDRs for which proxy should not to be used", + args: { name: "proxy-skip-range" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "upgrade", + description: + "Atomically upgrade onboarded agents to the specific version or default to the latest version", + options: [ + { + name: "--agent-version", + description: "Version of agent to update the helm charts to", + args: { name: "agent-version" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kube-config", + description: "Path to the kube config file", + args: { name: "kube-config" }, + }, + { + name: "--kube-context", + description: "Kubconfig context from current machine", + args: { name: "kube-context" }, + }, + { + name: ["--name", "-n"], + description: "The name of the connected cluster", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--upgrade-timeout", + description: + "Time required (in seconds) for the arc-agent pods to be upgraded on the kubernetes cluster. Override this value if the hardware/network constraints on your cluster requires more time for upgrading the arc-agent pods", + args: { name: "upgrade-timeout" }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/connectedmachine.ts b/src/az/2.53.0/connectedmachine.ts new file mode 100644 index 000000000000..87e2be4cfadf --- /dev/null +++ b/src/az/2.53.0/connectedmachine.ts @@ -0,0 +1,1680 @@ +const completion: Fig.Spec = { + name: "connectedmachine", + description: "Manage an Azure Arc-Enabled Server", + subcommands: [ + { + name: "assess-patches", + description: "Assess patches on an Azure Arc-Enabled Server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the hybrid machine", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure Arc-Enabled Server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--machine-name", "--name", "-n"], + description: "The name of the hybrid machine", + args: { name: "machine-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "install-patches", + description: "Install patches on an Azure Arc-Enabled Server", + options: [ + { + name: "--maximum-duration", + description: + "Specifies the maximum amount of time that the operation will run. It must be an ISO 8601-compliant duration string such as PT4H (4 hours)", + args: { name: "maximum-duration" }, + isRequired: true, + }, + { + name: "--reboot-setting", + description: + "Defines when it is acceptable to reboot a VM during a software update operation", + args: { + name: "reboot-setting", + suggestions: ["Always", "IfRequired", "Never"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--linux-parameters", + description: + 'Input for InstallPatches on a Linux VM, as directly received by the API Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "linux-parameters" }, + }, + { + name: ["--name", "-n"], + description: "The name of the hybrid machine", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--windows-parameters", + description: + 'Input for InstallPatches on a Windows VM, as directly received by the API Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "windows-parameters" }, + }, + ], + }, + { + name: "list", + description: + "List all the Azure Arc-Enabled Servers in the specified resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get information about the model view or the instance view of an Azure Arc-Enabled Server", + options: [ + { + name: "--expand", + description: "The expand expression to apply on the operation", + args: { name: "expand", suggestions: ["instanceView"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--machine-name", "--name", "-n"], + description: "The name of the hybrid machine", + args: { name: "machine-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an Azure Arc-Enabled Server. Please note some properties can be set only during machine creation", + options: [ + { + name: "--location", + description: "The location of the hybrid machine", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--agent-upgrade", + description: + 'The info of the machine w.r.t Agent Upgrade Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "agent-upgrade" }, + }, + { + name: "--client-public-key", + description: + "Public Key that the client provides to be used during initial resource onboarding", + args: { name: "client-public-key" }, + }, + { + name: "--extensions", + description: + 'Machine Extensions information (deprecated field) Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extensions" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + 'Identity for the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--location-data", + description: + 'Metadata pertaining to the geographic location of the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "location-data" }, + }, + { + name: ["--machine-name", "--name", "-n"], + description: "The name of the hybrid machine", + args: { name: "machine-name" }, + }, + { + name: "--mssql-discovered", + description: + "Specifies whether any MS SQL instance is discovered on the machine", + args: { name: "mssql-discovered" }, + }, + { + name: "--os-profile", + description: + 'Specifies the operating system settings for the hybrid machine. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "os-profile" }, + }, + { + name: "--os-type", + description: "The type of Operating System (windows/linux)", + args: { name: "os-type" }, + }, + { + name: "--parent-cluster-id", + description: + "The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any", + args: { name: "parent-cluster-id" }, + }, + { + name: "--private-scope-id", + description: + "The resource id of the private link scope this machine is assigned to, if any", + args: { name: "private-scope-id" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--service-statuses", + description: + 'Statuses of dependent services that are reported back to ARM. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "service-statuses" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "upgrade-extension", + description: "Upgrade Extensions of an Azure Arc-Enabled Server", + options: [ + { + name: "--extension-targets", + description: + 'Describes the Extension Target Properties. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extension-targets" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--machine-name", + description: "The name of the hybrid machine", + args: { name: "machine-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "extension", + description: "Manage a VM extension on an Azure Arc-Enabled Server", + subcommands: [ + { + name: "create", + description: "Create the extension", + options: [ + { + name: ["--extension-name", "--name", "-n"], + description: "The name of the machine extension", + args: { name: "extension-name" }, + isRequired: true, + }, + { + name: "--machine-name", + description: + "The name of the machine where the extension should be created or updated", + args: { name: "machine-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--enable-auto-upgrade", + description: + "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available", + args: { + name: "enable-auto-upgrade", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-update-tag", + description: + "How the extension handler should be forced to update even if the extension configuration has not changed", + args: { name: "force-update-tag" }, + }, + { + name: "--instance-view", + description: + 'The machine extension instance view. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "instance-view" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--protected-settings", + description: + "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. Support json-file and yaml-file", + args: { name: "protected-settings" }, + }, + { + name: "--publisher", + description: "The name of the extension handler publisher", + args: { name: "publisher" }, + }, + { + name: "--settings", + description: + "Json formatted public settings for the extension. Support json-file and yaml-file", + args: { name: "settings" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--type", + description: + 'Specifies the type of the extension; an example is "CustomScriptExtension"', + args: { name: "type" }, + }, + { + name: "--type-handler-version", + description: "Specifies the version of the script handler", + args: { name: "type-handler-version" }, + }, + { + name: "--upgrade-minor-ver", + description: + "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true", + args: { + name: "upgrade-minor-ver", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete the extension", + options: [ + { + name: ["--extension-name", "--name", "-n"], + description: "The name of the machine extension", + args: { name: "extension-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--machine-name", + description: + "The name of the machine where the extension should be deleted", + args: { name: "machine-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all extensions of a Non-Azure machine", + options: [ + { + name: "--machine-name", + description: "The name of the machine containing the extension", + args: { name: "machine-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: "The expand expression to apply on the operation", + args: { name: "expand" }, + }, + ], + }, + { + name: "show", + description: "Create or update the extension", + options: [ + { + name: ["--extension-name", "--name", "-n"], + description: "The name of the machine extension", + args: { name: "extension-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--machine-name", + description: "The name of the machine containing the extension", + args: { name: "machine-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update operation to update the extension", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--enable-auto-upgrade", + description: + "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available", + args: { + name: "enable-auto-upgrade", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--extension-name", "--name", "-n"], + description: "The name of the machine extension", + args: { name: "extension-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-update-tag", + description: + "How the extension handler should be forced to update even if the extension configuration has not changed", + args: { name: "force-update-tag" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-view", + description: + 'The machine extension instance view. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "instance-view" }, + }, + { + name: "--machine-name", + description: "The name of the machine containing the extension", + args: { name: "machine-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--protected-settings", + description: + "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. Support json-file and yaml-file", + args: { name: "protected-settings" }, + }, + { + name: "--publisher", + description: "The name of the extension handler publisher", + args: { name: "publisher" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--settings", + description: + "Json formatted public settings for the extension. Support json-file and yaml-file", + args: { name: "settings" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--type", + description: + 'Specifies the type of the extension; an example is "CustomScriptExtension"', + args: { name: "type" }, + }, + { + name: "--type-handler-version", + description: "Specifies the version of the script handler", + args: { name: "type-handler-version" }, + }, + { + name: "--upgrade-minor-ver", + description: + "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true", + args: { + name: "upgrade-minor-ver", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: ["--extension-name", "--name", "-n"], + description: "The name of the machine extension", + args: { name: "extension-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--machine-name", + description: "The name of the machine containing the extension", + args: { name: "machine-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "image", + description: + "Manage VM extension metadata available for Azure Arc-Enabled Servers", + subcommands: [ + { + name: "list", + description: + "List all Extension versions based on location, publisher, extensionType", + options: [ + { + name: ["--extension-type", "--type"], + description: + "The extensionType of the Extension being received", + args: { name: "extension-type" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--publisher", "-p"], + description: "The publisher of the Extension being received", + args: { name: "publisher" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get an Extension Metadata based on location, publisher, extensionType and version", + options: [ + { + name: ["--extension-type", "--type"], + description: + "The extensionType of the Extension being received", + args: { name: "extension-type" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--version", "--name", "-n"], + description: "The version of the Extension being received", + args: { name: "version" }, + }, + { + name: ["--publisher", "-p"], + description: "The publisher of the Extension being received", + args: { name: "publisher" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: + "Manage private endpoint connection with an Azure Arc-Enabled Server", + subcommands: [ + { + name: "delete", + description: "Delete a private endpoint connection with a given name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: + "The name of the Azure Arc PrivateLinkScope resource", + args: { name: "scope-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all private endpoint connections on a private link scope", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scope-name", + description: + "The name of the Azure Arc PrivateLinkScope resource", + args: { name: "scope-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a private endpoint connection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: + "The name of the Azure Arc PrivateLinkScope resource", + args: { name: "scope-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a private endpoint connection with a given name", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: [ + "--private-link-service-connection-state", + "--connection-state", + ], + description: + 'Connection state of the private endpoint connection. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "private-link-service-connection-state" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-endpoint", + description: + 'Private endpoint which the connection belongs to. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "private-endpoint" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: + "The name of the Azure Arc PrivateLinkScope resource", + args: { name: "scope-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: + "The name of the Azure Arc PrivateLinkScope resource", + args: { name: "scope-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: + "Manage private link resource of an Azure Arc-Enabled Server", + subcommands: [ + { + name: "list", + description: + "List the private link resources that need to be created for an Azure Monitor PrivateLinkScope", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--scope-name", "-n"], + description: + "The name of the Azure Arc PrivateLinkScope resource", + args: { name: "scope-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the private link resources that need to be created for an Azure Monitor PrivateLinkScope", + options: [ + { + name: ["--group-name", "--name", "-n"], + description: "The name of the private link resource", + args: { name: "group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: + "The name of the Azure Arc PrivateLinkScope resource", + args: { name: "scope-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "private-link-scope", + description: "Manage private link scope of an Azure Arc-Enabled Server", + subcommands: [ + { + name: "create", + description: + "Create (or updates) a Azure Arc PrivateLinkScope. Note: You cannot specify a different value for InstrumentationKey nor AppId in the Put operation", + options: [ + { + name: ["--scope-name", "--name", "-n"], + description: + "The name of the Azure Arc PrivateLinkScope resource", + args: { name: "scope-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Resource location When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--public-network-access", + description: + "Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure Arc PrivateLinkScope", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--scope-name", "--name", "-n"], + description: + "The name of the Azure Arc PrivateLinkScope resource", + args: { name: "scope-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Get a list of Azure Arc PrivateLinkScopes within a resource group. And Gets a list of all Azure Arc PrivateLinkScopes within a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Return an Azure Arc PrivateLinkScope", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--scope-name", "--name", "-n"], + description: + "The name of the Azure Arc PrivateLinkScope resource", + args: { name: "scope-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an Azure Arc PrivateLinkScope. Note: You cannot specify a different value for InstrumentationKey nor AppId in the Put operation", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--location", + description: + "The location of the Azure Arc PrivateLinkScope resource", + args: { name: "location" }, + }, + { + name: ["--scope-name", "--name", "-n"], + description: + "The name of the Azure Arc PrivateLinkScope resource", + args: { name: "scope-name" }, + }, + { + name: "--public-network-access", + description: + "Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "update-tag", + description: + "Update an existing PrivateLinkScope's tags. To update other fields use the CreateOrUpdate method", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: + "The name of the Azure Arc PrivateLinkScope resource", + args: { name: "scope-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--scope-name", "--name", "-n"], + description: + "The name of the Azure Arc PrivateLinkScope resource", + args: { name: "scope-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/connectedvmware.ts b/src/az/2.53.0/connectedvmware.ts new file mode 100644 index 000000000000..9aa69b7c668f --- /dev/null +++ b/src/az/2.53.0/connectedvmware.ts @@ -0,0 +1,2203 @@ +const completion: Fig.Spec = { + name: "connectedvmware", + description: "Commands to manage Connected VMware", + subcommands: [ + { + name: "cluster", + description: "Cluster resource", + subcommands: [ + { + name: "create", + description: "Create a cluster resource", + options: [ + { + name: ["--custom-location", "-c"], + description: + "Name or ID of the custom location that will manage this resource", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--inventory-item", "-i"], + description: "Name or ID of the inventory item", + args: { name: "inventory-item" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vcenter", "-v"], + description: + "Name or ID of the vCenter that is managing this resource", + args: { name: "vcenter" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete cluster resource", + options: [ + { name: "--force", description: "Whether force delete or not" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve a list of cluster of given resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get details of a cluster by id, resource-group, cluster name, or subscription", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "datastore", + description: "Datastore resource", + subcommands: [ + { + name: "create", + description: "Create a datastore resource", + options: [ + { + name: ["--custom-location", "-c"], + description: + "Name or ID of the custom location that will manage this resource", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--inventory-item", "-i"], + description: "Name or ID of the inventory item", + args: { name: "inventory-item" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vcenter", "-v"], + description: + "Name or ID of the vCenter that is managing this resource", + args: { name: "vcenter" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete datastore resource", + options: [ + { name: "--force", description: "Whether force delete or not" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve a list of datastore of given resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get details of a datastore by id, resource-group, datastore name, or subscription", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "host", + description: "Host resource", + subcommands: [ + { + name: "create", + description: "Create a host resource", + options: [ + { + name: ["--custom-location", "-c"], + description: + "Name or ID of the custom location that will manage this resource", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--inventory-item", "-i"], + description: "Name or ID of the inventory item", + args: { name: "inventory-item" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vcenter", "-v"], + description: + "Name or ID of the vCenter that is managing this resource", + args: { name: "vcenter" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete host resource", + options: [ + { name: "--force", description: "Whether force delete or not" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve a list of host of given resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get details of a host by id, resource-group, host name, or subscription", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "resource-pool", + description: "Resource pool resource", + subcommands: [ + { + name: "create", + description: "Create a resource pool resource", + options: [ + { + name: ["--custom-location", "-c"], + description: + "Name or ID of the custom location that will manage this resource", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--inventory-item", "-i"], + description: "Name or ID of the inventory item", + args: { name: "inventory-item" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vcenter", "-v"], + description: + "Name or ID of the vCenter that is managing this resource", + args: { name: "vcenter" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete resource pool resource", + options: [ + { name: "--force", description: "Whether force delete or not" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Retrieve a list of resource pool of given resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get details of a resource pool by id, resource-group, resource pool name, or subscription", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "vcenter", + description: "Vcenter resource", + subcommands: [ + { + name: "connect", + description: "Create vcenter resource", + options: [ + { + name: ["--custom-location", "-c"], + description: + "Name or ID of the custom location that will manage this resource", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--fqdn", + description: "FQDN/IP address of the vCenter", + args: { name: "fqdn" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--password", + description: + "Username password credentials to use for connecting to the vCenter", + args: { name: "password" }, + }, + { + name: "--port", + description: "The port of the vCenter", + args: { name: "port" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--username", + description: "Username to use for connecting to the vCenter", + args: { name: "username" }, + }, + ], + }, + { + name: "delete", + description: "Delete vcenter resource", + options: [ + { name: "--force", description: "Whether force delete or not" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Retrieve a list of vcenter resource of given resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get details of a vcenter resource by id, resource-group, vcenter name or subscription", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "inventory-item", + description: "Inventory item resource", + subcommands: [ + { + name: "list", + description: + "Retrieve a list of inventory item given by resource group and vcenter name", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vcenter", "-v"], + description: + "Name or ID of the vCenter that is managing this resource", + args: { name: "vcenter" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get details of a inventory item by inventory item name or id, resource-group and vcenter name", + options: [ + { + name: ["--inventory-item", "-i"], + description: "Name or ID of the inventory item", + args: { name: "inventory-item" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vcenter", "-v"], + description: + "Name or ID of the vCenter that is managing this resource", + args: { name: "vcenter" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "virtual-network", + description: "Virtual network resource", + subcommands: [ + { + name: "create", + description: "Create virtual network resource", + options: [ + { + name: ["--custom-location", "-c"], + description: + "Name or ID of the custom location that will manage this resource", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--inventory-item", "-i"], + description: "Name or ID of the inventory item", + args: { name: "inventory-item" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vcenter", "-v"], + description: + "Name or ID of the vCenter that is managing this resource", + args: { name: "vcenter" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete virtual network resource", + options: [ + { name: "--force", description: "Whether force delete or not" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Retrieve a list of virtual network of given resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get details of a virtual network by id, resource-group, reource pool name or subscription", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "vm", + description: "Vm resource", + subcommands: [ + { + name: "create", + description: "Create vm in vcenter from existing vm template", + options: [ + { + name: ["--custom-location", "-c"], + description: + "Name or ID of the custom location that will manage this resource", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--admin-password", + description: "Admin password for the vm", + args: { name: "admin-password" }, + }, + { + name: "--admin-username", + description: "Admin username for the vm", + args: { name: "admin-username" }, + }, + { + name: "--cluster", + description: "Name or ID of the cluster for deploying the VM", + args: { name: "cluster" }, + }, + { + name: "--datastore", + description: "Name or ID of the datastore for deploying the VM", + args: { name: "datastore" }, + }, + { + name: "--disk", + description: + "Disk overrides for the vm. Usage: --disk name=<> disk_size=<> disk_mode=<> controller_key=<> device-key=<> unit_number=<>", + args: { name: "disk" }, + }, + { + name: "--host", + description: "Name or ID of the host for deploying the VM", + args: { name: "host" }, + }, + { + name: ["--inventory-item", "-i"], + description: "Name or ID of the inventory item", + args: { name: "inventory-item" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--memory-size", + description: "Desired memory size in MBs for the vm", + args: { name: "memory-size" }, + }, + { + name: "--nic", + description: + "Network overrides for the vm. Usage: --nic name=<> network=<> nic-type=<> power-on-boot=<> allocation-method=<> ip-address=<> subnet-mask=<> device-key=<> gateway=", + args: { name: "nic" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--num-CPUs", + description: "Number of desired vCPUs for the vm", + args: { name: "num-CPUs" }, + }, + { + name: "--num-cores-per-socket", + description: "Number of desired cores per socket for the vm", + args: { name: "num-cores-per-socket" }, + }, + { + name: "--resource-pool", + description: + "Name or ID of the resource pool for deploying the vm", + args: { name: "resource-pool" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--vcenter", "-v"], + description: + "Name or ID of the vCenter that is managing this resource", + args: { name: "vcenter" }, + }, + { + name: "--vm-template", + description: "Name or ID of the vm template for deploying the vm", + args: { name: "vm-template" }, + }, + ], + }, + { + name: "delete", + description: "Delete vm resource", + options: [ + { + name: "--delete-from-host", + description: "Delete the VM from the VMware host", + args: { name: "delete-from-host" }, + }, + { + name: "--delete-machine", + description: + "Delete the parent Microsoft.HybridCompute Machine resource", + args: { name: "delete-machine" }, + }, + { + name: "--force", + description: "Whether force delete or not", + args: { name: "force" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve a list of vm of given resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "restart", + description: "Restart vm resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get details of a vm by id, resource-group, reource pool name or subscription", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start vm resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop vm resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-shutdown", + description: "Skips shutdown and power-off immediately", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update vm resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--memory-size", + description: "Desired memory size in MBs for the vm", + args: { name: "memory-size" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--num-CPUs", + description: "Number of desired vCPUs for the vm", + args: { name: "num-CPUs" }, + }, + { + name: "--num-cores-per-socket", + description: "Number of desired cores per socket for the vm", + args: { name: "num-cores-per-socket" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "disk", + description: "Vm disk", + subcommands: [ + { + name: "add", + description: "Add virtual disk to a virtual machine", + options: [ + { + name: "--controller-key", + description: "The controller key of the disk", + args: { name: "controller-key" }, + isRequired: true, + }, + { + name: "--disk-size", + description: "The disk size in GBs", + args: { name: "disk-size" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Disk", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--disk-mode", + description: "The mode of the disk", + args: { name: "disk-mode" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--unit-number", + description: "The unit number of the disk", + args: { name: "unit-number" }, + }, + ], + }, + { + name: "delete", + description: "Delete virtual disks to a virtual machine", + options: [ + { + name: "--disks", + description: "Names of the Disks", + args: { name: "disks" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Retrieve a list of vm disk from given resource group name and vm name", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get details of a vm disk by it's name, resource-group and vm name", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Disk", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update virtual disk to a virtual machine", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--controller-key", + description: "The controller key of the disk", + args: { name: "controller-key" }, + }, + { + name: "--device-key", + description: "The device key for the disk", + args: { name: "device-key" }, + }, + { + name: "--disk-mode", + description: "The mode of the disk", + args: { name: "disk-mode" }, + }, + { + name: "--disk-size", + description: "The disk size in GBs", + args: { name: "disk-size" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Disk", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--unit-number", + description: "The unit number of the disk", + args: { name: "unit-number" }, + }, + ], + }, + ], + }, + { + name: "extension", + description: "Manage vm extension with connectedvmware", + subcommands: [ + { + name: "create", + description: "The operation to create the extension", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--name", + description: "The name of the vm extension", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: + "The name of the vm where the extension should be created or updated", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--auto-upgrade-minor", + description: + "Indicate whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true", + args: { + name: "auto-upgrade-minor", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-auto-upgrade", + description: + "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available", + args: { + name: "enable-auto-upgrade", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-update-tag", + description: + "How the extension handler should be forced to update even if the extension configuration has not changed", + args: { name: "force-update-tag" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--protected-settings", + description: + "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. Expected value: json-string/json-file/@json-file", + args: { name: "protected-settings" }, + }, + { + name: "--publisher", + description: "The name of the extension handler publisher", + args: { name: "publisher" }, + }, + { + name: "--settings", + description: + "Json formatted public settings for the extension. Expected value: json-string/json-file/@json-file", + args: { name: "settings" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--type", + description: + 'Specify the type of the extension; an example is "CustomScriptExtension"', + args: { name: "type" }, + }, + { + name: "--type-handler-version", + description: "Specifies the version of the script handler", + args: { name: "type-handler-version" }, + }, + ], + }, + { + name: "delete", + description: "The operation to delete the extension", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "The name of the vm extension", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: + "The name of the vm where the extension should be deleted", + args: { name: "vm-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "The operation to get all extensions of a non-Azure vm", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "The name of the vm containing the extension", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--expand", + description: + "The expand expression to apply on the operation", + args: { name: "expand" }, + }, + ], + }, + { + name: "show", + description: "The operation to get the extension", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "The name of the vm extension", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: "The name of the vm containing the extension", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "update", + description: "The operation to update the extension", + options: [ + { + name: "--name", + description: "The name of the vm extension", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: + "The name of the vm where the extension should be created or updated", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--auto-upgrade-minor", + description: + "Indicate whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true", + args: { + name: "auto-upgrade-minor", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-auto-upgrade", + description: + "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available", + args: { + name: "enable-auto-upgrade", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-update-tag", + description: + "How the extension handler should be forced to update even if the extension configuration has not changed", + args: { name: "force-update-tag" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--protected-settings", + description: + "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. Expected value: json-string/json-file/@json-file", + args: { name: "protected-settings" }, + }, + { + name: "--publisher", + description: "The name of the extension handler publisher", + args: { name: "publisher" }, + }, + { + name: "--settings", + description: + "Json formatted public settings for the extension. Expected value: json-string/json-file/@json-file", + args: { name: "settings" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--type", + description: + 'Specify the type of the extension; an example is "CustomScriptExtension"', + args: { name: "type" }, + }, + { + name: "--type-handler-version", + description: "Specifies the version of the script handler", + args: { name: "type-handler-version" }, + }, + ], + }, + ], + }, + { + name: "guest-agent", + description: "Vm guest agent", + subcommands: [ + { + name: "enable", + description: "Enable guest agent on the vm", + options: [ + { + name: "--password", + description: + "Username password credentials to use for connecting to the VM", + args: { name: "password" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--username", + description: "Username to use for connecting to the vm", + args: { name: "username" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the VM", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--https-proxy", + description: "HTTPS proxy server url for the VM", + args: { name: "https-proxy" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: + "Get details of a guest agent by guest agent name, resource-group and vm name", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the VM", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "nic", + description: "Vm nic", + subcommands: [ + { + name: "add", + description: "Add virtual nic to a virtual machine", + options: [ + { + name: ["--name", "-n"], + description: "Name of the NIC", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--network", + description: "Name or Id of the virtual network", + args: { name: "network" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--nic-type", + description: "The nic type for the NIC", + args: { name: "nic-type" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--power-on-boot", + description: "The power on boot option for the nic", + args: { name: "power-on-boot" }, + }, + ], + }, + { + name: "delete", + description: "Delete virtual nic to a virtual machine", + options: [ + { + name: "--nics", + description: "Names of the NICs", + args: { name: "nics" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Retrieve a list of vm nic from given resource group name and vm name", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get details of a vm nic by it's name, resource-group and vm name", + options: [ + { + name: ["--name", "-n"], + description: "Name of the NIC", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update virtual network interface of a virtual machine", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--device-key", + description: "The device key for the nic", + args: { name: "device-key" }, + }, + { + name: ["--name", "-n"], + description: "Name of the NIC", + args: { name: "name" }, + }, + { + name: "--network", + description: "Name or Id of the virtual network", + args: { name: "network" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--power-on-boot", + description: "The power on boot option for the nic", + args: { name: "power-on-boot" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "vm-template", + description: "Vm template resource", + subcommands: [ + { + name: "create", + description: "Create vm template resource", + options: [ + { + name: ["--custom-location", "-c"], + description: + "Name or ID of the custom location that will manage this resource", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--inventory-item", "-i"], + description: "Name or ID of the inventory item", + args: { name: "inventory-item" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vcenter", "-v"], + description: + "Name or ID of the vCenter that is managing this resource", + args: { name: "vcenter" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete vm template resource", + options: [ + { name: "--force", description: "Whether force delete or not" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve a list of vm template of given resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get details of a vm template by id, resource-group, reource pool name or subscription", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/connection.ts b/src/az/2.53.0/connection.ts new file mode 100644 index 000000000000..419c9dc7a399 --- /dev/null +++ b/src/az/2.53.0/connection.ts @@ -0,0 +1,4476 @@ +const completion: Fig.Spec = { + name: "connection", + description: + "Commands to manage Service Connector local connections which allow local environment to connect Azure Resource. If you want to manage connection for compute service, please run 'az webapp/containerapp/spring connection'", + subcommands: [ + { + name: "create", + description: "Create a connection from local to a target resource", + subcommands: [ + { + name: "appconfig", + description: + "Create a Service Connector local connection to appconfig", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--app-config", + description: + "Name of the app configuration. Required if '--target-id' is not specified", + args: { name: "app-config" }, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--app-config'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the app configuration. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "confluent-cloud", + description: "Create a local connection to confluent-cloud", + options: [ + { + name: "--bootstrap-server", + description: "Kafka bootstrap server url", + args: { name: "bootstrap-server" }, + isRequired: true, + }, + { + name: "--kafka-key", + description: "Kafka API-Key (key)", + args: { name: "kafka-key" }, + isRequired: true, + }, + { + name: "--kafka-secret", + description: "Kafka API-Key (secret)", + args: { name: "kafka-secret" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--schema-key", + description: "Schema registry API-Key (key)", + args: { name: "schema-key" }, + isRequired: true, + }, + { + name: "--schema-registry", + description: "Schema registry url", + args: { name: "schema-registry" }, + isRequired: true, + }, + { + name: "--schema-secret", + description: "Schema registry API-Key (secret)", + args: { name: "schema-secret" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "cosmos-cassandra", + description: + "Create a Service Connector local connection to cosmos-cassandra", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--key-space", + description: + "Name of the keyspace. Required if '--target-id' is not specified", + args: { name: "key-space" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--key-space'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "cosmos-gremlin", + description: + "Create a Service Connector local connection to cosmos-gremlin", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--graph", + description: + "Name of the graph. Required if '--target-id' is not specified", + args: { name: "graph" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database', '--graph'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "cosmos-mongo", + description: + "Create a Service Connector local connection to cosmos-mongo", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "cosmos-sql", + description: + "Create a Service Connector local connection to cosmos-sql", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "cosmos-table", + description: + "Create a Service Connector local connection to cosmos-table", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--table", + description: + "Name of the table. Required if '--target-id' is not specified", + args: { name: "table" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--table'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "eventhub", + description: + "Create a Service Connector local connection to eventhub", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "kafka-springBoot", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--namespace", + description: + "Name of the eventhub namespace. Required if '--target-id' is not specified", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--namespace'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the eventhub. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "keyvault", + description: + "Create a Service Connector local connection to keyvault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--vault'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the keyvault. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + { + name: "--vault", + description: + "Name of the keyvault. Required if '--target-id' is not specified", + args: { name: "vault" }, + }, + ], + }, + { + name: "mysql", + description: "Create a Service Connector local connection to mysql", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the mysql database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the mysql server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the mysql server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + ], + }, + { + name: "mysql-flexible", + description: + "Create a Service Connector local connection to mysql-flexible", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the mysql flexible database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the mysql flexible server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the mysql flexible server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "postgres", + description: + "Create a Service Connector local connection to postgres", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of postgres database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of postgres server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the postgres service. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "postgres-flexible", + description: + "Create a Service Connector local connection to postgres-flexible", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of postgres flexible database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of postgres flexible server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the flexible postgres service. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "redis", + description: "Create a Service Connector local connection to redis", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the redis database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the redis server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the redis server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + ], + }, + { + name: "redis-enterprise", + description: + "Create a Service Connector local connection to redis-enterprise", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the redis enterprise database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the redis enterprise server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the redis server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + ], + }, + { + name: "servicebus", + description: + "Create a Service Connector local connection to servicebus", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--namespace", + description: + "Name of the servicebus namespace. Required if '--target-id' is not specified", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--namespace'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the servicebus. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "signalr", + description: "Create a Service Connector local connection to signalr", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { name: "client-type", suggestions: ["dotnet", "none"] }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--signalr", + description: + "Name of the signalr service. Required if '--target-id' is not specified", + args: { name: "signalr" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--signalr'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the signalr. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "sql", + description: "Create a Service Connector local connection to sql", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the sql database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the sql server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the sql server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "storage-blob", + description: + "Create a Service Connector local connection to storage-blob", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "storage-file", + description: + "Create a Service Connector local connection to storage-file", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + ], + }, + { + name: "storage-queue", + description: + "Create a Service Connector local connection to storage-queue", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "storage-table", + description: + "Create a Service Connector local connection to storage-table", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + ], + }, + { + name: "webpubsub", + description: + "Create a Service Connector local connection to webpubsub", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--webpubsub'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the webpubsub. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + { + name: "--webpubsub", + description: + "Name of the webpubsub service. Required if '--target-id' is not specified", + args: { name: "webpubsub" }, + }, + ], + }, + ], + }, + { + name: "delete", + description: "Delete a Service Connector local connection", + options: [ + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "generate-configuration", + description: + "Generate configurations of a Service Connector local connection. The result should be put to application configuration file or set as environment variables", + options: [ + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List local connections of Service Connector", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + ], + }, + { + name: "list-support-types", + description: + "List client types and auth types supported by local connections", + options: [ + { + name: ["--target-type", "-t"], + description: "The target resource type", + args: { + name: "target-type", + suggestions: [ + "appconfig", + "confluent-cloud", + "cosmos-cassandra", + "cosmos-gremlin", + "cosmos-mongo", + "cosmos-sql", + "cosmos-table", + "eventhub", + "keyvault", + "mysql", + "mysql-flexible", + "postgres", + "postgres-flexible", + "redis", + "redis-enterprise", + "servicebus", + "signalr", + "sql", + "storage-blob", + "storage-file", + "storage-queue", + "storage-table", + "webpubsub", + ], + }, + }, + ], + }, + { + name: "show", + description: "Get the details of a Service Connector local connection", + options: [ + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "validate", + description: "Validate a Service Connector local connection", + options: [ + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the connection is met", + options: [ + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "preview-configuration", + description: "Preview the expected configurations of local connection", + subcommands: [ + { + name: "appconfig", + description: + "Preview the expected configurations of local connection to appconfig", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "confluent-cloud", + description: + "Preview the expected configurations of local connection to confluent-cloud", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + ], + }, + { + name: "cosmos-cassandra", + description: + "Preview the expected configurations of local connection to cosmos-cassandra", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "cosmos-gremlin", + description: + "Preview the expected configurations of local connection to cosmos-gremlin", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "cosmos-mongo", + description: + "Preview the expected configurations of local connection to cosmos-mongo", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "cosmos-sql", + description: + "Preview the expected configurations of local connection to cosmos-sql", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "cosmos-table", + description: + "Preview the expected configurations of local connection to cosmos-table", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "eventhub", + description: + "Preview the expected configurations of local connection to eventhub", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "kafka-springBoot", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "keyvault", + description: + "Preview the expected configurations of local connection to keyvault", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "mysql", + description: + "Preview the expected configurations of local connection to mysql", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + ], + }, + { + name: "mysql-flexible", + description: + "Preview the expected configurations of local connection to mysql-flexible", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "postgres", + description: + "Preview the expected configurations of local connection to postgres", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "postgres-flexible", + description: + "Preview the expected configurations of local connection to postgres-flexible", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "redis", + description: + "Preview the expected configurations of local connection to redis", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + ], + }, + { + name: "redis-enterprise", + description: + "Preview the expected configurations of local connection to redis-enterprise", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + ], + }, + { + name: "servicebus", + description: + "Preview the expected configurations of local connection to servicebus", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "signalr", + description: + "Preview the expected configurations of local connection to signalr", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { name: "client-type", suggestions: ["dotnet", "none"] }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "sql", + description: + "Preview the expected configurations of local connection to sql", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "storage-blob", + description: + "Preview the expected configurations of local connection to storage-blob", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "storage-file", + description: + "Preview the expected configurations of local connection to storage-file", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + ], + }, + { + name: "storage-queue", + description: + "Preview the expected configurations of local connection to storage-queue", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "storage-table", + description: + "Preview the expected configurations of local connection to storage-table", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + ], + }, + { + name: "webpubsub", + description: + "Preview the expected configurations of local connection to webpubsub", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The local user account auth info", + args: { name: "user-account" }, + }, + ], + }, + ], + }, + { + name: "update", + description: "Update a Service Connector local connection", + subcommands: [ + { + name: "appconfig", + description: "Update a local to appconfig connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "confluent-cloud", + description: "Update a local connection to confluent-cloud", + options: [ + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + isRequired: true, + }, + { + name: "--bootstrap-server", + description: "Kafka bootstrap server url", + args: { name: "bootstrap-server" }, + }, + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--kafka-key", + description: "Kafka API-Key (key)", + args: { name: "kafka-key" }, + }, + { + name: "--kafka-secret", + description: "Kafka API-Key (secret)", + args: { name: "kafka-secret" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--schema-key", + description: "Schema registry API-Key (key)", + args: { name: "schema-key" }, + }, + { + name: "--schema-registry", + description: "Schema registry url", + args: { name: "schema-registry" }, + }, + { + name: "--schema-secret", + description: "Schema registry API-Key (secret)", + args: { name: "schema-secret" }, + }, + ], + }, + { + name: "cosmos-cassandra", + description: "Update a local to cosmos-cassandra connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "cosmos-gremlin", + description: "Update a local to cosmos-gremlin connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "cosmos-mongo", + description: "Update a local to cosmos-mongo connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "cosmos-sql", + description: "Update a local to cosmos-sql connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "cosmos-table", + description: "Update a local to cosmos-table connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "eventhub", + description: "Update a local to eventhub connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "kafka-springBoot", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "keyvault", + description: "Update a local to keyvault connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "mysql", + description: "Update a local to mysql connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + ], + }, + { + name: "mysql-flexible", + description: "Update a local to mysql-flexible connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "postgres", + description: "Update a local to postgres connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "postgres-flexible", + description: "Update a local to postgres-flexible connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "redis", + description: "Update a local to redis connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + ], + }, + { + name: "redis-enterprise", + description: "Update a local to redis-enterprise connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + ], + }, + { + name: "servicebus", + description: "Update a local to servicebus connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "signalr", + description: "Update a local to signalr connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { name: "client-type", suggestions: ["dotnet", "none"] }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "sql", + description: "Update a local to sql connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "storage-blob", + description: "Update a local to storage-blob connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "storage-file", + description: "Update a local to storage-file connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + ], + }, + { + name: "storage-queue", + description: "Update a local to storage-queue connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + { + name: "storage-table", + description: "Update a local to storage-table connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + ], + }, + { + name: "webpubsub", + description: "Update a local to webpubsub connection", + options: [ + { + name: "--client-type", + description: "The client type used on the connection", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: "The id of connection", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--user-account", + description: "The user account auth info", + args: { name: "user-account" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/consumption.ts b/src/az/2.53.0/consumption.ts new file mode 100644 index 000000000000..17cc4f28a20d --- /dev/null +++ b/src/az/2.53.0/consumption.ts @@ -0,0 +1,714 @@ +const completion: Fig.Spec = { + name: "consumption", + description: "Manage consumption of Azure resources", + subcommands: [ + { + name: "budget", + description: "Manage budgets for an Azure subscription", + subcommands: [ + { + name: "create", + description: "Create a budget for an Azure subscription", + options: [ + { + name: "--amount", + description: "Amount of a budget", + args: { name: "amount" }, + isRequired: true, + }, + { + name: "--budget-name", + description: "Name of a budget", + args: { name: "budget-name" }, + isRequired: true, + }, + { + name: "--category", + description: "Category of the budget can be cost or usage", + args: { name: "category", suggestions: ["cost", "usage"] }, + isRequired: true, + }, + { + name: ["--end-date", "-e"], + description: + "End date (YYYY-MM-DD in UTC) of time period of a budget", + args: { name: "end-date" }, + isRequired: true, + }, + { + name: ["--start-date", "-s"], + description: + "Start date (YYYY-MM-DD in UTC) of time period of a budget", + args: { name: "start-date" }, + isRequired: true, + }, + { + name: "--time-grain", + description: + "Time grain of the budget can be monthly, quarterly, or annually", + args: { + name: "time-grain", + suggestions: ["annually", "monthly", "quarterly"], + }, + isRequired: true, + }, + { + name: "--meter-filter", + description: + "Space-separated list of meters to filter on. Required if category is usage", + args: { name: "meter-filter" }, + }, + { + name: "--resource-filter", + description: + "Space-separated list of resource instances to filter on", + args: { name: "resource-filter" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-group-filter", + description: + "Space-separated list of resource groups to filter on", + args: { name: "resource-group-filter" }, + }, + ], + }, + { + name: "create-with-rg", + description: + "Create operation to create or update a budget. Update operation requires latest eTag to be set in the request mandatorily. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag", + options: [ + { + name: "--amount", + description: "The total amount of cost to track with the budget", + args: { name: "amount" }, + }, + { + name: ["--budget-name", "--name", "-n"], + description: "Budget Name", + args: { name: "budget-name" }, + }, + { + name: "--category", + description: + "The category of the budget, whether the budget tracks cost or usage", + args: { name: "category", suggestions: ["Cost", "Usage"] }, + }, + { + name: "--e-tag", + description: + "ETag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not", + args: { name: "e-tag" }, + }, + { + name: "--filters", + description: + 'May be used to filter budgets by resource group, resource, or meter. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filters" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--notifications", + description: + 'Dictionary of notifications associated with the budget. Budget can have up to five notifications. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "notifications" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--time-grain", + description: + "The time covered by a budget. Tracking of the amount will be reset based on the time grain", + args: { + name: "time-grain", + suggestions: ["Annually", "Monthly", "Quarterly"], + }, + }, + { + name: "--time-period", + description: + 'Has start and end date of the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than three months. Past start date should be selected within the timegrain period. There are no restrictions on the end date. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "time-period" }, + }, + ], + }, + { + name: "delete", + description: "Delete a budget for an Azure subscription", + options: [ + { + name: "--budget-name", + description: "Name of a budget", + args: { name: "budget-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete-with-rg", + description: "Delete operation to delete a budget", + options: [ + { + name: ["--budget-name", "--name", "-n"], + description: "Budget Name", + args: { name: "budget-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List budgets for an Azure subscription", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show budget for an Azure subscription", + options: [ + { + name: "--budget-name", + description: "Name of a budget", + args: { name: "budget-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show-with-rg", + description: + "Get the budget for a resource group under a subscription by budget name", + options: [ + { + name: ["--budget-name", "--name", "-n"], + description: "Budget Name", + args: { name: "budget-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update operation to create or update a budget. Update operation requires latest eTag to be set in the request mandatorily. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--amount", + description: "The total amount of cost to track with the budget", + args: { name: "amount" }, + }, + { + name: ["--budget-name", "--name", "-n"], + description: "Budget Name", + args: { name: "budget-name" }, + }, + { + name: "--category", + description: + "The category of the budget, whether the budget tracks cost or usage", + args: { name: "category", suggestions: ["Cost", "Usage"] }, + }, + { + name: "--e-tag", + description: + "ETag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not", + args: { name: "e-tag" }, + }, + { + name: "--filters", + description: + 'May be used to filter budgets by resource group, resource, or meter. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filters" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--notifications", + description: + 'Dictionary of notifications associated with the budget. Budget can have up to five notifications. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "notifications" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--time-grain", + description: + "The time covered by a budget. Tracking of the amount will be reset based on the time grain", + args: { + name: "time-grain", + suggestions: ["Annually", "Monthly", "Quarterly"], + }, + }, + { + name: "--time-period", + description: + 'Has start and end date of the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than three months. Past start date should be selected within the timegrain period. There are no restrictions on the end date. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "time-period" }, + }, + ], + }, + { + name: "update-with-rg", + description: + "Update operation to create or update a budget. Update operation requires latest eTag to be set in the request mandatorily. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag", + options: [ + { + name: "--amount", + description: "The total amount of cost to track with the budget", + args: { name: "amount" }, + }, + { + name: ["--budget-name", "--name", "-n"], + description: "Budget Name", + args: { name: "budget-name" }, + }, + { + name: "--category", + description: + "The category of the budget, whether the budget tracks cost or usage", + args: { name: "category", suggestions: ["Cost", "Usage"] }, + }, + { + name: "--e-tag", + description: + "ETag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not", + args: { name: "e-tag" }, + }, + { + name: "--filters", + description: + 'May be used to filter budgets by resource group, resource, or meter. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filters" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--notifications", + description: + 'Dictionary of notifications associated with the budget. Budget can have up to five notifications. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "notifications" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--time-grain", + description: + "The time covered by a budget. Tracking of the amount will be reset based on the time grain", + args: { + name: "time-grain", + suggestions: ["Annually", "Monthly", "Quarterly"], + }, + }, + { + name: "--time-period", + description: + 'Has start and end date of the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than three months. Past start date should be selected within the timegrain period. There are no restrictions on the end date. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "time-period" }, + }, + ], + }, + ], + }, + { + name: "marketplace", + description: + "Inspect the marketplace usage data of an Azure subscription within a billing period", + subcommands: [ + { + name: "list", + description: + "List the marketplace for an Azure subscription within a billing period", + options: [ + { + name: ["--billing-period-name", "-p"], + description: "Name of the billing period to get the marketplace", + args: { name: "billing-period-name" }, + }, + { + name: ["--end-date", "-e"], + description: + "End date (YYYY-MM-DD in UTC). If specified, also requires --start-date", + args: { name: "end-date" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--start-date", "-s"], + description: + "Start date (YYYY-MM-DD in UTC). If specified, also requires --end-date", + args: { name: "start-date" }, + }, + { + name: ["--top", "-t"], + description: + "Maximum number of items to return. Value range: 1-1000", + args: { name: "top" }, + }, + ], + }, + ], + }, + { + name: "pricesheet", + description: + "Inspect the price sheet of an Azure subscription within a billing period", + subcommands: [ + { + name: "show", + description: + "Show the price sheet for an Azure subscription within a billing period", + options: [ + { + name: ["--billing-period-name", "-p"], + description: "Name of the billing period to get the price sheet", + args: { name: "billing-period-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--include-meter-details", + description: "Include meter details in the price sheet", + args: { name: "include-meter-details" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "reservation", + description: "Manage reservations for Azure resources", + subcommands: [ + { + name: "detail", + description: "List reservation details", + subcommands: [ + { + name: "list", + description: + "List the details of a reservation by order id or reservation id", + options: [ + { + name: ["--end-date", "-e"], + description: + "End date (YYYY-MM-DD in UTC). Only needed for daily grain and if specified, also requires --start-date", + args: { name: "end-date" }, + isRequired: true, + }, + { + name: "--reservation-order-id", + description: "Reservation order id", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: ["--start-date", "-s"], + description: + "Start date (YYYY-MM-DD in UTC). Only needed for daily grain and if specified, also requires --end-date", + args: { name: "start-date" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--reservation-id", + description: "Reservation id", + args: { name: "reservation-id" }, + }, + ], + }, + ], + }, + { + name: "summary", + description: "List reservation summaries", + subcommands: [ + { + name: "list", + description: + "List reservation summaries for daily or monthly by order Id or reservation id", + options: [ + { + name: "--grain", + description: + "Reservation summary grain. Possible values are daily or monthly", + args: { name: "grain", suggestions: ["daily", "monthly"] }, + isRequired: true, + }, + { + name: "--reservation-order-id", + description: "Reservation order id", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: ["--end-date", "-e"], + description: + "End date (YYYY-MM-DD in UTC). Only needed for daily grain and if specified, also requires --start-date", + args: { name: "end-date" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--reservation-id", + description: "Id of the reservation", + args: { name: "reservation-id" }, + }, + { + name: ["--start-date", "-s"], + description: + "Start date (YYYY-MM-DD in UTC). Only needed for daily grain and if specified, also requires --end-date", + args: { name: "start-date" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "usage", + description: "Inspect the usage of Azure resources", + subcommands: [ + { + name: "list", + description: + "List the details of Azure resource consumption, either as an invoice or within a billing period", + options: [ + { + name: ["--billing-period-name", "-p"], + description: + "Name of the billing period to get the usage details that associate with", + args: { name: "billing-period-name" }, + }, + { + name: ["--end-date", "-e"], + description: + "End date (YYYY-MM-DD in UTC). If specified, also requires --start-date", + args: { name: "end-date" }, + }, + { + name: ["--include-additional-properties", "-a"], + description: "Include additional properties in the usages", + args: { name: "include-additional-properties" }, + }, + { + name: ["--include-meter-details", "-m"], + description: "Include meter details in the usages", + args: { name: "include-meter-details" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--start-date", "-s"], + description: + "Start date (YYYY-MM-DD in UTC). If specified, also requires --end-date", + args: { name: "start-date" }, + }, + { + name: ["--top", "-t"], + description: + "Maximum number of items to return. Value range: 1-1000", + args: { name: "top" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/container.ts b/src/az/2.53.0/container.ts new file mode 100644 index 000000000000..8cd6ca8ff045 --- /dev/null +++ b/src/az/2.53.0/container.ts @@ -0,0 +1,632 @@ +const completion: Fig.Spec = { + name: "container", + description: "Manage Azure Container Instances", + subcommands: [ + { + name: "app", + description: "Commands to Manage Azure Container Instances App", + subcommands: [ + { + name: "up", + description: + "Deploy to Azure Container Instances using GitHub Actions", + options: [ + { + name: "--acr", + description: + "Name of the Azure Container Registry to be used for pushing the image", + args: { name: "acr" }, + }, + { + name: "--branch-name", + description: + "New branch name to be created to check in files and raise a PR", + args: { name: "branch-name" }, + }, + { + name: "--do-not-wait", + description: "Do not wait for workflow completion", + }, + { + name: "--port", + description: + "Port on which your application runs. Default is 8080", + args: { name: "port" }, + }, + { + name: "--repository", + description: + "GitHub Repository URL e.g. https://github.com/contoso/webapp", + args: { name: "repository" }, + }, + ], + }, + ], + }, + { + name: "attach", + description: + "Attach local standard output and error streams to a container in a container group. This command provides diagnostic information during container startup. Once the container has started, it streams STDOUT and STDERR to your local console", + options: [ + { + name: "--container-name", + description: + "The container to attach to. If omitted, the first container in the container group will be chosen", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the container group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a container group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--acr-identity", + description: "The identity with access to the container registry", + args: { name: "acr-identity" }, + }, + { + name: "--add-capabilities", + description: "A List of security context capabilities to be added", + args: { name: "add-capabilities" }, + }, + { + name: "--allow-escalation", + description: + "Allow whether a process can gain more privileges than its parent process", + }, + { + name: "--assign-identity", + description: + "Space-separated list of assigned identities. Assigned identities are either user assigned identities (resource IDs) and / or the system assigned identity ('[system]'). See examples for more info", + args: { name: "assign-identity" }, + }, + { + name: "--azure-file-volume-account-key", + description: + "The storage account access key used to access the Azure File share", + args: { name: "azure-file-volume-account-key" }, + }, + { + name: "--azure-file-volume-account-name", + description: + "The name of the storage account that contains the Azure File share", + args: { name: "azure-file-volume-account-name" }, + }, + { + name: "--azure-file-volume-mount-path", + description: + "The path within the container where the azure file volume should be mounted. Must not contain colon ':'", + args: { name: "azure-file-volume-mount-path" }, + }, + { + name: "--azure-file-volume-share-name", + description: + "The name of the Azure File share to be mounted as a volume", + args: { name: "azure-file-volume-share-name" }, + }, + { + name: "--cce-policy", + description: "The CCE policy for the confidential container group", + args: { name: "cce-policy" }, + }, + { + name: "--command-line", + description: + "The command line to run when the container is started, e.g. '/bin/bash -c myscript.sh'", + args: { name: "command-line" }, + }, + { + name: "--cpu", + description: + "The required number of CPU cores of the containers, accurate to one decimal place", + args: { name: "cpu" }, + }, + { + name: "--dns-name-label", + description: "The dns name label for container group with public IP", + args: { name: "dns-name-label" }, + }, + { + name: "--drop-capabilities", + description: "A List of security context capabilities to be dropped", + args: { name: "drop-capabilities" }, + }, + { + name: ["--environment-variables", "-e"], + description: + "A list of environment variable for the container. Space-separated values in 'key=value' format", + args: { name: "environment-variables" }, + }, + { + name: ["--file", "-f"], + description: "The path to the input file", + args: { name: "file" }, + }, + { + name: "--gitrepo-dir", + description: + "The target directory path in the git repository. Must not contain '..'", + args: { name: "gitrepo-dir" }, + }, + { + name: "--gitrepo-mount-path", + description: + "The path within the container where the git repo volume should be mounted. Must not contain colon ':'", + args: { name: "gitrepo-mount-path" }, + }, + { + name: "--gitrepo-revision", + description: "The commit hash for the specified revision", + args: { name: "gitrepo-revision" }, + }, + { + name: "--gitrepo-url", + description: "The URL of a git repository to be mounted as a volume", + args: { name: "gitrepo-url" }, + }, + { + name: "--image", + description: "The container image name", + args: { name: "image" }, + }, + { + name: "--ip-address", + description: "The IP address type of the container group", + args: { name: "ip-address", suggestions: ["Private", "Public"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--log-analytics-workspace", + description: + "The Log Analytics workspace name or id. Use the current subscription or use --subscription flag to set the desired subscription", + args: { name: "log-analytics-workspace" }, + }, + { + name: "--log-analytics-workspace-key", + description: "The Log Analytics workspace key", + args: { name: "log-analytics-workspace-key" }, + }, + { + name: "--memory", + description: + "The required memory of the containers in GB, accurate to one decimal place", + args: { name: "memory" }, + }, + { + name: ["--name", "-n"], + description: "The name of the container group", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--os-type", + description: "The OS type of the containers", + args: { name: "os-type", suggestions: ["Linux", "Windows"] }, + }, + { + name: "--ports", + description: "A list of ports to open. Space-separated list of ports", + args: { name: "ports" }, + }, + { + name: "--priority", + description: "The priority of the container group", + args: { name: "priority" }, + }, + { + name: "--privileged", + description: + "The flag to determine if the contianer permissions is elevated to Privileged", + }, + { + name: "--protocol", + description: "The network protocol to use", + args: { name: "protocol", suggestions: ["TCP", "UDP"] }, + }, + { + name: "--registry-login-server", + description: "The container image registry login server", + args: { name: "registry-login-server" }, + }, + { + name: "--registry-password", + description: "The password to log in container image registry server", + args: { name: "registry-password" }, + }, + { + name: "--registry-username", + description: "The username to log in container image registry server", + args: { name: "registry-username" }, + }, + { + name: "--restart-policy", + description: + "Restart policy for all containers within the container group", + args: { + name: "restart-policy", + suggestions: ["Always", "Never", "OnFailure"], + }, + }, + { + name: "--role", + description: "Role name or id the system assigned identity will have", + args: { name: "role" }, + }, + { + name: "--run-as-group", + description: "Set the User UID for the container", + args: { name: "run-as-group" }, + }, + { + name: "--run-as-user", + description: "Set the User GID for the container", + args: { name: "run-as-user" }, + }, + { + name: "--scope", + description: "Scope that the system assigned identity can access", + args: { name: "scope" }, + }, + { + name: "--seccomp-profile", + description: + "A base64 encoded string containing the contents of the JSON in the seccomp profile", + args: { name: "seccomp-profile" }, + }, + { + name: "--secrets", + description: "Space-separated secrets in 'key=value' format", + args: { name: "secrets" }, + }, + { + name: "--secrets-mount-path", + description: + "The path within the container where the secrets volume should be mounted. Must not contain colon ':'", + args: { name: "secrets-mount-path" }, + }, + { + name: "--secure-environment-variables", + description: + "A list of secure environment variable for the container. Space-separated values in 'key=value' format", + args: { name: "secure-environment-variables" }, + }, + { + name: "--sku", + description: "The SKU of the container group", + args: { name: "sku" }, + }, + { + name: "--subnet", + description: + "The name of the subnet when creating a new VNET or referencing an existing one. Can also reference an existing subnet by ID", + args: { name: "subnet" }, + }, + { + name: "--subnet-address-prefix", + description: + "The subnet IP address prefix to use when creating a new VNET in CIDR format", + args: { name: "subnet-address-prefix" }, + }, + { + name: "--vnet", + description: + "The name of the VNET when creating a new one or referencing an existing one. Can also reference an existing vnet by ID. This allows using vnets from other resource groups", + args: { name: "vnet" }, + }, + { + name: "--vnet-address-prefix", + description: + "The IP address prefix to use when creating a new VNET in CIDR format", + args: { name: "vnet-address-prefix" }, + }, + { + name: "--vnet-name", + description: + "Argument 'vnet_name' has been deprecated and will be removed in a future release. Use '--vnet' instead. The name of the VNET when creating a new one or referencing an existing one", + args: { name: "vnet-name" }, + }, + { + name: "--zone", + description: "The zone to place the container group", + args: { name: "zone" }, + }, + ], + }, + { + name: "delete", + description: "Delete a container group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the container group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exec", + description: + "Execute a command from within a running container of a container group", + options: [ + { + name: "--exec-command", + description: "The command to run from within the container", + args: { name: "exec-command" }, + isRequired: true, + }, + { + name: "--container-name", + description: + "The container name where to execute the command. Can be ommitted for container groups with only one container", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the container group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "export", + description: "Export a container group in yaml format", + options: [ + { + name: ["--file", "-f"], + description: "The file path to export the container group", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the container group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List container groups", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "logs", + description: "Examine the logs for a container in a container group", + options: [ + { + name: "--container-name", + description: + "The container name to tail the logs. If omitted, the first container in the container group will be chosen", + args: { name: "container-name" }, + }, + { + name: "--follow", + description: "Indicate to stream the tailing logs", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the container group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restart", + description: "Restarts all containers in a container group", + options: [ + { + name: ["--name", "-n"], + description: "The name of the container group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: "Get the details of a container group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the container group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Starts all containers in a container group", + options: [ + { + name: ["--name", "-n"], + description: "The name of the container group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "stop", + description: "Stops all containers in a container group", + options: [ + { + name: ["--name", "-n"], + description: "The name of the container group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/containerapp.ts b/src/az/2.53.0/containerapp.ts new file mode 100644 index 000000000000..6d7e4c5c1c56 --- /dev/null +++ b/src/az/2.53.0/containerapp.ts @@ -0,0 +1,12211 @@ +const completion: Fig.Spec = { + name: "containerapp", + description: "Manage Azure Container Apps", + subcommands: [ + { + name: "auth", + description: "Manage containerapp authentication and authorization", + subcommands: [ + { + name: "show", + description: "Show the authentication settings for the containerapp", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the authentication settings for the containerapp", + options: [ + { + name: ["--unauthenticated-client-action", "--action"], + description: + "The action to take when an unauthenticated client attempts to access the app", + args: { + name: "unauthenticated-client-action", + suggestions: [ + "AllowAnonymous", + "RedirectToLoginPage", + "Return401", + "Return403", + ], + }, + }, + { + name: "--config-file-path", + description: + "The path of the config file containing auth settings if they come from a file", + args: { name: "config-file-path" }, + }, + { + name: ["--proxy-custom-host-header", "--custom-host-header"], + description: + "The name of the header containing the host of the request", + args: { name: "proxy-custom-host-header" }, + }, + { + name: ["--proxy-custom-proto-header", "--custom-proto-header"], + description: + "The name of the header containing the scheme of the request", + args: { name: "proxy-custom-proto-header" }, + }, + { + name: "--enabled", + description: + "True if the Authentication / Authorization feature is enabled for the current app; otherwise, false", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--excluded-paths", + description: + "The list of paths that should be excluded from authentication rules", + args: { name: "excluded-paths" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--proxy-convention", + description: + "The convention used to determine the url of the request made", + args: { + name: "proxy-convention", + suggestions: ["Custom", "NoProxy", "Standard"], + }, + }, + { + name: "--redirect-provider", + description: + "The default authentication provider to use when multiple providers are configured", + args: { name: "redirect-provider" }, + }, + { + name: "--require-https", + description: + "False if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, true", + args: { name: "require-https", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--runtime-version", + description: + "The RuntimeVersion of the Authentication / Authorization feature in use for the current app", + args: { name: "runtime-version" }, + }, + { + name: "--sas-url-secret", + description: + "The blob storage SAS URL to be used for token store", + args: { name: "sas-url-secret" }, + }, + { + name: "--sas-url-secret-name", + description: + "The secret name that contains blob storage SAS URL to be used for token store", + args: { name: "sas-url-secret-name" }, + }, + { + name: "--set", + description: + "Value of a specific field within the configuration settings for the Azure App Service Authentication / Authorization feature", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--token-store", + description: + "Boolean indicating if token store is enabled for the app", + args: { name: "token-store", suggestions: ["false", "true"] }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "apple", + description: + "Manage containerapp authentication and authorization of the Apple identity provider", + subcommands: [ + { + name: "show", + description: + "Show the authentication settings for the Apple identity provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the client id and client secret for the Apple identity provider", + options: [ + { + name: "--client-id", + description: "The Client ID of the app used for login", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "The client secret", + args: { name: "client-secret" }, + }, + { + name: "--client-secret-name", + description: + "The app secret name that contains the client secret of the relying party application", + args: { name: "client-secret-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scopes", + description: + "A list of the scopes that should be requested while authenticating", + args: { name: "scopes" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "facebook", + description: + "Manage containerapp authentication and authorization of the Facebook identity provider", + subcommands: [ + { + name: "show", + description: + "Show the authentication settings for the Facebook identity provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the app id and app secret for the Facebook identity provider", + options: [ + { + name: "--app-id", + description: "The App ID of the app used for login", + args: { name: "app-id" }, + }, + { + name: "--app-secret", + description: "The app secret", + args: { name: "app-secret" }, + }, + { + name: ["--app-secret-name", "--secret-name"], + description: + "The app secret name that contains the app secret", + args: { name: "app-secret-name" }, + }, + { + name: "--graph-api-version", + description: + "The version of the Facebook api to be used while logging in", + args: { name: "graph-api-version" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scopes", + description: + "A list of the scopes that should be requested while authenticating", + args: { name: "scopes" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "github", + description: + "Manage containerapp authentication and authorization of the GitHub identity provider", + subcommands: [ + { + name: "show", + description: + "Show the authentication settings for the GitHub identity provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the client id and client secret for the GitHub identity provider", + options: [ + { + name: "--client-id", + description: "The Client ID of the app used for login", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "The client secret", + args: { name: "client-secret" }, + }, + { + name: "--client-secret-name", + description: + "The app secret name that contains the client secret of the relying party application", + args: { name: "client-secret-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scopes", + description: + "A list of the scopes that should be requested while authenticating", + args: { name: "scopes" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "google", + description: + "Manage containerapp authentication and authorization of the Google identity provider", + subcommands: [ + { + name: "show", + description: + "Show the authentication settings for the Google identity provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the client id and client secret for the Google identity provider", + options: [ + { + name: ["--allowed-token-audiences", "--allowed-audiences"], + description: + "The configuration settings of the allowed list of audiences from which to validate the JWT token", + args: { name: "allowed-token-audiences" }, + }, + { + name: "--client-id", + description: "The Client ID of the app used for login", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "The client secret", + args: { name: "client-secret" }, + }, + { + name: "--client-secret-name", + description: + "The app secret name that contains the client secret of the relying party application", + args: { name: "client-secret-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scopes", + description: + "A list of the scopes that should be requested while authenticating", + args: { name: "scopes" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "microsoft", + description: + "Manage containerapp authentication and authorization of the Microsoft identity provider", + subcommands: [ + { + name: "show", + description: + "Show the authentication settings for the Azure Active Directory identity provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the client id and client secret for the Azure Active Directory identity provider", + options: [ + { + name: ["--allowed-token-audiences", "--allowed-audiences"], + description: + "The configuration settings of the allowed list of audiences from which to validate the JWT token", + args: { name: "allowed-token-audiences" }, + }, + { + name: [ + "--client-secret-certificate-issuer", + "--certificate-issuer", + ], + description: + "Alternative to AAD Client Secret and thumbprint, issuer of a certificate used for signing purposes", + args: { name: "client-secret-certificate-issuer" }, + }, + { + name: "--client-id", + description: "The Client ID of the app used for login", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "The client secret", + args: { name: "client-secret" }, + }, + { + name: ["--client-secret-certificate-san", "--san"], + description: + "Alternative to AAD Client Secret and thumbprint, subject alternative name of a certificate used for signing purposes", + args: { name: "client-secret-certificate-san" }, + }, + { + name: [ + "--client-secret-certificate-thumbprint", + "--thumbprint", + ], + description: + "Alternative to AAD Client Secret, thumbprint of a certificate used for signing purposes", + args: { name: "client-secret-certificate-thumbprint" }, + }, + { + name: "--client-secret-name", + description: + "The app secret name that contains the client secret of the relying party application", + args: { name: "client-secret-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--issuer", + description: + "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application", + args: { name: "issuer" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tenant-id", + description: "The tenant id of the application", + args: { name: "tenant-id" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "openid-connect", + description: + "Manage containerapp authentication and authorization of the custom OpenID Connect identity providers", + subcommands: [ + { + name: "add", + description: + "Configure a new custom OpenID Connect identity provider", + options: [ + { + name: "--provider-name", + description: "The name of the custom OpenID Connect provider", + args: { name: "provider-name" }, + isRequired: true, + }, + { + name: "--client-id", + description: "The Client ID of the app used for login", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "The client secret", + args: { name: "client-secret" }, + }, + { + name: "--client-secret-name", + description: + "The app secret name that contains the client secret of the relying party application", + args: { name: "client-secret-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--openid-configuration", + description: + "The endpoint that contains all the configuration endpoints for the provider", + args: { name: "openid-configuration" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scopes", + description: + "A list of the scopes that should be requested while authenticating", + args: { name: "scopes" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "remove", + description: + "Removes an existing custom OpenID Connect identity provider", + options: [ + { + name: "--provider-name", + description: "The name of the custom OpenID Connect provider", + args: { name: "provider-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Show the authentication settings for the custom OpenID Connect identity provider", + options: [ + { + name: "--provider-name", + description: "The name of the custom OpenID Connect provider", + args: { name: "provider-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the client id and client secret setting name for an existing custom OpenID Connect identity provider", + options: [ + { + name: "--provider-name", + description: "The name of the custom OpenID Connect provider", + args: { name: "provider-name" }, + isRequired: true, + }, + { + name: "--client-id", + description: "The Client ID of the app used for login", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "The client secret", + args: { name: "client-secret" }, + }, + { + name: "--client-secret-name", + description: + "The app secret name that contains the client secret of the relying party application", + args: { name: "client-secret-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--openid-configuration", + description: + "The endpoint that contains all the configuration endpoints for the provider", + args: { name: "openid-configuration" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scopes", + description: + "A list of the scopes that should be requested while authenticating", + args: { name: "scopes" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "twitter", + description: + "Manage containerapp authentication and authorization of the Twitter identity provider", + subcommands: [ + { + name: "show", + description: + "Show the authentication settings for the Twitter identity provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the consumer key and consumer secret for the Twitter identity provider", + options: [ + { + name: "--consumer-key", + description: + "The OAuth 1.0a consumer key of the Twitter application used for sign-in", + args: { name: "consumer-key" }, + }, + { + name: "--consumer-secret", + description: "The consumer secret", + args: { name: "consumer-secret" }, + }, + { + name: ["--consumer-secret-name", "--secret-name"], + description: + "The consumer secret name that contains the app secret", + args: { name: "consumer-secret-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + ], + }, + { + name: "browse", + description: "Open a containerapp in the browser, if possible", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a container app", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--allow-insecure", + description: "Allow insecure connections for ingress traffic", + }, + { + name: "--args", + description: + 'A list of container startup command argument(s). Space-separated values e.g. "-c" "mycommand". Empty string to clear existing values', + args: { name: "args" }, + }, + { + name: "--bind", + description: + "Space separated list of services(bindings) to be connected to this app. e.g. SVC_NAME1[:BIND_NAME1] SVC_NAME2[:BIND_NAME2]", + args: { name: "bind" }, + }, + { + name: ["--branch", "-b"], + description: + "Branch in the provided GitHub repository. Assumed to be the GitHub repository's default branch if not specified", + args: { name: "branch" }, + }, + { + name: "--command", + description: + 'A list of supported commands on the container that will executed during startup. Space-separated values e.g. "/bin/queue" "mycommand". Empty string to clear existing values', + args: { name: "command" }, + }, + { + name: "--container-name", + description: "Name of the container", + args: { name: "container-name" }, + }, + { + name: "--context-path", + description: + 'Path in the repository to run docker build. Defaults to "./". Dockerfile is assumed to be named "Dockerfile" and in this directory', + args: { name: "context-path" }, + }, + { + name: "--cpu", + description: "Required CPU in cores from 0.25 - 2.0, e.g. 0.5", + args: { name: "cpu" }, + }, + { + name: ["--dapr-enable-api-logging", "--dal"], + description: "Enable API logging for the Dapr sidecar", + }, + { + name: "--dapr-app-id", + description: "The Dapr application identifier", + args: { name: "dapr-app-id" }, + }, + { + name: "--dapr-app-port", + description: "The port Dapr uses to talk to the application", + args: { name: "dapr-app-port" }, + }, + { + name: "--dapr-app-protocol", + description: "The protocol Dapr uses to talk to the application", + args: { name: "dapr-app-protocol", suggestions: ["grpc", "http"] }, + }, + { + name: ["--dapr-http-max-request-size", "--dhmrs"], + description: + "Increase max size of request body http and grpc servers parameter in MB to handle uploading of big files", + args: { name: "dapr-http-max-request-size" }, + }, + { + name: ["--dapr-http-read-buffer-size", "--dhrbs"], + description: + "Dapr max size of http header read buffer in KB to handle when sending multi-KB headers", + args: { name: "dapr-http-read-buffer-size" }, + }, + { + name: "--dapr-log-level", + description: "Set the log level for the Dapr sidecar", + args: { + name: "dapr-log-level", + suggestions: ["debug", "error", "info", "warn"], + }, + }, + { + name: "--enable-dapr", + description: "Boolean indicating if the Dapr side car is enabled", + }, + { + name: "--env-vars", + description: + "A list of environment variable(s) for the container. Space-separated values in 'key=value' format. Empty string to clear existing values. Prefix value with 'secretref:' to reference a secret", + args: { name: "env-vars" }, + }, + { + name: "--environment", + description: "Name or resource ID of the container app's environment", + args: { name: "environment" }, + }, + { + name: "--environment-type", + description: "Type of environment", + args: { + name: "environment-type", + suggestions: ["connected", "managed"], + }, + }, + { + name: "--exposed-port", + description: + "Additional exposed port. Only supported by tcp transport protocol. Must be unique per environment if the app ingress is external", + args: { name: "exposed-port" }, + }, + { + name: ["--image", "-i"], + description: "Container image, e.g. publisher/image-name:tag", + args: { name: "image" }, + }, + { + name: "--ingress", + description: "The ingress type", + args: { name: "ingress", suggestions: ["external", "internal"] }, + }, + { + name: "--max-replicas", + description: "The maximum number of replicas", + args: { name: "max-replicas" }, + }, + { + name: "--memory", + description: + 'Required memory from 0.5 - 4.0 ending with "Gi", e.g. 1.0Gi', + args: { name: "memory" }, + }, + { + name: "--min-replicas", + description: "The minimum number of replicas", + args: { name: "min-replicas" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--registry-identity", + description: + "A Managed Identity to authenticate with the registry server instead of username/password. Use a resource ID or 'system' for user-defined and system-defined identities, respectively. The registry must be an ACR. If possible, an 'acrpull' role assignemnt will be created for the identity automatically", + args: { name: "registry-identity" }, + }, + { + name: "--registry-password", + description: + "The password to log in to container registry. If stored as a secret, value must start with 'secretref:' followed by the secret name", + args: { name: "registry-password" }, + }, + { + name: "--registry-server", + description: + "The container registry server hostname, e.g. myregistry.azurecr.io", + args: { name: "registry-server" }, + }, + { + name: "--registry-username", + description: "The username to log in to container registry", + args: { name: "registry-username" }, + }, + { + name: "--repo", + description: + "Create an app via GitHub Actions in the format: https://github.com// or /", + args: { name: "repo" }, + }, + { + name: "--revision-suffix", + description: + "User friendly suffix that is appended to the revision name", + args: { name: "revision-suffix" }, + }, + { + name: "--revisions-mode", + description: "The active revisions mode for the container app", + args: { name: "revisions-mode", suggestions: ["multiple", "single"] }, + }, + { + name: ["--scale-rule-auth", "--sra"], + description: + 'Scale rule auth parameters. Auth parameters must be in format "= = ..."', + args: { name: "scale-rule-auth" }, + }, + { + name: [ + "--scale-rule-http-concurrency", + "--scale-rule-tcp-concurrency", + "--srhc", + "--srtc", + ], + description: + "The maximum number of concurrent requests before scale out. Only supported for http and tcp scale rules", + args: { name: "scale-rule-http-concurrency" }, + }, + { + name: ["--scale-rule-metadata", "--srm"], + description: + 'Scale rule metadata. Metadata must be in format "= = ..."', + args: { name: "scale-rule-metadata" }, + }, + { + name: ["--scale-rule-name", "--srn"], + description: "The name of the scale rule", + args: { name: "scale-rule-name" }, + }, + { + name: ["--scale-rule-type", "--srt"], + description: + "The type of the scale rule. Default: http. For more information please visit https://learn.microsoft.com/azure/container-apps/scale-app#scale-triggers", + args: { name: "scale-rule-type" }, + }, + { + name: "--secret-volume-mount", + description: "Path to mount all secrets e.g. mnt/secrets", + args: { name: "secret-volume-mount" }, + }, + { + name: ["--secrets", "-s"], + description: + "A list of secret(s) for the container app. Space-separated values in 'key=value' format", + args: { name: "secrets" }, + }, + { + name: ["--service-principal-client-id", "--sp-cid"], + description: + "The service principal client ID. Used by GitHub Actions to authenticate with Azure", + args: { name: "service-principal-client-id" }, + }, + { + name: ["--service-principal-client-secret", "--sp-sec"], + description: + "The service principal client secret. Used by GitHub Actions to authenticate with Azure", + args: { name: "service-principal-client-secret" }, + }, + { + name: ["--service-principal-tenant-id", "--sp-tid"], + description: + "The service principal tenant ID. Used by GitHub Actions to authenticate with Azure", + args: { name: "service-principal-tenant-id" }, + }, + { + name: "--source", + description: + "Local directory path containing the application source and Dockerfile for building the container image. Preview: If no Dockerfile is present, a container image is generated using buildpacks. If Docker is not running or buildpacks cannot be used, Oryx will be used to generate the image. See the supported Oryx runtimes here: https://github.com/microsoft/Oryx/blob/main/doc/supportedRuntimeVersions.md", + args: { name: "source" }, + }, + { + name: "--system-assigned", + description: + "Boolean indicating whether to assign system-assigned identity", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--target-port", + description: "The application port used for ingress traffic", + args: { name: "target-port" }, + }, + { + name: ["--termination-grace-period", "--tgp"], + description: + "Duration in seconds a replica is given to gracefully shut down before it is forcefully terminated. (Default: 30)", + args: { name: "termination-grace-period" }, + }, + { + name: "--token", + description: + "A Personal Access Token with write access to the specified repository. For more information: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line. If not provided or not found in the cache (and using --repo), a browser page will be opened to authenticate with Github", + args: { name: "token" }, + }, + { + name: "--transport", + description: "The transport protocol used for ingress traffic", + args: { + name: "transport", + suggestions: ["auto", "http", "http2", "tcp"], + }, + }, + { + name: "--user-assigned", + description: "Space-separated user identities to be assigned", + args: { name: "user-assigned" }, + }, + { + name: ["--workload-profile-name", "-w"], + description: "Name of the workload profile to run the app on", + args: { name: "workload-profile-name" }, + }, + { + name: "--yaml", + description: + "Path to a .yaml file with the configuration of a container app. All other parameters will be ignored. For an example, see https://docs.microsoft.com/azure/container-apps/azure-resource-manager-api-spec#examples", + args: { name: "yaml" }, + }, + ], + }, + { + name: "delete", + description: "Delete a container app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exec", + description: + "Open an SSH-like interactive shell within a container app replica", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Containerapp", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--command", + description: "The startup command (bash, zsh, sh, etc.)", + args: { name: "command" }, + }, + { + name: "--container", + description: "The name of the container to ssh into", + args: { name: "container" }, + }, + { + name: "--replica", + description: + "The name of the replica to ssh into. List replicas with 'az containerapp replica list'. A replica may not exist if there is not traffic to your app", + args: { name: "replica" }, + }, + { + name: "--revision", + description: + "The name of the container app revision to ssh into. Defaults to the latest revision", + args: { name: "revision" }, + }, + ], + }, + { + name: "list", + description: "List container apps", + options: [ + { + name: "--environment", + description: "Name or resource ID of the container app's environment", + args: { name: "environment" }, + }, + { + name: "--environment-type", + description: "Type of environment", + args: { + name: "environment-type", + suggestions: ["connected", "managed"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-usages", + description: + "List usages of subscription level quotas in specific region", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a container app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { name: "--show-secrets", description: "Show Containerapp secrets" }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-custom-domain-verification-id", + description: + "Show the verification id for binding app or environment custom domains", + }, + { + name: "up", + description: + "Create or update a container app as well as any associated resources (ACR, resource group, container apps environment, GitHub Actions, etc.)", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--branch", "-b"], + description: + "The branch of the Github repo. Assumed to be the Github repo's default branch if not specified", + args: { name: "branch" }, + }, + { + name: "--browse", + description: + "Open the app in a web browser after creation and deployment, if possible", + }, + { + name: "--context-path", + description: + 'Path in the repo from which to run the docker build. Defaults to "./". Dockerfile is assumed to be named "Dockerfile" and in this directory', + args: { name: "context-path" }, + }, + { + name: "--env-vars", + description: + "A list of environment variable(s) for the container. Space-separated values in 'key=value' format. Empty string to clear existing values. Prefix value with 'secretref:' to reference a secret", + args: { name: "env-vars" }, + }, + { + name: "--environment", + description: "Name or resource ID of the container app's environment", + args: { name: "environment" }, + }, + { + name: ["--image", "-i"], + description: "Container image, e.g. publisher/image-name:tag", + args: { name: "image" }, + }, + { + name: "--ingress", + description: "The ingress type", + args: { name: "ingress", suggestions: ["external", "internal"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--logs-workspace-id", + description: + 'Workspace ID of the Log Analytics workspace to send diagnostics logs to. You can use "az monitor log-analytics workspace create" to create one. Extra billing may apply', + args: { name: "logs-workspace-id" }, + }, + { + name: "--logs-workspace-key", + description: + 'Log Analytics workspace key to configure your Log Analytics workspace. You can use "az monitor log-analytics workspace get-shared-keys" to retrieve the key', + args: { name: "logs-workspace-key" }, + }, + { + name: "--registry-password", + description: + "The password to log in to container registry. If stored as a secret, value must start with 'secretref:' followed by the secret name", + args: { name: "registry-password" }, + }, + { + name: "--registry-server", + description: + "The container registry server hostname, e.g. myregistry.azurecr.io", + args: { name: "registry-server" }, + }, + { + name: "--registry-username", + description: "The username to log in to container registry", + args: { name: "registry-username" }, + }, + { + name: "--repo", + description: + "Create an app via Github Actions. In the format: https://github.com// or /", + args: { name: "repo" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--service-principal-client-id", "--sp-cid"], + description: + "The service principal client ID. Used by Github Actions to authenticate with Azure", + args: { name: "service-principal-client-id" }, + }, + { + name: ["--service-principal-client-secret", "--sp-sec"], + description: + "The service principal client secret. Used by Github Actions to authenticate with Azure", + args: { name: "service-principal-client-secret" }, + }, + { + name: ["--service-principal-tenant-id", "--sp-tid"], + description: + "The service principal tenant ID. Used by Github Actions to authenticate with Azure", + args: { name: "service-principal-tenant-id" }, + }, + { + name: "--source", + description: + "Local directory path containing the application source and Dockerfile for building the container image. Preview: If no Dockerfile is present, a container image is generated using buildpacks. If Docker is not running or buildpacks cannot be used, Oryx will be used to generate the image. See the supported Oryx runtimes here: https://github.com/microsoft/Oryx/blob/main/doc/supportedRuntimeVersions.md", + args: { name: "source" }, + }, + { + name: "--target-port", + description: "The application port used for ingress traffic", + args: { name: "target-port" }, + }, + { + name: "--token", + description: + "A Personal Access Token with write access to the specified repository. For more information: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line. If not provided or not found in the cache (and using --repo), a browser page will be opened to authenticate with Github", + args: { name: "token" }, + }, + { + name: ["--workload-profile-name", "-w"], + description: "The friendly name for the workload profile", + args: { name: "workload-profile-name" }, + }, + ], + }, + { + name: "update", + description: + "Update a container app. In multiple revisions mode, create a new revision based on the latest revision", + options: [ + { + name: "--args", + description: + 'A list of container startup command argument(s). Space-separated values e.g. "-c" "mycommand". Empty string to clear existing values', + args: { name: "args" }, + }, + { + name: "--bind", + description: + "Space separated list of services(bindings) to be connected to this app. e.g. SVC_NAME1[:BIND_NAME1] SVC_NAME2[:BIND_NAME2]", + args: { name: "bind" }, + }, + { + name: "--command", + description: + 'A list of supported commands on the container that will executed during startup. Space-separated values e.g. "/bin/queue" "mycommand". Empty string to clear existing values', + args: { name: "command" }, + }, + { + name: "--container-name", + description: "Name of the container", + args: { name: "container-name" }, + }, + { + name: "--cpu", + description: "Required CPU in cores from 0.25 - 2.0, e.g. 0.5", + args: { name: "cpu" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--image", "-i"], + description: "Container image, e.g. publisher/image-name:tag", + args: { name: "image" }, + }, + { + name: "--max-replicas", + description: "The maximum number of replicas", + args: { name: "max-replicas" }, + }, + { + name: "--memory", + description: + 'Required memory from 0.5 - 4.0 ending with "Gi", e.g. 1.0Gi', + args: { name: "memory" }, + }, + { + name: "--min-replicas", + description: "The minimum number of replicas", + args: { name: "min-replicas" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--remove-all-env-vars", + description: "Remove all environment variable(s) from container", + }, + { + name: "--remove-env-vars", + description: + "Remove environment variable(s) from container. Space-separated environment variable names", + args: { name: "remove-env-vars" }, + }, + { + name: "--replace-env-vars", + description: + "Replace environment variable(s) in container. Other existing environment variables are removed. Space-separated values in 'key=value' format. If stored as a secret, value must start with 'secretref:' followed by the secret name", + args: { name: "replace-env-vars" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--revision-suffix", + description: + "User friendly suffix that is appended to the revision name", + args: { name: "revision-suffix" }, + }, + { + name: ["--scale-rule-auth", "--sra"], + description: + 'Scale rule auth parameters. Auth parameters must be in format "= = ..."', + args: { name: "scale-rule-auth" }, + }, + { + name: [ + "--scale-rule-http-concurrency", + "--scale-rule-tcp-concurrency", + "--srhc", + "--srtc", + ], + description: + "The maximum number of concurrent requests before scale out. Only supported for http and tcp scale rules", + args: { name: "scale-rule-http-concurrency" }, + }, + { + name: ["--scale-rule-metadata", "--srm"], + description: + 'Scale rule metadata. Metadata must be in format "= = ..."', + args: { name: "scale-rule-metadata" }, + }, + { + name: ["--scale-rule-name", "--srn"], + description: "The name of the scale rule", + args: { name: "scale-rule-name" }, + }, + { + name: ["--scale-rule-type", "--srt"], + description: + "The type of the scale rule. Default: http. For more information please visit https://learn.microsoft.com/azure/container-apps/scale-app#scale-triggers", + args: { name: "scale-rule-type" }, + }, + { + name: "--secret-volume-mount", + description: "Path to mount all secrets e.g. mnt/secrets", + args: { name: "secret-volume-mount" }, + }, + { + name: "--set-env-vars", + description: + "Add or update environment variable(s) in container. Existing environment variables are not modified. Space-separated values in 'key=value' format. If stored as a secret, value must start with 'secretref:' followed by the secret name", + args: { name: "set-env-vars" }, + }, + { + name: "--source", + description: + "Local directory path containing the application source and Dockerfile for building the container image. Preview: If no Dockerfile is present, a container image is generated using buildpacks. If Docker is not running or buildpacks cannot be used, Oryx will be used to generate the image. See the supported Oryx runtimes here: https://github.com/microsoft/Oryx/blob/main/doc/supportedRuntimeVersions.md", + args: { name: "source" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--termination-grace-period", "--tgp"], + description: + "Duration in seconds a replica is given to gracefully shut down before it is forcefully terminated. (Default: 30)", + args: { name: "termination-grace-period" }, + }, + { + name: "--unbind", + description: + "Space separated list of services(bindings) to be removed from this app. e.g. BIND_NAME1", + args: { name: "unbind" }, + }, + { + name: ["--workload-profile-name", "-w"], + description: "The friendly name for the workload profile", + args: { name: "workload-profile-name" }, + }, + { + name: "--yaml", + description: + "Path to a .yaml file with the configuration of a container app. All other parameters will be ignored. For an example, see https://docs.microsoft.com/azure/container-apps/azure-resource-manager-api-spec#examples", + args: { name: "yaml" }, + }, + ], + }, + { + name: "compose", + description: + "Commands to create Azure Container Apps from Compose specifications", + subcommands: [ + { + name: "create", + description: + "Create one or more Container Apps in a new or existing Container App Environment from a Compose specification", + options: [ + { + name: "--environment", + description: + "Name or resource ID of the container app's environment", + args: { name: "environment" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--compose-file-path", "-f"], + description: + "Path to a Docker Compose file with the configuration to import to Azure Container Apps", + args: { name: "compose-file-path" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--registry-password", + description: + "The password to log in to container registry. If stored as a secret, value must start with 'secretref:' followed by the secret name", + args: { name: "registry-password" }, + }, + { + name: "--registry-server", + description: + "The container registry server hostname, e.g. myregistry.azurecr.io", + args: { name: "registry-server" }, + }, + { + name: "--registry-username", + description: "The username to log in to container registry", + args: { name: "registry-username" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--transport", + description: + "Option '--transport' has been deprecated and will be removed in a future release. Use '--transport-mapping' instead. Transport options per Container App instance (servicename=transportsetting)", + args: { name: "transport" }, + }, + { + name: "--transport-mapping", + description: + "Transport options per Container App instance (servicename=transportsetting)", + args: { name: "transport-mapping" }, + }, + ], + }, + ], + }, + { + name: "connected-env", + description: + "Commands to manage Container Apps Connected environments for use with Arc enabled Container Apps", + subcommands: [ + { + name: "create", + description: "Create a Container Apps connected environment", + options: [ + { + name: "--custom-location", + description: + "Resource ID of custom location. List using 'az customlocation list'", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Container Apps connected environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--dapr-ai-connection-string", "-d"], + description: + "Application Insights connection string used by Dapr to export Service to Service communication telemetry", + args: { name: "dapr-ai-connection-string" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--static-ip", + description: "Static IP of the connectedEnvironment", + args: { name: "static-ip" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Container Apps connected environment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Container Apps connected environment", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List Container Apps connected environments by subscription or resource group", + options: [ + { + name: "--custom-location", + description: + "Resource ID of custom location. List using 'az customlocation list'", + args: { name: "custom-location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of a Container Apps connected environment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Container Apps connected environment", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "certificate", + description: + "Commands to manage certificates for the Container Apps connected environment", + subcommands: [ + { + name: "delete", + description: + "Delete a certificate from the Container Apps connected environment", + options: [ + { + name: ["--certificate", "-c"], + description: "Name or resource id of the certificate", + args: { name: "certificate" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Container Apps connected environment", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--thumbprint", "-t"], + description: "Thumbprint of the certificate", + args: { name: "thumbprint" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List certificates for a connected environment", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the Container Apps connected environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--certificate", "-c"], + description: "Name or resource id of the certificate", + args: { name: "certificate" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--thumbprint", "-t"], + description: "Thumbprint of the certificate", + args: { name: "thumbprint" }, + }, + ], + }, + { + name: "upload", + description: "Add or update a certificate", + options: [ + { + name: ["--certificate-file", "-f"], + description: "The filepath of the .pfx or .pem file", + args: { name: "certificate-file" }, + isRequired: true, + }, + { + name: ["--certificate-name", "-c"], + description: + "Name of the certificate which should be unique within the Container Apps connected environment", + args: { name: "certificate-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Container Apps connected environment", + args: { name: "name" }, + }, + { + name: ["--password", "-p"], + description: "The certificate file password", + args: { name: "password" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--show-prompt", + description: "Show prompt to upload an existing certificate", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "dapr-component", + description: + "Commands to manage Dapr components for Container Apps connected environments", + subcommands: [ + { + name: "list", + description: "List Dapr components for a connected environment", + options: [ + { + name: ["--name", "-n"], + description: "The environment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a Dapr component from a connected environment", + options: [ + { + name: "--dapr-component-name", + description: "The Dapr component name", + args: { name: "dapr-component-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The environment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Create or update a Dapr component", + options: [ + { + name: "--dapr-component-name", + description: "The Dapr component name", + args: { name: "dapr-component-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The environment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--yaml", + description: + "Path to a .yaml file with the configuration of a Dapr component. All other parameters will be ignored. For an example, see https://learn.microsoft.com/en-us/azure/container-apps/dapr-overview?tabs=bicep1%2Cyaml#component-schema", + args: { name: "yaml" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of a Dapr component", + options: [ + { + name: "--dapr-component-name", + description: "The Dapr component name", + args: { name: "dapr-component-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The environment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "storage", + description: + "Commands to manage storage for the Container Apps connected environment", + subcommands: [ + { + name: "list", + description: "List the storages for a connected environment", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the Container Apps connected environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a storage from a connected environment", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the Container Apps connected environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-name", + description: "Name of the storage", + args: { name: "storage-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "set", + description: "Create or update a storage", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the Container Apps connected environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-name", + description: "Name of the storage", + args: { name: "storage-name" }, + isRequired: true, + }, + { + name: "--access-mode", + description: "Access mode for the AzureFile storage", + args: { + name: "access-mode", + suggestions: ["ReadOnly", "ReadWrite"], + }, + }, + { + name: ["--azure-file-account-name", "--account-name", "-a"], + description: "Name of the AzureFile storage account", + args: { name: "azure-file-account-name" }, + }, + { + name: [ + "--azure-file-account-key", + "--storage-account-key", + "-k", + ], + description: "Key of the AzureFile storage account", + args: { name: "azure-file-account-key" }, + }, + { + name: ["--azure-file-share-name", "--file-share", "-f"], + description: "Name of the share on the AzureFile storage", + args: { name: "azure-file-share-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: "Show the details of a storage", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the Container Apps connected environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-name", + description: "Name of the storage", + args: { name: "storage-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "connection", + description: "Commands to manage containerapp connections", + subcommands: [ + { + name: "delete", + description: "Delete a containerapp connection", + options: [ + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List connections of a containerapp", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + ], + }, + { + name: "list-configuration", + description: + "List source configurations of a containerapp connection", + options: [ + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-support-types", + description: + "List client types and auth types supported by containerapp connections", + options: [ + { + name: ["--target-type", "-t"], + description: "The target resource type", + args: { + name: "target-type", + suggestions: [ + "appconfig", + "confluent-cloud", + "cosmos-cassandra", + "cosmos-gremlin", + "cosmos-mongo", + "cosmos-sql", + "cosmos-table", + "eventhub", + "keyvault", + "mysql", + "mysql-flexible", + "postgres", + "postgres-flexible", + "redis", + "redis-enterprise", + "servicebus", + "signalr", + "sql", + "storage-blob", + "storage-file", + "storage-queue", + "storage-table", + "webpubsub", + ], + }, + }, + ], + }, + { + name: "show", + description: "Get the details of a containerapp connection", + options: [ + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "validate", + description: "Validate a containerapp connection", + options: [ + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the connection is met", + options: [ + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "create", + description: + "Create a connection between a containerapp and a target resource", + subcommands: [ + { + name: "appconfig", + description: "Create a containerapp connection to appconfig", + options: [ + { + name: "--app-config", + description: + "Name of the app configuration. Required if '--target-id' is not specified", + args: { name: "app-config" }, + }, + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--app-config'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the app configuration. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "confluent-cloud", + description: + "Create a containerapp connection to confluent-cloud", + options: [ + { + name: "--bootstrap-server", + description: "Kafka bootstrap server url", + args: { name: "bootstrap-server" }, + isRequired: true, + }, + { + name: "--kafka-key", + description: "Kafka API-Key (key)", + args: { name: "kafka-key" }, + isRequired: true, + }, + { + name: "--kafka-secret", + description: "Kafka API-Key (secret)", + args: { name: "kafka-secret" }, + isRequired: true, + }, + { + name: "--schema-key", + description: "Schema registry API-Key (key)", + args: { name: "schema-key" }, + isRequired: true, + }, + { + name: "--schema-registry", + description: "Schema registry url", + args: { name: "schema-registry" }, + isRequired: true, + }, + { + name: "--schema-secret", + description: "Schema registry API-Key (secret)", + args: { name: "schema-secret" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-cassandra", + description: + "Create a containerapp connection to cosmos-cassandra", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--key-space", + description: + "Name of the keyspace. Required if '--target-id' is not specified", + args: { name: "key-space" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--key-space'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-gremlin", + description: "Create a containerapp connection to cosmos-gremlin", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--graph", + description: + "Name of the graph. Required if '--target-id' is not specified", + args: { name: "graph" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database', '--graph'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-mongo", + description: "Create a containerapp connection to cosmos-mongo", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-sql", + description: "Create a containerapp connection to cosmos-sql", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-table", + description: "Create a containerapp connection to cosmos-table", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--table", + description: + "Name of the table. Required if '--target-id' is not specified", + args: { name: "table" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--table'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "eventhub", + description: "Create a containerapp connection to eventhub", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "kafka-springBoot", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--namespace", + description: + "Name of the eventhub namespace. Required if '--target-id' is not specified", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--namespace'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the eventhub. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "keyvault", + description: "Create a containerapp connection to keyvault", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new keyvault when creating the containerapp connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--vault'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the keyvault. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault", + description: + "Name of the keyvault. Required if '--target-id' is not specified", + args: { name: "vault" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql", + description: "Create a containerapp connection to mysql", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the mysql database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the mysql server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the mysql server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql-flexible", + description: "Create a containerapp connection to mysql-flexible", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the mysql flexible database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the mysql flexible server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the mysql flexible server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres", + description: "Create a containerapp connection to postgres", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of postgres database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new postgres when creating the containerapp connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of postgres server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the postgres service. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres-flexible", + description: + "Create a containerapp connection to postgres-flexible", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of postgres flexible database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of postgres flexible server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the flexible postgres service. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis", + description: "Create a containerapp connection to redis", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the redis database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the redis server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the redis server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis-enterprise", + description: + "Create a containerapp connection to redis-enterprise", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the redis enterprise database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the redis enterprise server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the redis server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "servicebus", + description: "Create a containerapp connection to servicebus", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--namespace", + description: + "Name of the servicebus namespace. Required if '--target-id' is not specified", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--namespace'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the servicebus. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "signalr", + description: "Create a containerapp connection to signalr", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: ["dotnet", "none"], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--signalr", + description: + "Name of the signalr service. Required if '--target-id' is not specified", + args: { name: "signalr" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--signalr'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the signalr. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "sql", + description: "Create a containerapp connection to sql", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the sql database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the sql server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the sql server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-blob", + description: "Create a containerapp connection to storage-blob", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new storage-blob when creating the containerapp connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-file", + description: "Create a containerapp connection to storage-file", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-queue", + description: "Create a containerapp connection to storage-queue", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-table", + description: "Create a containerapp connection to storage-table", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "webpubsub", + description: "Create a containerapp connection to webpubsub", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--webpubsub'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the webpubsub. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + { + name: "--webpubsub", + description: + "Name of the webpubsub service. Required if '--target-id' is not specified", + args: { name: "webpubsub" }, + }, + ], + }, + ], + }, + { + name: "update", + description: "Update a containerapp connection", + subcommands: [ + { + name: "appconfig", + description: "Update a containerapp to appconfig connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "confluent-cloud", + description: + "Update a containerapp to confluent-cloud connection", + options: [ + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + isRequired: true, + }, + { + name: "--bootstrap-server", + description: "Kafka bootstrap server url", + args: { name: "bootstrap-server" }, + }, + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--kafka-key", + description: "Kafka API-Key (key)", + args: { name: "kafka-key" }, + }, + { + name: "--kafka-secret", + description: "Kafka API-Key (secret)", + args: { name: "kafka-secret" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--schema-key", + description: "Schema registry API-Key (key)", + args: { name: "schema-key" }, + }, + { + name: "--schema-registry", + description: "Schema registry url", + args: { name: "schema-registry" }, + }, + { + name: "--schema-secret", + description: "Schema registry API-Key (secret)", + args: { name: "schema-secret" }, + }, + { + name: "--source-id", + description: + "The resource id of a containerapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-cassandra", + description: + "Update a containerapp to cosmos-cassandra connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-gremlin", + description: "Update a containerapp to cosmos-gremlin connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-mongo", + description: "Update a containerapp to cosmos-mongo connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-sql", + description: "Update a containerapp to cosmos-sql connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-table", + description: "Update a containerapp to cosmos-table connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "eventhub", + description: "Update a containerapp to eventhub connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "kafka-springBoot", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "keyvault", + description: "Update a containerapp to keyvault connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql", + description: "Update a containerapp to mysql connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql-flexible", + description: "Update a containerapp to mysql-flexible connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres", + description: "Update a containerapp to postgres connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres-flexible", + description: + "Update a containerapp to postgres-flexible connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis", + description: "Update a containerapp to redis connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis-enterprise", + description: + "Update a containerapp to redis-enterprise connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "servicebus", + description: "Update a containerapp to servicebus connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "signalr", + description: "Update a containerapp to signalr connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: ["dotnet", "none"], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "sql", + description: "Update a containerapp to sql connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-blob", + description: "Update a containerapp to storage-blob connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-file", + description: "Update a containerapp to storage-file connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-queue", + description: "Update a containerapp to storage-queue connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-table", + description: "Update a containerapp to storage-table connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "webpubsub", + description: "Update a containerapp to webpubsub connection", + options: [ + { + name: "--client-type", + description: "The client type used on the containerapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the containerapp connection", + args: { name: "connection" }, + }, + { + name: ["--container", "-c"], + description: + "The container where the connection information will be saved (as environment variables)", + args: { name: "container" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the container app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the container app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "dapr", + description: + "Commands to manage Dapr. To manage Dapr components, see az containerapp env dapr-component", + subcommands: [ + { + name: "disable", + description: + "Disable Dapr for a container app. Removes existing values", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "enable", + description: + "Enable Dapr for a container app. Updates existing values", + options: [ + { + name: ["--dapr-enable-api-logging", "--dal"], + description: "Enable API logging for the Dapr sidecar", + }, + { + name: "--dapr-app-id", + description: "The Dapr application identifier", + args: { name: "dapr-app-id" }, + }, + { + name: "--dapr-app-port", + description: "The port Dapr uses to talk to the application", + args: { name: "dapr-app-port" }, + }, + { + name: "--dapr-app-protocol", + description: "The protocol Dapr uses to talk to the application", + args: { + name: "dapr-app-protocol", + suggestions: ["grpc", "http"], + }, + }, + { + name: ["--dapr-http-max-request-size", "--dhmrs"], + description: + "Increase max size of request body http and grpc servers parameter in MB to handle uploading of big files", + args: { name: "dapr-http-max-request-size" }, + }, + { + name: ["--dapr-http-read-buffer-size", "--dhrbs"], + description: + "Dapr max size of http header read buffer in KB to handle when sending multi-KB headers", + args: { name: "dapr-http-read-buffer-size" }, + }, + { + name: "--dapr-log-level", + description: "Set the log level for the Dapr sidecar", + args: { + name: "dapr-log-level", + suggestions: ["debug", "error", "info", "warn"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "env", + description: "Commands to manage Container Apps environments", + subcommands: [ + { + name: "create", + description: "Create a Container Apps environment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Container Apps environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--custom-domain-certificate-file", "--certificate-file"], + description: + "The filepath of the certificate file (.pfx or .pem) for the environment's custom domain. To manage certificates for container apps, use az containerapp env certificate", + args: { name: "custom-domain-certificate-file" }, + }, + { + name: [ + "--custom-domain-certificate-password", + "--certificate-password", + ], + description: + "The certificate file password for the environment's custom domain", + args: { name: "custom-domain-certificate-password" }, + }, + { + name: ["--custom-domain-dns-suffix", "--dns-suffix"], + description: "The DNS suffix for the environment's custom domain", + args: { name: "custom-domain-dns-suffix" }, + }, + { + name: "--dapr-instrumentation-key", + description: + "Application Insights instrumentation key used by Dapr to export Service to Service communication telemetry", + args: { name: "dapr-instrumentation-key" }, + }, + { + name: "--docker-bridge-cidr", + description: + "CIDR notation IP range assigned to the Docker bridge. It must not overlap with any Subnet IP ranges or the IP range defined in Platform Reserved CIDR, if defined", + args: { name: "docker-bridge-cidr" }, + }, + { + name: "--enable-mtls", + description: + "Boolean indicating if mTLS peer authentication is enabled for the environment", + args: { name: "enable-mtls", suggestions: ["false", "true"] }, + }, + { + name: ["--enable-workload-profiles", "-w"], + description: + "Boolean indicating if the environment is enabled to have workload profiles", + }, + { + name: ["--infrastructure-resource-group", "-i"], + description: + "Name for resource group that will contain infrastructure resources. If not provided, a resource group name will be generated", + args: { name: "infrastructure-resource-group" }, + }, + { + name: ["--infrastructure-subnet-resource-id", "-s"], + description: + "Resource ID of a subnet for infrastructure components and user app containers", + args: { name: "infrastructure-subnet-resource-id" }, + }, + { + name: "--internal-only", + description: + "Boolean indicating the environment only has an internal load balancer. These environments do not have a public static IP resource, therefore must provide infrastructureSubnetResourceId if enabling this property", + }, + { + name: ["--location", "-l"], + description: + "Location of resource. Examples: eastus2, northeurope", + args: { name: "location" }, + }, + { + name: "--logs-destination", + description: "Logs destination", + args: { + name: "logs-destination", + suggestions: ["azure-monitor", "log-analytics", "none"], + }, + }, + { + name: "--logs-workspace-id", + description: + 'Workspace ID of the Log Analytics workspace to send diagnostics logs to. Only works with logs destination "log-analytics". You can use "az monitor log-analytics workspace create" to create one. Extra billing may apply', + args: { name: "logs-workspace-id" }, + }, + { + name: "--logs-workspace-key", + description: + 'Log Analytics workspace key to configure your Log Analytics workspace. Only works with logs destination "log-analytics". You can use "az monitor log-analytics workspace get-shared-keys" to retrieve the key', + args: { name: "logs-workspace-key" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--platform-reserved-cidr", + description: + "IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. It must not overlap with any other Subnet IP ranges", + args: { name: "platform-reserved-cidr" }, + }, + { + name: "--platform-reserved-dns-ip", + description: + "An IP address from the IP range defined by Platform Reserved CIDR that will be reserved for the internal DNS server", + args: { name: "platform-reserved-dns-ip" }, + }, + { + name: "--storage-account", + description: + "Name or resource ID of the storage account used for Azure Monitor. If this value is provided, Azure Monitor Diagnostic Settings will be created automatically", + args: { name: "storage-account" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--zone-redundant", "-z"], + description: + "Enable zone redundancy on the environment. Cannot be used without --infrastructure-subnet-resource-id. If used with --location, the subnet's location must match", + }, + ], + }, + { + name: "delete", + description: "Delete a Container Apps environment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Container Apps Environment", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List Container Apps environments by subscription or resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-usages", + description: "List usages of quotas for specific managed environment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Container Apps environment", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show details of a Container Apps environment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Container Apps Environment", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Container Apps environment", + options: [ + { + name: ["--custom-domain-certificate-file", "--certificate-file"], + description: + "The filepath of the certificate file (.pfx or .pem) for the environment's custom domain. To manage certificates for container apps, use az containerapp env certificate", + args: { name: "custom-domain-certificate-file" }, + }, + { + name: [ + "--custom-domain-certificate-password", + "--certificate-password", + ], + description: + "The certificate file password for the environment's custom domain", + args: { name: "custom-domain-certificate-password" }, + }, + { + name: ["--custom-domain-dns-suffix", "--dns-suffix"], + description: "The DNS suffix for the environment's custom domain", + args: { name: "custom-domain-dns-suffix" }, + }, + { + name: "--enable-mtls", + description: + "Boolean indicating if mTLS peer authentication is enabled for the environment", + args: { name: "enable-mtls", suggestions: ["false", "true"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--logs-destination", + description: "Logs destination", + args: { + name: "logs-destination", + suggestions: ["azure-monitor", "log-analytics", "none"], + }, + }, + { + name: "--logs-workspace-id", + description: + 'Workspace ID of the Log Analytics workspace to send diagnostics logs to. Only works with logs destination "log-analytics". You can use "az monitor log-analytics workspace create" to create one. Extra billing may apply', + args: { name: "logs-workspace-id" }, + }, + { + name: "--logs-workspace-key", + description: + 'Log Analytics workspace key to configure your Log Analytics workspace. Only works with logs destination "log-analytics". You can use "az monitor log-analytics workspace get-shared-keys" to retrieve the key', + args: { name: "logs-workspace-key" }, + }, + { + name: "--max-nodes", + description: + "The maximum nodes for this workload profile, --workload-profile-name required", + args: { name: "max-nodes" }, + }, + { + name: "--min-nodes", + description: + "The minimum nodes for this workload profile, --workload-profile-name required", + args: { name: "min-nodes" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Container Apps environment", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-account", + description: + "Name or resource ID of the storage account used for Azure Monitor. If this value is provided, Azure Monitor Diagnostic Settings will be created automatically", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--workload-profile-name", "-w"], + description: "The friendly name for the workload profile", + args: { name: "workload-profile-name" }, + }, + { + name: "--workload-profile-type", + description: + "The type of workload profile to add or update in this environment, --workload-profile-name required", + args: { name: "workload-profile-type" }, + }, + ], + }, + { + name: "certificate", + description: + "Commands to manage certificates for the Container Apps environment", + subcommands: [ + { + name: "create", + description: "Create a managed certificate", + options: [ + { + name: "--hostname", + description: "The custom domain name", + args: { name: "hostname" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Container Apps environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--validation-method", "-v"], + description: + "Validation method of custom domain ownership. Supported methods are HTTP, CNAME and TXT", + args: { name: "validation-method" }, + isRequired: true, + }, + { + name: ["--certificate-name", "-c"], + description: + "Name of the managed certificate which should be unique within the Container Apps environment", + args: { name: "certificate-name" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a certificate from the Container Apps environment", + options: [ + { + name: ["--certificate", "-c"], + description: "Name or resource id of the certificate", + args: { name: "certificate" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location of resource. Examples: eastus2, northeurope", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Container Apps environment", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--thumbprint", "-t"], + description: "Thumbprint of the certificate", + args: { name: "thumbprint" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List certificates for an environment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Container Apps environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--certificate", "-c"], + description: "Name or resource id of the certificate", + args: { name: "certificate" }, + }, + { + name: ["--location", "-l"], + description: + "Location of resource. Examples: eastus2, northeurope", + args: { name: "location" }, + }, + { + name: ["--managed-certificates-only", "-m"], + description: "List managed certificates only", + }, + { + name: ["--private-key-certificates-only", "-p"], + description: "List private-key certificates only", + }, + { + name: ["--thumbprint", "-t"], + description: "Thumbprint of the certificate", + args: { name: "thumbprint" }, + }, + ], + }, + { + name: "upload", + description: "Add or update a certificate", + options: [ + { + name: ["--certificate-file", "-f"], + description: "The filepath of the .pfx or .pem file", + args: { name: "certificate-file" }, + isRequired: true, + }, + { + name: ["--certificate-name", "-c"], + description: + "Name of the certificate which should be unique within the Container Apps environment", + args: { name: "certificate-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location of resource. Examples: eastus2, northeurope", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Container Apps environment", + args: { name: "name" }, + }, + { + name: ["--password", "-p"], + description: "The certificate file password", + args: { name: "password" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--show-prompt", + description: "Show prompt to upload an existing certificate", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "dapr-component", + description: + "Commands to manage Dapr components for the Container Apps environment", + subcommands: [ + { + name: "list", + description: "List Dapr components for an environment", + options: [ + { + name: ["--name", "-n"], + description: "The environment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a Dapr component from an environment", + options: [ + { + name: "--dapr-component-name", + description: "The Dapr component name", + args: { name: "dapr-component-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The environment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Create or update a Dapr component", + options: [ + { + name: "--dapr-component-name", + description: "The Dapr component name", + args: { name: "dapr-component-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The environment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--yaml", + description: + "Path to a .yaml file with the configuration of a Dapr component. All other parameters will be ignored. For an example, see https://learn.microsoft.com/en-us/azure/container-apps/dapr-overview?tabs=bicep1%2Cyaml#component-schema", + args: { name: "yaml" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of a Dapr component", + options: [ + { + name: "--dapr-component-name", + description: "The Dapr component name", + args: { name: "dapr-component-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The environment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "logs", + description: "Show container app environment logs", + subcommands: [ + { + name: "show", + description: + "Show past environment logs and/or print logs in real time (with the --follow parameter)", + options: [ + { + name: "--follow", + description: "Print logs in real time if present", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Container Apps environment", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tail", + description: "The number of past logs to print (0-300)", + args: { name: "tail" }, + }, + ], + }, + ], + }, + { + name: "storage", + description: + "Commands to manage storage for the Container Apps environment", + subcommands: [ + { + name: "list", + description: "List the storages for an environment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Container Apps environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a storage from an environment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Container Apps environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-name", + description: "Name of the storage", + args: { name: "storage-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "set", + description: "Create or update a storage", + options: [ + { + name: "--access-mode", + description: "Access mode for the AzureFile storage", + args: { + name: "access-mode", + suggestions: ["ReadOnly", "ReadWrite"], + }, + isRequired: true, + }, + { + name: ["--azure-file-account-name", "--account-name", "-a"], + description: "Name of the AzureFile storage account", + args: { name: "azure-file-account-name" }, + isRequired: true, + }, + { + name: [ + "--azure-file-account-key", + "--storage-account-key", + "-k", + ], + description: "Key of the AzureFile storage account", + args: { name: "azure-file-account-key" }, + isRequired: true, + }, + { + name: ["--azure-file-share-name", "--file-share", "-f"], + description: "Name of the share on the AzureFile storage", + args: { name: "azure-file-share-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Container Apps environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-name", + description: "Name of the storage", + args: { name: "storage-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: "Show the details of a storage", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Container Apps environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-name", + description: "Name of the storage", + args: { name: "storage-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "workload-profile", + description: + "Manage the workload profiles of a Container Apps environment", + subcommands: [ + { + name: "add", + description: + "Create a workload profile in a Container Apps environment", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Container App environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workload-profile-name", "-w"], + description: "The friendly name for the workload profile", + args: { name: "workload-profile-name" }, + isRequired: true, + }, + { + name: "--max-nodes", + description: + "The maximum node count for the workload profile", + args: { name: "max-nodes" }, + }, + { + name: "--min-nodes", + description: + "The minimum node count for the workload profile", + args: { name: "min-nodes" }, + }, + { + name: "--workload-profile-type", + description: + "The type of workload profile to add to this environment. Run 'az containerapp env workload-profile list-supported -l ' to check the options for your region", + args: { name: "workload-profile-type" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a workload profile from a Container Apps environment", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Container App environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workload-profile-name", "-w"], + description: "The friendly name for the workload profile", + args: { name: "workload-profile-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List the workload profiles from a Container Apps environment", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Container App environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-supported", + description: "List the supported workload profiles in a region", + options: [ + { + name: ["--location", "-l"], + description: + "Location of resource. Examples: eastus2, northeurope", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: + "Create or update an existing workload profile in a Container Apps environment", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Container App environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workload-profile-name", "-w"], + description: "The friendly name for the workload profile", + args: { name: "workload-profile-name" }, + isRequired: true, + }, + { + name: "--max-nodes", + description: + "The maximum node count for the workload profile", + args: { name: "max-nodes" }, + }, + { + name: "--min-nodes", + description: + "The minimum node count for the workload profile", + args: { name: "min-nodes" }, + }, + { + name: "--workload-profile-type", + description: + "The type of workload profile to add or update. Run 'az containerapp env workload-profile list-supported -l ' to check the options for your region", + args: { name: "workload-profile-type" }, + }, + ], + }, + { + name: "show", + description: + "Show a workload profile from a Container Apps environment", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Container App environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workload-profile-name", "-w"], + description: "The friendly name for the workload profile", + args: { name: "workload-profile-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an existing workload profile in a Container Apps environment", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Container App environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workload-profile-name", "-w"], + description: "The friendly name for the workload profile", + args: { name: "workload-profile-name" }, + isRequired: true, + }, + { + name: "--max-nodes", + description: + "The maximum node count for the workload profile", + args: { name: "max-nodes" }, + }, + { + name: "--min-nodes", + description: + "The minimum node count for the workload profile", + args: { name: "min-nodes" }, + }, + { + name: "--workload-profile-type", + description: + "The type of workload profile to update. Run 'az containerapp env workload-profile list-supported -l ' to check the options for your region", + args: { name: "workload-profile-type" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "github-action", + description: "Commands to manage GitHub Actions", + subcommands: [ + { + name: "add", + description: + "Add a GitHub Actions workflow to a repository to deploy a container app", + options: [ + { + name: "--repo-url", + description: + "The GitHub repository to which the workflow file will be added. In the format: https://github.com//", + args: { name: "repo-url" }, + isRequired: true, + }, + { + name: ["--branch", "-b"], + description: + "The branch of the Github repo. Assumed to be the Github repo's default branch if not specified", + args: { name: "branch" }, + }, + { + name: "--context-path", + description: + 'Path in the repo from which to run the docker build. Defaults to "./"', + args: { name: "context-path" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--image", "-i"], + description: + "Container image name that the Github Action should use. Defaults to the Container App name", + args: { name: "image" }, + }, + { + name: "--login-with-github", + description: + "Interactively log in with Github to retrieve the Personal Access Token", + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--registry-password", + description: + "The password of the registry. If using Azure Container Registry, we will try to infer the credentials if not supplied", + args: { name: "registry-password" }, + }, + { + name: "--registry-url", + description: + "The container registry server, e.g. myregistry.azurecr.io", + args: { name: "registry-url" }, + }, + { + name: "--registry-username", + description: + "The username of the registry. If using Azure Container Registry, we will try to infer the credentials if not supplied", + args: { name: "registry-username" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--service-principal-client-id", + description: "The service principal client ID", + args: { name: "service-principal-client-id" }, + }, + { + name: "--service-principal-client-secret", + description: "The service principal client secret", + args: { name: "service-principal-client-secret" }, + }, + { + name: "--service-principal-tenant-id", + description: "The service principal tenant ID", + args: { name: "service-principal-tenant-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--token", + description: + "A Personal Access Token with write access to the specified repository. For more information: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line", + args: { name: "token" }, + }, + ], + }, + { + name: "delete", + description: + "Remove a previously configured Container Apps GitHub Actions workflow from a repository", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--login-with-github", + description: + "Interactively log in with Github to retrieve the Personal Access Token", + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--token", + description: + "A Personal Access Token with write access to the specified repository. For more information: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: + "Show the GitHub Actions configuration on a container app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "hostname", + description: "Commands to manage hostnames of a container app", + subcommands: [ + { + name: "add", + description: "Add the hostname to a container app without binding", + options: [ + { + name: "--hostname", + description: "The custom domain name", + args: { name: "hostname" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "bind", + description: + "Add or update the hostname and binding with a certificate", + options: [ + { + name: "--hostname", + description: "The custom domain name", + args: { name: "hostname" }, + isRequired: true, + }, + { + name: ["--certificate", "-c"], + description: "Name or resource id of the certificate", + args: { name: "certificate" }, + }, + { + name: ["--environment", "-e"], + description: + "Name or resource id of the Container App environment", + args: { name: "environment" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--thumbprint", "-t"], + description: "Thumbprint of the certificate", + args: { name: "thumbprint" }, + }, + { + name: ["--validation-method", "-v"], + description: "Validation method of custom domain ownership", + args: { name: "validation-method" }, + }, + ], + }, + { + name: "delete", + description: "Delete hostnames from a container app", + options: [ + { + name: "--hostname", + description: "The custom domain name", + args: { name: "hostname" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the hostnames of a container app", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Commands to manage managed identities", + subcommands: [ + { + name: "assign", + description: "Assign managed identity to a container app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--system-assigned", + description: + "Boolean indicating whether to assign system-assigned identity", + }, + { + name: "--user-assigned", + description: "Space-separated user identities", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "remove", + description: "Remove a managed identity from a container app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--system-assigned", + description: + "Boolean indicating whether to assign system-assigned identity", + }, + { + name: "--user-assigned", + description: + "Space-separated user identities. If no user identities are specified, all user identities will be removed", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "show", + description: "Show managed identities of a container app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "ingress", + description: "Commands to manage ingress and traffic-splitting", + subcommands: [ + { + name: "disable", + description: "Disable ingress for a container app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "enable", + description: "Enable or update ingress for a container app", + options: [ + { + name: "--target-port", + description: "The application port used for ingress traffic", + args: { name: "target-port" }, + isRequired: true, + }, + { + name: "--type", + description: "The ingress type", + args: { name: "type", suggestions: ["external", "internal"] }, + isRequired: true, + }, + { + name: "--allow-insecure", + description: "Allow insecure connections for ingress traffic", + }, + { + name: "--exposed-port", + description: + "Additional exposed port. Only supported by tcp transport protocol. Must be unique per environment if the app ingress is external", + args: { name: "exposed-port" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--transport", + description: "The transport protocol used for ingress traffic", + args: { + name: "transport", + suggestions: ["auto", "http", "http2", "tcp"], + }, + }, + ], + }, + { + name: "show", + description: "Show details of a container app's ingress", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update ingress for a container app", + options: [ + { + name: "--allow-insecure", + description: "Allow insecure connections for ingress traffic", + }, + { + name: "--exposed-port", + description: + "Additional exposed port. Only supported by tcp transport protocol. Must be unique per environment if the app ingress is external", + args: { name: "exposed-port" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-port", + description: "The application port used for ingress traffic", + args: { name: "target-port" }, + }, + { + name: "--transport", + description: "The transport protocol used for ingress traffic", + args: { + name: "transport", + suggestions: ["auto", "http", "http2", "tcp"], + }, + }, + { + name: "--type", + description: "The ingress type", + args: { name: "type", suggestions: ["external", "internal"] }, + }, + ], + }, + { + name: "access-restriction", + description: "Commands to manage IP access restrictions", + subcommands: [ + { + name: "list", + description: "List IP access restrictions for a container app", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove IP access restrictions from a container app", + options: [ + { + name: "--rule-name", + description: "The IP security restriction name", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set", + description: + "Configure IP access restrictions for a container app", + options: [ + { + name: "--action", + description: + "Whether the IP security restriction allows or denies access. All restrictions must be use the same action. If no restrictions are set, all traffic is allowed", + args: { name: "action", suggestions: ["Allow", "Deny"] }, + isRequired: true, + }, + { + name: "--ip-address", + description: + "The address range of the IP security restriction in IPv4 CIDR notation. (for example, '198.51.100.14/24')", + args: { name: "ip-address" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "The IP security restriction name", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--description", + description: "The description of the IP security restriction", + args: { name: "description" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "cors", + description: "Commands to manage CORS policy for a container app", + subcommands: [ + { + name: "disable", + description: "Disable CORS policy for a container app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "enable", + description: "Enable CORS policy for a container app", + options: [ + { + name: ["--allowed-origins", "-r"], + description: + "A list of allowed origin(s) for the container app. Values are space-separated. Empty string to clear existing values", + args: { name: "allowed-origins" }, + isRequired: true, + }, + { + name: "--allow-credentials", + description: + "Whether the credential is allowed for the container app", + args: { + name: "allow-credentials", + suggestions: ["false", "true"], + }, + }, + { + name: ["--allowed-headers", "-a"], + description: + "A list of allowed header(s) for the container app. Values are space-separated. Empty string to clear existing values", + args: { name: "allowed-headers" }, + }, + { + name: ["--allowed-methods", "-m"], + description: + "A list of allowed method(s) for the container app. Values are space-separated. Empty string to clear existing values", + args: { name: "allowed-methods" }, + }, + { + name: ["--expose-headers", "-e"], + description: + "A list of expose header(s) for the container app. Values are space-separated. Empty string to clear existing values", + args: { name: "expose-headers" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--max-age", + description: + "The maximum age of the allowed origin in seconds. Only postive integer or empty string are allowed. Empty string resets max_age to null", + args: { name: "max-age" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show CORS policy for a container app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update CORS policy for a container app", + options: [ + { + name: "--allow-credentials", + description: + "Whether the credential is allowed for the container app", + args: { + name: "allow-credentials", + suggestions: ["false", "true"], + }, + }, + { + name: ["--allowed-headers", "-a"], + description: + "A list of allowed header(s) for the container app. Values are space-separated. Empty string to clear existing values", + args: { name: "allowed-headers" }, + }, + { + name: ["--allowed-methods", "-m"], + description: + "A list of allowed method(s) for the container app. Values are space-separated. Empty string to clear existing values", + args: { name: "allowed-methods" }, + }, + { + name: ["--allowed-origins", "-r"], + description: + "A list of allowed origin(s) for the container app. Values are space-separated. Empty string to clear existing values", + args: { name: "allowed-origins" }, + }, + { + name: ["--expose-headers", "-e"], + description: + "A list of expose header(s) for the container app. Values are space-separated. Empty string to clear existing values", + args: { name: "expose-headers" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--max-age", + description: + "The maximum age of the allowed origin in seconds. Only postive integer or empty string are allowed. Empty string resets max_age to null", + args: { name: "max-age" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "sticky-sessions", + description: + "Commands to set Sticky session affinity for a container app", + subcommands: [ + { + name: "set", + description: "Configure Sticky session for a container app", + options: [ + { + name: "--affinity", + description: + "Whether the affinity for the container app is Sticky or None", + args: { name: "affinity", suggestions: ["none", "sticky"] }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show the Affinity for a container app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "traffic", + description: "Commands to manage traffic-splitting", + subcommands: [ + { + name: "set", + description: "Configure traffic-splitting for a container app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--label-weight", + description: + "A list of label weight(s) for the container app. Space-separated values in 'label_name=weight' format", + args: { name: "label-weight" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--revision-weight", + description: + "A list of revision weight(s) for the container app. Space-separated values in 'revision_name=weight' format. For latest revision, use 'latest=weight'", + args: { name: "revision-weight" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--traffic-weight", + description: + "Option '--traffic-weight' has been deprecated and will be removed in a future release. Use '--revision-weight' instead. A list of revision weight(s) for the container app. Space-separated values in 'revision_name=weight' format. For latest revision, use 'latest=weight'", + args: { name: "traffic-weight" }, + }, + ], + }, + { + name: "show", + description: + "Show traffic-splitting configuration for a container app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "job", + description: "Commands to manage Container Apps jobs", + subcommands: [ + { + name: "create", + description: "Create a container apps job", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Container Apps Job. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--args", + description: + 'A list of container startup command argument(s). Space-separated values e.g. "-c" "mycommand". Empty string to clear existing values', + args: { name: "args" }, + }, + { + name: "--command", + description: + 'A list of supported commands on the container that will executed during startup. Space-separated values e.g. "/bin/queue" "mycommand". Empty string to clear existing values', + args: { name: "command" }, + }, + { + name: "--container-name", + description: "Name of the container", + args: { name: "container-name" }, + }, + { + name: "--cpu", + description: "Required CPU in cores from 0.25 - 2.0, e.g. 0.5", + args: { name: "cpu" }, + }, + { + name: "--cron-expression", + description: + 'Cron expression. Only supported for trigger type "Schedule"', + args: { name: "cron-expression" }, + }, + { + name: "--env-vars", + description: + "A list of environment variable(s) for the container. Space-separated values in 'key=value' format. Empty string to clear existing values. Prefix value with 'secretref:' to reference a secret", + args: { name: "env-vars" }, + }, + { + name: "--environment", + description: + "Name or resource ID of the container app's environment", + args: { name: "environment" }, + }, + { + name: "--environment-type", + description: "Type of environment", + args: { + name: "environment-type", + suggestions: ["connected", "managed"], + }, + }, + { + name: "--image", + description: "Container image, e.g. publisher/image-name:tag", + args: { name: "image" }, + }, + { + name: "--max-executions", + description: + "Maximum number of job executions to run per polling interval", + args: { name: "max-executions" }, + }, + { + name: "--memory", + description: + 'Required memory from 0.5 - 4.0 ending with "Gi", e.g. 1.0Gi', + args: { name: "memory" }, + }, + { + name: "--mi-system-assigned", + description: + "Boolean indicating whether to assign system-assigned identity", + }, + { + name: "--mi-user-assigned", + description: "Space-separated user identities to be assigned", + args: { name: "mi-user-assigned" }, + }, + { + name: "--min-executions", + description: + "Minimum number of job executions to run per polling interval", + args: { name: "min-executions" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--parallelism", + description: "Maximum number of replicas to run per execution", + args: { name: "parallelism" }, + }, + { + name: "--polling-interval", + description: + "Interval to check each event source in seconds. Defaults to 30s", + args: { name: "polling-interval" }, + }, + { + name: ["--replica-completion-count", "--rcc"], + description: + "Number of replicas that need to complete successfully for execution to succeed", + args: { name: "replica-completion-count" }, + }, + { + name: "--registry-identity", + description: + "A Managed Identity to authenticate with the registry server instead of username/password. Use a resource ID or 'system' for user-defined and system-defined identities, respectively. The registry must be an ACR. If possible, an 'acrpull' role assignemnt will be created for the identity automatically", + args: { name: "registry-identity" }, + }, + { + name: "--registry-password", + description: + "The password to log in to container registry. If stored as a secret, value must start with 'secretref:' followed by the secret name", + args: { name: "registry-password" }, + }, + { + name: "--registry-server", + description: + "The container registry server hostname, e.g. myregistry.azurecr.io", + args: { name: "registry-server" }, + }, + { + name: "--registry-username", + description: "The username to log in to container registry", + args: { name: "registry-username" }, + }, + { + name: "--replica-retry-limit", + description: "Maximum number of retries before the replica fails", + args: { name: "replica-retry-limit" }, + }, + { + name: "--replica-timeout", + description: "Maximum number of seconds a replica can execute", + args: { name: "replica-timeout" }, + }, + { + name: ["--scale-rule-auth", "--sra"], + description: + 'Scale rule auth parameters. Auth parameters must be in format "= = ..."', + args: { name: "scale-rule-auth" }, + }, + { + name: ["--scale-rule-metadata", "--srm"], + description: + 'Scale rule metadata. Metadata must be in format "= = ..."', + args: { name: "scale-rule-metadata" }, + }, + { + name: ["--scale-rule-name", "--srn"], + description: "The name of the scale rule", + args: { name: "scale-rule-name" }, + }, + { + name: ["--scale-rule-type", "--srt"], + description: "The type of the scale rule", + args: { name: "scale-rule-type" }, + }, + { + name: ["--secrets", "-s"], + description: + "A list of secret(s) for the container app. Space-separated values in 'key=value' format", + args: { name: "secrets" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--trigger-type", + description: "Trigger type. Schedule | Event | Manual", + args: { name: "trigger-type" }, + }, + { + name: ["--workload-profile-name", "-w"], + description: "The friendly name for the workload profile", + args: { name: "workload-profile-name" }, + }, + { + name: "--yaml", + description: + "Path to a .yaml file with the configuration of a container app. All other parameters will be ignored. For an example, see https://docs.microsoft.com/azure/container-apps/azure-resource-manager-api-spec#examples", + args: { name: "yaml" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Container Apps Job", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Container Apps Job. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List Container Apps Job by subscription or resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of a Container Apps Job", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Container Apps Job. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a Container Apps Job execution", + options: [ + { + name: "--args", + description: + 'A list of container startup command argument(s). Space-separated values e.g. "-c" "mycommand". Empty string to clear existing values', + args: { name: "args" }, + }, + { + name: "--command", + description: + 'A list of supported commands on the container that will executed during startup. Space-separated values e.g. "/bin/queue" "mycommand". Empty string to clear existing values', + args: { name: "command" }, + }, + { + name: "--container-name", + description: "Name of the container", + args: { name: "container-name" }, + }, + { + name: "--cpu", + description: "Required CPU in cores from 0.25 - 2.0, e.g. 0.5", + args: { name: "cpu" }, + }, + { + name: "--env-vars", + description: + "A list of environment variable(s) for the container. Space-separated values in 'key=value' format. Empty string to clear existing values. Prefix value with 'secretref:' to reference a secret", + args: { name: "env-vars" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--image", + description: "Container image, e.g. publisher/image-name:tag", + args: { name: "image" }, + }, + { + name: "--memory", + description: + 'Required memory from 0.5 - 4.0 ending with "Gi", e.g. 1.0Gi', + args: { name: "memory" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Container Apps Job. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--registry-identity", + description: + "A Managed Identity to authenticate with the registry server instead of username/password. Use a resource ID or 'system' for user-defined and system-defined identities, respectively. The registry must be an ACR. If possible, an 'acrpull' role assignemnt will be created for the identity automatically", + args: { name: "registry-identity" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--yaml", + description: + "Path to a .yaml file with the configuration of a container app. All other parameters will be ignored. For an example, see https://docs.microsoft.com/azure/container-apps/azure-resource-manager-api-spec#examples", + args: { name: "yaml" }, + }, + ], + }, + { + name: "stop", + description: "Stops a Container Apps Job execution", + options: [ + { + name: "--execution-name-list", + description: "Comma separated list of job execution names", + args: { name: "execution-name-list" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--job-execution-name", + description: + "Name of the specific job execution which needs to be stopped", + args: { name: "job-execution-name" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Container Apps Job. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Container Apps Job", + options: [ + { + name: "--args", + description: + 'A list of container startup command argument(s). Space-separated values e.g. "-c" "mycommand". Empty string to clear existing values', + args: { name: "args" }, + }, + { + name: "--command", + description: + 'A list of supported commands on the container that will executed during startup. Space-separated values e.g. "/bin/queue" "mycommand". Empty string to clear existing values', + args: { name: "command" }, + }, + { + name: "--container-name", + description: "Name of the container", + args: { name: "container-name" }, + }, + { + name: "--cpu", + description: "Required CPU in cores from 0.25 - 2.0, e.g. 0.5", + args: { name: "cpu" }, + }, + { + name: "--cron-expression", + description: + 'Cron expression. Only supported for trigger type "Schedule"', + args: { name: "cron-expression" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--image", + description: "Container image, e.g. publisher/image-name:tag", + args: { name: "image" }, + }, + { + name: "--max-executions", + description: + "Maximum number of job executions to run per polling interval", + args: { name: "max-executions" }, + }, + { + name: "--memory", + description: + 'Required memory from 0.5 - 4.0 ending with "Gi", e.g. 1.0Gi', + args: { name: "memory" }, + }, + { + name: "--min-executions", + description: + "Minimum number of job executions to run per polling interval", + args: { name: "min-executions" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Container Apps Job. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--parallelism", + description: "Maximum number of replicas to run per execution", + args: { name: "parallelism" }, + }, + { + name: "--polling-interval", + description: + "Interval to check each event source in seconds. Defaults to 30s", + args: { name: "polling-interval" }, + }, + { + name: ["--replica-completion-count", "--rcc"], + description: + "Number of replicas that need to complete successfully for execution to succeed", + args: { name: "replica-completion-count" }, + }, + { + name: "--remove-all-env-vars", + description: "Remove all environment variable(s) from container", + }, + { + name: "--remove-env-vars", + description: + "Remove environment variable(s) from container. Space-separated environment variable names", + args: { name: "remove-env-vars" }, + }, + { + name: "--replace-env-vars", + description: + "Replace environment variable(s) in container. Other existing environment variables are removed. Space-separated values in 'key=value' format. If stored as a secret, value must start with 'secretref:' followed by the secret name", + args: { name: "replace-env-vars" }, + }, + { + name: "--replica-retry-limit", + description: "Maximum number of retries before the replica fails", + args: { name: "replica-retry-limit" }, + }, + { + name: "--replica-timeout", + description: "Maximum number of seconds a replica can execute", + args: { name: "replica-timeout" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--scale-rule-auth", "--sra"], + description: + 'Scale rule auth parameters. Auth parameters must be in format "= = ..."', + args: { name: "scale-rule-auth" }, + }, + { + name: ["--scale-rule-metadata", "--srm"], + description: + 'Scale rule metadata. Metadata must be in format "= = ..."', + args: { name: "scale-rule-metadata" }, + }, + { + name: ["--scale-rule-name", "--srn"], + description: "The name of the scale rule", + args: { name: "scale-rule-name" }, + }, + { + name: ["--scale-rule-type", "--srt"], + description: "The type of the scale rule", + args: { name: "scale-rule-type" }, + }, + { + name: "--set-env-vars", + description: + "Add or update environment variable(s) in container. Existing environment variables are not modified. Space-separated values in 'key=value' format. If stored as a secret, value must start with 'secretref:' followed by the secret name", + args: { name: "set-env-vars" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--workload-profile-name", "-w"], + description: "The friendly name for the workload profile", + args: { name: "workload-profile-name" }, + }, + { + name: "--yaml", + description: + "Path to a .yaml file with the configuration of a container app. All other parameters will be ignored. For an example, see https://docs.microsoft.com/azure/container-apps/azure-resource-manager-api-spec#examples", + args: { name: "yaml" }, + }, + ], + }, + { + name: "execution", + description: "Commands to view executions of a Container App Job", + subcommands: [ + { + name: "list", + description: "Get list of all executions of a Container App Job", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Container Apps Job. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get execution of a Container App Job", + options: [ + { + name: "--job-execution-name", + description: "Name of the specific job execution", + args: { name: "job-execution-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the Container Apps Job. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "identity", + description: + "Commands to manage managed identities for container app job", + subcommands: [ + { + name: "assign", + description: "Assign managed identity to a container app job", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Container Apps Job. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--system-assigned", + description: + "Boolean indicating whether to assign system-assigned identity", + }, + { + name: "--user-assigned", + description: "Space-separated user identities", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "remove", + description: "Remove a managed identity from a container app job", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Container Apps Job. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--system-assigned", + description: + "Boolean indicating whether to assign system-assigned identity", + }, + { + name: "--user-assigned", + description: + "Space-separated user identities. If no user identities are specified, all user identities will be removed", + args: { name: "user-assigned" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show managed identities of a container app job", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Container Apps Job. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "secret", + description: "Commands to manage secrets", + subcommands: [ + { + name: "list", + description: "List the secrets of a container app job", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container app job for which the secret needs to be retrieved", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--show-values", + description: "Show the secret values", + }, + ], + }, + { + name: "remove", + description: "Remove secrets from a container app job", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container app job for which the secret needs to be retrieved", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--secret-names", + description: + "A list of secret(s) for the container app job. Space-separated secret values names", + args: { name: "secret-names" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "set", + description: "Create/update secrets", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container app job for which the secret needs to be retrieved", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--secrets", "-s"], + description: + "A list of secret(s) for the container app job. Space-separated values in 'key=value' or 'key=keyvaultref:keyvaulturl,identityref:identity' format (where 'key' cannot be longer than 20 characters)", + args: { name: "secrets" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a secret", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the container app job for which the secret needs to be retrieved", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--secret-name", + description: "The name of the secret to show", + args: { name: "secret-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "logs", + description: "Show container app logs", + subcommands: [ + { + name: "show", + description: + "Show past logs and/or print logs in real time (with the --follow parameter). Note that the logs are only taken from one revision, replica, and container (for non-system logs)", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Containerapp", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--container", + description: "The name of the container", + args: { name: "container" }, + }, + { + name: "--follow", + description: "Print logs in real time if present", + }, + { + name: "--format", + description: "Log output format", + args: { name: "format", suggestions: ["json", "text"] }, + }, + { + name: "--replica", + description: + "The name of the replica. List replicas with 'az containerapp replica list'. A replica may not exist if there is not traffic to your app", + args: { name: "replica" }, + }, + { + name: "--revision", + description: + "The name of the container app revision. Defaults to the latest revision", + args: { name: "revision" }, + }, + { + name: "--tail", + description: "The number of past logs to print (0-300)", + args: { name: "tail" }, + }, + { + name: ["--type", "-t"], + description: "Type of logs to stream", + args: { name: "type", suggestions: ["console", "system"] }, + }, + ], + }, + ], + }, + { + name: "patch", + description: + "Patch Azure Container Apps. Patching is only available for the apps built using the source to cloud feature. See https://aka.ms/aca-local-source-to-cloud", + subcommands: [ + { + name: "apply", + description: + "List and apply container apps to be patched. Patching is only available for the apps built using the source to cloud feature. See https://aka.ms/aca-local-source-to-cloud", + options: [ + { + name: ["--environment", "-e"], + description: + "Name or resource id of the Container App environment", + args: { name: "environment" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--show-all", + description: "Show all patchable and unpatchable container apps", + }, + ], + }, + { + name: "interactive", + description: + "List and select container apps to be patched in an interactive way. Patching is only available for the apps built using the source to cloud feature. See https://aka.ms/aca-local-source-to-cloud", + options: [ + { + name: ["--environment", "-e"], + description: + "Name or resource id of the Container App environment", + args: { name: "environment" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--show-all", + description: "Show all patchable and unpatchable container apps", + }, + ], + }, + { + name: "list", + description: + "List container apps that can be patched. Patching is only available for the apps built using the source to cloud feature. See https://aka.ms/aca-local-source-to-cloud", + options: [ + { + name: ["--environment", "-e"], + description: + "Name or resource id of the Container App environment", + args: { name: "environment" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--show-all", + description: "Show all patchable and unpatchable container apps", + }, + ], + }, + ], + }, + { + name: "registry", + description: "Commands to manage container registry information", + subcommands: [ + { + name: "list", + description: + "List container registries configured in a container app", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a container registry's details", + options: [ + { + name: "--server", + description: + "The container registry server, e.g. myregistry.azurecr.io", + args: { name: "server" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set", + description: "Add or update a container registry's details", + options: [ + { + name: "--server", + description: + "The container registry server, e.g. myregistry.azurecr.io", + args: { name: "server" }, + isRequired: true, + }, + { + name: "--identity", + description: + "The managed identity with which to authenticate to the Azure Container Registry (instead of username/password). Use 'system' for a system-defined identity or a resource id for a user-defined identity. The managed identity should have been assigned acrpull permissions on the ACR before deployment (use 'az role assignment create --role acrpull ...')", + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--password", + description: + "The password of the registry. If using Azure Container Registry, we will try to infer the credentials if not supplied", + args: { name: "password" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--username", + description: + "The username of the registry. If using Azure Container Registry, we will try to infer the credentials if not supplied", + args: { name: "username" }, + }, + ], + }, + { + name: "show", + description: "Show details of a container registry", + options: [ + { + name: "--server", + description: + "The container registry server, e.g. myregistry.azurecr.io", + args: { name: "server" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "replica", + description: "Manage container app replicas", + subcommands: [ + { + name: "list", + description: "List a container app revision's replica", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Containerapp", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--revision", + description: + "The name of the container app revision. Defaults to the latest revision", + args: { name: "revision" }, + }, + ], + }, + { + name: "show", + description: "Show a container app replica", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Containerapp", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--replica", + description: "The name of the replica", + args: { name: "replica" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--revision", + description: + "The name of the container app revision. Defaults to the latest revision", + args: { name: "revision" }, + }, + ], + }, + ], + }, + { + name: "revision", + description: "Commands to manage revisions", + subcommands: [ + { + name: "activate", + description: "Activate a revision", + options: [ + { + name: "--revision", + description: "Name of the revision", + args: { name: "revision" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "copy", + description: "Create a revision based on a previous revision", + options: [ + { + name: "--args", + description: + 'A list of container startup command argument(s). Space-separated values e.g. "-c" "mycommand". Empty string to clear existing values', + args: { name: "args" }, + }, + { + name: "--command", + description: + 'A list of supported commands on the container that will executed during startup. Space-separated values e.g. "/bin/queue" "mycommand". Empty string to clear existing values', + args: { name: "command" }, + }, + { + name: "--container-name", + description: "Name of the container", + args: { name: "container-name" }, + }, + { + name: "--cpu", + description: "Required CPU in cores from 0.25 - 2.0, e.g. 0.5", + args: { name: "cpu" }, + }, + { + name: "--from-revision", + description: "Revision to copy from. Default: latest revision", + args: { name: "from-revision" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--image", "-i"], + description: "Container image, e.g. publisher/image-name:tag", + args: { name: "image" }, + }, + { + name: "--max-replicas", + description: "The maximum number of replicas", + args: { name: "max-replicas" }, + }, + { + name: "--memory", + description: + 'Required memory from 0.5 - 4.0 ending with "Gi", e.g. 1.0Gi', + args: { name: "memory" }, + }, + { + name: "--min-replicas", + description: "The minimum number of replicas", + args: { name: "min-replicas" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: "--remove-all-env-vars", + description: "Remove all environment variable(s) from container", + }, + { + name: "--remove-env-vars", + description: + "Remove environment variable(s) from container. Space-separated environment variable names", + args: { name: "remove-env-vars" }, + }, + { + name: "--replace-env-vars", + description: + "Replace environment variable(s) in container. Other existing environment variables are removed. Space-separated values in 'key=value' format. If stored as a secret, value must start with 'secretref:' followed by the secret name", + args: { name: "replace-env-vars" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--revision-suffix", + description: + "User friendly suffix that is appended to the revision name", + args: { name: "revision-suffix" }, + }, + { + name: ["--scale-rule-auth", "--sra"], + description: + 'Scale rule auth parameters. Auth parameters must be in format "= = ..."', + args: { name: "scale-rule-auth" }, + }, + { + name: [ + "--scale-rule-http-concurrency", + "--scale-rule-tcp-concurrency", + "--srhc", + "--srtc", + ], + description: + "The maximum number of concurrent requests before scale out. Only supported for http and tcp scale rules", + args: { name: "scale-rule-http-concurrency" }, + }, + { + name: ["--scale-rule-metadata", "--srm"], + description: + 'Scale rule metadata. Metadata must be in format "= = ..."', + args: { name: "scale-rule-metadata" }, + }, + { + name: ["--scale-rule-name", "--srn"], + description: "The name of the scale rule", + args: { name: "scale-rule-name" }, + }, + { + name: ["--scale-rule-type", "--srt"], + description: + "The type of the scale rule. Default: http. For more information please visit https://learn.microsoft.com/azure/container-apps/scale-app#scale-triggers", + args: { name: "scale-rule-type" }, + }, + { + name: "--set-env-vars", + description: + "Add or update environment variable(s) in container. Existing environment variables are not modified. Space-separated values in 'key=value' format. If stored as a secret, value must start with 'secretref:' followed by the secret name", + args: { name: "set-env-vars" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--workload-profile-name", "-w"], + description: "The friendly name for the workload profile", + args: { name: "workload-profile-name" }, + }, + { + name: "--yaml", + description: + "Path to a .yaml file with the configuration of a container app. All other parameters will be ignored. For an example, see https://docs.microsoft.com/azure/container-apps/azure-resource-manager-api-spec#examples", + args: { name: "yaml" }, + }, + ], + }, + { + name: "deactivate", + description: "Deactivate a revision", + options: [ + { + name: "--revision", + description: "Name of the revision", + args: { name: "revision" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List a container app's revisions", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { name: "--all", description: "Show inactive revisions" }, + ], + }, + { + name: "restart", + description: "Restart a revision", + options: [ + { + name: "--revision", + description: "Name of the revision", + args: { name: "revision" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set-mode", + description: "Set the revision mode of a container app", + options: [ + { + name: "--mode", + description: "The active revisions mode for the container app", + args: { name: "mode", suggestions: ["multiple", "single"] }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show details of a revision", + options: [ + { + name: "--revision", + description: "Name of the revision", + args: { name: "revision" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "label", + description: "Manage revision labels assigned to traffic weights", + subcommands: [ + { + name: "add", + description: + "Set a revision label to a revision with an associated traffic weight", + options: [ + { + name: "--label", + description: "Name of the label", + args: { name: "label" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--revision", + description: "Name of the revision", + args: { name: "revision" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--no-prompt", "--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "remove", + description: + "Remove a revision label from a revision with an associated traffic weight", + options: [ + { + name: "--label", + description: "Name of the label", + args: { name: "label" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "swap", + description: + "Swap a revision label between two revisions with associated traffic weights", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--source", + description: "Source label to be swapped", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--target", + description: "Target label to be swapped to", + args: { name: "target" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "secret", + description: "Commands to manage secrets", + subcommands: [ + { + name: "list", + description: "List the secrets of a container app", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { name: "--show-values", description: "Show the secret values" }, + ], + }, + { + name: "remove", + description: "Remove secrets from a container app", + options: [ + { + name: "--secret-names", + description: + "A list of secret(s) for the container app. Space-separated secret values names", + args: { name: "secret-names" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set", + description: "Create/update secrets", + options: [ + { + name: ["--secrets", "-s"], + description: + "A list of secret(s) for the container app. Space-separated values in 'key=value' or 'key=keyvaultref:keyvaulturl,identityref:identity' format (where 'key' cannot be longer than 20 characters)", + args: { name: "secrets" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show details of a secret", + options: [ + { + name: "--secret-name", + description: "The name of the secret to show", + args: { name: "secret-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "service", + description: + "Commands to manage services available within the environment", + subcommands: [ + { + name: "list", + description: "List all services within the environment", + options: [ + { + name: "--environment", + description: "The environment name", + args: { name: "environment" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "kafka", + description: + "Commands to manage the kafka service for the Container Apps environment", + subcommands: [ + { + name: "create", + description: "Command to create the kafka service", + options: [ + { + name: "--environment", + description: "The environment name", + args: { name: "environment" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Command to delete the kafka service", + options: [ + { + name: ["--name", "-n"], + description: "The service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "mariadb", + description: + "Commands to manage the mariadb service for the Container Apps environment", + subcommands: [ + { + name: "create", + description: "Command to create the mariadb service", + options: [ + { + name: "--environment", + description: "The environment name", + args: { name: "environment" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Command to delete the mariadb service", + options: [ + { + name: ["--name", "-n"], + description: "The service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "postgres", + description: + "Commands to manage the postgres service for the Container Apps environment", + subcommands: [ + { + name: "create", + description: "Command to create the postgres service", + options: [ + { + name: "--environment", + description: "The environment name", + args: { name: "environment" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Command to delete the postgres service", + options: [ + { + name: ["--name", "-n"], + description: "The service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "qdrant", + description: + "Commands to manage the qdrant service for the Container Apps environment", + subcommands: [ + { + name: "create", + description: "Command to create the qdrant service", + options: [ + { + name: "--environment", + description: "The environment name", + args: { name: "environment" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Command to delete the qdrant service", + options: [ + { + name: ["--name", "-n"], + description: "The service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "redis", + description: + "Commands to manage the redis service for the Container Apps environment", + subcommands: [ + { + name: "create", + description: "Command to create the redis service", + options: [ + { + name: "--environment", + description: "The environment name", + args: { name: "environment" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Command to delete the redis service", + options: [ + { + name: ["--name", "-n"], + description: "The service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + ], + }, + { + name: "ssl", + description: + "Upload certificate to a managed environment, add hostname to an app in that environment, and bind the certificate to the hostname", + subcommands: [ + { + name: "upload", + description: + "Upload certificate to a managed environment, add hostname to an app in that environment, and bind the certificate to the hostname", + options: [ + { + name: ["--certificate-file", "-f"], + description: "The filepath of the .pfx or .pem file", + args: { name: "certificate-file" }, + isRequired: true, + }, + { + name: ["--environment", "-e"], + description: + "Name or resource id of the Container App environment", + args: { name: "environment" }, + isRequired: true, + }, + { + name: "--hostname", + description: "The custom domain name", + args: { name: "hostname" }, + isRequired: true, + }, + { + name: ["--certificate-name", "-c"], + description: + "Name of the certificate which should be unique within the Container Apps environment", + args: { name: "certificate-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Containerapp. A name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, cannot have '--', and must be less than 32 characters", + args: { name: "name" }, + }, + { + name: ["--password", "-p"], + description: "The certificate file password", + args: { name: "password" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/cosmosdb.ts b/src/az/2.53.0/cosmosdb.ts new file mode 100644 index 000000000000..38a77f6cb244 --- /dev/null +++ b/src/az/2.53.0/cosmosdb.ts @@ -0,0 +1,10173 @@ +const completion: Fig.Spec = { + name: "cosmosdb", + description: "Manage Azure Cosmos DB database accounts", + subcommands: [ + { + name: "cassandra", + description: "Manage Cassandra resources of Azure Cosmos DB account", + subcommands: [ + { + name: "keyspace", + description: "Manage Azure Cosmos DB Cassandra keyspaces", + subcommands: [ + { + name: "create", + description: + "Create an Cassandra keyspace under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Keyspace name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: + "The throughput of Cassandra keyspace (RU/s). Default value is 400", + args: { name: "throughput" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the Cassandra keyspace under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Keyspace name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: + "Checks if an Azure Cosmos DB Cassandra keyspace exists", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Keyspace name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List the Cassandra keyspaces under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a Cassandra keyspace under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Keyspace name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "throughput", + description: + "Manage throughput of Cassandra keyspace under an Azure Cosmos DB account", + subcommands: [ + { + name: "migrate", + description: + "Migrate the throughput of the Cassandra keyspace between autoscale and manually provisioned", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Keyspace name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--throughput-type", "-t"], + description: "The type of throughput to migrate to", + args: { + name: "throughput-type", + suggestions: ["autoscale", "manual"], + }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the throughput of the Cassandra keyspace under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Keyspace name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the throughput of the Cassandra keyspace under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Keyspace name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: + "The throughput of Cassandra keyspace (RU/s)", + args: { name: "throughput" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "table", + description: "Manage Azure Cosmos DB Cassandra tables", + subcommands: [ + { + name: "create", + description: + "Create an Cassandra table under an Azure Cosmos DB Cassandra keyspace", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--keyspace-name", "-k"], + description: "Keyspace name", + args: { name: "keyspace-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--schema", + description: + 'Schema, you can enter it as a string or as a file, e.g., --schema @schema-file.json or --schema "{"columns": [{"name": "columnA","type": "uuid"}, {"name": "columnB","type": "Ascii"}],"partitionKeys": [{"name": "columnA"}]}"', + args: { name: "schema" }, + isRequired: true, + }, + { + name: "--analytical-storage-ttl", + description: + "Analytical TTL, when analytical storage is enabled", + args: { name: "analytical-storage-ttl" }, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: + "The throughput of Cassandra table (RU/s). Default value is 400. Omit this parameter if the keyspace has shared throughput unless the table should have dedicated throughput", + args: { name: "throughput" }, + }, + { + name: "--ttl", + description: + 'Default TTL. If the value is missing or set to "-1", items don’t expire. If the value is set to "n", items will expire "n" seconds after last modified time', + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the Cassandra table under an Azure Cosmos DB Cassandra keyspace", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--keyspace-name", "-k"], + description: "Keyspace name", + args: { name: "keyspace-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: + "Checks if an Azure Cosmos DB Cassandra table exists", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--keyspace-name", "-k"], + description: "Keyspace name", + args: { name: "keyspace-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List the Cassandra tables under an Azure Cosmos DB Cassandra keyspace", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--keyspace-name", "-k"], + description: "Keyspace name", + args: { name: "keyspace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a Cassandra table under an Azure Cosmos DB Cassandra keyspace", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--keyspace-name", "-k"], + description: "Keyspace name", + args: { name: "keyspace-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an Cassandra table under an Azure Cosmos DB Cassandra keyspace", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--keyspace-name", "-k"], + description: "Keyspace name", + args: { name: "keyspace-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--analytical-storage-ttl", + description: + "Analytical TTL, when analytical storage is enabled", + args: { name: "analytical-storage-ttl" }, + }, + { + name: "--schema", + description: + 'Schema, you can enter it as a string or as a file, e.g., --schema @schema-file.json or --schema "{"columns": [{"name": "columnA","type": "uuid"}, {"name": "columnB","type": "Ascii"}],"partitionKeys": [{"name": "columnA"}]}"', + args: { name: "schema" }, + }, + { + name: "--ttl", + description: + 'Default TTL. If the value is missing or set to "-1", items don’t expire. If the value is set to "n", items will expire "n" seconds after last modified time', + args: { name: "ttl" }, + }, + ], + }, + { + name: "throughput", + description: + "Manage throughput of Cassandra table under an Azure Cosmos DB account", + subcommands: [ + { + name: "migrate", + description: + "Migrate the throughput of the Cassandra table between autoscale and manually provisioned", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--keyspace-name", "-k"], + description: "Keyspace name", + args: { name: "keyspace-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--throughput-type", "-t"], + description: "The type of throughput to migrate to", + args: { + name: "throughput-type", + suggestions: ["autoscale", "manual"], + }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the throughput of the Cassandra table under an Azure Cosmos DB Cassandra keyspace", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--keyspace-name", "-k"], + description: "Keyspace name", + args: { name: "keyspace-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the throughput of the Cassandra table under an Azure Cosmos DB Cassandra keyspace", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--keyspace-name", "-k"], + description: "Keyspace name", + args: { name: "keyspace-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: "The throughput of Cassandra table (RU/s)", + args: { name: "throughput" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "check-name-exists", + description: "Checks if an Azure Cosmos DB account name exists", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Creates a new Azure Cosmos DB database account", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--analytical-storage-schema-type", "--as-schema"], + description: "Schema type for analytical storage", + args: { + name: "analytical-storage-schema-type", + suggestions: ["FullFidelity", "WellDefined"], + }, + }, + { + name: "--assign-identity", + description: + "Assign system or user assigned identities separated by spaces. Use '[system]' to refer system assigned identity", + args: { name: "assign-identity" }, + }, + { + name: "--backup-interval", + description: + "The frequency(in minutes) with which backups are taken (only for accounts with periodic mode backups)", + args: { name: "backup-interval" }, + }, + { + name: "--backup-policy-type", + description: "The type of backup policy of the account to create", + args: { + name: "backup-policy-type", + suggestions: ["Continuous", "Periodic"], + }, + }, + { + name: "--backup-redundancy", + description: "The redundancy type of the backup Storage account", + args: { + name: "backup-redundancy", + suggestions: ["Geo", "Local", "Zone"], + }, + }, + { + name: "--backup-retention", + description: + "The time(in hours) for which each backup is retained (only for accounts with periodic mode backups)", + args: { name: "backup-retention" }, + }, + { + name: "--capabilities", + description: + "Set custom capabilities on the Cosmos DB database account", + args: { name: "capabilities" }, + }, + { + name: "--continuous-tier", + description: "The tier of Continuous backup", + args: { + name: "continuous-tier", + suggestions: ["Continuous30Days", "Continuous7Days"], + }, + }, + { + name: "--databases-to-restore", + description: "Add a database and its collection names to restore", + args: { name: "databases-to-restore" }, + }, + { + name: "--default-consistency-level", + description: + "Default consistency level of the Cosmos DB database account", + args: { + name: "default-consistency-level", + suggestions: [ + "BoundedStaleness", + "ConsistentPrefix", + "Eventual", + "Session", + "Strong", + ], + }, + }, + { + name: "--default-identity", + description: + "The primary identity to access key vault in CMK related features. e.g. 'FirstPartyIdentity', 'SystemAssignedIdentity' and more. User-assigned identities are specified in format 'UserAssignedIdentity='", + args: { name: "default-identity" }, + }, + { + name: "--disable-key-based-metadata-write-access", + description: + "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + args: { + name: "disable-key-based-metadata-write-access", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-analytical-storage", + description: "Flag to enable log storage on the account", + args: { + name: "enable-analytical-storage", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-automatic-failover", + description: + "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account", + args: { + name: "enable-automatic-failover", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-free-tier", + description: "If enabled the account is free-tier", + args: { name: "enable-free-tier", suggestions: ["false", "true"] }, + }, + { + name: "--enable-multiple-write-locations", + description: "Enable Multiple Write Locations", + args: { + name: "enable-multiple-write-locations", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-partition-merge", + description: "Flag to enable partition merge on the account", + args: { + name: "enable-partition-merge", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-virtual-network", + description: + "Enables virtual network on the Cosmos DB database account", + args: { + name: "enable-virtual-network", + suggestions: ["false", "true"], + }, + }, + { + name: "--gremlin-databases-to-restore", + description: "Add a gremlin database and its graph names to restore", + args: { name: "gremlin-databases-to-restore" }, + }, + { + name: "--ip-range-filter", + description: + "Firewall support. Specifies the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IPs for a given database account. IP addresses/ranges must be comma-separated and must not contain any spaces", + args: { name: "ip-range-filter" }, + }, + { + name: ["--is-restore-request", "-r"], + description: "Restore from an existing/deleted account", + args: { name: "is-restore-request", suggestions: ["false", "true"] }, + }, + { + name: "--key-uri", + description: "The URI of the key vault", + args: { name: "key-uri" }, + }, + { + name: "--kind", + description: "The type of Cosmos DB database account to create", + args: { + name: "kind", + suggestions: ["GlobalDocumentDB", "MongoDB", "Parse"], + }, + }, + { + name: "--locations", + description: "Add a location to the Cosmos DB database account", + args: { name: "locations" }, + }, + { + name: "--max-interval", + description: + "When used with Bounded Staleness consistency, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400", + args: { name: "max-interval" }, + }, + { + name: "--max-staleness-prefix", + description: + "When used with Bounded Staleness consistency, this value represents the number of stale requests tolerated. Accepted range for this value is 10 - 2,147,483,647", + args: { name: "max-staleness-prefix" }, + }, + { + name: "--network-acl-bypass", + description: "Flag to enable or disable Network Acl Bypass", + args: { + name: "network-acl-bypass", + suggestions: ["AzureServices", "None"], + }, + }, + { + name: ["--network-acl-bypass-resource-ids", "-i"], + description: "List of Resource Ids to allow Network Acl Bypass", + args: { name: "network-acl-bypass-resource-ids" }, + }, + { + name: ["--public-network-access", "-p"], + description: + "Sets public network access in server to either Enabled, Disabled, or SecuredByPerimeter", + args: { + name: "public-network-access", + suggestions: ["DISABLED", "ENABLED", "SECUREDBYPERIMETER"], + }, + }, + { + name: "--restore-source", + description: + "The restorable-database-account Id of the source account from which the account has to be restored. Required if --is-restore-request is set to true", + args: { name: "restore-source" }, + }, + { + name: "--restore-timestamp", + description: + "The timestamp to which the account has to be restored to. Required if --is-restore-request is set to true", + args: { name: "restore-timestamp" }, + }, + { + name: "--server-version", + description: "Valid only for MongoDB accounts", + args: { + name: "server-version", + suggestions: ["3.2", "3.6", "4.0", "4.2"], + }, + }, + { + name: "--tables-to-restore", + description: "Add table names to restore", + args: { name: "tables-to-restore" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--virtual-network-rules", + description: "ACL's for virtual network", + args: { name: "virtual-network-rules" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an Azure Cosmos DB database account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "failover-priority-change", + description: + "Changes the failover priority for the Azure Cosmos DB database account", + options: [ + { + name: "--failover-policies", + description: + "Space-separated failover policies in 'regionName=failoverPriority' format. Number of policies must match the number of regions the account is currently replicated. All regionName values must match those of the regions the account is currently replicated. All failoverPriority values must be unique. There must be one failoverPriority value zero (0) specified. All remaining failoverPriority values can be any positive integer and they don't have to be contiguos, neither written in any specific order. E.g eastus=0 westus=1", + args: { name: "failover-policies" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Azure Cosmos DB database accounts", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-connection-strings", + description: + "List the connection strings for a Azure Cosmos DB database account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-keys", + description: + "List the access keys for a Azure Cosmos DB database account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-read-only-keys", + description: + "List the read-only access keys for a Azure Cosmos DB database account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "regenerate-key", + description: + "Regenerate an access key for a Azure Cosmos DB database account", + options: [ + { + name: "--key-kind", + description: "The access key to regenerate", + args: { + name: "key-kind", + suggestions: [ + "primary", + "primaryReadonly", + "secondary", + "secondaryReadonly", + ], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restore", + description: + "Create a new Azure Cosmos DB database account by restoring from an existing database account", + options: [ + { + name: ["--account-name", "-a"], + description: + "Name of the source Cosmos DB database account for the restore", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "The location of the source account from which restore is triggered. This will also be the write region of the restored account", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--restore-timestamp", "-t"], + description: + "The timestamp to which the account has to be restored to", + args: { name: "restore-timestamp" }, + isRequired: true, + }, + { + name: ["--target-database-account-name", "-n"], + description: + "Name of the new target Cosmos DB database account after the restore", + args: { name: "target-database-account-name" }, + isRequired: true, + }, + { + name: "--assign-identity", + description: + "Assign system or user assigned identities separated by spaces. Use '[system]' to refer system assigned identity", + args: { name: "assign-identity" }, + }, + { + name: "--databases-to-restore", + description: "Add a database and its collection names to restore", + args: { name: "databases-to-restore" }, + }, + { + name: "--default-identity", + description: + "The primary identity to access key vault in CMK related features. e.g. 'FirstPartyIdentity', 'SystemAssignedIdentity' and more", + args: { name: "default-identity" }, + }, + { + name: "--gremlin-databases-to-restore", + description: "Add a gremlin database and its graph names to restore", + args: { name: "gremlin-databases-to-restore" }, + }, + { + name: ["--public-network-access", "-p"], + description: + "Sets public network access in server to either Enabled or Disabled", + args: { + name: "public-network-access", + suggestions: ["DISABLED", "ENABLED"], + }, + }, + { + name: "--tables-to-restore", + description: "Add table names to restore", + args: { name: "tables-to-restore" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an Azure Cosmos DB database account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Azure Cosmos DB database account", + options: [ + { + name: ["--analytical-storage-schema-type", "--as-schema"], + description: "Schema type for analytical storage", + args: { + name: "analytical-storage-schema-type", + suggestions: ["FullFidelity", "WellDefined"], + }, + }, + { + name: "--backup-interval", + description: + "The frequency(in minutes) with which backups are taken (only for accounts with periodic mode backups)", + args: { name: "backup-interval" }, + }, + { + name: "--backup-policy-type", + description: "The type of backup policy of the account to create", + args: { + name: "backup-policy-type", + suggestions: ["Continuous", "Periodic"], + }, + }, + { + name: "--backup-redundancy", + description: "The redundancy type of the backup Storage account", + args: { + name: "backup-redundancy", + suggestions: ["Geo", "Local", "Zone"], + }, + }, + { + name: "--backup-retention", + description: + "The time(in hours) for which each backup is retained (only for accounts with periodic mode backups)", + args: { name: "backup-retention" }, + }, + { + name: "--capabilities", + description: + "Set custom capabilities on the Cosmos DB database account", + args: { name: "capabilities" }, + }, + { + name: "--continuous-tier", + description: "The tier of Continuous backup", + args: { + name: "continuous-tier", + suggestions: ["Continuous30Days", "Continuous7Days"], + }, + }, + { + name: "--default-consistency-level", + description: + "Default consistency level of the Cosmos DB database account", + args: { + name: "default-consistency-level", + suggestions: [ + "BoundedStaleness", + "ConsistentPrefix", + "Eventual", + "Session", + "Strong", + ], + }, + }, + { + name: "--default-identity", + description: + "The primary identity to access key vault in CMK related features. e.g. 'FirstPartyIdentity', 'SystemAssignedIdentity' and more. User-assigned identities are specified in format 'UserAssignedIdentity='", + args: { name: "default-identity" }, + }, + { + name: "--disable-key-based-metadata-write-access", + description: + "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + args: { + name: "disable-key-based-metadata-write-access", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-analytical-storage", + description: "Flag to enable log storage on the account", + args: { + name: "enable-analytical-storage", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-automatic-failover", + description: + "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account", + args: { + name: "enable-automatic-failover", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-multiple-write-locations", + description: "Enable Multiple Write Locations", + args: { + name: "enable-multiple-write-locations", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-partition-merge", + description: "Flag to enable partition merge on the account", + args: { + name: "enable-partition-merge", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-virtual-network", + description: + "Enables virtual network on the Cosmos DB database account", + args: { + name: "enable-virtual-network", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-range-filter", + description: + "Firewall support. Specifies the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IPs for a given database account. IP addresses/ranges must be comma-separated and must not contain any spaces", + args: { name: "ip-range-filter" }, + }, + { + name: "--key-uri", + description: "The URI of the key vault", + args: { name: "key-uri" }, + }, + { + name: "--locations", + description: "Add a location to the Cosmos DB database account", + args: { name: "locations" }, + }, + { + name: "--max-interval", + description: + "When used with Bounded Staleness consistency, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400", + args: { name: "max-interval" }, + }, + { + name: "--max-staleness-prefix", + description: + "When used with Bounded Staleness consistency, this value represents the number of stale requests tolerated. Accepted range for this value is 10 - 2,147,483,647", + args: { name: "max-staleness-prefix" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: "--network-acl-bypass", + description: "Flag to enable or disable Network Acl Bypass", + args: { + name: "network-acl-bypass", + suggestions: ["AzureServices", "None"], + }, + }, + { + name: ["--network-acl-bypass-resource-ids", "-i"], + description: "List of Resource Ids to allow Network Acl Bypass", + args: { name: "network-acl-bypass-resource-ids" }, + }, + { + name: ["--public-network-access", "-p"], + description: + "Sets public network access in server to either Enabled, Disabled, or SecuredByPerimeter", + args: { + name: "public-network-access", + suggestions: ["DISABLED", "ENABLED", "SECUREDBYPERIMETER"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--server-version", + description: "Valid only for MongoDB accounts", + args: { + name: "server-version", + suggestions: ["3.2", "3.6", "4.0", "4.2"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--virtual-network-rules", + description: "ACL's for virtual network", + args: { name: "virtual-network-rules" }, + }, + ], + }, + { + name: "collection", + description: "Manage Azure Cosmos DB collections", + subcommands: [ + { + name: "create", + description: "Creates an Azure Cosmos DB collection", + options: [ + { + name: ["--collection-name", "-c"], + description: "Collection Name", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--db-name", "-d"], + description: "Database Name", + args: { name: "db-name" }, + isRequired: true, + }, + { + name: "--cep", + description: + 'Client Encryption Policy, you can enter it as a string or as a file, e.g., --cep @policy-file.json or --cep "{"includedPaths": [{"path": "/path1","clientEncryptionKeyId": "key1","encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256","encryptionType": "Deterministic"}],"policyFormatVersion": 2}"', + args: { name: "cep" }, + }, + { + name: "--default-ttl", + description: "Default TTL. Provide 0 to disable", + args: { name: "default-ttl" }, + }, + { + name: "--indexing-policy", + description: + 'Indexing Policy, you can enter it as a string or as a file, e.g., --indexing-policy @policy-file.json). "indexingMode": "consistent", "automatic": true, "includedPaths": [ { "path": "/*" } ], "excludedPaths": [ { "path": "/\\"_etag\\"/?" } ] }', + args: { name: "indexing-policy" }, + }, + { + name: "--key", + description: + "Cosmos DB account key. Must be used in conjunction with cosmosdb account name or url-connection", + args: { name: "key" }, + }, + { + name: ["--name", "-n"], + description: + "Cosmos DB account name. Must be used in conjunction with either name of the resource group or cosmosdb account key", + args: { name: "name" }, + }, + { + name: "--partition-key-path", + description: "Partition Key Path, e.g., '/properties/name'", + args: { name: "partition-key-path" }, + }, + { + name: ["--resource-group-name", "-g"], + description: + "Name of the resource group. Must be used in conjunction with cosmosdb account name", + args: { name: "resource-group-name" }, + }, + { + name: "--throughput", + description: "Offer Throughput (RU/s)", + args: { name: "throughput" }, + }, + { + name: "--url-connection", + description: + "Cosmos DB account url connection. Must be used in conjunction with cosmosdb account key", + args: { name: "url-connection" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an Azure Cosmos DB collection", + options: [ + { + name: ["--collection-name", "-c"], + description: "Collection Name", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--db-name", "-d"], + description: "Database Name", + args: { name: "db-name" }, + isRequired: true, + }, + { + name: "--key", + description: + "Cosmos DB account key. Must be used in conjunction with cosmosdb account name or url-connection", + args: { name: "key" }, + }, + { + name: ["--name", "-n"], + description: + "Cosmos DB account name. Must be used in conjunction with either name of the resource group or cosmosdb account key", + args: { name: "name" }, + }, + { + name: ["--resource-group-name", "-g"], + description: + "Name of the resource group. Must be used in conjunction with cosmosdb account name", + args: { name: "resource-group-name" }, + }, + { + name: "--url-connection", + description: + "Cosmos DB account url connection. Must be used in conjunction with cosmosdb account key", + args: { name: "url-connection" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: + "Returns a boolean indicating whether the collection exists", + options: [ + { + name: ["--collection-name", "-c"], + description: "Collection Name", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--db-name", "-d"], + description: "Database Name", + args: { name: "db-name" }, + isRequired: true, + }, + { + name: "--key", + description: + "Cosmos DB account key. Must be used in conjunction with cosmosdb account name or url-connection", + args: { name: "key" }, + }, + { + name: ["--name", "-n"], + description: + "Cosmos DB account name. Must be used in conjunction with either name of the resource group or cosmosdb account key", + args: { name: "name" }, + }, + { + name: ["--resource-group-name", "-g"], + description: + "Name of the resource group. Must be used in conjunction with cosmosdb account name", + args: { name: "resource-group-name" }, + }, + { + name: "--url-connection", + description: + "Cosmos DB account url connection. Must be used in conjunction with cosmosdb account key", + args: { name: "url-connection" }, + }, + ], + }, + { + name: "list", + description: "Lists all Azure Cosmos DB collections", + options: [ + { + name: ["--db-name", "-d"], + description: "Database Name", + args: { name: "db-name" }, + isRequired: true, + }, + { + name: "--key", + description: + "Cosmos DB account key. Must be used in conjunction with cosmosdb account name or url-connection", + args: { name: "key" }, + }, + { + name: ["--name", "-n"], + description: + "Cosmos DB account name. Must be used in conjunction with either name of the resource group or cosmosdb account key", + args: { name: "name" }, + }, + { + name: ["--resource-group-name", "-g"], + description: + "Name of the resource group. Must be used in conjunction with cosmosdb account name", + args: { name: "resource-group-name" }, + }, + { + name: "--url-connection", + description: + "Cosmos DB account url connection. Must be used in conjunction with cosmosdb account key", + args: { name: "url-connection" }, + }, + ], + }, + { + name: "show", + description: "Shows an Azure Cosmos DB collection and its offer", + options: [ + { + name: ["--collection-name", "-c"], + description: "Collection Name", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--db-name", "-d"], + description: "Database Name", + args: { name: "db-name" }, + isRequired: true, + }, + { + name: "--key", + description: + "Cosmos DB account key. Must be used in conjunction with cosmosdb account name or url-connection", + args: { name: "key" }, + }, + { + name: ["--name", "-n"], + description: + "Cosmos DB account name. Must be used in conjunction with either name of the resource group or cosmosdb account key", + args: { name: "name" }, + }, + { + name: ["--resource-group-name", "-g"], + description: + "Name of the resource group. Must be used in conjunction with cosmosdb account name", + args: { name: "resource-group-name" }, + }, + { + name: "--url-connection", + description: + "Cosmos DB account url connection. Must be used in conjunction with cosmosdb account key", + args: { name: "url-connection" }, + }, + ], + }, + { + name: "update", + description: "Updates an Azure Cosmos DB collection", + options: [ + { + name: ["--collection-name", "-c"], + description: "Collection Name", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--db-name", "-d"], + description: "Database Name", + args: { name: "db-name" }, + isRequired: true, + }, + { + name: "--default-ttl", + description: "Default TTL. Provide 0 to disable", + args: { name: "default-ttl" }, + }, + { + name: "--indexing-policy", + description: + "Indexing Policy, you can enter it as a string or as a file, e.g., --indexing-policy @policy-file.json)", + args: { name: "indexing-policy" }, + }, + { + name: "--key", + description: + "Cosmos DB account key. Must be used in conjunction with cosmosdb account name or url-connection", + args: { name: "key" }, + }, + { + name: ["--name", "-n"], + description: + "Cosmos DB account name. Must be used in conjunction with either name of the resource group or cosmosdb account key", + args: { name: "name" }, + }, + { + name: ["--resource-group-name", "-g"], + description: + "Name of the resource group. Must be used in conjunction with cosmosdb account name", + args: { name: "resource-group-name" }, + }, + { + name: "--throughput", + description: "Offer Throughput (RU/s)", + args: { name: "throughput" }, + }, + { + name: "--url-connection", + description: + "Cosmos DB account url connection. Must be used in conjunction with cosmosdb account key", + args: { name: "url-connection" }, + }, + ], + }, + ], + }, + { + name: "copy", + description: "Manage container copy job", + subcommands: [ + { + name: "cancel", + description: "Cancel a container copy job", + options: [ + { + name: ["--account-name", "-a"], + description: + "Azure Cosmos DB account name where the job is created. Use --dest-account value from create job command", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--job-name", "-n"], + description: "Name of the container copy job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Creates a container copy job", + options: [ + { + name: "--dest-account", + description: + "Name of the Azure Cosmos DB destination database account", + args: { name: "dest-account" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--src-account", + description: + "Name of the Azure Cosmos DB source database account", + args: { name: "src-account" }, + isRequired: true, + }, + { + name: "--dest-cassandra", + description: "Destination table", + args: { name: "dest-cassandra" }, + }, + { + name: "--dest-mongo", + description: "Destination collection", + args: { name: "dest-mongo" }, + }, + { + name: "--dest-nosql", + description: "Destination container", + args: { name: "dest-nosql" }, + }, + { + name: ["--job-name", "-n"], + description: + "Name of the Data Transfer Job. A random job name will be generated if not passed", + args: { name: "job-name" }, + }, + { + name: "--src-cassandra", + description: "Source table", + args: { name: "src-cassandra" }, + }, + { + name: "--src-mongo", + description: "Source collection", + args: { name: "src-mongo" }, + }, + { + name: "--src-nosql", + description: "Source container", + args: { name: "src-nosql" }, + }, + ], + }, + { + name: "list", + description: "Get a container copy job", + options: [ + { + name: ["--account-name", "-a"], + description: + "Azure Cosmos DB account name where the job is created. Use --dest-account value from create job command", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "pause", + description: "Pause a container copy job", + options: [ + { + name: ["--account-name", "-a"], + description: + "Azure Cosmos DB account name where the job is created. Use --dest-account value from create job command", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--job-name", "-n"], + description: "Name of the container copy job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "resume", + description: "Resume a container copy job", + options: [ + { + name: ["--account-name", "-a"], + description: + "Azure Cosmos DB account name where the job is created. Use --dest-account value from create job command", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--job-name", "-n"], + description: "Name of the container copy job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a container copy job", + options: [ + { + name: ["--account-name", "-a"], + description: + "Azure Cosmos DB account name where the job is created. Use --dest-account value from create job command", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--job-name", "-n"], + description: "Name of the container copy job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "database", + description: "Manage Azure Cosmos DB databases", + subcommands: [ + { + name: "create", + description: "Creates an Azure Cosmos DB database", + options: [ + { + name: ["--db-name", "-d"], + description: "Database Name", + args: { name: "db-name" }, + isRequired: true, + }, + { + name: "--key", + description: + "Cosmos DB account key. Must be used in conjunction with cosmosdb account name or url-connection", + args: { name: "key" }, + }, + { + name: ["--name", "-n"], + description: + "Cosmos DB account name. Must be used in conjunction with either name of the resource group or cosmosdb account key", + args: { name: "name" }, + }, + { + name: ["--resource-group-name", "-g"], + description: + "Name of the resource group. Must be used in conjunction with cosmosdb account name", + args: { name: "resource-group-name" }, + }, + { + name: "--throughput", + description: "Offer Throughput (RU/s)", + args: { name: "throughput" }, + }, + { + name: "--url-connection", + description: + "Cosmos DB account url connection. Must be used in conjunction with cosmosdb account key", + args: { name: "url-connection" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an Azure Cosmos DB database", + options: [ + { + name: ["--db-name", "-d"], + description: "Database Name", + args: { name: "db-name" }, + isRequired: true, + }, + { + name: "--key", + description: + "Cosmos DB account key. Must be used in conjunction with cosmosdb account name or url-connection", + args: { name: "key" }, + }, + { + name: ["--name", "-n"], + description: + "Cosmos DB account name. Must be used in conjunction with either name of the resource group or cosmosdb account key", + args: { name: "name" }, + }, + { + name: ["--resource-group-name", "-g"], + description: + "Name of the resource group. Must be used in conjunction with cosmosdb account name", + args: { name: "resource-group-name" }, + }, + { + name: "--url-connection", + description: + "Cosmos DB account url connection. Must be used in conjunction with cosmosdb account key", + args: { name: "url-connection" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: + "Returns a boolean indicating whether the database exists", + options: [ + { + name: ["--db-name", "-d"], + description: "Database Name", + args: { name: "db-name" }, + isRequired: true, + }, + { + name: "--key", + description: + "Cosmos DB account key. Must be used in conjunction with cosmosdb account name or url-connection", + args: { name: "key" }, + }, + { + name: ["--name", "-n"], + description: + "Cosmos DB account name. Must be used in conjunction with either name of the resource group or cosmosdb account key", + args: { name: "name" }, + }, + { + name: ["--resource-group-name", "-g"], + description: + "Name of the resource group. Must be used in conjunction with cosmosdb account name", + args: { name: "resource-group-name" }, + }, + { + name: "--url-connection", + description: + "Cosmos DB account url connection. Must be used in conjunction with cosmosdb account key", + args: { name: "url-connection" }, + }, + ], + }, + { + name: "list", + description: "Lists all Azure Cosmos DB databases", + options: [ + { + name: "--key", + description: + "Cosmos DB account key. Must be used in conjunction with cosmosdb account name or url-connection", + args: { name: "key" }, + }, + { + name: ["--name", "-n"], + description: + "Cosmos DB account name. Must be used in conjunction with either name of the resource group or cosmosdb account key", + args: { name: "name" }, + }, + { + name: ["--resource-group-name", "-g"], + description: + "Name of the resource group. Must be used in conjunction with cosmosdb account name", + args: { name: "resource-group-name" }, + }, + { + name: "--url-connection", + description: + "Cosmos DB account url connection. Must be used in conjunction with cosmosdb account key", + args: { name: "url-connection" }, + }, + ], + }, + { + name: "show", + description: "Shows an Azure Cosmos DB database", + options: [ + { + name: ["--db-name", "-d"], + description: "Database Name", + args: { name: "db-name" }, + isRequired: true, + }, + { + name: "--key", + description: + "Cosmos DB account key. Must be used in conjunction with cosmosdb account name or url-connection", + args: { name: "key" }, + }, + { + name: ["--name", "-n"], + description: + "Cosmos DB account name. Must be used in conjunction with either name of the resource group or cosmosdb account key", + args: { name: "name" }, + }, + { + name: ["--resource-group-name", "-g"], + description: + "Name of the resource group. Must be used in conjunction with cosmosdb account name", + args: { name: "resource-group-name" }, + }, + { + name: "--url-connection", + description: + "Cosmos DB account url connection. Must be used in conjunction with cosmosdb account key", + args: { name: "url-connection" }, + }, + ], + }, + ], + }, + { + name: "dts", + description: "Manage data transfer job with cosmosdb", + subcommands: [ + { + name: "cancel", + description: "Cancels a Data Transfer Job", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--job-name", "-n"], + description: "Name of the Data Transfer Job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "copy", + description: "Creates a Data Transfer Copy Job", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--dest-cassandra-table", + description: "Destination cassandra table", + args: { name: "dest-cassandra-table" }, + }, + { + name: "--dest-mongo", + description: "Destination mongo collection", + args: { name: "dest-mongo" }, + }, + { + name: "--dest-sql-container", + description: "Destination sql container", + args: { name: "dest-sql-container" }, + }, + { + name: ["--job-name", "-n"], + description: + "Name of the Data Transfer Job. A random job name will be generated if not passed", + args: { name: "job-name" }, + }, + { + name: "--source-cassandra-table", + description: "Source cassandra table", + args: { name: "source-cassandra-table" }, + }, + { + name: "--source-mongo", + description: "Source mongo collection", + args: { name: "source-mongo" }, + }, + { + name: "--source-sql-container", + description: "Source sql container", + args: { name: "source-sql-container" }, + }, + { + name: "--worker-count", + description: "Worker count", + args: { name: "worker-count" }, + }, + ], + }, + { + name: "list", + description: "Get a list of Data Transfer Jobs", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "pause", + description: "Pause a Data Transfer Job", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--job-name", "-n"], + description: "Name of the Data Transfer Job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "resume", + description: "Resumes a Data Transfer Job", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--job-name", "-n"], + description: "Name of the Data Transfer Job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a Data Transfer Job", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--job-name", "-n"], + description: "Name of the Data Transfer Job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "gremlin", + description: "Manage Gremlin resources of Azure Cosmos DB account", + subcommands: [ + { + name: "retrieve-latest-backup-time", + description: + "Retrieves latest restorable timestamp for the given gremlin graph in given region", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Name of the CosmosDB Gremlin database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--graph-name", "-n"], + description: "Name of the CosmosDB Gremlin graph name", + args: { name: "graph-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location of the account", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "database", + description: "Manage Azure Cosmos DB Gremlin databases", + subcommands: [ + { + name: "create", + description: + "Create an Gremlin database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: + "The throughput Gremlin database (RU/s). Default value is 400", + args: { name: "throughput" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the Gremlin database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: + "Checks if an Azure Cosmos DB Gremlin database exists", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List the Gremlin databases under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "restore", + description: + "Restore a deleted gremlin database within the same account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the CosmosDB Gremlin database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--restore-timestamp", "-t"], + description: + "The timestamp to which the database needs to be restored to", + args: { name: "restore-timestamp" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a Gremlin database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "throughput", + description: + "Manage throughput of Gremlin database under an Azure Cosmos DB account", + subcommands: [ + { + name: "migrate", + description: + "Migrate the throughput of the Gremlin database between autoscale and manually provisioned", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--throughput-type", "-t"], + description: "The type of throughput to migrate to", + args: { + name: "throughput-type", + suggestions: ["autoscale", "manual"], + }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the throughput of the Gremlin database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the throughput of the Gremlin database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: "The throughput of Gremlin database (RU/s)", + args: { name: "throughput" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "graph", + description: "Manage Azure Cosmos DB Gremlin graphs", + subcommands: [ + { + name: "create", + description: + "Create an Gremlin graph under an Azure Cosmos DB Gremlin database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Graph name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--partition-key-path", "-p"], + description: "Partition Key Path, e.g., '/address/zipcode'", + args: { name: "partition-key-path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--analytical-storage-ttl", + description: + "Analytical TTL, when analytical storage is enabled", + args: { name: "analytical-storage-ttl" }, + }, + { + name: ["--conflict-resolution-policy", "-c"], + description: + 'Conflict Resolution Policy, you can enter it as a string or as a file, e.g., --conflict-resolution-policy @policy-file.json or --conflict-resolution-policy "{"mode": "lastWriterWins", "conflictResolutionPath": "/path"}"', + args: { name: "conflict-resolution-policy" }, + }, + { + name: "--idx", + description: + 'Indexing Policy, you can enter it as a string or as a file, e.g., --idx @policy-file.json or --idx "{"indexingMode": "consistent", "automatic": true, "includedPaths": [{"path": "/*"}], "excludedPaths": [{ "path": "/headquarters/employees/?"}, { "path": "/\\"_etag\\"/?"}]}". "indexingMode": "consistent", "automatic": true, "includedPaths": [ { "path": "/*" } ], "excludedPaths": [ { "path": "/\\"_etag\\"/?" } ] }', + args: { name: "idx" }, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: + "The throughput of Gremlin graph (RU/s). Default value is 400. Omit this parameter if the database has shared throughput unless the graph should have dedicated throughput", + args: { name: "throughput" }, + }, + { + name: "--ttl", + description: + 'Default TTL. If the value is missing or set to "-1", items don’t expire. If the value is set to "n", items will expire "n" seconds after last modified time', + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the Gremlin graph under an Azure Cosmos DB Gremlin database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Graph name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: "Checks if an Azure Cosmos DB Gremlin graph exists", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Graph name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List the Gremlin graphs under an Azure Cosmos DB Gremlin database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "restore", + description: + "Restore a deleted gremlin graph within the same account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Name of the CosmosDB Gremlin database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the CosmosDB Gremlin graph name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--restore-timestamp", "-t"], + description: + "The timestamp to which the graph needs to be restored to", + args: { name: "restore-timestamp" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a Gremlin graph under an Azure Cosmos DB Gremlin database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Graph name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an Gremlin graph under an Azure Cosmos DB Gremlin database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Graph name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--analytical-storage-ttl", + description: + "Analytical TTL, when analytical storage is enabled", + args: { name: "analytical-storage-ttl" }, + }, + { + name: "--idx", + description: + 'Indexing Policy, you can enter it as a string or as a file, e.g., --idx @policy-file.json or --idx "{"indexingMode": "consistent", "automatic": true, "includedPaths": [{"path": "/*"}], "excludedPaths": [{ "path": "/headquarters/employees/?"}, { "path": "/\\"_etag\\"/?"}]}"', + args: { name: "idx" }, + }, + { + name: "--ttl", + description: + 'Default TTL. If the value is missing or set to "-1", items don’t expire. If the value is set to "n", items will expire "n" seconds after last modified time', + args: { name: "ttl" }, + }, + ], + }, + { + name: "throughput", + description: + "Manage throughput of Gremlin graph under an Azure Cosmos DB account", + subcommands: [ + { + name: "migrate", + description: + "Migrate the throughput of the Gremlin Graph between autoscale and manually provisioned", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Graph name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--throughput-type", "-t"], + description: "The type of throughput to migrate to", + args: { + name: "throughput-type", + suggestions: ["autoscale", "manual"], + }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the throughput of the Gremlin graph under an Azure Cosmos DB Gremlin database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Graph name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the throughput of the Gremlin graph under an Azure Cosmos DB Gremlin database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Graph name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: "The throughput Gremlin graph (RU/s)", + args: { name: "throughput" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "restorable-database", + description: + "Manage different versions of gremlin databases that are restorable in a Azure Cosmos DB account", + subcommands: [ + { + name: "list", + description: + "List all the versions of all the gremlin databases that were created / modified / deleted in the given restorable account", + options: [ + { + name: ["--instance-id", "-i"], + description: "InstanceId of the Account", + args: { name: "instance-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "restorable-graph", + description: + "Manage different versions of gremlin graphs that are restorable in a database of a Azure Cosmos DB account", + subcommands: [ + { + name: "list", + description: + "List all the versions of all the gremlin graphs that were created / modified / deleted in the given database and restorable account", + options: [ + { + name: ["--database-rid", "-d"], + description: "Rid of the gremlin database", + args: { name: "database-rid" }, + isRequired: true, + }, + { + name: ["--instance-id", "-i"], + description: "InstanceId of the Account", + args: { name: "instance-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--end-time", "-e"], + description: + "End time of restorable Gremlin graph event feed", + args: { name: "end-time" }, + }, + { + name: ["--start-time", "-s"], + description: + "Start time of restorable Gremlin graph event feed", + args: { name: "start-time" }, + }, + ], + }, + ], + }, + { + name: "restorable-resource", + description: + "Manage the databases and its graphs that can be restored in the given account at the given timestamp and region", + subcommands: [ + { + name: "list", + description: + "List all the databases and its graphs that can be restored in the given account at the given timestamp and region", + options: [ + { + name: ["--instance-id", "-i"], + description: "InstanceId of the Account", + args: { name: "instance-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Azure Location of the account", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--restore-location", "-r"], + description: "The region of the restore", + args: { name: "restore-location" }, + isRequired: true, + }, + { + name: ["--restore-timestamp", "-t"], + description: "The timestamp of the restore", + args: { name: "restore-timestamp" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage Azure Cosmos DB managed service identities", + subcommands: [ + { + name: "assign", + description: + "Assign SystemAssigned identity for a Azure Cosmos DB database account", + options: [ + { + name: "--identities", + description: + "Space-separated identities to assign. Use '[system]' to refer to the system assigned identity. Default: '[system]'", + args: { name: "identities" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: + "Remove SystemAssigned identity for a Azure Cosmos DB database account", + options: [ + { + name: "--identities", + description: + "Space-separated identities to remove. Use '[system]' to refer to the system assigned identity. Default: '[system]'", + args: { name: "identities" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show the identities for a Azure Cosmos DB database account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "keys", + description: "Manage Azure Cosmos DB keys", + subcommands: [ + { + name: "list", + description: + "List the access keys or connection strings for a Azure Cosmos DB database account", + options: [ + { + name: ["--name", "-n"], + description: "Cosmosdb account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--type", + description: "The type of account key", + args: { + name: "type", + suggestions: ["connection-strings", "keys", "read-only-keys"], + }, + }, + ], + }, + { + name: "regenerate", + description: + "Regenerate an access key for a Azure Cosmos DB database account", + options: [ + { + name: "--key-kind", + description: "The access key to regenerate", + args: { + name: "key-kind", + suggestions: [ + "primary", + "primaryReadonly", + "secondary", + "secondaryReadonly", + ], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "locations", + description: "Manage Azure Cosmos DB location properties", + subcommands: [ + { + name: "list", + description: + "Retrieves the list of cosmosdb locations and their properties", + }, + { + name: "show", + description: + "Show the Azure Cosmos DB location properties in the given location", + options: [ + { + name: ["--location", "-l"], + description: "Name of the location", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "mongocluster", + description: "Mongo cluster", + subcommands: [ + { + name: "create", + description: "Create a Mongo cluster", + options: [ + { + name: ["--administrator-login", "-a"], + description: + "The initial administrator user to be configured when a cluster is created", + args: { name: "administrator-login" }, + isRequired: true, + }, + { + name: ["--administrator-login-password", "-p"], + description: + "The initial administrator password to be configured when a cluster is created", + args: { name: "administrator-login-password" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: "Name of the Cosmos DB Mongo Cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Azure Location of the Cluster", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--server-version", + description: "The server version of the mongo cluster", + args: { name: "server-version" }, + isRequired: true, + }, + { + name: "--shard-node-count", + description: "The node count for mongo cluster", + args: { name: "shard-node-count" }, + isRequired: true, + }, + { + name: ["--shard-node-disk-size-gb", "-d"], + description: "The node disk size for mongo cluster", + args: { name: "shard-node-disk-size-gb" }, + isRequired: true, + }, + { + name: "--shard-node-ha", + description: "If enabled the cluster has HA", + args: { name: "shard-node-ha", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--shard-node-tier", + description: "The node tier for mongo cluster", + args: { name: "shard-node-tier" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Mongo Cluster Resource", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Cosmos DB Mongo Cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List a Mongo Cluster Resource", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a Mongo Cluster Resource", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Cosmos DB Mongo Cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a Mongo cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Cosmos DB Mongo Cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--administrator-login", "-a"], + description: + "The initial administrator user to be configured when a cluster is created", + args: { name: "administrator-login" }, + }, + { + name: ["--administrator-login-password", "-p"], + description: + "The initial administrator password to be configured when a cluster is created", + args: { name: "administrator-login-password" }, + }, + { + name: "--server-version", + description: "The server version of the mongo cluster", + args: { name: "server-version" }, + }, + { + name: ["--shard-node-disk-size-gb", "-d"], + description: "The node disk size for mongo cluster", + args: { name: "shard-node-disk-size-gb" }, + }, + { + name: "--shard-node-ha", + description: "If enabled the cluster has HA", + args: { name: "shard-node-ha", suggestions: ["false", "true"] }, + }, + { + name: "--shard-node-tier", + description: "The node tier for mongo cluster", + args: { name: "shard-node-tier" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "firewall", + description: "Mongo cluster firewall", + subcommands: [ + { + name: "rule", + description: "Mongo cluster firewall rule", + subcommands: [ + { + name: "create", + description: "Create a Mongo cluster firewall rule", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Cosmos DB Mongo Cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--end-ip-address", + description: "End IP address of the firewall rule", + args: { name: "end-ip-address" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the firewall rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--start-ip-address", + description: "Start IP address of the firewall rule", + args: { name: "start-ip-address" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a Mongo cluster firewall rule", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Cosmos DB Mongo Cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the firewall rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists firewall rule on a Mongo cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Cosmos DB Mongo Cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a Mongo cluster firewall rule", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Cosmos DB Mongo Cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the firewall rule", + args: { name: "rule-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Create a Mongo cluster firewall rule", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Cosmos DB Mongo Cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--end-ip-address", + description: "End IP address of the firewall rule", + args: { name: "end-ip-address" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the firewall rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--start-ip-address", + description: "Start IP address of the firewall rule", + args: { name: "start-ip-address" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "mongodb", + description: "Manage MongoDB resources of Azure Cosmos DB account", + subcommands: [ + { + name: "retrieve-latest-backup-time", + description: + "Retrieves latest restorable timestamp for the given mongodb collection in given region", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--collection-name", "-c"], + description: "Name of the CosmosDB MongoDB collection name", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Name of the CosmosDB MongoDB database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location of the account", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "collection", + description: "Manage Azure Cosmos DB MongoDB collections", + subcommands: [ + { + name: "create", + description: + "Create an MongoDB collection under an Azure Cosmos DB MongoDB database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Collection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--analytical-storage-ttl", + description: + "Analytical TTL, when analytical storage is enabled", + args: { name: "analytical-storage-ttl" }, + }, + { + name: "--idx", + description: + 'Indexes, you can enter it as a string or as a file, e.g., --idx @indexes-file.json or --idx "[{"key": {"keys": ["_ts"]},"options": {"expireAfterSeconds": 1000}}, {"key": {"keys": ["user_id", "user_address"]}, "options": {"unique": "true"}}]"', + args: { name: "idx" }, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--shard", + description: "Sharding key path", + args: { name: "shard" }, + }, + { + name: "--throughput", + description: + "The throughput of MongoDB collection (RU/s). Default value is 400. Omit this parameter if the database has shared throughput unless the collection should have dedicated throughput", + args: { name: "throughput" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the MongoDB collection under an Azure Cosmos DB MongoDB database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Collection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: + "Checks if an Azure Cosmos DB MongoDB collection exists", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Collection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List the MongoDB collections under an Azure Cosmos DB MongoDB database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "merge", + description: "Merges the partitions of a mongodb collection", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Name of the mongoDB database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the mongoDB collection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "redistribute-partition-throughput", + description: + "Redistributes the partition throughput of a mongodb collection", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Name of the CosmosDB database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the CosmosDB collection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--evenly-distribute", + description: + "Switch to distribute throughput equally among all physical partitions", + }, + { + name: "--source-partition-info", + description: + "Space separated source physical partition ids eg: 1 2", + args: { name: "source-partition-info" }, + }, + { + name: "--target-partition-info", + description: + "Information about desired target physical partition throughput eg: '0=1200 1=1200'", + args: { name: "target-partition-info" }, + }, + ], + }, + { + name: "restore", + description: + "Restore a deleted mongodb collection within the same account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Collection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--restore-timestamp", "-t"], + description: + "The timestamp to which the collection needs to be restored to", + args: { name: "restore-timestamp" }, + isRequired: true, + }, + ], + }, + { + name: "retrieve-partition-throughput", + description: + "Retrieve the partition throughput of a mongodb collection", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Name of the CosmosDB database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the CosmosDB container", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--all-partitions", + description: + "Switch to retrieve throughput for all physical partitions", + }, + { + name: ["--physical-partition-ids", "-p"], + description: "Space separated list of physical partition ids", + args: { name: "physical-partition-ids" }, + }, + ], + }, + { + name: "show", + description: + "Show the details of a MongoDB collection under an Azure Cosmos DB MongoDB database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Collection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an MongoDB collection under an Azure Cosmos DB MongoDB database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Collection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--analytical-storage-ttl", + description: + "Analytical TTL, when analytical storage is enabled", + args: { name: "analytical-storage-ttl" }, + }, + { + name: "--idx", + description: + 'Indexes, you can enter it as a string or as a file, e.g., --idx @indexes-file.json or --idx "[{"key": {"keys": ["_ts"]},"options": {"expireAfterSeconds": 1000}}, {"key": {"keys": ["user_id", "user_address"]}, "options": {"unique": "true"}}]"', + args: { name: "idx" }, + }, + ], + }, + { + name: "throughput", + description: + "Manage throughput of MongoDB collection under an Azure Cosmos DB account", + subcommands: [ + { + name: "migrate", + description: + "Migrate the throughput of the MongoDB collection between autoscale and manually provisioned", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Collection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--throughput-type", "-t"], + description: "The type of throughput to migrate to", + args: { + name: "throughput-type", + suggestions: ["autoscale", "manual"], + }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the throughput of the MongoDB collection under an Azure Cosmos DB MongoDB database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Collection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the throughput of the MongoDB collection under an Azure Cosmos DB MongoDB database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Collection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: + "The throughput of MongoDB collection (RU/s)", + args: { name: "throughput" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "database", + description: "Manage Azure Cosmos DB MongoDB databases", + subcommands: [ + { + name: "create", + description: + "Create an MongoDB database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: + "The throughput of MongoDB database (RU/s). Default value is 400", + args: { name: "throughput" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the MongoDB database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: + "Checks if an Azure Cosmos DB MongoDB database exists", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List the MongoDB databases under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "merge", + description: "Merges the partitions of a mongodb database", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the mongoDB database", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "restore", + description: + "Restore a deleted mongodb database within the same account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--restore-timestamp", "-t"], + description: + "The timestamp to which the database needs to be restored to", + args: { name: "restore-timestamp" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a MongoDB database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "throughput", + description: + "Manage throughput of MongoDB database under an Azure Cosmos DB account", + subcommands: [ + { + name: "migrate", + description: + "Migrate the throughput of the MongoDB database between autoscale and manually provisioned", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--throughput-type", "-t"], + description: "The type of throughput to migrate to", + args: { + name: "throughput-type", + suggestions: ["autoscale", "manual"], + }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the throughput of the MongoDB database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the throughput of the MongoDB database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: "The throughput of MongoDB database (RU/s)", + args: { name: "throughput" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "restorable-collection", + description: + "Manage different versions of mongodb collections that are restorable in a database of a Azure Cosmos DB account", + subcommands: [ + { + name: "list", + description: + "List all the versions of all the mongodb collections that were created / modified / deleted in the given database and restorable account", + options: [ + { + name: ["--database-rid", "-d"], + description: "Rid of the database", + args: { name: "database-rid" }, + isRequired: true, + }, + { + name: ["--instance-id", "-i"], + description: "InstanceId of the Account", + args: { name: "instance-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--end-time", "-e"], + description: + "End time of restorable MongoDB collections event feed", + args: { name: "end-time" }, + }, + { + name: ["--start-time", "-s"], + description: + "Start time of restorable MongoDB collections event feed", + args: { name: "start-time" }, + }, + ], + }, + ], + }, + { + name: "restorable-database", + description: + "Manage different versions of mongodb databases that are restorable in a Azure Cosmos DB account", + subcommands: [ + { + name: "list", + description: + "List all the versions of all the mongodb databases that were created / modified / deleted in the given restorable account", + options: [ + { + name: ["--instance-id", "-i"], + description: "InstanceId of the Account", + args: { name: "instance-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "restorable-resource", + description: + "Manage the databases and its collections that can be restored in the given account at the given timesamp and region", + subcommands: [ + { + name: "list", + description: + "List all the databases and its collections that can be restored in the given account at the given timesamp and region", + options: [ + { + name: ["--instance-id", "-i"], + description: "InstanceId of the Account", + args: { name: "instance-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Azure Location of the account", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--restore-location", "-r"], + description: "The region of the restore", + args: { name: "restore-location" }, + isRequired: true, + }, + { + name: ["--restore-timestamp", "-t"], + description: "The timestamp of the restore", + args: { name: "restore-timestamp" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "role", + description: "Manage Azure Cosmos DB Mongo role resources", + subcommands: [ + { + name: "definition", + description: "Manage Azure Cosmos DB Mongo role definitions", + subcommands: [ + { + name: "create", + description: + "Create a Mongo DB role definition under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--body", "-b"], + description: + 'Role Definition body with Id (Optional for create), Type (Default is CustomRole), DatabaseName, Privileges, Roles. You can enter it as a string or as a file, e.g., --body @mongo-role_definition-body-file.json or --body "{"Id": "be79875a-2cc4-40d5-8958-566017875b39","RoleName": "MyRWRole","Type": "CustomRole""DatabaseName": "MyDb","Privileges": [ {"Resource": {"Db": "MyDB","Collection": "MyCol"},"Actions": ["insert","find"]}],"Roles": [ {"Role": "myInheritedRole","Db": "MyTestDb"}]}"', + args: { name: "body" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Delete a CosmosDb MongoDb role definition under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--id", "-i"], + description: "Unique ID for the Mongo Role Definition", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: + "Check if an Azure Cosmos DB MongoDb role definition exists", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--id", "-i"], + description: "Unique ID for the Mongo Role Definition", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List all MongoDb role definitions under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the properties of a MongoDb role definition under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--id", "-i"], + description: "Unique ID for the Mongo Role Definition", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update a MongoDb role definition under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--body", "-b"], + description: + 'Role Definition body with Id (Optional for create), Type (Default is CustomRole), DatabaseName, Privileges, Roles. You can enter it as a string or as a file, e.g., --body @mongo-role_definition-body-file.json or --body "{"Id": "be79875a-2cc4-40d5-8958-566017875b39","RoleName": "MyRWRole","Type": "CustomRole""DatabaseName": "MyDb","Privileges": [ {"Resource": {"Db": "MyDB","Collection": "MyCol"},"Actions": ["insert","find"]}],"Roles": [ {"Role": "myInheritedRole","Db": "MyTestDb"}]}"', + args: { name: "body" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "user", + description: "Manage Azure Cosmos DB Mongo user resources", + subcommands: [ + { + name: "definition", + description: "Manage Azure Cosmos DB Mongo user definitions", + subcommands: [ + { + name: "create", + description: + "Create a Mongo DB user definition under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--body", "-b"], + description: + 'User Definition body with Id (Optional for create), UserName, Password, DatabaseName, CustomData, Mechanisms, Roles. You can enter it as a string or as a file, e.g., --body @mongo-user_definition-body-file.json or --body "{"Id": "be79875a-2cc4-40d5-8958-566017875b39","UserName": "MyUserName","Password": "MyPass","CustomData": "MyCustomData","Mechanisms": "SCRAM-SHA-256""DatabaseName": "MyDb","Roles": [ {"Role": "myReadRole","Db": "MyDb"}]}"', + args: { name: "body" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Delete a CosmosDb MongoDb user definition under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--id", "-i"], + description: "Unique ID for the Mongo User Definition", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: + "Check if an Azure Cosmos DB MongoDb user definition exists", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--id", "-i"], + description: "Unique ID for the Mongo User Definition", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List all MongoDb user definitions under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the properties of a MongoDb user definition under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--id", "-i"], + description: "Unique ID for the Mongo User Definition", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update a MongoDb user definition under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--body", "-b"], + description: + 'User Definition body with Id (Optional for create), UserName, Password, DatabaseName, CustomData, Mechanisms, Roles. You can enter it as a string or as a file, e.g., --body @mongo-user_definition-body-file.json or --body "{"Id": "be79875a-2cc4-40d5-8958-566017875b39","UserName": "MyUserName","Password": "MyPass","CustomData": "MyCustomData","Mechanisms": "SCRAM-SHA-256""DatabaseName": "MyDb","Roles": [ {"Role": "myReadRole","Db": "MyDb"}]}"', + args: { name: "body" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "network-rule", + description: "Manage Azure Cosmos DB network rules", + subcommands: [ + { + name: "add", + description: + "Adds a virtual network rule to an existing Cosmos DB database account", + options: [ + { + name: "--subnet", + description: "Name or ID of the subnet", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: [ + "--ignore-missing-vnet-service-endpoint", + "--ignore-missing-endpoint", + ], + description: + "Create firewall rule before the virtual network has vnet service endpoint enabled", + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--virtual-network", "--vnet-name"], + description: + "The name of the VNET, which must be provided in conjunction with the name of the subnet", + args: { name: "virtual-network" }, + }, + ], + }, + { + name: "list", + description: + "Lists the virtual network accounts associated with a Cosmos DB account", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a virtual network rule from an existing Cosmos DB database account", + options: [ + { + name: "--subnet", + description: "Name or ID of the subnet", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Cosmos DB database account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--virtual-network", "--vnet-name"], + description: + "The name of the VNET, which must be provided in conjunction with the name of the subnet", + args: { name: "virtual-network" }, + }, + ], + }, + ], + }, + { + name: "postgres", + description: "Manage Azure Cosmos DB for PostgreSQL resources", + subcommands: [ + { + name: "check-name-availability", + description: + "Checks availability of a cluster name. Cluster names should be globally unique; at least 3 characters and at most 40 characters long; they must only contain lowercase letters, numbers, and hyphens; and must not start or end with a hyphen", + options: [ + { + name: "--name", + description: "Cluster name to verify", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--type", + description: "Resource type used for verification", + args: { + name: "type", + suggestions: ["Microsoft.DBforPostgreSQL/serverGroupsv2"], + }, + isRequired: true, + }, + ], + }, + { + name: "cluster", + description: "Manage Azure Cosmos DB for PostgreSQL clusters", + subcommands: [ + { + name: "create", + description: "Create a new cluster with nodes", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--administrator-login-password", "--login-password"], + description: + "The password of the administrator login. Required for creation. If value is blank it's asked from the tty", + args: { name: "administrator-login-password" }, + }, + { + name: "--citus-version", + description: + "The Citus extension version on all cluster servers", + args: { name: "citus-version" }, + }, + { + name: [ + "--coordinator-enable-public-ip-access", + "--coord-public-ip-access", + ], + description: "If public access is enabled on coordinator", + args: { + name: "coordinator-enable-public-ip-access", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: [ + "--coordinator-server-edition", + "--coord-server-edition", + ], + description: + "The edition of a coordinator server (default: GeneralPurpose). Required for creation", + args: { name: "coordinator-server-edition" }, + }, + { + name: [ + "--coordinator-storage-quota-in-mb", + "--coordinator-storage", + ], + description: + "The storage of a server in MB. Required for creation. See https://learn.microsoft.com/rest/api/postgresqlhsc/#values for more information", + args: { name: "coordinator-storage-quota-in-mb" }, + }, + { + name: "--coordinator-v-cores", + description: + "The vCores count of a server (max: 96). Required for creation. See https://learn.microsoft.com/rest/api/postgresqlhsc/#values for more information", + args: { name: "coordinator-v-cores" }, + }, + { + name: "--enable-ha", + description: + "If high availability (HA) is enabled or not for the cluster", + args: { + name: "enable-ha", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: [ + "--enable-shards-on-coordinator", + "--enable-shards-on-coord", + ], + description: + "If shards on coordinator is enabled or not for the cluster", + args: { + name: "enable-shards-on-coordinator", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--maintenance-window", + description: + 'Maintenance window of a cluster. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "maintenance-window" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--node-count", + description: + "Worker node count of the cluster. When node count is 0, it represents a single node configuration with the ability to create distributed tables on that node. 2 or more worker nodes represent multi-node configuration. Node count value cannot be 1. Required for creation", + args: { name: "node-count" }, + }, + { + name: [ + "--node-enable-public-ip-access", + "--node-public-ip-access", + ], + description: "If public access is enabled on worker nodes", + args: { + name: "node-enable-public-ip-access", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--node-server-edition", + description: + "The edition of a node server (default: MemoryOptimized)", + args: { name: "node-server-edition" }, + }, + { + name: ["--node-storage-quota-in-mb", "--node-storage"], + description: + "The storage in MB on each worker node. See https://learn.microsoft.com/rest/api/postgresqlhsc/#values for more information", + args: { name: "node-storage-quota-in-mb" }, + }, + { + name: "--node-v-cores", + description: + "The compute in vCores on each worker node (max: 104). See https://learn.microsoft.com/rest/api/postgresqlhsc/#values for more information", + args: { name: "node-v-cores" }, + }, + { + name: "--point-in-time-utc", + description: + "Date and time in UTC (ISO8601 format) for cluster restore", + args: { name: "point-in-time-utc" }, + }, + { + name: "--postgresql-version", + description: + "The major PostgreSQL version on all cluster servers", + args: { name: "postgresql-version" }, + }, + { + name: "--preferred-primary-zone", + description: + "Preferred primary availability zone (AZ) for all cluster servers", + args: { name: "preferred-primary-zone" }, + }, + { + name: "--source-location", + description: + "The Azure region of source cluster for read replica clusters", + args: { name: "source-location" }, + }, + { + name: "--source-resource-id", + description: + "The resource id of source cluster for read replica clusters", + args: { name: "source-resource-id" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a cluster together with nodes in it", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all clusters in a subscription or a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "promote", + description: + "Promotes read replica cluster to an independent read-write cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restart", + description: "Restarts all nodes in the cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get information about a cluster such as compute and storage configuration and cluster lifecycle metadata such as cluster creation date and time", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Starts stopped compute on all cluster nodes", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stops compute on all cluster nodes", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an existing cluster. The request body can contain one or several properties from the cluster definition", + options: [ + { + name: ["--administrator-login-password", "--login-password"], + description: + "The password of the administrator login. Required for creation. If value is blank it's asked from the tty", + args: { name: "administrator-login-password" }, + }, + { + name: "--citus-version", + description: + "The Citus extension version on all cluster servers", + args: { name: "citus-version" }, + }, + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: [ + "--coordinator-enable-public-ip-access", + "--coord-public-ip-access", + ], + description: "If public access is enabled on coordinator", + args: { + name: "coordinator-enable-public-ip-access", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: [ + "--coordinator-server-edition", + "--coord-server-edition", + ], + description: + "The edition of a coordinator server (default: GeneralPurpose). Required for creation", + args: { name: "coordinator-server-edition" }, + }, + { + name: [ + "--coordinator-storage-quota-in-mb", + "--coordinator-storage", + ], + description: + "The storage of a server in MB. Required for creation. See https://learn.microsoft.com/rest/api/postgresqlhsc/#values for more information", + args: { name: "coordinator-storage-quota-in-mb" }, + }, + { + name: "--coordinator-v-cores", + description: + "The vCores count of a server (max: 96). Required for creation. See https://learn.microsoft.com/rest/api/postgresqlhsc/#values for more information", + args: { name: "coordinator-v-cores" }, + }, + { + name: "--enable-ha", + description: + "If high availability (HA) is enabled or not for the cluster", + args: { + name: "enable-ha", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: [ + "--enable-shards-on-coordinator", + "--enable-shards-on-coord", + ], + description: + "If shards on coordinator is enabled or not for the cluster", + args: { + name: "enable-shards-on-coordinator", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--maintenance-window", + description: + 'Maintenance window of a cluster. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "maintenance-window" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--node-count", + description: + "Worker node count of the cluster. When node count is 0, it represents a single node configuration with the ability to create distributed tables on that node. 2 or more worker nodes represent multi-node configuration. Node count value cannot be 1", + args: { name: "node-count" }, + }, + { + name: "--node-server-edition", + description: + "The edition of a node server (default: MemoryOptimized)", + args: { name: "node-server-edition" }, + }, + { + name: ["--node-storage-quota-in-mb", "--node-storage"], + description: + "The storage in MB on each worker node. See https://learn.microsoft.com/rest/api/postgresqlhsc/#values for more information", + args: { name: "node-storage-quota-in-mb" }, + }, + { + name: "--node-v-cores", + description: + "The compute in vCores on each worker node (max: 104). See https://learn.microsoft.com/rest/api/postgresqlhsc/#values for more information", + args: { name: "node-v-cores" }, + }, + { + name: "--postgresql-version", + description: + "The major PostgreSQL version on all cluster servers", + args: { name: "postgresql-version" }, + }, + { + name: "--preferred-primary-zone", + description: + "Preferred primary availability zone (AZ) for all cluster servers", + args: { name: "preferred-primary-zone" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Application-specific metadata in the form of key-value pairs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "server", + description: + "Manage Azure Cosmos DB for PostgreSQL cluster servers", + subcommands: [ + { + name: "list", + description: "List nodes of a cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get information about a node in cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--server-name", "--name", "-n"], + description: "The name of the server", + args: { name: "server-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "configuration", + description: "Manage Azure Cosmos DB for PostgreSQL configurations", + subcommands: [ + { + name: "list", + description: "List all the configurations of a cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get information of a configuration for coordinator and nodes", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: ["--configuration-name", "--name", "-n"], + description: "The name of the cluster configuration", + args: { name: "configuration-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "coordinator", + description: + "Manage Azure Cosmos DB for PostgreSQL coordinator configurations", + subcommands: [ + { + name: "show", + description: + "Get information of a configuration for coordinator", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: ["--configuration-name", "--name", "-n"], + description: "The name of the cluster configuration", + args: { name: "configuration-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Updates configuration of coordinator in a cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: ["--configuration-name", "--name", "-n"], + description: "The name of the cluster configuration", + args: { name: "configuration-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--value", + description: "Value of the configuration", + args: { name: "value" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: ["--configuration-name", "--name", "-n"], + description: "The name of the cluster configuration", + args: { name: "configuration-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "node", + description: + "Manage Azure Cosmos DB for PostgreSQL node configurations", + subcommands: [ + { + name: "show", + description: + "Get information of a configuration for worker nodes", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: ["--configuration-name", "--name", "-n"], + description: "The name of the cluster configuration", + args: { name: "configuration-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Updates configuration of worker nodes in a cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: ["--configuration-name", "--name", "-n"], + description: "The name of the cluster configuration", + args: { name: "configuration-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--value", + description: "Value of the configuration", + args: { name: "value" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: ["--configuration-name", "--name", "-n"], + description: "The name of the cluster configuration", + args: { name: "configuration-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "server", + description: + "Manage Azure Cosmos DB for PostgreSQL server configurations", + subcommands: [ + { + name: "list", + description: + "List all the configurations of a server in cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--server-name", + description: "The name of the server", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "firewall-rule", + description: "Manage Azure Cosmos DB for PostgreSQL firewall rules", + subcommands: [ + { + name: "create", + description: + "Create a new cluster firewall rule or updates an existing cluster firewall rule", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--end-ip-address", + description: + "The end IP address of the cluster firewall rule. Must be IPv4 format", + args: { name: "end-ip-address" }, + isRequired: true, + }, + { + name: ["--firewall-rule-name", "--name", "-n"], + description: "The name of the cluster firewall rule", + args: { name: "firewall-rule-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the cluster firewall rule. Must be IPv4 format", + args: { name: "start-ip-address" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a cluster firewall rule", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: ["--firewall-rule-name", "--name", "-n"], + description: "The name of the cluster firewall rule", + args: { name: "firewall-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the firewall rules on cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get information about a cluster firewall rule", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: ["--firewall-rule-name", "--name", "-n"], + description: "The name of the cluster firewall rule", + args: { name: "firewall-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an existing cluster firewall rule", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--end-ip-address", + description: + "The end IP address of the cluster firewall rule. Must be IPv4 format", + args: { name: "end-ip-address" }, + }, + { + name: ["--firewall-rule-name", "--name", "-n"], + description: "The name of the cluster firewall rule", + args: { name: "firewall-rule-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the cluster firewall rule. Must be IPv4 format", + args: { name: "start-ip-address" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: ["--firewall-rule-name", "--name", "-n"], + description: "The name of the cluster firewall rule", + args: { name: "firewall-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "role", + description: "Manage Azure Cosmos DB for PostgreSQL roles", + subcommands: [ + { + name: "create", + description: "Create a new role or updates an existing role", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--role-name", "--name", "-n"], + description: "The name of the cluster role", + args: { name: "role-name" }, + isRequired: true, + }, + { + name: "--password", + description: + "The password of the cluster role. If value is blank it's asked from the tty", + args: { name: "password" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a cluster role", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--role-name", "--name", "-n"], + description: "The name of the cluster role", + args: { name: "role-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the roles in a given cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get information about a cluster role", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--role-name", "--name", "-n"], + description: "The name of the cluster role", + args: { name: "role-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an existing role", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--role-name", "--name", "-n"], + description: "The name of the cluster role", + args: { name: "role-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--password", + description: + "The password of the cluster role. If value is blank it's asked from the tty", + args: { name: "password" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--role-name", "--name", "-n"], + description: "The name of the cluster role", + args: { name: "role-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: "Manage Azure Cosmos DB private endpoint connections", + subcommands: [ + { + name: "approve", + description: + "Approve the specified private endpoint connection associated with Azure Cosmos DB", + options: [ + { + name: ["--account-name", "-a"], + description: + "Name of the Cosmos DB database account. Required if --connection-id is not specified", + args: { name: "account-name" }, + }, + { + name: "--description", + description: "Comments for the approve operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with Azure Cosmos DB. If specified --account-name --resource-group/-g and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with Azure Cosmos DB. Required if --connection-id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified Cosmos DB account. Required if --connection-id is not specified", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the specified private endpoint connection associated with Azure Cosmos DB", + options: [ + { + name: ["--account-name", "-a"], + description: + "Name of the Cosmos DB database account. Required if --connection-id is not specified", + args: { name: "account-name" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with Azure Cosmos DB. If specified --account-name --resource-group/-g and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with Azure Cosmos DB. Required if --connection-id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified Cosmos DB account. Required if --connection-id is not specified", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reject", + description: + "Reject the specified private endpoint connection associated with Azure Cosmos DB", + options: [ + { + name: ["--account-name", "-a"], + description: + "Name of the Cosmos DB database account. Required if --connection-id is not specified", + args: { name: "account-name" }, + }, + { + name: "--description", + description: "Comments for the reject operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with Azure Cosmos DB. If specified --account-name --resource-group/-g and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with Azure Cosmos DB. Required if --connection-id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified Cosmos DB account. Required if --connection-id is not specified", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a private endpoint connection associated with Azure Cosmos DB", + options: [ + { + name: ["--account-name", "-a"], + description: + "Name of the Cosmos DB database account. Required if --connection-id is not specified", + args: { name: "account-name" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with Azure Cosmos DB. If specified --account-name --resource-group/-g and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with Azure Cosmos DB. Required if --connection-id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified Cosmos DB account. Required if --connection-id is not specified", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage Azure Cosmos DB private link resources", + subcommands: [ + { + name: "list", + description: + "List the private link resources supported for Azure Cosmos DB", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "restorable-database-account", + description: "Manage restorable Azure Cosmos DB accounts", + subcommands: [ + { + name: "list", + description: "List all the database accounts that can be restored", + options: [ + { + name: ["--account-name", "-n"], + description: "Name of the Account", + args: { name: "account-name" }, + }, + { + name: ["--location", "-l"], + description: "Location", + args: { name: "location" }, + }, + ], + }, + { + name: "show", + description: + "Show the details of a database account that can be restored", + options: [ + { + name: ["--instance-id", "-i"], + description: "InstanceId of the Account", + args: { name: "instance-id" }, + }, + { + name: ["--location", "-l"], + description: "Location", + args: { name: "location" }, + }, + ], + }, + ], + }, + { + name: "service", + description: "Commands to perform operations on Service", + subcommands: [ + { + name: "create", + description: "Create a cosmosdb service resource", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the Cosmos DB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Service Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group-name", "-g"], + description: "Name of the resource group of the database account", + args: { name: "resource-group-name" }, + isRequired: true, + }, + { + name: ["--count", "-c"], + description: "Instance Count", + args: { name: "count" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--size", + description: + "Instance Size. Possible values are: Cosmos.D4s, Cosmos.D8s, Cosmos.D16s etc", + args: { name: "size" }, + }, + ], + }, + { + name: "delete", + description: "Delete the given cosmosdb service resource", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the Cosmos DB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Service Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group-name", "-g"], + description: "Name of the resource group of the database account", + args: { name: "resource-group-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all cosmosdb service resource under an account", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the Cosmos DB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group-name", "-g"], + description: "Name of the resource group of the database account", + args: { name: "resource-group-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get cosmosdb service resource under an account", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the Cosmos DB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Service Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group-name", "-g"], + description: "Name of the resource group of the database account", + args: { name: "resource-group-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a cosmosdb service resource", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the Cosmos DB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--count", "-c"], + description: "Instance Count", + args: { name: "count" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Service Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group-name", "-g"], + description: "Name of the resource group of the database account", + args: { name: "resource-group-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--size", + description: + "Instance Size. Possible values are: Cosmos.D4s, Cosmos.D8s, Cosmos.D16s etc", + args: { name: "size" }, + }, + ], + }, + ], + }, + { + name: "sql", + description: "Manage SQL resources of Azure Cosmos DB account", + subcommands: [ + { + name: "retrieve-latest-backup-time", + description: + "Retrieves latest restorable timestamp for the given sql container in given region", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Name of the CosmosDB Sql container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Name of the CosmosDB Sql database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location of the account", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "container", + description: "Manage Azure Cosmos DB SQL containers", + subcommands: [ + { + name: "create", + description: + "Create an SQL container under an Azure Cosmos DB SQL database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--partition-key-path", "-p"], + description: "Partition Key Path, e.g., '/address/zipcode'", + args: { name: "partition-key-path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--analytical-storage-ttl", "-t"], + description: + "Analytical TTL, when analytical storage is enabled", + args: { name: "analytical-storage-ttl" }, + }, + { + name: "--cep", + description: + 'Client Encryption Policy, you can enter it as a string or as a file, e.g., --cep @policy-file.json or --cep "{"includedPaths": [{"path": "/path1","clientEncryptionKeyId": "key1","encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256","encryptionType": "Deterministic"}],"policyFormatVersion": 2}"', + args: { name: "cep" }, + }, + { + name: ["--conflict-resolution-policy", "-c"], + description: + 'Conflict Resolution Policy, you can enter it as a string or as a file, e.g., --conflict-resolution-policy @policy-file.json or --conflict-resolution-policy "{"mode": "lastWriterWins", "conflictResolutionPath": "/path"}"', + args: { name: "conflict-resolution-policy" }, + }, + { + name: "--idx", + description: + 'Indexing Policy, you can enter it as a string or as a file, e.g., --idx @policy-file.json or --idx "{"indexingMode": "consistent", "automatic": true, "includedPaths": [{"path": "/*"}], "excludedPaths": [{ "path": "/headquarters/employees/?"}, { "path": "/\\"_etag\\"/?"}]}". "indexingMode": "consistent", "automatic": true, "includedPaths": [ { "path": "/*" } ], "excludedPaths": [ { "path": "/\\"_etag\\"/?" } ] }', + args: { name: "idx" }, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--partition-key-version", + description: "The version of partition key", + args: { name: "partition-key-version" }, + }, + { + name: "--throughput", + description: + "The throughput of SQL container (RU/s). Default value is 400. Omit this parameter if the database has shared throughput unless the container should have dedicated throughput", + args: { name: "throughput" }, + }, + { + name: "--ttl", + description: + 'Default TTL. If the value is missing or set to "-1", items don’t expire. If the value is set to "n", items will expire "n" seconds after last modified time', + args: { name: "ttl" }, + }, + { + name: ["--unique-key-policy", "-u"], + description: + 'Unique Key Policy, you can enter it as a string or as a file, e.g., --unique-key-policy @policy-file.json or --unique-key-policy "{"uniqueKeys": [{"paths": ["/path/to/key1"]}, {"paths": ["/path/to/key2"]}]}"', + args: { name: "unique-key-policy" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the SQL container under an Azure Cosmos DB SQL database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: "Checks if an Azure Cosmos DB SQL container exists", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List the SQL containers under an Azure Cosmos DB SQL database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "merge", + description: "Merges the partitions of a sql container", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Name of the CosmosDB database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the CosmosDB collection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "redistribute-partition-throughput", + description: + "Redistributes the partition throughput of a sql container", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Name of the CosmosDB database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the CosmosDB collection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--evenly-distribute", + description: + "Switch to distribute throughput equally among all physical partitions", + }, + { + name: "--source-partition-info", + description: + "Space separated source physical partition ids eg: 1 2", + args: { name: "source-partition-info" }, + }, + { + name: "--target-partition-info", + description: + "Information about desired target physical partition throughput eg: 0=1200 1=1200", + args: { name: "target-partition-info" }, + }, + ], + }, + { + name: "restore", + description: + "Restore a deleted sql container within the same account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--restore-timestamp", "-t"], + description: + "The timestamp to which the container needs to be restored to", + args: { name: "restore-timestamp" }, + isRequired: true, + }, + ], + }, + { + name: "retrieve-partition-throughput", + description: + "Retrieve the partition throughput of a sql container", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Name of the CosmosDB database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the CosmosDB container", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--all-partitions", + description: + "Switch to retrieve throughput for all physical partitions", + }, + { + name: ["--physical-partition-ids", "-p"], + description: "Space separated list of physical partition ids", + args: { name: "physical-partition-ids" }, + }, + ], + }, + { + name: "show", + description: + "Show the details of a SQL container under an Azure Cosmos DB SQL database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an SQL container under an Azure Cosmos DB SQL database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--analytical-storage-ttl", "-t"], + description: + "Analytical TTL, when analytical storage is enabled", + args: { name: "analytical-storage-ttl" }, + }, + { + name: "--idx", + description: + 'Indexing Policy, you can enter it as a string or as a file, e.g., --idx @policy-file.json or --idx "{"indexingMode": "consistent", "automatic": true, "includedPaths": [{"path": "/*"}], "excludedPaths": [{ "path": "/headquarters/employees/?"}, { "path": "/\\"_etag\\"/?"}]}"', + args: { name: "idx" }, + }, + { + name: "--ttl", + description: + 'Default TTL. If the value is missing or set to "-1", items don’t expire. If the value is set to "n", items will expire "n" seconds after last modified time', + args: { name: "ttl" }, + }, + ], + }, + { + name: "throughput", + description: + "Manage throughput of SQL container under an Azure Cosmos DB account", + subcommands: [ + { + name: "migrate", + description: + "Migrate the throughput of the SQL container between autoscale and manually provisioned", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--throughput-type", "-t"], + description: "The type of throughput to migrate to", + args: { + name: "throughput-type", + suggestions: ["autoscale", "manual"], + }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the throughput of the SQL container under an Azure Cosmos DB SQL database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the throughput of the SQL container under an Azure Cosmos DB SQL database", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: "The throughput of SQL container (RU/s)", + args: { name: "throughput" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "database", + description: "Manage Azure Cosmos DB SQL databases", + subcommands: [ + { + name: "create", + description: + "Create an SQL database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: + "The throughput of SQL database (RU/s). Default value is 400", + args: { name: "throughput" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the SQL database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: "Checks if an Azure Cosmos DB SQL database exists", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List the SQL databases under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "merge", + description: "Merge the partitions of a sql database", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the CosmosDB database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "restore", + description: + "Restore a deleted sql database within the same account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--restore-timestamp", "-t"], + description: + "The timestamp to which the database needs to be restored to", + args: { name: "restore-timestamp" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a SQL database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "throughput", + description: + "Manage throughput of SQL database under an Azure Cosmos DB account", + subcommands: [ + { + name: "migrate", + description: + "Migrate the throughput of the SQL database between autoscale and manually provisioned", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--throughput-type", "-t"], + description: "The type of throughput to migrate to", + args: { + name: "throughput-type", + suggestions: ["autoscale", "manual"], + }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the throughput of the SQL database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the throughput of the SQL database under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Database name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: "The throughput of SQL database (RU/s)", + args: { name: "throughput" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "restorable-container", + description: + "Manage different versions of sql containers that are restorable in a database of a Azure Cosmos DB account", + subcommands: [ + { + name: "list", + description: + "List all the versions of all the sql containers that were created / modified / deleted in the given database and restorable account", + options: [ + { + name: ["--database-rid", "-d"], + description: "Rid of the database", + args: { name: "database-rid" }, + isRequired: true, + }, + { + name: ["--instance-id", "-i"], + description: "InstanceId of the Account", + args: { name: "instance-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--end-time", "-e"], + description: + "End time of restorable Sql container event feed", + args: { name: "end-time" }, + }, + { + name: ["--start-time", "-s"], + description: + "Start time of restorable Sql container event feed", + args: { name: "start-time" }, + }, + ], + }, + ], + }, + { + name: "restorable-database", + description: + "Manage different versions of sql databases that are restorable in a Azure Cosmos DB account", + subcommands: [ + { + name: "list", + description: + "List all the versions of all the sql databases that were created / modified / deleted in the given restorable account", + options: [ + { + name: ["--instance-id", "-i"], + description: "InstanceId of the Account", + args: { name: "instance-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "restorable-resource", + description: + "Manage the databases and its containers that can be restored in the given account at the given timesamp and region", + subcommands: [ + { + name: "list", + description: + "List all the databases and its containers that can be restored in the given account at the given timesamp and region", + options: [ + { + name: ["--instance-id", "-i"], + description: "InstanceId of the Account", + args: { name: "instance-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Azure Location of the account", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--restore-location", "-r"], + description: "The region of the restore", + args: { name: "restore-location" }, + isRequired: true, + }, + { + name: ["--restore-timestamp", "-t"], + description: "The timestamp of the restore", + args: { name: "restore-timestamp" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "role", + description: "Manage Azure Cosmos DB SQL role resources", + subcommands: [ + { + name: "assignment", + description: "Manage Azure Cosmos DB SQL role assignments", + subcommands: [ + { + name: "create", + description: + "Create a SQL role assignment under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--principal-id", "-p"], + description: + "AAD Object ID of the principal to which this Role Assignment is being granted", + args: { name: "principal-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--scope", "-s"], + description: + "Data plane resource path at which this Role Assignment is being granted", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--role-assignment-id", "-i"], + description: + "Optional for Create. Unique ID for the Role Assignment. If not provided, a new GUID will be used", + args: { name: "role-assignment-id" }, + }, + { + name: ["--role-definition-id", "-d"], + description: + "Unique ID of the Role Definition that this Role Assignment refers to", + args: { name: "role-definition-id" }, + }, + { + name: ["--role-definition-name", "-n"], + description: + "Unique Name of the Role Definition that this Role Assignment refers to. Eg. 'Contoso Reader Role'", + args: { name: "role-definition-name" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a SQL role assignment under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--role-assignment-id", "-i"], + description: + "Optional for Create. Unique ID for the Role Assignment. If not provided, a new GUID will be used", + args: { name: "role-assignment-id" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: + "Check if an Azure Cosmos DB role assignment exists", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--role-assignment-id", "-i"], + description: + "Optional for Create. Unique ID for the Role Assignment. If not provided, a new GUID will be used", + args: { name: "role-assignment-id" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List all SQL role assignments under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the properties of a SQL role assignment under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--role-assignment-id", "-i"], + description: + "Optional for Create. Unique ID for the Role Assignment. If not provided, a new GUID will be used", + args: { name: "role-assignment-id" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update a SQL role assignment under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--role-assignment-id", "-i"], + description: + "Optional for Create. Unique ID for the Role Assignment. If not provided, a new GUID will be used", + args: { name: "role-assignment-id" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--principal-id", "-p"], + description: + "AAD Object ID of the principal to which this Role Assignment is being granted", + args: { name: "principal-id" }, + }, + { + name: ["--role-definition-id", "-d"], + description: + "Unique ID of the Role Definition that this Role Assignment refers to", + args: { name: "role-definition-id" }, + }, + { + name: ["--role-definition-name", "-n"], + description: + "Unique Name of the Role Definition that this Role Assignment refers to. Eg. 'Contoso Reader Role'", + args: { name: "role-definition-name" }, + }, + { + name: ["--scope", "-s"], + description: + "Data plane resource path at which this Role Assignment is being granted", + args: { name: "scope" }, + }, + ], + }, + { + name: "wait", + description: + "Poll on a SQL role assignment until a specific condition is met", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--role-assignment-id", "-i"], + description: + "Optional for Create. Unique ID for the Role Assignment. If not provided, a new GUID will be used", + args: { name: "role-assignment-id" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "definition", + description: "Manage Azure Cosmos DB SQL role definitions", + subcommands: [ + { + name: "create", + description: + "Create a SQL role definition under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--body", "-b"], + description: + 'Role Definition body with Id (Optional for create), DataActions or Permissions, Type (Default is CustomRole), and AssignableScopes. You can enter it as a string or as a file, e.g., --body @rdbody-file.json or --body "{ "Id": "be79875a-2cc4-40d5-8958-566017875b39", "RoleName": "My Read Write Role", "Type": "CustomRole", "AssignableScopes": [ "/" ], "DataActions": [ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" ]}"', + args: { name: "body" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: + "Delete a SQL role definition under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--id", "-i"], + description: "Unique ID for the Role Definition", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: + "Check if an Azure Cosmos DB role definition exists", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--id", "-i"], + description: "Unique ID for the Role Definition", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List all SQL role definitions under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the properties of a SQL role definition under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--id", "-i"], + description: "Unique ID for the Role Definition", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update a SQL role definition under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--body", "-b"], + description: + 'Role Definition body with Id (Optional for create), DataActions or Permissions, Type (Default is CustomRole), and AssignableScopes. You can enter it as a string or as a file, e.g., --body @rdbody-file.json or --body "{ "Id": "be79875a-2cc4-40d5-8958-566017875b39", "RoleName": "My Read Write Role", "Type": "CustomRole", "AssignableScopes": [ "/" ], "DataActions": [ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" ]}"', + args: { name: "body" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "wait", + description: + "Poll on a SQL role definition until a specific condition is met", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--id", "-i"], + description: "Unique ID for the Role Definition", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "stored-procedure", + description: "Manage Azure Cosmos DB SQL stored procedures", + subcommands: [ + { + name: "create", + description: + "Create an SQL stored procedure under an Azure Cosmos DB SQL container", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--body", "-b"], + description: + "StoredProcedure body, you can enter it as a string or as a file, e.g., --body @sprocbody-file.json", + args: { name: "body" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "StoredProcedure name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Delete the SQL stored procedure under an Azure Cosmos DB SQL container", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "StoredProcedure name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the SQL stored procedures under an Azure Cosmos DB SQL container", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a SQL stored procedure under an Azure Cosmos DB SQL container", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "StoredProcedure name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Creates or Updates an Azure Cosmos DB SQL stored procedure", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--body", "-b"], + description: + "StoredProcedure body, you can enter it as a string or as a file, e.g., --body @sprocbody-file.json", + args: { name: "body" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "StoredProcedure name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "trigger", + description: "Manage Azure Cosmos DB SQL triggers", + subcommands: [ + { + name: "create", + description: + "Create an SQL trigger under an Azure Cosmos DB SQL container", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--body", "-b"], + description: + "Trigger body, you can enter it as a string or as a file, e.g., --body @triggerbody-file.json", + args: { name: "body" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--operation", + description: "The operation of the trigger", + args: { + name: "operation", + suggestions: [ + "All", + "Create", + "Delete", + "Replace", + "Update", + ], + }, + }, + { + name: ["--type", "-t"], + description: "Trigger type", + args: { name: "type", suggestions: ["Post", "Pre"] }, + }, + ], + }, + { + name: "delete", + description: + "Delete the SQL trigger under an Azure Cosmos DB SQL container", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the SQL triggers under an Azure Cosmos DB SQL container", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a SQL trigger under an Azure Cosmos DB SQL container", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Updates an Azure Cosmos DB SQL trigger", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--body", "-b"], + description: + "Trigger body, you can enter it as a string or as a file, e.g., --body @triggerbody-file.json", + args: { name: "body" }, + }, + { + name: "--operation", + description: "The operation of the trigger", + args: { + name: "operation", + suggestions: [ + "All", + "Create", + "Delete", + "Replace", + "Update", + ], + }, + }, + { + name: ["--type", "-t"], + description: "Trigger type", + args: { name: "type", suggestions: ["Post", "Pre"] }, + }, + ], + }, + ], + }, + { + name: "user-defined-function", + description: "Manage Azure Cosmos DB SQL user defined functions", + subcommands: [ + { + name: "create", + description: + "Create an SQL user defined function under an Azure Cosmos DB SQL container", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--body", "-b"], + description: + "UserDefinedFunction body, you can enter it as a string or as a file, e.g., --body @udfbody-file.json", + args: { name: "body" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "UserDefinedFunction name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Delete the SQL user defined function under an Azure Cosmos DB SQL container", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "UserDefinedFunction name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the SQL user defined functions under an Azure Cosmos DB SQL container", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a SQL user defined function under an Azure Cosmos DB SQL container", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "UserDefinedFunction name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Creates or Updates an Azure Cosmos DB SQL user defined function", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--body", "-b"], + description: + "UserDefinedFunction body, you can enter it as a string or as a file, e.g., --body @udfbody-file.json", + args: { name: "body" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "Container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "UserDefinedFunction name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "table", + description: "Manage Table resources of Azure Cosmos DB account", + subcommands: [ + { + name: "create", + description: "Create an Table under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: + "The throughput of Table (RU/s). Default value is 400", + args: { name: "throughput" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Table under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: "Checks if an Azure Cosmos DB table exists", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List the Tables under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "restore", + description: "Restore a deleted table within the same account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--restore-timestamp", "-t"], + description: + "The timestamp to which the Table needs to be restored to", + args: { name: "restore-timestamp" }, + isRequired: true, + }, + { + name: ["--table-name", "-n"], + description: "Name of the CosmosDB Table name", + args: { name: "table-name" }, + isRequired: true, + }, + ], + }, + { + name: "retrieve-latest-backup-time", + description: + "Retrieves latest restorable timestamp for the given table in given region", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the CosmosDB database account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location of the account", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--table-name", "-n"], + description: "Name of the CosmosDB Table name", + args: { name: "table-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a Table under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "restorable-resource", + description: + "Manage the tables that can be restored in the given account at the given timestamp and region", + subcommands: [ + { + name: "list", + description: + "List all the tables that can be restored in the given account at the given timestamp and region", + options: [ + { + name: ["--instance-id", "-i"], + description: "InstanceId of the Account", + args: { name: "instance-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Azure Location of the account", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--restore-location", "-r"], + description: "The region of the restore", + args: { name: "restore-location" }, + isRequired: true, + }, + { + name: ["--restore-timestamp", "-t"], + description: "The timestamp of the restore", + args: { name: "restore-timestamp" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "restorable-table", + description: + "Manage different versions of tables that are restorable in Azure Cosmos DB account", + subcommands: [ + { + name: "list", + description: + "List all the versions of all the tables that were created / modified / deleted in the given restorable account", + options: [ + { + name: ["--instance-id", "-i"], + description: "InstanceId of the Account", + args: { name: "instance-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--end-time", "-e"], + description: "End time of restorable tables event feed", + args: { name: "end-time" }, + }, + { + name: ["--start-time", "-s"], + description: "Start time of restorable tables event feed", + args: { name: "start-time" }, + }, + ], + }, + ], + }, + { + name: "throughput", + description: + "Manage throughput of Table under an Azure Cosmos DB account", + subcommands: [ + { + name: "migrate", + description: + "Migrate the throughput of the Table between autoscale and manually provisioned", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--throughput-type", "-t"], + description: "The type of throughput to migrate to", + args: { + name: "throughput-type", + suggestions: ["autoscale", "manual"], + }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the throughput of the Table under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the throughput of the Table under an Azure Cosmos DB account", + options: [ + { + name: ["--account-name", "-a"], + description: "Cosmosdb account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-throughput", + description: + "The maximum throughput resource can scale to (RU/s). Provided when the resource is autoscale enabled. The minimum value can be 4000 (RU/s)", + args: { name: "max-throughput" }, + }, + { + name: "--throughput", + description: "The throughput of Table (RU/s)", + args: { name: "throughput" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/costmanagement.ts b/src/az/2.53.0/costmanagement.ts new file mode 100644 index 000000000000..694d11577c4c --- /dev/null +++ b/src/az/2.53.0/costmanagement.ts @@ -0,0 +1,253 @@ +const completion: Fig.Spec = { + name: "costmanagement", + description: "Manage cost and billing in Azure", + subcommands: [ + { + name: "export", + description: "Costmanagement export", + subcommands: [ + { + name: "create", + description: "The operation to create an export", + options: [ + { + name: "--name", + description: "Export Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--scope", + description: + "The scope associated with query and export operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--storage-account-id", + description: "The ID of the storage account to store exports", + args: { name: "storage-account-id" }, + isRequired: true, + }, + { + name: "--storage-container", + description: "The storage container to deliver exports", + args: { name: "storage-container" }, + isRequired: true, + }, + { + name: "--timeframe", + description: + "The time frame for pulling data for the query. If custom, then a specific time period must be provided", + args: { + name: "timeframe", + suggestions: [ + "BillingMonthToDate", + "Custom", + "MonthToDate", + "TheLastBillingMonth", + "TheLastMonth", + "WeekToDate", + ], + }, + isRequired: true, + }, + { + name: "--dataset-configuration", + description: + "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided. Expect value: columns=xx", + args: { name: "dataset-configuration" }, + }, + { + name: "--recurrence", + description: "The schedule recurrence", + args: { + name: "recurrence", + suggestions: ["Annually", "Daily", "Monthly", "Weekly"], + }, + }, + { + name: "--recurrence-period", + description: + "Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: from, to. The time format is like 2020-05-01T00:00:00", + args: { name: "recurrence-period" }, + }, + { + name: "--schedule-status", + description: + "The status of the export's schedule. If inactive, the export's scheduled execution is paused", + args: { + name: "schedule-status", + suggestions: ["Active", "Inactive"], + }, + }, + { + name: "--storage-directory", + description: + "The root directory in the storage container to store exports", + args: { name: "storage-directory" }, + }, + { + name: "--time-period", + description: + "Has time period for pulling data for the query. Expect value: from=TIMESTAMP1 to=TIMESTAMP2. The timestamp format is like 2020-05-01T00:00:00.The TIMESTAMP1 must in the future and TIMESTAMP2 must be greater than TIMESTAMP1", + args: { name: "time-period" }, + }, + { + name: "--type", + description: "The type of the query", + args: { + name: "type", + suggestions: ["ActualCost", "AmortizedCost", "Usage"], + }, + }, + ], + }, + { + name: "delete", + description: "The operation to delete an export", + options: [ + { + name: "--name", + description: "Export Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--scope", + description: + "The scope associated with query and export operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope", + args: { name: "scope" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "The operation to list all exports at the given scope", + options: [ + { + name: "--scope", + description: + "The scope associated with query and export operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope", + args: { name: "scope" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "The operation to get the execution history of an export for the defined scope by export name", + options: [ + { + name: "--name", + description: "Export Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--scope", + description: + "The scope associated with query and export operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope", + args: { name: "scope" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "The operation to update an export", + options: [ + { + name: "--name", + description: "Export Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--scope", + description: + "The scope associated with query and export operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--dataset-configuration", + description: + "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided. Expect value: columns=xx", + args: { name: "dataset-configuration" }, + }, + { + name: "--recurrence", + description: "The schedule recurrence", + args: { + name: "recurrence", + suggestions: ["Annually", "Daily", "Monthly", "Weekly"], + }, + }, + { + name: "--recurrence-period", + description: + "Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: from, to. The time format is like 2020-05-01T00:00:00", + args: { name: "recurrence-period" }, + }, + { + name: "--schedule-status", + description: + "The status of the export's schedule. If inactive, the export's scheduled execution is paused", + args: { + name: "schedule-status", + suggestions: ["Active", "Inactive"], + }, + }, + { + name: "--storage-account-id", + description: "The ID of the storage account to store exports", + args: { name: "storage-account-id" }, + }, + { + name: "--storage-container", + description: "The storage container to deliver exports", + args: { name: "storage-container" }, + }, + { + name: "--storage-directory", + description: + "The root directory in the storage container to store exports", + args: { name: "storage-directory" }, + }, + { + name: "--time-period", + description: + "Has time period for pulling data for the query. Expect value: from=TIMESTAMP1 to=TIMESTAMP2. The timestamp format is like 2020-05-01T00:00:00.The TIMESTAMP1 must in the future and TIMESTAMP2 must be greater than TIMESTAMP1", + args: { name: "time-period" }, + }, + { + name: "--timeframe", + description: + "The time frame for pulling data for the query. If custom, then a specific time period must be provided", + args: { + name: "timeframe", + suggestions: [ + "BillingMonthToDate", + "Custom", + "MonthToDate", + "TheLastBillingMonth", + "TheLastMonth", + "WeekToDate", + ], + }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/csvmware.ts b/src/az/2.53.0/csvmware.ts new file mode 100644 index 000000000000..89e7e59ed45a --- /dev/null +++ b/src/az/2.53.0/csvmware.ts @@ -0,0 +1,676 @@ +const completion: Fig.Spec = { + name: "csvmware", + description: "Manage Azure VMware Solution by CloudSimple", + subcommands: [ + { + name: "private-cloud", + description: "Manage VMware private clouds", + subcommands: [ + { + name: "list", + description: "List details of private clouds in a region", + options: [ + { + name: ["--location", "-l"], + description: "Region in which the private cloud is present", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a private cloud in a region", + options: [ + { + name: ["--location", "-l"], + description: "Region in which the private cloud is present", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name or ID of the CloudSimple private cloud", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "resource-pool", + description: "Manage VMware resource pools", + subcommands: [ + { + name: "list", + description: "List details of resource pools in a private cloud", + options: [ + { + name: ["--location", "-l"], + description: "Region in which the private cloud is present", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-p"], + description: "Name or ID of the CloudSimple private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a resource pool in a private cloud", + options: [ + { + name: ["--location", "-l"], + description: "Region in which the private cloud is present", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "ID of the VMware resource pool in your CloudSimple Private Cloud. You can also pass the basename of the ID", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-p"], + description: "Name or ID of the CloudSimple private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "virtual-network", + description: "Manage virtual networks", + subcommands: [ + { + name: "list", + description: + "List details of available virtual networks in a private cloud", + options: [ + { + name: ["--location", "-l"], + description: "Region in which the private cloud is present", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-p"], + description: "Name or ID of the CloudSimple private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-pool", "-r"], + description: + "ID of the resource pool used to derive vSphere cluster which contains virtual networks. You can also pass the basename of the ID", + args: { name: "resource-pool" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of a virtual network in a private cloud", + options: [ + { + name: ["--location", "-l"], + description: "Region in which the private cloud is present", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "ID of the virtual network (vsphereId). You can also pass the basename of the ID", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-p"], + description: "Name or ID of the CloudSimple private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "vm", + description: "Manage VMware virtual machines", + subcommands: [ + { + name: "create", + description: "Create a VMware virtual machine", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-p"], + description: "Name or ID of the CloudSimple private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--resource-pool", "-r"], + description: + "ID of the VMware resource pool for this virtual machine in your CloudSimple Private Cloud. You can also pass the basename of the ID", + args: { name: "resource-pool" }, + isRequired: true, + }, + { + name: "--template", + description: + "ID of the vSphere template from which this virtual machine will be created. You can also pass the basename of the ID", + args: { name: "template" }, + isRequired: true, + }, + { + name: "--cores", + description: + "The number of CPU cores required. The default is taken from the vSphere VM template specified", + args: { name: "cores" }, + }, + { + name: "--disk", + description: "Add or modify disks", + args: { name: "disk" }, + }, + { + name: "--expose-to-guest-vm", + description: + "Will expose full CPU virtualization to the guest operating system. The default is taken from the vSphere VM template specified", + args: { + name: "expose-to-guest-vm", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Region in which the private cloud is present. If default location is not configured, will default to the resource group's location", + args: { name: "location" }, + }, + { + name: "--nic", + description: "Add or modify NICs", + args: { name: "nic" }, + }, + { + name: "--ram", + description: + "The amount of memory in MB. The default is taken from the vSphere VM template specified", + args: { name: "ram" }, + }, + ], + }, + { + name: "delete", + description: "Delete a VMware virtual machine", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List details of VMware virtual machines in the current subscription. If resource group is specified, only the details of virtual machines in that resource group would be listed", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a VMware virtual machine", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "start", + description: "Start a VMware virtual machine", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "stop", + description: "Stop/Reboot/Suspend a VMware virtual machine", + options: [ + { + name: "--mode", + description: "Stop mode", + args: { + name: "mode", + suggestions: ["poweroff", "reboot", "shutdown", "suspend"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update the tags field of a VMware virtual machine", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "disk", + description: "Manage VMware virtual machine's disks", + subcommands: [ + { + name: "add", + description: "Add disk to a VMware virtual machine", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--controller", + description: + "Id of the controller. Input 1000 for SCSI controller 0, and 15000 for SATA controller 0", + args: { name: "controller" }, + }, + { + name: "--mode", + description: "The disk independence mode", + args: { + name: "mode", + suggestions: [ + "independent_nonpersistent", + "independent_persistent", + "persistent", + ], + }, + }, + { + name: "--size", + description: "The amount of disk size in KB", + args: { name: "size" }, + }, + ], + }, + { + name: "delete", + description: "Delete disks from a VM", + options: [ + { + name: "--disks", + description: "Names of disks", + args: { name: "disks" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List details of disks available on a VMware virtual machine", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a VMware virtual machine's disk", + options: [ + { + name: ["--name", "-n"], + description: "Name of the disk", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "nic", + description: + "Manage VMware virtual machine's Network Interface Cards", + subcommands: [ + { + name: "add", + description: "Add NIC to a VMware virtual machine", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--virtual-network", + description: + "ID of the virtual network. You can also pass the basename of the ID", + args: { name: "virtual-network" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--adapter", + description: "The adapter for the NIC", + args: { + name: "adapter", + suggestions: [ + "E1000", + "E1000E", + "PCNET32", + "VMXNET", + "VMXNET2", + "VMXNET3", + ], + }, + }, + { + name: "--power-on-boot", + description: "Will power on the NIC at boot time", + }, + ], + }, + { + name: "delete", + description: "Delete NICs from a VM", + options: [ + { + name: "--nics", + description: "Names of NICs", + args: { name: "nics" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List details of NICs available on a VMware virtual machine", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a VMware virtual machine's NIC", + options: [ + { + name: ["--name", "-n"], + description: "Name of the NIC", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "vm-template", + description: "Manage VMware virtual machine templates", + subcommands: [ + { + name: "list", + description: + "List details of VMware virtual machines templates in a private cloud", + options: [ + { + name: ["--location", "-l"], + description: "Region in which the private cloud is present", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-p"], + description: "Name or ID of the CloudSimple private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-pool", "-r"], + description: + "ID of the VMware resource pool in your CloudSimple Private Cloud. You can also pass the basename of the ID", + args: { name: "resource-pool" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of a VMware virtual machines template in a private cloud", + options: [ + { + name: ["--location", "-l"], + description: "Region in which the private cloud is present", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "ID of the vSphere virtual machine template. You can also pass the basename of the ID", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-p"], + description: "Name or ID of the CloudSimple private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/custom-providers.ts b/src/az/2.53.0/custom-providers.ts new file mode 100644 index 000000000000..a85f19cd0a29 --- /dev/null +++ b/src/az/2.53.0/custom-providers.ts @@ -0,0 +1,152 @@ +const completion: Fig.Spec = { + name: "custom-providers", + description: "Commands to manage custom providers", + subcommands: [ + { + name: "resource-provider", + description: "Commands to manage custom resource provider", + subcommands: [ + { + name: "create", + description: "Create or update the custom resource provider", + options: [ + { + name: ["--name", "-n"], + description: "The name of the resource provider", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--action", "-a"], + description: "Add an action to the custom resource provider", + args: { name: "action" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-type", "-r"], + description: + "Add a custom resource type to the custom resource provider", + args: { name: "resource-type" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--validation", "-v"], + description: "Add a validation to the custom resource provider", + args: { name: "validation" }, + }, + ], + }, + { + name: "delete", + description: "Delete the custom resource provider", + options: [ + { + name: ["--name", "-n"], + description: "The name of the resource provider", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Get all the custom resource providers within a resource group or in the current subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the properties for the custom resource provider", + options: [ + { + name: ["--name", "-n"], + description: "The name of the resource provider", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the custom resource provider. Only tags can be updated", + options: [ + { + name: ["--name", "-n"], + description: "The name of the resource provider", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/customlocation.ts b/src/az/2.53.0/customlocation.ts new file mode 100644 index 000000000000..09e36dbcb48d --- /dev/null +++ b/src/az/2.53.0/customlocation.ts @@ -0,0 +1,259 @@ +const completion: Fig.Spec = { + name: "customlocation", + description: "Commands to Create, Get, List and Delete CustomLocations", + subcommands: [ + { + name: "create", + description: "Create a Custom Location", + options: [ + { + name: ["--cluster-extension-ids", "-c"], + description: + "Space-seperated list of the cluster extension ids - input full id in the format /subscription/.../resourceGroups/.../Microsoft.Kubernetes/connectedClusters/.../providers/Microsoft.KubernetesConfiguration/extensions/", + args: { name: "cluster-extension-ids" }, + isRequired: true, + }, + { + name: "--host-resource-id", + description: "Host resource ID of the connected cluster", + args: { name: "host-resource-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Customlocation", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: + "Namespace for Custom Location. For namespace-scoped extensions, this should match namespace associated with the cluster extension operator", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--assign-identity", + description: + 'Create CustomLocation resource with "SystemAssigned" or "None" type identity', + args: { name: "assign-identity" }, + }, + { + name: ["--kubeconfig", "-k"], + description: + "Admin Kubeconfig of Cluster. Needs to passed in as a file if the cluster is a non-AAD enabled Cluster", + args: { name: "kubeconfig" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Customlocation", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Customlocation", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Command to list CustomLocations", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-enabled-resource-types", + description: "Get details of Enabled Resource Types for a CustomLocation", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Customlocation", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "patch", + description: "Patch a Custom Location", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Customlocation", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--assign-identity", + description: + 'Create CustomLocation resource with "SystemAssigned" or "None" type identity', + args: { name: "assign-identity" }, + }, + { + name: ["--cluster-extension-ids", "-c"], + description: + "Space-seperated list of the cluster extension ids - input full id in the format /subscription/.../resourceGroups/.../Microsoft.Kubernetes/connectedClusters/.../providers/Microsoft.KubernetesConfiguration/extensions/", + args: { name: "cluster-extension-ids" }, + }, + { + name: ["--display-name", "-d"], + description: "Display Name of Custom Location", + args: { name: "display-name" }, + }, + { + name: "--host-resource-id", + description: "Host resource ID of the connected cluster", + args: { name: "host-resource-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--namespace", + description: + "Namespace for Custom Location. For namespace-scoped extensions, this should match namespace associated with the cluster extension operator", + args: { name: "namespace" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "show", + description: "Get details of a Customlocation", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Customlocation", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a Custom Location", + options: [ + { + name: ["--cluster-extension-ids", "-c"], + description: + "Space-seperated list of the cluster extension ids - input full id in the format /subscription/.../resourceGroups/.../Microsoft.Kubernetes/connectedClusters/.../providers/Microsoft.KubernetesConfiguration/extensions/", + args: { name: "cluster-extension-ids" }, + isRequired: true, + }, + { + name: "--host-resource-id", + description: "Host resource ID of the connected cluster", + args: { name: "host-resource-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Customlocation", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: + "Namespace for Custom Location. For namespace-scoped extensions, this should match namespace associated with the cluster extension operator", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--assign-identity", + description: + 'Create CustomLocation resource with "SystemAssigned" or "None" type identity', + args: { name: "assign-identity" }, + }, + { + name: ["--location", "-l"], + description: "Location of Custom Location resource", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/databox.ts b/src/az/2.53.0/databox.ts new file mode 100644 index 000000000000..e25db2a9b5cf --- /dev/null +++ b/src/az/2.53.0/databox.ts @@ -0,0 +1,576 @@ +const completion: Fig.Spec = { + name: "databox", + description: "Manage data box", + subcommands: [ + { + name: "job", + description: "Manage data box job", + subcommands: [ + { + name: "cancel", + description: "CancelJob", + options: [ + { + name: "--reason", + description: "Reason for cancellation", + args: { name: "reason" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: + "The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only", + args: { name: "job-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "create", + description: "Create a new job with the specified parameters", + options: [ + { + name: ["--job-name", "--name", "-n"], + description: + "The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: "The sku name", + args: { + name: "sku", + suggestions: [ + "DataBox", + "DataBoxCustomerDisk", + "DataBoxDisk", + "DataBoxHeavy", + ], + }, + isRequired: true, + }, + { + name: "--transfer-type", + description: "Type of the data transfer", + args: { + name: "transfer-type", + suggestions: ["ExportFromAzure", "ImportToAzure"], + }, + isRequired: true, + }, + { + name: "--city", + description: "Name of the city", + args: { name: "city" }, + }, + { + name: "--company-name", + description: "Name of the company", + args: { name: "company-name" }, + }, + { + name: "--contact-name", + description: "Contact name of the person", + args: { name: "contact-name" }, + }, + { + name: "--country", + description: "Name of the Country", + args: { name: "country" }, + }, + { + name: "--data-box-customer-disk", + description: + 'Customer disk job details. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "data-box-customer-disk" }, + }, + { + name: "--email-list", + description: + 'List of Email-ids to be notified about job progress. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "email-list" }, + }, + { + name: "--expected-data-size", + description: + "The expected size of the data, which needs to be transferred in this job, in terabytes", + args: { name: "expected-data-size" }, + }, + { + name: "--identity", + description: + 'Msi identity of the resource Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--kek-identity", + description: + 'Managed identity properties used for key encryption. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "kek-identity" }, + }, + { + name: "--kek-type", + description: "Type of encryption key used for key encryption", + args: { + name: "kek-type", + suggestions: ["CustomerManaged", "MicrosoftManaged"], + }, + }, + { + name: "--kek-url", + description: + "Key encryption key. It is required in case of Customer managed KekType", + args: { name: "kek-url" }, + }, + { + name: "--kek-vault-resource-id", + description: + "Kek vault resource id. It is required in case of Customer managed KekType", + args: { name: "kek-vault-resource-id" }, + }, + { + name: ["--location", "-l"], + description: + "The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--mobile", + description: "Mobile number of the contact person", + args: { name: "mobile" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--phone", + description: "Phone number of the contact person", + args: { name: "phone" }, + }, + { + name: "--postal-code", + description: "Postal code", + args: { name: "postal-code" }, + }, + { + name: "--resource-group-for-managed-disk", + description: "Resource Group Id of the compute disks", + args: { name: "resource-group-for-managed-disk" }, + }, + { + name: "--staging-storage-account", + description: + "Resource Id of the storage account that can be used to copy the vhd for staging", + args: { name: "staging-storage-account" }, + }, + { + name: "--state-or-province", + description: "Name of the State or Province", + args: { name: "state-or-province" }, + }, + { + name: "--storage-account", + description: + 'Space-separated list of the destination storage account. It can be the name or resource ID of storage account. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "storage-account" }, + }, + { + name: "--street-address1", + description: "Street Address line 1", + args: { name: "street-address1" }, + }, + { + name: "--street-address2", + description: "Street Address line 2", + args: { name: "street-address2" }, + }, + { + name: "--street-address3", + description: "Street Address line 3", + args: { name: "street-address3" }, + }, + { + name: "--tags", + description: + 'The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--transfer-all-blobs", + description: + "To indicate if all Azure blobs have to be transferred", + }, + { + name: "--transfer-all-files", + description: + "To indicate if all Azure files have to be transferred", + }, + { + name: "--transfer-configuration-type", + description: "Type of the configuration for transfer", + args: { + name: "transfer-configuration-type", + suggestions: ["TransferAll", "TransferUsingFilter"], + }, + }, + { + name: "--transfer-filter-details", + description: + "Path to the map of filter type and the details to filter. Support json-file and yaml-file", + args: { name: "transfer-filter-details" }, + }, + ], + }, + { + name: "delete", + description: "Delete a job", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: + "The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only", + args: { name: "job-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the jobs available under the subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-credential", + description: + "This method gets the unencrypted secrets related to the job", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: + "The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only", + args: { name: "job-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "mark-devices-shipped", + description: "Request to mark devices for a given job as shipped", + options: [ + { + name: "--deliver-package-details", + description: + 'Delivery package details Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "deliver-package-details" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: + "The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only", + args: { name: "job-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get information about the specified job", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: + "The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only", + args: { name: "job-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the properties of an existing job", + options: [ + { + name: "--city", + description: "Name of the city", + args: { name: "city" }, + }, + { + name: "--company-name", + description: "Name of the company", + args: { name: "company-name" }, + }, + { + name: "--contact-name", + description: "Contact name of the person", + args: { name: "contact-name" }, + }, + { + name: "--country", + description: "Name of the Country", + args: { name: "country" }, + }, + { + name: "--email-list", + description: + 'List of Email-ids to be notified about job progress. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "email-list" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: + "The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only", + args: { name: "job-name" }, + }, + { + name: "--kek-identity", + description: + 'Managed identity properties used for key encryption. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "kek-identity" }, + }, + { + name: "--kek-type", + description: "Type of encryption key used for key encryption", + args: { + name: "kek-type", + suggestions: ["CustomerManaged", "MicrosoftManaged"], + }, + }, + { + name: "--kek-url", + description: + "Key encryption key. It is required in case of Customer managed KekType", + args: { name: "kek-url" }, + }, + { + name: "--kek-vault-resource-id", + description: + "Kek vault resource id. It is required in case of Customer managed KekType", + args: { name: "kek-vault-resource-id" }, + }, + { + name: "--mobile", + description: "Mobile number of the contact person", + args: { name: "mobile" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--phone", + description: "Phone number of the contact person", + args: { name: "phone" }, + }, + { + name: "--postal-code", + description: "Postal code", + args: { name: "postal-code" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--state-or-province", + description: "Name of the State or Province", + args: { name: "state-or-province" }, + }, + { + name: "--street-address1", + description: "Street Address line 1", + args: { name: "street-address1" }, + }, + { + name: "--street-address2", + description: "Street Address line 2", + args: { name: "street-address2" }, + }, + { + name: "--street-address3", + description: "Street Address line 3", + args: { name: "street-address3" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/databoxedge.ts b/src/az/2.53.0/databoxedge.ts new file mode 100644 index 000000000000..197bcb4e4b8e --- /dev/null +++ b/src/az/2.53.0/databoxedge.ts @@ -0,0 +1,1284 @@ +const completion: Fig.Spec = { + name: "databoxedge", + description: "Support data box edge device and management", + subcommands: [ + { + name: "alert", + description: "Manage alert with databoxedge", + subcommands: [ + { + name: "list", + description: + "Get all the alerts for a Data Box Edge/Data Box Gateway device", + options: [ + { + name: ["--device-name", "-d"], + description: "The device name", + args: { name: "device-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get an alert by name", + options: [ + { + name: ["--device-name", "-d"], + description: "The device name", + args: { name: "device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The alert name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "bandwidth-schedule", + description: "Manage bandwidth schedule with databoxedge", + subcommands: [ + { + name: "create", + description: "Create a bandwidth schedule", + options: [ + { + name: "--days", + description: + "The days of the week when this schedule is applicable", + args: { name: "days" }, + isRequired: true, + }, + { + name: ["--device-name", "-d"], + description: "The device name", + args: { name: "device-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The bandwidth schedule name which needs to be added/updated", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--rate-in-mbps", + description: "The bandwidth rate in Mbps", + args: { name: "rate-in-mbps" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--start", + description: "The start time of the schedule in UTC", + args: { name: "start" }, + isRequired: true, + }, + { + name: "--stop", + description: "The stop time of the schedule in UTC", + args: { name: "stop" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete the specified bandwidth schedule", + options: [ + { + name: ["--device-name", "-d"], + description: "The device name", + args: { name: "device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The bandwidth schedule name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Get all the bandwidth schedules for a Data Box Edge/Data Box Gateway device", + options: [ + { + name: ["--device-name", "-d"], + description: "The device name", + args: { name: "device-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the properties of the specified bandwidth schedule", + options: [ + { + name: ["--device-name", "-d"], + description: "The device name", + args: { name: "device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The bandwidth schedule name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a bandwidth schedule", + options: [ + { + name: "--days", + description: + "The days of the week when this schedule is applicable", + args: { name: "days" }, + isRequired: true, + }, + { + name: "--rate-in-mbps", + description: "The bandwidth rate in Mbps", + args: { name: "rate-in-mbps" }, + isRequired: true, + }, + { + name: "--start", + description: "The start time of the schedule in UTC", + args: { name: "start" }, + isRequired: true, + }, + { + name: "--stop", + description: "The stop time of the schedule in UTC", + args: { name: "stop" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--device-name", "-d"], + description: "The device name", + args: { name: "device-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The bandwidth schedule name which needs to be added/updated", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the databoxedge bandwidth-schedule is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--device-name", "-d"], + description: "The device name", + args: { name: "device-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The bandwidth schedule name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "device", + description: "Manage device with databoxedge", + subcommands: [ + { + name: "create", + description: "Create a Data Box Edge/Data Box Gateway resource", + options: [ + { + name: ["--device-name", "--name", "-n"], + description: "The device name", + args: { name: "device-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: + "The Description of the Data Box Edge/Gateway device", + args: { name: "description" }, + }, + { + name: "--etag", + description: "The etag for the devices", + args: { name: "etag" }, + }, + { + name: "--friendly-name", + description: "The Data Box Edge/Gateway device name", + args: { name: "friendly-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--model-description", + description: + "The description of the Data Box Edge/Gateway device model", + args: { name: "model-description" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--sku", + description: "The SKU type", + args: { + name: "sku", + suggestions: [ + "EP2_128_1T4_Mx1_W", + "EP2_256_2T4_W", + "EP2_64_1VPU_W", + "Edge", + "EdgeMR_Mini", + "EdgePR_Base", + "EdgePR_Base_UPS", + "EdgeP_Base", + "EdgeP_High", + "GPU", + "Gateway", + "Management", + "RCA_Large", + "RCA_Small", + "RDC", + "TCA_Large", + "TCA_Small", + "TDC", + "TEA_1Node", + "TEA_1Node_Heater", + "TEA_1Node_UPS", + "TEA_1Node_UPS_Heater", + "TEA_4Node_Heater", + "TEA_4Node_UPS_Heater", + "TMA", + ], + }, + }, + { + name: "--status", + description: "The status of the Data Box Edge/Gateway device", + args: { + name: "status", + suggestions: [ + "Disconnected", + "Maintenance", + "NeedsAttention", + "Offline", + "Online", + "PartiallyDisconnected", + "ReadyToSetup", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Data Box Edge/Data Box Gateway device", + options: [ + { + name: ["--device-name", "--name", "-n"], + description: "The device name", + args: { name: "device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "download-update", + description: + "Download the updates on a Data Box Edge/Data Box Gateway device", + options: [ + { + name: ["--device-name", "--name", "-n"], + description: "The device name", + args: { name: "device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "install-update", + description: + "Install the updates on the Data Box Edge/Data Box Gateway device", + options: [ + { + name: ["--device-name", "--name", "-n"], + description: "The device name", + args: { name: "device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Get all the Data Box Edge/Data Box Gateway devices in a resource group or in a subscription", + options: [ + { + name: "--expand", + description: + "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list", + args: { name: "expand" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "scan-for-update", + description: + "Scan for updates on a Data Box Edge/Data Box Gateway device", + options: [ + { + name: ["--device-name", "--name", "-n"], + description: "The device name", + args: { name: "device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get the properties of the Data Box Edge/Data Box Gateway device", + options: [ + { + name: ["--device-name", "--name", "-n"], + description: "The device name", + args: { name: "device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-update-summary", + description: + "Get information about the availability of updates based on the last scan of the device. It also gets information about any ongoing download or install jobs on the device", + options: [ + { + name: ["--device-name", "--name", "-n"], + description: "The device name", + args: { name: "device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Modify a Data Box Edge/Data Box Gateway resource", + options: [ + { + name: ["--device-name", "--name", "-n"], + description: "The device name", + args: { name: "device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the databoxedge device is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--device-name", "--name", "-n"], + description: "The device name", + args: { name: "device-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "list-node", + description: + "Get all the nodes currently configured under this Data Box Edge device", + options: [ + { + name: ["--device-name", "-d"], + description: "The device name", + args: { name: "device-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-sku", + description: + "List all the available Skus in the region and information related to them", + options: [ + { + name: "--filter", + description: "Specify $filter='location eq ' to filter on location", + args: { name: "filter" }, + }, + ], + }, + { + name: "show-job", + description: + "Get the details of a specified job on a Data Box Edge/Data Box Gateway device", + options: [ + { + name: ["--device-name", "-d"], + description: "The device name", + args: { name: "device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The job name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "order", + description: "Manage order with databoxedge", + subcommands: [ + { + name: "create", + description: "Create an order", + options: [ + { + name: "--address-line1", + description: "The address line1", + args: { name: "address-line1" }, + isRequired: true, + }, + { + name: "--city", + description: "The city name", + args: { name: "city" }, + isRequired: true, + }, + { + name: "--company-name", + description: "The name of the company", + args: { name: "company-name" }, + isRequired: true, + }, + { + name: "--contact-person", + description: "The contact person name", + args: { name: "contact-person" }, + isRequired: true, + }, + { + name: "--country", + description: "The country name", + args: { name: "country" }, + isRequired: true, + }, + { + name: ["--device-name", "-d"], + description: "The order details of a device", + args: { name: "device-name" }, + isRequired: true, + }, + { + name: "--email-list", + description: "The email list", + args: { name: "email-list" }, + isRequired: true, + }, + { + name: "--phone", + description: "The phone number", + args: { name: "phone" }, + isRequired: true, + }, + { + name: "--postal-code", + description: "The postal code", + args: { name: "postal-code" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--state", + description: "The state name", + args: { name: "state" }, + isRequired: true, + }, + { + name: "--status", + description: + "Status of the order as per the allowed status types", + args: { + name: "status", + suggestions: [ + "Arriving", + "AwaitingFulfilment", + "AwaitingPreparation", + "AwaitingReturnShipment", + "AwaitingShipment", + "CollectedAtMicrosoft", + "Declined", + "Delivered", + "LostDevice", + "ReplacementRequested", + "ReturnInitiated", + "Shipped", + "ShippedBack", + "Untracked", + ], + }, + isRequired: true, + }, + { + name: "--address-line2", + description: "The address line2", + args: { name: "address-line2" }, + }, + { + name: "--address-line3", + description: "The address line3", + args: { name: "address-line3" }, + }, + { + name: "--comments", + description: "Comments related to this status change", + args: { name: "comments" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete the order related to the device", + options: [ + { + name: ["--device-name", "-d"], + description: "The device name", + args: { name: "device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the orders related to a Data Box Edge/Data Box Gateway device", + options: [ + { + name: ["--device-name", "-d"], + description: "The device name", + args: { name: "device-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a specific order by name", + options: [ + { + name: ["--device-name", "-d"], + description: "The device name", + args: { name: "device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an order", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--address-line1", + description: "The address line1", + args: { name: "address-line1" }, + }, + { + name: "--address-line2", + description: "The address line2", + args: { name: "address-line2" }, + }, + { + name: "--address-line3", + description: "The address line3", + args: { name: "address-line3" }, + }, + { + name: "--city", + description: "The city name", + args: { name: "city" }, + }, + { + name: "--comments", + description: "Comments related to this status change", + args: { name: "comments" }, + }, + { + name: "--company-name", + description: "The name of the company", + args: { name: "company-name" }, + }, + { + name: "--contact-person", + description: "The contact person name", + args: { name: "contact-person" }, + }, + { + name: "--country", + description: "The country name", + args: { name: "country" }, + }, + { + name: ["--device-name", "-d"], + description: "The order details of a device", + args: { name: "device-name" }, + }, + { + name: "--email-list", + description: "The email list", + args: { name: "email-list" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--phone", + description: "The phone number", + args: { name: "phone" }, + }, + { + name: "--postal-code", + description: "The postal code", + args: { name: "postal-code" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: "The state name", + args: { name: "state" }, + }, + { + name: "--status", + description: + "Status of the order as per the allowed status types", + args: { + name: "status", + suggestions: [ + "Arriving", + "AwaitingFulfilment", + "AwaitingPreparation", + "AwaitingReturnShipment", + "AwaitingShipment", + "CollectedAtMicrosoft", + "Declined", + "Delivered", + "LostDevice", + "ReplacementRequested", + "ReturnInitiated", + "Shipped", + "ShippedBack", + "Untracked", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the databoxedge order is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--device-name", "-d"], + description: "The device name", + args: { name: "device-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/databricks.ts b/src/az/2.53.0/databricks.ts new file mode 100644 index 000000000000..1ed045e05e05 --- /dev/null +++ b/src/az/2.53.0/databricks.ts @@ -0,0 +1,1910 @@ +const completion: Fig.Spec = { + name: "databricks", + description: "Manage databricks workspaces", + subcommands: [ + { + name: "access-connector", + description: "Commands to manage databricks access connector", + subcommands: [ + { + name: "create", + description: "Create azure databricks accessConnector", + options: [ + { + name: ["--name", "-n"], + description: "The name of the azure databricks accessConnector", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--user-assigned-identities", "--identities"], + description: + 'The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: \'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-assigned-identities" }, + }, + { + name: "--identity-type", + description: "The identity type", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the azure databricks accessConnector", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the azure databricks accessConnector", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all the azure databricks accessConnectors within a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get an azure databricks accessConnector", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the azure databricks accessConnector", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update azure databricks accessConnector", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--user-assigned-identities", "--identities"], + description: + 'The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: \'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-assigned-identities" }, + }, + { + name: "--identity-type", + description: "The identity type", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the azure databricks accessConnector", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the azure databricks accessConnector", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "workspace", + description: "Commands to manage databricks workspace", + subcommands: [ + { + name: "create", + description: "Create a new workspace", + options: [ + { + name: ["--name", "-n"], + description: "The name of the workspace", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--disk-key-auto-rotation", + description: + "Indicate whether the latest key version should be automatically used for Managed Disk Encryption", + args: { + name: "disk-key-auto-rotation", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--disk-key-name", + description: "The name of KeyVault key", + args: { name: "disk-key-name" }, + }, + { + name: "--disk-key-vault", + description: "The URI of KeyVault", + args: { name: "disk-key-vault" }, + }, + { + name: "--disk-key-version", + description: "The version of KeyVault key", + args: { name: "disk-key-version" }, + }, + { + name: "--enable-no-public-ip", + description: "Flag to enable the no public ip feature", + args: { + name: "enable-no-public-ip", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--managed-resource-group", + description: + "The managed resource group to create. It can be either a name or a resource ID", + args: { name: "managed-resource-group" }, + }, + { + name: ["--managed-services-key-name", "--ms-key-name"], + description: "The name of KeyVault key", + args: { name: "managed-services-key-name" }, + }, + { + name: ["--managed-services-key-vault", "--ms-key-vault"], + description: "The Uri of KeyVault", + args: { name: "managed-services-key-vault" }, + }, + { + name: ["--managed-services-key-version", "--ms-key-version"], + description: "The version of KeyVault key", + args: { name: "managed-services-key-version" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--prepare-encryption", + description: + "Flag to enable the Managed Identity for managed storage account to prepare for CMK encryption", + args: { + name: "prepare-encryption", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-subnet", + description: + "The name of a Private Subnet within the Virtual Network", + args: { name: "private-subnet" }, + }, + { + name: "--public-network-access", + description: + "The configuration to set whether network access from public internet to the endpoints are allowed. Allowed values: Disabled, Enabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--public-subnet", + description: + "The name of a Public Subnet within the Virtual Network", + args: { name: "public-subnet" }, + }, + { + name: "--require-infrastructure-encryption", + description: + "Flag to enable the DBFS root file system with secondary layer of encryption with platform managed keys for data at rest", + args: { + name: "require-infrastructure-encryption", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--required-nsg-rules", + description: + "The type of Nsg rule for internal use only. Allowed values: AllRules, NoAzureDatabricksRules, NoAzureServiceRules", + args: { + name: "required-nsg-rules", + suggestions: [ + "AllRules", + "NoAzureDatabricksRules", + "NoAzureServiceRules", + ], + }, + }, + { + name: "--sku", + description: + "The SKU tier name. Allowed values: premium, standard, trial", + args: { name: "sku" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vnet", + description: "Virtual Network name or resource ID", + args: { name: "vnet" }, + }, + ], + }, + { + name: "delete", + description: "Delete the workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the workspace", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all the workspaces", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the workspace", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the workspace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--disk-key-auto-rotation", + description: + "Indicate whether the latest key version should be automatically used for Managed Disk Encryption", + args: { + name: "disk-key-auto-rotation", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--disk-key-name", + description: "The name of KeyVault key", + args: { name: "disk-key-name" }, + }, + { + name: "--disk-key-vault", + description: "The URI of KeyVault", + args: { name: "disk-key-vault" }, + }, + { + name: "--disk-key-version", + description: "The version of KeyVault key", + args: { name: "disk-key-version" }, + }, + { + name: "--enable-no-public-ip", + description: "Flag to enable the no public ip feature", + args: { + name: "enable-no-public-ip", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-name", + description: "The name of KeyVault key", + args: { name: "key-name" }, + }, + { + name: "--key-source", + description: + "The encryption key source (provider). Allowed values: Default, Microsoft.Keyvault", + args: { + name: "key-source", + suggestions: ["Default", "Microsoft.Keyvault"], + }, + }, + { + name: "--key-vault", + description: "The Uri of KeyVault", + args: { name: "key-vault" }, + }, + { + name: "--key-version", + description: + "The version of KeyVault key. It is optional when updating CMK", + args: { name: "key-version" }, + }, + { + name: ["--managed-services-key-name", "--ms-key-name"], + description: "The name of KeyVault key", + args: { name: "managed-services-key-name" }, + }, + { + name: ["--managed-services-key-vault", "--ms-key-vault"], + description: "The Uri of KeyVault", + args: { name: "managed-services-key-vault" }, + }, + { + name: ["--managed-services-key-version", "--ms-key-version"], + description: "The version of KeyVault key", + args: { name: "managed-services-key-version" }, + }, + { + name: ["--name", "-n"], + description: "The name of the workspace", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--prepare-encryption", + description: + "Flag to enable the Managed Identity for managed storage account to prepare for CMK encryption", + args: { + name: "prepare-encryption", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--public-network-access", + description: + "The network access type for accessing workspace. Set value to disabled to access workspace only via private link", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--required-nsg-rules", + description: + "The type of Nsg rule for internal use only. Allowed values: AllRules, NoAzureDatabricksRules, NoAzureServiceRules", + args: { + name: "required-nsg-rules", + suggestions: [ + "AllRules", + "NoAzureDatabricksRules", + "NoAzureServiceRules", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--storage-account-sku-name", "--sa-sku-name"], + description: + "Storage account SKU name, ex: Standard_GRS, Standard_LRS. Refer https://aka.ms/storageskus for valid inputs", + args: { name: "storage-account-sku-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: + "The SKU tier name. Allowed values: premium, standard, trial", + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the workspace", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "outbound-endpoint", + description: + "Commands to manage endpoints in the specified workspace", + subcommands: [ + { + name: "list", + description: + "List the list of endpoints that VNET Injected Workspace calls Azure Databricks Control Plane. You must configure outbound access with these endpoints. For more information, see https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/udr", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: + "Commands to manage databricks workspace private endpoint connections", + subcommands: [ + { + name: "create", + description: + "Create the status of a private endpoint connection with the specified name", + options: [ + { + name: ["--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--status", + description: "The status of a private endpoint connection", + args: { + name: "status", + suggestions: [ + "Approved", + "Disconnected", + "Pending", + "Rejected", + ], + }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--actions-required", + description: + "Actions required for a private endpoint connection", + args: { name: "actions-required" }, + }, + { + name: "--description", + description: + "The description for the current state of a private endpoint connection", + args: { name: "description" }, + }, + { + name: "--group-ids", + description: + 'GroupIds from the private link service resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "group-ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete private endpoint connection with the specified name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list", + description: "List private endpoint connections of the workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get a private endpoint connection properties for a workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: + "Update the status of a private endpoint connection with the specified name", + options: [ + { + name: "--actions-required", + description: + "Actions required for a private endpoint connection", + args: { name: "actions-required" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: + "The description for the current state of a private endpoint connection", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--group-ids", + description: + 'GroupIds from the private link service resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "group-ids" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--status", + description: "The status of a private endpoint connection", + args: { + name: "status", + suggestions: [ + "Approved", + "Disconnected", + "Pending", + "Rejected", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: + "Commands to manage databricks workspace private link resources", + subcommands: [ + { + name: "list", + description: "List private link resources for a given workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the specified private link resource for the given group id (sub-resource)", + options: [ + { + name: ["--group-id", "--name", "-n"], + description: "The name of the private link resource", + args: { name: "group-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "vnet-peering", + description: "Commands to manage databricks workspace vnet peering", + subcommands: [ + { + name: "create", + description: "Create a vnet peering for a workspace", + options: [ + { + name: ["--name", "-n"], + description: "The name of the vnet peering", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--allow-forwarded-traffic", + description: + "Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network", + args: { + name: "allow-forwarded-traffic", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--allow-gateway-transit", + description: + "If gateway links can be used in remote virtual networking to link to this virtual network", + args: { + name: "allow-gateway-transit", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--allow-virtual-network-access", + description: + "Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space", + args: { + name: "allow-virtual-network-access", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remote-vnet", + description: "The remote virtual network name or Resource ID", + args: { name: "remote-vnet" }, + }, + { + name: "--use-remote-gateways", + description: + "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway", + args: { + name: "use-remote-gateways", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete the vnet peering", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the vnet peering", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list", + description: "List vnet peerings under a workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the vnet peering", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the vnet peering", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update the vnet peering", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--allow-forwarded-traffic", + description: + "Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network", + args: { + name: "allow-forwarded-traffic", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--allow-gateway-transit", + description: + "If gateway links can be used in remote virtual networking to link to this virtual network", + args: { + name: "allow-gateway-transit", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--allow-virtual-network-access", + description: + "Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space", + args: { + name: "allow-virtual-network-access", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the vnet peering", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--use-remote-gateways", + description: + "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway", + args: { + name: "use-remote-gateways", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the vnet peering", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/datadog.ts b/src/az/2.53.0/datadog.ts new file mode 100644 index 000000000000..f7dc18b8a3ef --- /dev/null +++ b/src/az/2.53.0/datadog.ts @@ -0,0 +1,886 @@ +const completion: Fig.Spec = { + name: "datadog", + description: "Manage datadog", + subcommands: [ + { + name: "monitor", + description: "Manage monitor with datadog", + subcommands: [ + { + name: "create", + description: "Create a monitor resource", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--datadog-organization-properties", + description: "Datadog organization properties", + args: { name: "datadog-organization-properties" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--sku-name", + description: "Name of the SKU", + args: { name: "sku-name" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--type", + description: "Identity type", + args: { + name: "type", + suggestions: ["SystemAssigned", "UserAssigned"], + }, + }, + { + name: "--user-info", + description: "User info", + args: { name: "user-info" }, + }, + ], + }, + { + name: "delete", + description: "Delete a monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-default-key", + description: "Get the default api key", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all monitors under the specified resource group. And List all monitors under the specified subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-api-key", + description: "List the api keys for a given monitor resource", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-host", + description: "List the hosts for a given monitor resource", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-linked-resource", + description: + "List all Azure resources associated to the same Datadog organization as the target resource", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-monitored-resource", + description: + "List the resources currently being monitored by the Datadog monitor resource", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "refresh-set-password-link", + description: "Refresh the set password link and return a latest one", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set-default-key", + description: "Set the default api key", + options: [ + { + name: "--created", + description: "The time of creation of the API key", + args: { name: "created" }, + }, + { + name: "--created-by", + description: "The user that created the API key", + args: { name: "created-by" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key", + description: "The value of the API key", + args: { name: "key" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--name", + description: "The name of the API key", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the properties of a specific monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--monitoring-status", + description: + 'Flag specifying if the resource monitoring is enabled or disabled. Allowed values: "Enabled", "Disabled"', + args: { name: "monitoring-status" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku-name", + description: "Name of the SKU", + args: { name: "sku-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datadog monitor is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sso-config", + description: "Manage sso config with datadog", + subcommands: [ + { + name: "create", + description: "Configures single-sign-on for this resource", + options: [ + { + name: "--configuration-name", + description: "Configuration name", + args: { name: "configuration-name" }, + isRequired: true, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: + "List the single sign-on configurations for a given monitor resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets the datadog single sign-on resource for the given Monitor", + options: [ + { + name: "--configuration-name", + description: "Configuration name", + args: { name: "configuration-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Configures single-sign-on for this resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--configuration-name", + description: "Configuration name", + args: { name: "configuration-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datadog sso-config is met", + options: [ + { + name: "--configuration-name", + description: "Configuration name", + args: { name: "configuration-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "tag-rule", + description: "Manage tag rule with datadog", + subcommands: [ + { + name: "create", + description: "Create a tag rule set for a given monitor resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Rule set name", + args: { name: "rule-set-name" }, + isRequired: true, + }, + { + name: "--filtering-tags", + description: + "List of filtering tags to be used for capturing metrics. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags", + args: { name: "filtering-tags" }, + }, + { + name: "--log-rules-filtering-tags", + description: + "List of filtering tags to be used for capturing logs. This only takes effect if SendResourceLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags", + args: { name: "log-rules-filtering-tags" }, + }, + { + name: "--send-aad-logs", + description: + "Flag specifying if AAD logs should be sent for the Monitor resource", + args: { name: "send-aad-logs", suggestions: ["false", "true"] }, + }, + { + name: "--send-resource-logs", + description: + "Flag specifying if Azure resource logs should be sent for the Monitor resource", + args: { + name: "send-resource-logs", + suggestions: ["false", "true"], + }, + }, + { + name: "--send-subscription-logs", + description: + "Flag specifying if Azure subscription logs should be sent for the Monitor resource", + args: { + name: "send-subscription-logs", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "list", + description: "List the tag rules for a given monitor resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a tag rule set for a given monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-set-name", + description: "Rule set name", + args: { name: "rule-set-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a tag rule set for a given monitor resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--filtering-tags", + description: + "List of filtering tags to be used for capturing metrics. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags", + args: { name: "filtering-tags" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--log-rules-filtering-tags", + description: + "List of filtering tags to be used for capturing logs. This only takes effect if SendResourceLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags", + args: { name: "log-rules-filtering-tags" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-set-name", + description: "Rule set name", + args: { name: "rule-set-name" }, + }, + { + name: "--send-aad-logs", + description: + "Flag specifying if AAD logs should be sent for the Monitor resource", + args: { name: "send-aad-logs", suggestions: ["false", "true"] }, + }, + { + name: "--send-resource-logs", + description: + "Flag specifying if Azure resource logs should be sent for the Monitor resource", + args: { + name: "send-resource-logs", + suggestions: ["false", "true"], + }, + }, + { + name: "--send-subscription-logs", + description: + "Flag specifying if Azure subscription logs should be sent for the Monitor resource", + args: { + name: "send-subscription-logs", + suggestions: ["false", "true"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "terms", + description: "Manage marketplace agreements with datadog", + subcommands: [ + { + name: "create", + description: + "Create Datadog marketplace agreement in the subscription", + options: [ + { + name: "--properties", + description: "Represents the properties of the resource", + args: { name: "properties" }, + }, + ], + }, + { + name: "list", + description: "List datadog marketplace agreements", + }, + { + name: "update", + description: + "Update Datadog marketplace agreement in the subscription", + options: [ + { + name: "--properties", + description: "Represents the properties of the resource", + args: { name: "properties" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/datafactory.ts b/src/az/2.53.0/datafactory.ts new file mode 100644 index 000000000000..87710391a988 --- /dev/null +++ b/src/az/2.53.0/datafactory.ts @@ -0,0 +1,3525 @@ +const completion: Fig.Spec = { + name: "datafactory", + description: "Manage Data Factory", + subcommands: [ + { + name: "activity-run", + description: "Manage activity run with datafactory", + subcommands: [ + { + name: "query-by-pipeline-run", + description: "Query activity runs based on input filter conditions", + options: [ + { + name: "--last-updated-after", + description: + "The time at or after which the run event was updated in 'ISO 8601' format", + args: { name: "last-updated-after" }, + isRequired: true, + }, + { + name: "--last-updated-before", + description: + "The time at or before which the run event was updated in 'ISO 8601' format", + args: { name: "last-updated-before" }, + isRequired: true, + }, + { + name: "--continuation-token", + description: + "The continuation token for getting the next page of results. Null for first page", + args: { name: "continuation-token" }, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--filters", + description: "List of filters", + args: { name: "filters" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--order-by", + description: "List of OrderBy option", + args: { name: "order-by" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--run-id", + description: "The pipeline run identifier", + args: { name: "run-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "configure-factory-repo", + description: "Updates a factory's repo information", + options: [ + { + name: ["--factory-git-hub-configuration", "--github-config"], + description: "Factory's GitHub repo information", + args: { name: "factory-git-hub-configuration" }, + }, + { + name: "--factory-resource-id", + description: "The factory resource id", + args: { name: "factory-resource-id" }, + }, + { + name: ["--factory-vsts-configuration", "--vsts-config"], + description: "Factory's VSTS repo information", + args: { name: "factory-vsts-configuration" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a factory", + options: [ + { + name: ["--factory-name", "--name", "-n"], + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--factory-git-hub-configuration", "--github-config"], + description: "Factory's GitHub repo information", + args: { name: "factory-git-hub-configuration" }, + }, + { + name: ["--factory-vsts-configuration", "--vsts-config"], + description: "Factory's VSTS repo information", + args: { name: "factory-vsts-configuration" }, + }, + { + name: "--global-parameters", + description: + "List of parameters for factory. Expected value: json-string/json-file/@json-file", + args: { name: "global-parameters" }, + }, + { + name: "--if-match", + description: + "ETag of the factory entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a factory", + options: [ + { + name: ["--factory-name", "--name", "-n"], + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-data-plane-access", + description: "Get Data Plane access", + options: [ + { + name: "--access-resource-path", + description: + "The resource path to get access relative to factory. Currently only empty string is supported which corresponds to the factory resource", + args: { name: "access-resource-path" }, + }, + { + name: "--expire-time", + description: + "Expiration time for the token. Maximum duration for the token is eight hours and by default the token will expire in eight hours", + args: { name: "expire-time" }, + }, + { + name: ["--factory-name", "--name", "-n"], + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--permissions", + description: + "The string with permissions for Data Plane access. Currently only 'r' is supported which grants read only access", + args: { name: "permissions" }, + }, + { + name: "--profile-name", + description: + "The name of the profile. Currently only the default is supported. The default value is DefaultProfile", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--start-time", + description: + "Start time for the token. If not specified the current time will be used", + args: { name: "start-time" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-git-hub-access-token", + description: "Get GitHub Access Token", + options: [ + { + name: "--git-hub-access-code", + description: "GitHub access code", + args: { name: "git-hub-access-code" }, + isRequired: true, + }, + { + name: "--git-hub-access-token-base-url", + description: "GitHub access token base URL", + args: { name: "git-hub-access-token-base-url" }, + isRequired: true, + }, + { + name: ["--factory-name", "--name", "-n"], + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--git-hub-client-id", + description: "GitHub application client ID", + args: { name: "git-hub-client-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Lists factories. And Lists factories under the specified subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Gets a factory", + options: [ + { + name: ["--factory-name", "--name", "-n"], + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-none-match", + description: + "ETag of the factory entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned", + args: { name: "if-none-match" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates a factory", + options: [ + { + name: ["--factory-name", "--name", "-n"], + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "data-flow", + description: "Managing and configuring Data Flows in Azure Data Factory", + subcommands: [ + { + name: "create", + description: "Creates a data flow within a factory", + options: [ + { + name: ["--data-flow-name", "--name", "-n"], + description: "The data flow name", + args: { name: "data-flow-name" }, + isRequired: true, + }, + { + name: ["--factory-name", "-f"], + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--flow-type", "-t"], + description: + "The data flow type. Valid choices: MappingDataFlow, Flowlet", + args: { name: "flow-type" }, + isRequired: true, + }, + { + name: "--properties", + description: + "Specified properties for the dataflow. Expected value: json-string/json-file/@json-file", + args: { name: "properties" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "ETag of the data flow entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + ], + }, + { + name: "delete", + description: "Delete a specific data flow in a given factory", + options: [ + { + name: ["--data-flow-name", "--name", "-n"], + description: "The data flow name", + args: { name: "data-flow-name" }, + }, + { + name: ["--factory-name", "-f"], + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List data flows within a provided factory", + options: [ + { + name: ["--factory-name", "-f"], + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show information about the specified data flow", + options: [ + { + name: ["--data-flow-name", "--name", "-n"], + description: "The data flow name", + args: { name: "data-flow-name" }, + }, + { + name: ["--factory-name", "-f"], + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-none-match", + description: + "ETag of the pipeline entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned", + args: { name: "if-none-match" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates a specified data flow within a factory", + options: [ + { + name: "--properties", + description: + "Specified properties for the dataflow. Expected value: json-string/json-file/@json-file", + args: { name: "properties" }, + isRequired: true, + }, + { + name: ["--data-flow-name", "--name", "-n"], + description: "The data flow name", + args: { name: "data-flow-name" }, + }, + { + name: ["--factory-name", "-f"], + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "dataset", + description: "Manage dataset with datafactory", + subcommands: [ + { + name: "create", + description: "Create a dataset", + options: [ + { + name: ["--dataset-name", "--name", "-n"], + description: "The dataset name", + args: { name: "dataset-name" }, + isRequired: true, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: "--properties", + description: + "Dataset properties. Expected value: json-string/json-file/@json-file", + args: { name: "properties" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "ETag of the dataset entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a dataset", + options: [ + { + name: ["--dataset-name", "--name", "-n"], + description: "The dataset name", + args: { name: "dataset-name" }, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists datasets", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a dataset", + options: [ + { + name: ["--dataset-name", "--name", "-n"], + description: "The dataset name", + args: { name: "dataset-name" }, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-none-match", + description: + "ETag of the dataset entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned", + args: { name: "if-none-match" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a dataset", + options: [ + { + name: "--linked-service-name", + description: + "Linked service reference. Expected value: json-string/json-file/@json-file", + args: { name: "linked-service-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--annotations", + description: + "List of tags that can be used for describing the Dataset. Expected value: json-string/json-file/@json-file", + args: { name: "annotations" }, + }, + { + name: ["--dataset-name", "--name", "-n"], + description: "The dataset name", + args: { name: "dataset-name" }, + }, + { + name: "--description", + description: "Dataset description", + args: { name: "description" }, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--folder", + description: + "The folder that this Dataset is in. If not specified, Dataset will appear at the root level", + args: { name: "folder" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the dataset entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "ETag of the dataset entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. Default value is None", + args: { name: "if-none-match" }, + }, + { + name: "--parameters", + description: + "Parameters for dataset. Expected value: json-string/json-file/@json-file", + args: { name: "parameters" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--schema", + description: + "Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. Expected value: json-string/json-file/@json-file", + args: { name: "schema" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--structure", + description: + "Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. Expected value: json-string/json-file/@json-file", + args: { name: "structure" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "integration-runtime", + description: "Manage integration runtime with datafactory", + subcommands: [ + { + name: "delete", + description: "Deletes an integration runtime", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-connection-info", + description: + "Gets the on-premises integration runtime connection information for encrypting the on-premises data source credentials", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-monitoring-data", + description: + "Get the integration runtime monitoring data, which includes the monitor data for all the nodes under this integration runtime", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-status", + description: + "Gets detailed status information for an integration runtime", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Lists integration runtimes", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-auth-key", + description: + "Retrieves the authentication keys for an integration runtime", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "regenerate-auth-key", + description: + "Regenerates the authentication key for an integration runtime", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: "--key-name", + description: "The name of the authentication key to regenerate", + args: { name: "key-name", suggestions: ["authKey1", "authKey2"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove-link", + description: + "Remove all linked integration runtimes under specific data factory in a self-hosted integration runtime", + options: [ + { + name: "--linked-factory-name", + description: + "The data factory name for linked integration runtime", + args: { name: "linked-factory-name" }, + isRequired: true, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Gets an integration runtime", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-none-match", + description: + "ETag of the integration runtime entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned", + args: { name: "if-none-match" }, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Starts a ManagedReserved type integration runtime", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stops a ManagedReserved type integration runtime", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "sync-credentials", + description: + "Force the integration runtime to synchronize credentials across integration runtime nodes, and this will override the credentials across all worker nodes with those available on the dispatcher node. If you already have the latest credential backup file, you should manually import it (preferred) on any self-hosted integration runtime node than using this API directly", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates an integration runtime", + options: [ + { + name: "--auto-update", + description: + "Enables or disables the auto-update feature of the self-hosted integration runtime. See https://go.microsoft.com/fwlink/?linkid=854189", + args: { name: "auto-update", suggestions: ["Off", "On"] }, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--update-delay-offset", + description: + "The time offset (in hours) in the day, e.g., PT03H is 3 hours. The integration runtime auto update will happen on that time", + args: { name: "update-delay-offset" }, + }, + ], + }, + { + name: "upgrade", + description: + "Upgrade self-hosted integration runtime to latest version if availability", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datafactory integration-runtime is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-none-match", + description: + "ETag of the integration runtime entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned", + args: { name: "if-none-match" }, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "linked-integration-runtime", + description: + "Manage integration runtime with datafactory sub group linked-integration-runtime", + subcommands: [ + { + name: "create", + description: + "Create a linked integration runtime entry in a shared integration runtime", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: "--integration-runtime-name", + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--data-factory-name", + description: + "The name of the data factory that the linked integration runtime belongs to", + args: { name: "data-factory-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--name", + description: "The name of the linked integration runtime", + args: { name: "name" }, + }, + { + name: "--subscription-id", + description: + "The ID of the subscription that the linked integration runtime belongs to", + args: { name: "subscription-id" }, + }, + ], + }, + ], + }, + { + name: "managed", + description: + "Manage integration runtime with datafactory sub group managed", + subcommands: [ + { + name: "create", + description: "Create an integration runtime", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--compute-properties", + description: + "The compute resource for managed integration runtime. Expected value: json-string/json-file/@json-file", + args: { name: "compute-properties" }, + }, + { + name: "--description", + description: "Integration runtime description", + args: { name: "description" }, + }, + { + name: "--if-match", + description: + "ETag of the integration runtime entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + { + name: "--ssis-properties", + description: + "SSIS properties for managed integration runtime. Expected value: json-string/json-file/@json-file", + args: { name: "ssis-properties" }, + }, + ], + }, + ], + }, + { + name: "self-hosted", + description: + "Manage integration runtime with datafactory sub group self-hosted", + subcommands: [ + { + name: "create", + description: "Create an integration runtime", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--integration-runtime-name", "--name", "-n"], + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "Integration runtime description", + args: { name: "description" }, + }, + { + name: "--if-match", + description: + "ETag of the integration runtime entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + { + name: "--linked-info", + description: + "The base definition of a linked integration runtime. Expected value: json-string/json-file/@json-file", + args: { name: "linked-info" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "integration-runtime-node", + description: "Manage integration runtime node with datafactory", + subcommands: [ + { + name: "delete", + description: "Deletes a self-hosted integration runtime node", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--integration-runtime-name", + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: "--node-name", + description: "The integration runtime node name", + args: { name: "node-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-ip-address", + description: + "Get the IP address of self-hosted integration runtime node", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--integration-runtime-name", + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: "--node-name", + description: "The integration runtime node name", + args: { name: "node-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Gets a self-hosted integration runtime node", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--integration-runtime-name", + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: "--node-name", + description: "The integration runtime node name", + args: { name: "node-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates a self-hosted integration runtime node", + options: [ + { + name: "--concurrent-jobs-limit", + description: + "The number of concurrent jobs permitted to run on the integration runtime node. Values between 1 and maxConcurrentJobs(inclusive) are allowed", + args: { name: "concurrent-jobs-limit" }, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--integration-runtime-name", + description: "The integration runtime name", + args: { name: "integration-runtime-name" }, + }, + { + name: "--node-name", + description: "The integration runtime node name", + args: { name: "node-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "linked-service", + description: "Manage linked service with datafactory", + subcommands: [ + { + name: "create", + description: "Create a linked service", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--linked-service-name", "--name", "-n"], + description: "The linked service name", + args: { name: "linked-service-name" }, + isRequired: true, + }, + { + name: "--properties", + description: + "Properties of linked service. Expected value: json-string/json-file/@json-file", + args: { name: "properties" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "ETag of the linkedService entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a linked service", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--linked-service-name", "--name", "-n"], + description: "The linked service name", + args: { name: "linked-service-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists linked services", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a linked service", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-none-match", + description: + "ETag of the linked service entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned", + args: { name: "if-none-match" }, + }, + { + name: ["--linked-service-name", "--name", "-n"], + description: "The linked service name", + args: { name: "linked-service-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a linked service", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--annotations", + description: + "List of tags that can be used for describing the linked service. Expected value: json-string/json-file/@json-file", + args: { name: "annotations" }, + }, + { + name: "--connect-via", + description: + "The integration runtime reference. Expected value: json-string/json-file/@json-file", + args: { name: "connect-via" }, + }, + { + name: "--description", + description: "Linked service description", + args: { name: "description" }, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the linkedService entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "ETag of the linked service entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. Default value is None", + args: { name: "if-none-match" }, + }, + { + name: ["--linked-service-name", "--name", "-n"], + description: "The linked service name", + args: { name: "linked-service-name" }, + }, + { + name: "--parameters", + description: + "Parameters for linked service. Expected value: json-string/json-file/@json-file", + args: { name: "parameters" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "managed-private-endpoint", + description: "Manage managed private endpoint with datafactory", + subcommands: [ + { + name: "create", + description: "Create a managed private endpoint", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--managed-private-endpoint-name", "--name", "-n"], + description: "Managed private endpoint name", + args: { name: "managed-private-endpoint-name" }, + isRequired: true, + }, + { + name: ["--managed-virtual-network-name", "--mvnet-name"], + description: "Managed virtual network name", + args: { name: "managed-virtual-network-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--fqdns", + description: "Fully qualified domain names", + args: { name: "fqdns" }, + }, + { + name: "--group-id", + description: + "The groupId to which the managed private endpoint is created", + args: { name: "group-id" }, + }, + { + name: "--if-match", + description: + "ETag of the managed private endpoint entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + { + name: ["--private-link-resource-id", "--private-link"], + description: + "The ARM resource ID of the resource to which the managed private endpoint is created", + args: { name: "private-link-resource-id" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a managed private endpoint", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-private-endpoint-name", "--name", "-n"], + description: "Managed private endpoint name", + args: { name: "managed-private-endpoint-name" }, + }, + { + name: ["--managed-virtual-network-name", "--mvnet-name"], + description: "Managed virtual network name", + args: { name: "managed-virtual-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists managed private endpoints", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--managed-virtual-network-name", "--mvnet-name"], + description: "Managed virtual network name", + args: { name: "managed-virtual-network-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a managed private endpoint", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-none-match", + description: + "ETag of the managed private endpoint entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned", + args: { name: "if-none-match" }, + }, + { + name: ["--managed-private-endpoint-name", "--name", "-n"], + description: "Managed private endpoint name", + args: { name: "managed-private-endpoint-name" }, + }, + { + name: ["--managed-virtual-network-name", "--mvnet-name"], + description: "Managed virtual network name", + args: { name: "managed-virtual-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a managed private endpoint", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--fqdns", + description: "Fully qualified domain names", + args: { name: "fqdns" }, + }, + { + name: "--group-id", + description: + "The groupId to which the managed private endpoint is created", + args: { name: "group-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the managed private endpoint entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "ETag of the managed private endpoint entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. Default value is None", + args: { name: "if-none-match" }, + }, + { + name: ["--managed-private-endpoint-name", "--name", "-n"], + description: "Managed private endpoint name", + args: { name: "managed-private-endpoint-name" }, + }, + { + name: ["--managed-virtual-network-name", "--mvnet-name"], + description: "Managed virtual network name", + args: { name: "managed-virtual-network-name" }, + }, + { + name: ["--private-link-resource-id", "--private-link"], + description: + "The ARM resource ID of the resource to which the managed private endpoint is created", + args: { name: "private-link-resource-id" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "managed-virtual-network", + description: "Manage managed virtual network with datafactory", + subcommands: [ + { + name: "create", + description: "Create a managed Virtual Network", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--managed-virtual-network-name", "--name", "-n"], + description: "Managed virtual network name", + args: { name: "managed-virtual-network-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "ETag of the managed Virtual Network entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + ], + }, + { + name: "list", + description: "Lists managed Virtual Networks", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a managed Virtual Network", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-none-match", + description: + "ETag of the managed Virtual Network entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned", + args: { name: "if-none-match" }, + }, + { + name: ["--managed-virtual-network-name", "--name", "-n"], + description: "Managed virtual network name", + args: { name: "managed-virtual-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a managed Virtual Network", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the managed Virtual Network entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "ETag of the managed Virtual Network entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. Default value is None", + args: { name: "if-none-match" }, + }, + { + name: ["--managed-virtual-network-name", "--name", "-n"], + description: "Managed virtual network name", + args: { name: "managed-virtual-network-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "pipeline", + description: "Manage pipeline with datafactory", + subcommands: [ + { + name: "create", + description: "Create a pipeline", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--pipeline-name", "--name", "-n"], + description: "The pipeline name", + args: { name: "pipeline-name" }, + isRequired: true, + }, + { + name: "--pipeline", + description: + "Pipeline resource definition. Expected value: json-string/json-file/@json-file", + args: { name: "pipeline" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "ETag of the pipeline entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + ], + }, + { + name: "create-run", + description: "Creates a run of a pipeline", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--pipeline-name", "--name", "-n"], + description: "The pipeline name", + args: { name: "pipeline-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--is-recovery", + description: + "Recovery mode flag. If recovery mode is set to true, the specified referenced pipeline run and the new run will be grouped under the same groupId", + args: { name: "is-recovery", suggestions: ["false", "true"] }, + }, + { + name: "--parameters", + description: + "Parameters of the pipeline run. These parameters will be used only if the runId is not specified. Expected value: json-string/json-file/@json-file", + args: { name: "parameters" }, + }, + { + name: "--reference-pipeline-run-id", + description: + "The pipeline run identifier. If run ID is specified the parameters of the specified run will be used to create a new run", + args: { name: "reference-pipeline-run-id" }, + }, + { + name: "--start-activity-name", + description: + "In recovery mode, the rerun will start from this activity. If not specified, all activities will run", + args: { name: "start-activity-name" }, + }, + { + name: "--start-from-failure", + description: + "In recovery mode, if set to true, the rerun will start from failed activities. The property will be used only if startActivityName is not specified", + args: { + name: "start-from-failure", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "delete", + description: "Deletes a pipeline", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pipeline-name", "--name", "-n"], + description: "The pipeline name", + args: { name: "pipeline-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists pipelines", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a pipeline", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-none-match", + description: + "ETag of the pipeline entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned", + args: { name: "if-none-match" }, + }, + { + name: ["--pipeline-name", "--name", "-n"], + description: "The pipeline name", + args: { name: "pipeline-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a pipeline", + options: [ + { + name: "--activities", + description: + "List of activities in pipeline. Expected value: json-string/json-file/@json-file", + args: { name: "activities" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--annotations", + description: + "List of tags that can be used for describing the Pipeline. Expected value: json-string/json-file/@json-file", + args: { name: "annotations" }, + }, + { + name: "--concurrency", + description: "The max number of concurrent runs for the pipeline", + args: { name: "concurrency" }, + }, + { + name: "--description", + description: "The description of the pipeline", + args: { name: "description" }, + }, + { + name: "--duration", + description: + "TimeSpan value, after which an Azure Monitoring Metric is fired. Expected value: json-string/json-file/@json-file", + args: { name: "duration" }, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--folder-name", + description: "The name of the folder that this Pipeline is in", + args: { name: "folder-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the pipeline entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "ETag of the pipeline entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. Default value is None", + args: { name: "if-none-match" }, + }, + { + name: ["--pipeline-name", "--name", "-n"], + description: "The pipeline name", + args: { name: "pipeline-name" }, + }, + { + name: "--parameters", + description: + "List of parameters for pipeline. Expected value: json-string/json-file/@json-file", + args: { name: "parameters" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--run-dimensions", + description: + "Dimensions emitted by Pipeline. Expected value: json-string/json-file/@json-file", + args: { name: "run-dimensions" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--variables", + description: + "List of variables for pipeline. Expected value: json-string/json-file/@json-file", + args: { name: "variables" }, + }, + ], + }, + ], + }, + { + name: "pipeline-run", + description: "Manage pipeline run with datafactory", + subcommands: [ + { + name: "cancel", + description: "Cancel a pipeline run by its run ID", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--is-recursive", + description: + "If true, cancel all the Child pipelines that are triggered by the current pipeline", + args: { name: "is-recursive", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--run-id", + description: "The pipeline run identifier", + args: { name: "run-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "query-by-factory", + description: + "Query pipeline runs in the factory based on input filter conditions", + options: [ + { + name: "--last-updated-after", + description: + "The time at or after which the run event was updated in 'ISO 8601' format", + args: { name: "last-updated-after" }, + isRequired: true, + }, + { + name: "--last-updated-before", + description: + "The time at or before which the run event was updated in 'ISO 8601' format", + args: { name: "last-updated-before" }, + isRequired: true, + }, + { + name: "--continuation-token", + description: + "The continuation token for getting the next page of results. Null for first page", + args: { name: "continuation-token" }, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--filters", + description: "List of filters", + args: { name: "filters" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--order-by", + description: "List of OrderBy option", + args: { name: "order-by" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get a pipeline run by its run ID", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--run-id", + description: "The pipeline run identifier", + args: { name: "run-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "trigger", + description: "Manage trigger with datafactory", + subcommands: [ + { + name: "create", + description: "Create a trigger", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The trigger name", + args: { name: "trigger-name" }, + isRequired: true, + }, + { + name: "--properties", + description: + "Properties of the trigger. Expected value: json-string/json-file/@json-file", + args: { name: "properties" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "ETag of the trigger entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a trigger", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The trigger name", + args: { name: "trigger-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-event-subscription-status", + description: "Get a trigger's event subscription status", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The trigger name", + args: { name: "trigger-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Lists triggers", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "query-by-factory", + description: "Query triggers", + options: [ + { + name: "--continuation-token", + description: + "The continuation token for getting the next page of results. Null for first page", + args: { name: "continuation-token" }, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--parent-trigger-name", + description: + "The name of the parent TumblingWindowTrigger to get the child rerun triggers", + args: { name: "parent-trigger-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Gets a trigger", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-none-match", + description: + "ETag of the trigger entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned", + args: { name: "if-none-match" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The trigger name", + args: { name: "trigger-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Starts a trigger", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The trigger name", + args: { name: "trigger-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stops a trigger", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The trigger name", + args: { name: "trigger-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "subscribe-to-event", + description: "Subscribe event trigger to events", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The trigger name", + args: { name: "trigger-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "unsubscribe-from-event", + description: "Unsubscribe event trigger from events", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The trigger name", + args: { name: "trigger-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a trigger", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--annotations", + description: + "List of tags that can be used for describing the trigger. Expected value: json-string/json-file/@json-file", + args: { name: "annotations" }, + }, + { + name: "--description", + description: "Trigger description", + args: { name: "description" }, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the trigger entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "ETag of the trigger entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. Default value is None", + args: { name: "if-none-match" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The trigger name", + args: { name: "trigger-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datafactory trigger is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-none-match", + description: + "ETag of the trigger entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned", + args: { name: "if-none-match" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The trigger name", + args: { name: "trigger-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "trigger-run", + description: "Manage trigger run with datafactory", + subcommands: [ + { + name: "cancel", + description: "Cancel a single trigger instance by runId", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--run-id", + description: "The pipeline run identifier", + args: { name: "run-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--trigger-name", + description: "The trigger name", + args: { name: "trigger-name" }, + }, + ], + }, + { + name: "query-by-factory", + description: "Query trigger runs", + options: [ + { + name: "--last-updated-after", + description: + "The time at or after which the run event was updated in 'ISO 8601' format", + args: { name: "last-updated-after" }, + isRequired: true, + }, + { + name: "--last-updated-before", + description: + "The time at or before which the run event was updated in 'ISO 8601' format", + args: { name: "last-updated-before" }, + isRequired: true, + }, + { + name: "--continuation-token", + description: + "The continuation token for getting the next page of results. Null for first page", + args: { name: "continuation-token" }, + }, + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--filters", + description: "List of filters", + args: { name: "filters" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--order-by", + description: "List of OrderBy option", + args: { name: "order-by" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "rerun", + description: "Rerun single trigger instance by runId", + options: [ + { + name: "--factory-name", + description: "The factory name", + args: { name: "factory-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--run-id", + description: "The pipeline run identifier", + args: { name: "run-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--trigger-name", + description: "The trigger name", + args: { name: "trigger-name" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/datamigration.ts b/src/az/2.53.0/datamigration.ts new file mode 100644 index 000000000000..155fb6f28cc4 --- /dev/null +++ b/src/az/2.53.0/datamigration.ts @@ -0,0 +1,1569 @@ +const completion: Fig.Spec = { + name: "datamigration", + description: "Manage Data Migration", + subcommands: [ + { + name: "get-assessment", + description: "Start assessment on SQL Server instance(s)", + options: [ + { + name: "--config-file-path", + description: "Path of the ConfigFile", + args: { name: "config-file-path" }, + }, + { + name: "--connection-string", + description: "SQL Server Connection Strings", + args: { name: "connection-string" }, + }, + { + name: "--output-folder", + description: "Output folder to store assessment report", + args: { name: "output-folder" }, + }, + { + name: "--overwrite", + description: + "Enable this parameter to overwrite the existing assessment report", + }, + ], + }, + { + name: "get-sku-recommendation", + description: "Give SKU recommendations for Azure SQL offerings", + options: [ + { + name: "--config-file-path", + description: "Path of the ConfigFile", + args: { name: "config-file-path" }, + }, + { + name: "--database-allow-list", + description: + "Space separated list of names of databases to be allowed for SKU recommendation consideration while excluding all others. Only set one of the following or neither: databaseAllowList, databaseDenyList. Default: null", + args: { name: "database-allow-list" }, + }, + { + name: "--database-deny-list", + description: + "Space separated list of names of databases to not be considered for SKU recommendation. Only set one of the following or neither: databaseAllowList, databaseDenyList. Default: null", + args: { name: "database-deny-list" }, + }, + { + name: "--display-result", + description: + "Whether or not to print the SKU recommendation results to the console. Enable this parameter to display result", + }, + { + name: "--elastic-strategy", + description: + "Whether or not to use the elastic strategy for SKU recommendations based on resource usage profiling. Enable this parameter to use elastic strategy", + }, + { + name: "--end-time", + description: + "UTC end time of performance data points to consider during aggregation, in YYYY-MM-DD HH:MM format. Only used for baseline (non-elastic) strategy. Default: all data points collected will be considered", + args: { name: "end-time" }, + }, + { + name: "--output-folder", + description: + "Output folder where performance data of the SQL Server is stored. The value here must be the same as the one used in PerfDataCollection", + args: { name: "output-folder" }, + }, + { + name: "--overwrite", + description: + "Whether or not to overwrite any existing SKU recommendation reports. Enable this paramater to overwrite", + }, + { + name: "--scaling-factor", + description: + "Scaling (comfort) factor used during SKU recommendation. For example, if it is determined that there is a 4 vCore CPU requirement with a scaling factor of 150%, then the true CPU requirement will be 6 vCores", + args: { name: "scaling-factor" }, + }, + { + name: "--start-time", + description: + "UTC start time of performance data points to consider during aggregation, in YYYY-MM-DD HH:MM format. Only used for baseline (non-elastic) strategy. Default: all data points collected will be considered", + args: { name: "start-time" }, + }, + { + name: "--target-percentile", + description: + "Percentile of data points to be used during aggregation of the performance data. Only used for baseline (non-elastic) strategy", + args: { name: "target-percentile" }, + }, + { + name: "--target-platform", + description: + "Target platform for SKU recommendation: either AzureSqlDatabase, AzureSqlManagedInstance, AzureSqlVirtualMachine, or Any. If Any is selected, then SKU recommendations for all three target platforms will be evaluated, and the best fit will be returned", + args: { name: "target-platform" }, + }, + { + name: "--target-sql-instance", + description: + "Name of the SQL instance for which SKU should be recommendeded. Default: outputFolder will be scanned for files created by the PerfDataCollection action, and recommendations will be provided for every instance found", + args: { name: "target-sql-instance" }, + }, + ], + }, + { + name: "login-migration", + description: + "Migrate logins from the source Sql Servers to the target Azure Sql Servers", + options: [ + { + name: "--aad-domain-name", + description: + "Required if Windows logins are included in the list of logins to be migrated", + args: { name: "aad-domain-name" }, + }, + { + name: "--config-file-path", + description: "Path of the ConfigFile", + args: { name: "config-file-path" }, + }, + { + name: "--csv-file-path", + description: + "Location of CSV file of logins. Use only one parameter between this and listOfLogin", + args: { name: "csv-file-path" }, + }, + { + name: "--list-of-login", + description: + "List of logins in string format. If large number of logins need to be migrated, use CSV file option", + args: { name: "list-of-login" }, + }, + { + name: "--output-folder", + description: + "Default: %LocalAppData%/Microsoft/SqlLoginMigrations) Folder where logs will be written", + args: { name: "output-folder" }, + }, + { + name: "--src-sql-connection-str", + description: + "Connection string(s) for the source SQL instance(s), using the formal connection string format", + args: { name: "src-sql-connection-str" }, + }, + { + name: "--tgt-sql-connection-str", + description: + "Connection string(s) for the target SQL instance(s), using the formal connection string format", + args: { name: "tgt-sql-connection-str" }, + }, + ], + }, + { + name: "performance-data-collection", + description: "Collect performance data for given SQL Server instance(s)", + options: [ + { + name: "--config-file-path", + description: "Path of the ConfigFile", + args: { name: "config-file-path" }, + }, + { + name: "--connection-string", + description: "SQL Server Connection Strings", + args: { name: "connection-string" }, + }, + { + name: "--number-of-iteration", + description: + "Number of iterations of performance data collection to perform before persisting to file. For example, with default values, performance data will be persisted every 30 seconds * 20 iterations = 10 minutes. Minimum: 2", + args: { name: "number-of-iteration" }, + }, + { + name: "--output-folder", + description: "Output folder to store performance data", + args: { name: "output-folder" }, + }, + { + name: "--perf-query-interval", + description: + "Interval at which to query performance data, in seconds", + args: { name: "perf-query-interval" }, + }, + { + name: "--static-query-interval", + description: + "Interval at which to query and persist static configuration data, in seconds", + args: { name: "static-query-interval" }, + }, + { + name: "--time", + description: + "Time after which the command execution automatically stops, in seconds. If this parameter is not specified manual intervention will be required to stop the command execution", + args: { name: "time" }, + }, + ], + }, + { + name: "register-integration-runtime", + description: "Register Database Migration Service on Integration Runtime", + options: [ + { + name: "--auth-key", + description: "AuthKey of SQL Migration Service", + args: { name: "auth-key" }, + isRequired: true, + }, + { + name: "--installed-ir-path", + description: + 'Version folder path in the Integration Runtime installed location. This can be provided when IR is installed but the command is failing to read it. Format: "\\Microsoft Integration Runtime"', + args: { name: "installed-ir-path" }, + }, + { + name: "--ir-path", + description: "Path of Integration Runtime MSI", + args: { name: "ir-path" }, + }, + ], + }, + { + name: "sql-server-schema", + description: + "Migrate schema from the source Sql Servers to the target Azure Sql Servers", + options: [ + { + name: "--action", + description: + "Select one schema migration action. MigrateSchema is to migrate the database objects to Azure SQL Database target. GenerateScript is to generate an editable TSQL schema script that can be used to run on the target to deploy the objects. DeploySchema is to run the TSQL script generated from -GenerateScript action on the target to deploy the objects", + args: { + name: "action", + suggestions: ["DeploySchema", "GenerateScript", "MigrateSchema"], + }, + }, + { + name: "--config-file-path", + description: + "Path of the ConfigFile. Accepted parameter names in configfile.json is Action, sourceConnectionString, targetConnectionString, inputScriptFilePath and outputFolder", + args: { name: "config-file-path" }, + }, + { + name: "--input-script-file-path", + description: + "Location of an editable TSQL schema script. Use this parameter only with DeploySchema Action", + args: { name: "input-script-file-path" }, + }, + { + name: "--output-folder", + description: + "Default: %LocalAppData%/Microsoft/SqlSchemaMigration) Folder where logs will be written and the generated TSQL schema script by GenerateScript Action", + args: { name: "output-folder" }, + }, + { + name: "--src-sql-connection-str", + description: + "Connection string for the source SQL instance, using the formal connection string format", + args: { name: "src-sql-connection-str" }, + }, + { + name: "--tgt-sql-connection-str", + description: + "Connection string for the target SQL instance, using the formal connection string format", + args: { name: "tgt-sql-connection-str" }, + }, + ], + }, + { + name: "tde-migration", + description: + "Migrate TDE certificate from source SQL Server to the target Azure SQL Server", + options: [ + { + name: ["--database-name", "--dbname"], + description: "Source database name", + args: { name: "database-name" }, + }, + { + name: ["--network-share-domain", "--networkdomain"], + description: "Network share domain", + args: { name: "network-share-domain" }, + }, + { + name: ["--network-share-password", "--networkpw"], + description: "Network share password", + args: { name: "network-share-password" }, + }, + { + name: ["--network-share-path", "--networkpath"], + description: "Network share path", + args: { name: "network-share-path" }, + }, + { + name: ["--network-share-user-name", "--networkuser"], + description: "Network share user name", + args: { name: "network-share-user-name" }, + }, + { + name: ["--source-sql-connection-string", "--srcsqlcs"], + description: + "Connection string for the source SQL instance, using the formal connection string format", + args: { name: "source-sql-connection-string" }, + }, + { + name: ["--target-managed-instance-name", "--tgtname"], + description: "Name of the Azure SQL Server", + args: { name: "target-managed-instance-name" }, + }, + { + name: ["--target-resource-group-name", "--tgtrg"], + description: "Resource group name of the target Azure SQL server", + args: { name: "target-resource-group-name" }, + }, + { + name: ["--target-subscription-id", "--tgtsubscription"], + description: "Subscription Id of the target Azure SQL server", + args: { name: "target-subscription-id" }, + }, + ], + }, + { + name: "sql-db", + description: "Manage database migrations to SQL DB", + subcommands: [ + { + name: "cancel", + description: "Stop in-progress database migration to SQL DB", + options: [ + { + name: "--migration-operation-id", + description: "ID tracking migration operation", + args: { name: "migration-operation-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sqldb-instance-name", + description: "Name of the target SQL Database Server", + args: { name: "sqldb-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + }, + ], + }, + { + name: "create", + description: "Create a new database migration to a given SQL DB", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sqldb-instance-name", + description: "Name of the target SQL Database Server", + args: { name: "sqldb-instance-name" }, + isRequired: true, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + isRequired: true, + }, + { + name: "--migration-service", + description: "Resource Id of the Migration Service", + args: { name: "migration-service" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--scope", + description: + "Resource Id of the target resource (SQL VM, SQL Managed Instance or SQL DB)", + args: { name: "scope" }, + }, + { + name: "--source-database-name", + description: "Name of the source database", + args: { name: "source-database-name" }, + }, + { + name: "--source-sql-connection", + description: "Source SQL Server connection details", + args: { name: "source-sql-connection" }, + }, + { + name: "--table-list", + description: "List of tables to copy", + args: { name: "table-list" }, + }, + { + name: "--target-db-collation", + description: + "Database collation to be used for the target database", + args: { name: "target-db-collation" }, + }, + { + name: "--target-sql-connection", + description: "Target SQL DB connection details", + args: { name: "target-sql-connection" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an in-progress or completed database migration to SQL DB", + options: [ + { + name: "--force", + description: + "Optional force delete boolean. If this is provided as true, migration will be deleted even if active", + args: { name: "force", suggestions: ["false", "true"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sqldb-instance-name", + description: "Name of the target SQL Database Server", + args: { name: "sqldb-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Retrieve the specified database migration for a given SQL DB", + options: [ + { + name: "--expand", + description: + "Complete migration details be included in the response", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--migration-operation-id", + description: + "Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved", + args: { name: "migration-operation-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sqldb-instance-name", + description: "Name of the target SQL Database Server", + args: { name: "sqldb-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datamigration sql-db is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "Complete migration details be included in the response", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--migration-operation-id", + description: + "Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved", + args: { name: "migration-operation-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sqldb-instance-name", + description: "Name of the target SQL Database Server", + args: { name: "sqldb-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sql-managed-instance", + description: "Manage database migrations to SQL Managed Instance", + subcommands: [ + { + name: "cancel", + description: + "Stop in-progress database migration to SQL Managed Instance", + options: [ + { + name: "--migration-operation-id", + description: "ID tracking migration operation", + args: { name: "migration-operation-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--managed-instance-name", + description: "Name of the target SQL Managed Instance", + args: { name: "managed-instance-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + }, + ], + }, + { + name: "create", + description: + "Create a new database migration to a given SQL Managed Instance", + options: [ + { + name: "--managed-instance-name", + description: "Name of the target SQL Managed Instance", + args: { name: "managed-instance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + isRequired: true, + }, + { + name: "--migration-service", + description: "Resource Id of the Migration Service", + args: { name: "migration-service" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--offline-configuration", + description: "Offline configuration", + args: { name: "offline-configuration" }, + }, + { + name: "--scope", + description: + "Resource Id of the target resource (SQL VM, SQL Managed Instance or SQL DB)", + args: { name: "scope" }, + }, + { + name: "--source-database-name", + description: "Name of the source database", + args: { name: "source-database-name" }, + }, + { + name: "--source-location", + description: + "Source location of backups. Expected value: json-string/json-file/@json-file", + args: { name: "source-location" }, + }, + { + name: "--source-sql-connection", + description: "Source SQL Server connection details", + args: { name: "source-sql-connection" }, + }, + { + name: "--target-db-collation", + description: + "Database collation to be used for the target database", + args: { name: "target-db-collation" }, + }, + { + name: "--target-location", + description: "Target location for copying backups", + args: { name: "target-location" }, + }, + ], + }, + { + name: "cutover", + description: + "Initiate cutover for in-progress online database migration to SQL Managed Instance", + options: [ + { + name: "--migration-operation-id", + description: "ID tracking migration operation", + args: { name: "migration-operation-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--managed-instance-name", + description: "Name of the target SQL Managed Instance", + args: { name: "managed-instance-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + }, + ], + }, + { + name: "show", + description: + "Retrieve the specified database migration for a given SQL Managed Instance", + options: [ + { + name: "--expand", + description: + "Complete migration details be included in the response", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--managed-instance-name", + description: "Name of the target SQL Managed Instance", + args: { name: "managed-instance-name" }, + }, + { + name: "--migration-operation-id", + description: + "Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved", + args: { name: "migration-operation-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datamigration sql-managed-instance is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "Complete migration details be included in the response", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--managed-instance-name", + description: "Name of the target SQL Managed Instance", + args: { name: "managed-instance-name" }, + }, + { + name: "--migration-operation-id", + description: + "Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved", + args: { name: "migration-operation-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sql-service", + description: "Manage Database Migration Service", + subcommands: [ + { + name: "create", + description: "Create Database Migration Service", + options: [ + { + name: ["--sql-migration-service-name", "--name", "-n"], + description: "Name of the SQL Migration Service", + args: { name: "sql-migration-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete Database Migration Service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--sql-migration-service-name", "--name", "-n"], + description: "Name of the SQL Migration Service", + args: { name: "sql-migration-service-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "delete-node", + description: "Delete the integration runtime node", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ir-name", + description: "The name of integration runtime", + args: { name: "ir-name" }, + }, + { + name: ["--sql-migration-service-name", "--name", "-n"], + description: "Name of the SQL Migration Service", + args: { name: "sql-migration-service-name" }, + }, + { + name: "--node-name", + description: "The name of node to delete", + args: { name: "node-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Retrieve all Database Migration Services in the resource group. And Retrieve all Database Migration Services in the subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-auth-key", + description: + "Retrieve the List of Authentication Keys for Self Hosted Integration Runtime", + options: [ + { + name: ["--sql-migration-service-name", "--name", "-n"], + description: "Name of the SQL Migration Service", + args: { name: "sql-migration-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-integration-runtime-metric", + description: + "Retrieve the registered Integration Runtine nodes and their monitoring data for a given Database Migration Service", + options: [ + { + name: ["--sql-migration-service-name", "--name", "-n"], + description: "Name of the SQL Migration Service", + args: { name: "sql-migration-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-migration", + description: + "Retrieve the List of database migrations attached to the service", + options: [ + { + name: ["--sql-migration-service-name", "--name", "-n"], + description: "Name of the SQL Migration Service", + args: { name: "sql-migration-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "regenerate-auth-key", + description: + "Regenerate a new set of Authentication Keys for Self Hosted Integration Runtime", + options: [ + { + name: "--auth-key1", + description: "The first authentication key", + args: { name: "auth-key1" }, + }, + { + name: "--auth-key2", + description: "The second authentication key", + args: { name: "auth-key2" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-name", + description: "The name of authentication key to generate", + args: { name: "key-name" }, + }, + { + name: ["--sql-migration-service-name", "--name", "-n"], + description: "Name of the SQL Migration Service", + args: { name: "sql-migration-service-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Retrieve the Database Migration Service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--sql-migration-service-name", "--name", "-n"], + description: "Name of the SQL Migration Service", + args: { name: "sql-migration-service-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update Database Migration Service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--sql-migration-service-name", "--name", "-n"], + description: "Name of the SQL Migration Service", + args: { name: "sql-migration-service-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datamigration sql-service is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--sql-migration-service-name", "--name", "-n"], + description: "Name of the SQL Migration Service", + args: { name: "sql-migration-service-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sql-vm", + description: "Manage database migrations to SQL VM", + subcommands: [ + { + name: "cancel", + description: "Stop in-progress database migration to SQL VM", + options: [ + { + name: "--migration-operation-id", + description: "ID tracking migration operation", + args: { name: "migration-operation-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sql-vm-name", + description: "Name of the target SQL Virtual Machine", + args: { name: "sql-vm-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + }, + ], + }, + { + name: "create", + description: "Create a new database migration to a given SQL VM", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sql-vm-name", + description: "Name of the target SQL Virtual Machine", + args: { name: "sql-vm-name" }, + isRequired: true, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + isRequired: true, + }, + { + name: "--migration-service", + description: "Resource Id of the Migration Service", + args: { name: "migration-service" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--offline-configuration", + description: "Offline configuration", + args: { name: "offline-configuration" }, + }, + { + name: "--scope", + description: + "Resource Id of the target resource (SQL VM, SQL Managed Instance or SQL DB)", + args: { name: "scope" }, + }, + { + name: "--source-database-name", + description: "Name of the source database", + args: { name: "source-database-name" }, + }, + { + name: "--source-location", + description: + "Source location of backups. Expected value: json-string/json-file/@json-file", + args: { name: "source-location" }, + }, + { + name: "--source-sql-connection", + description: "Source SQL Server connection details", + args: { name: "source-sql-connection" }, + }, + { + name: "--target-db-collation", + description: + "Database collation to be used for the target database", + args: { name: "target-db-collation" }, + }, + { + name: "--target-location", + description: "Target location for copying backups", + args: { name: "target-location" }, + }, + ], + }, + { + name: "cutover", + description: + "Initiate cutover for in-progress online database migration to SQL VM", + options: [ + { + name: "--migration-operation-id", + description: "ID tracking migration operation", + args: { name: "migration-operation-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sql-vm-name", + description: "Name of the target SQL Virtual Machine", + args: { name: "sql-vm-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + }, + ], + }, + { + name: "show", + description: + "Retrieve the specified database migration for a given SQL VM", + options: [ + { + name: "--expand", + description: + "Complete migration details be included in the response", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--migration-operation-id", + description: + "Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved", + args: { name: "migration-operation-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sql-vm-name", + description: "Name of the target SQL Virtual Machine", + args: { name: "sql-vm-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datamigration sql-vm is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "Complete migration details be included in the response", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--migration-operation-id", + description: + "Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved", + args: { name: "migration-operation-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sql-vm-name", + description: "Name of the target SQL Virtual Machine", + args: { name: "sql-vm-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-db-name", + description: "The name of the target database", + args: { name: "target-db-name" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/dataprotection.ts b/src/az/2.53.0/dataprotection.ts new file mode 100644 index 000000000000..a5130ccd9aa5 --- /dev/null +++ b/src/az/2.53.0/dataprotection.ts @@ -0,0 +1,3319 @@ +const completion: Fig.Spec = { + name: "dataprotection", + description: "Manage dataprotection", + subcommands: [ + { + name: "backup-instance", + description: "Manage backup instance with dataprotection", + subcommands: [ + { + name: "adhoc-backup", + description: "Trigger adhoc backup", + options: [ + { + name: "--rule-name", + description: "Specify backup policy rule name", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: ["--backup-instance-name", "--name", "-n"], + description: "The name of the backup instance", + args: { name: "backup-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--retention-tag-override", + description: "Specify retention override tag", + args: { name: "retention-tag-override" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "create", + description: "Configure backup for a resource in a backup vault", + options: [ + { + name: "--backup-instance", + description: + "Request backup instance object for operation. Support json-file and yaml-file", + args: { name: "backup-instance" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a backup instance in a backup vault", + options: [ + { + name: ["--backup-instance-name", "--name", "-n"], + description: "The name of the backup instance", + args: { name: "backup-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "initialize", + description: + "Initialize JSON request body for configuring backup of a resource", + options: [ + { + name: "--datasource-id", + description: "ARM Id of the resource to be backed up", + args: { name: "datasource-id" }, + isRequired: true, + }, + { + name: ["--datasource-location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "datasource-location" }, + isRequired: true, + }, + { + name: "--datasource-type", + description: + "Specify the datasource type of the resource to be backed up", + args: { + name: "datasource-type", + suggestions: [ + "AzureBlob", + "AzureDatabaseForPostgreSQL", + "AzureDisk", + "AzureKubernetesService", + ], + }, + isRequired: true, + }, + { + name: "--policy-id", + description: + "Id of the backup policy the datasource will be associated", + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: "--backup-configuration", + description: + "Backup configuration for backup. Use this parameter to configure protection for AzureKubernetesService", + args: { name: "backup-configuration" }, + }, + { + name: "--friendly-name", + description: "User-defined friendly name for the backup instance", + args: { name: "friendly-name" }, + }, + { + name: "--secret-store-type", + description: + "Specify the secret store type to use for authentication", + args: { + name: "secret-store-type", + suggestions: ["AzureKeyVault"], + }, + }, + { + name: "--secret-store-uri", + description: + "Specify the secret store uri to use for authentication", + args: { name: "secret-store-uri" }, + }, + { + name: ["--snapshot-resource-group-name", "--snapshot-rg"], + description: + "Name of the resource group in which the backup snapshots should be stored", + args: { name: "snapshot-resource-group-name" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "initialize-backupconfig", + description: + "Initialize JSON request body for initializing and configuring backup of an AzureKubernetesService resource", + options: [ + { + name: "--datasource-type", + description: + "Specify the datasource type of the resource to be backed up", + args: { + name: "datasource-type", + suggestions: [ + "AzureBlob", + "AzureDatabaseForPostgreSQL", + "AzureDisk", + "AzureKubernetesService", + ], + }, + isRequired: true, + }, + { + name: ["--backup-hook-references", "--backup-hook-refs"], + description: + "Property sets the hook reference to be executed during backup", + args: { name: "backup-hook-references" }, + }, + { + name: "--excluded-namespaces", + description: "List of namespaces to be excluded for backup", + args: { name: "excluded-namespaces" }, + }, + { + name: ["--excluded-resource-types", "--excluded-resource-type"], + description: "List of resource types to be excluded for backup", + args: { name: "excluded-resource-types" }, + }, + { + name: [ + "--include-cluster-scope-resources", + "--include-cluster-scope", + ], + description: + "Boolean parameter to decide whether cluster scope resources are included for restore. By default this is taken as true", + args: { + name: "include-cluster-scope-resources", + suggestions: ["false", "true"], + }, + }, + { + name: "--included-namespaces", + description: "List of namespaces to be included for backup", + args: { name: "included-namespaces" }, + }, + { + name: ["--included-resource-types", "--included-resource-type"], + description: "List of resource types to be included for backup", + args: { name: "included-resource-types" }, + }, + { + name: "--label-selectors", + description: "List of labels for internal filtering for backup", + args: { name: "label-selectors" }, + }, + { + name: "--snapshot-volumes", + description: + "Boolean parameter to decide whether snapshot volumes are included for backup. By default this is taken as true", + args: { + name: "snapshot-volumes", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "initialize-restoreconfig", + description: + "Initialize JSON request body for initializing and configuring restore of an AzureKubernetesService resource", + options: [ + { + name: "--datasource-type", + description: + "Specify the datasource type of the resource to be backed up", + args: { + name: "datasource-type", + suggestions: [ + "AzureBlob", + "AzureDatabaseForPostgreSQL", + "AzureDisk", + "AzureKubernetesService", + ], + }, + isRequired: true, + }, + { + name: "--conflict-policy", + description: + "Conflict policy for restore. Allowed values are Skip, Patch. Default value is Skip", + args: { name: "conflict-policy", suggestions: ["Patch", "Skip"] }, + }, + { + name: "--excluded-namespaces", + description: "List of namespaces to be excluded for restore", + args: { name: "excluded-namespaces" }, + }, + { + name: ["--excluded-resource-types", "--excluded-resource-type"], + description: "List of resource types to be excluded for restore", + args: { name: "excluded-resource-types" }, + }, + { + name: [ + "--include-cluster-scope-resources", + "--include-cluster-scope", + ], + description: + "Boolean parameter to decide whether cluster scope resources are included for restore. By default this is taken as true", + args: { + name: "include-cluster-scope-resources", + suggestions: ["false", "true"], + }, + }, + { + name: "--included-namespaces", + description: "List of namespaces to be included for restore", + args: { name: "included-namespaces" }, + }, + { + name: ["--included-resource-types", "--included-resource-type"], + description: "List of resource types to be included for restore", + args: { name: "included-resource-types" }, + }, + { + name: "--label-selectors", + description: "List of labels for internal filtering for restore", + args: { name: "label-selectors" }, + }, + { + name: "--namespace-mappings", + description: + "Namespaces mapping from source namespaces to target namespaces to resolve namespace naming conflicts in the target cluster", + args: { name: "namespace-mappings" }, + }, + { + name: [ + "--persistent-volume-restore-mode", + "--persistent-restoremode", + ], + description: + "Restore mode for persistent volumes. Allowed values are RestoreWithVolumeData, RestoreWithoutVolumeData. Default value is RestoreWithVolumeData", + args: { + name: "persistent-volume-restore-mode", + suggestions: [ + "RestoreWithVolumeData", + "RestoreWithoutVolumeData", + ], + }, + }, + { + name: ["--restore-hook-references", "--restore-hook-refs"], + description: + "Property sets the hook reference to be executed during restore", + args: { name: "restore-hook-references" }, + }, + ], + }, + { + name: "list", + description: "Gets backup instances belonging to a backup vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-from-resourcegraph", + description: + "List backup instances across subscriptions, resource groups and vaults", + options: [ + { + name: "--datasource-type", + description: "Specify the datasource type", + args: { + name: "datasource-type", + suggestions: [ + "AzureBlob", + "AzureDatabaseForPostgreSQL", + "AzureDisk", + "AzureKubernetesService", + ], + }, + isRequired: true, + }, + { + name: "--datasource-id", + description: "Specify datasource id filter to apply", + args: { name: "datasource-id" }, + }, + { + name: "--protection-status", + description: "Specify protection status", + args: { + name: "protection-status", + suggestions: ["ProtectionConfigured", "ProtectionError"], + }, + }, + { + name: "--resource-groups", + description: "List of resource groups", + args: { name: "resource-groups" }, + }, + { + name: "--subscriptions", + description: "List of subscription Ids", + args: { name: "subscriptions" }, + }, + { + name: "--vaults", + description: "List of vault names", + args: { name: "vaults" }, + }, + ], + }, + { + name: "resume-protection", + description: + "This operation will resume protection for a stopped backup instance", + options: [ + { + name: ["--backup-instance-name", "--name", "-n"], + description: "The name of the backup instance", + args: { name: "backup-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "show", + description: "Get a backup instance with name in a backup vault", + options: [ + { + name: ["--backup-instance-name", "--name", "-n"], + description: "The name of the backup instance", + args: { name: "backup-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "stop-protection", + description: + "This operation will stop protection of a backup instance and data will be held forever", + options: [ + { + name: ["--backup-instance-name", "--name", "-n"], + description: "The name of the backup instance", + args: { name: "backup-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "suspend-backup", + description: + "This operation will stop backup for a backup instance and retains the backup data as per the policy (except latest Recovery point, which will be retained forever)", + options: [ + { + name: ["--backup-instance-name", "--name", "-n"], + description: "The name of the backup instance", + args: { name: "backup-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "update", + description: "Update a backup instance in a backup vault", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--backup-instance-name", "--name", "-n"], + description: "The name of the backup instance", + args: { name: "backup-instance-name" }, + }, + { + name: "--data-source-info", + description: + 'Gets or sets the data source information. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "data-source-info" }, + }, + { + name: "--data-source-set-info", + description: + 'Gets or sets the data source set information. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "data-source-set-info" }, + }, + { + name: [ + "--datasource-auth-credentials", + "--datasource-auth-creds", + ], + description: + 'Credentials to use to authenticate with data source provider. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "datasource-auth-credentials" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--friendly-name", + description: "Gets or sets the Backup Instance friendly name", + args: { name: "friendly-name" }, + }, + { + name: "--identity-details", + description: + 'Contains information of the Identity Details for the BI. If it is null, default will be considered as System Assigned. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity-details" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--object-type", + description: + "Type of Backup or Restore Instance for request body", + args: { name: "object-type" }, + }, + { + name: "--policy-info", + description: + 'Gets or sets the policy information. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "policy-info" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Proxy Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--validation-type", + description: + "Specifies the type of validation. In case of DeepValidation, all validations from /validateForBackup API will run again", + args: { + name: "validation-type", + suggestions: ["DeepValidation", "ShallowValidation"], + }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "update-msi-permissions", + description: + "Assign the required permissions needed to successfully enable backup for the datasource", + options: [ + { + name: "--datasource-type", + description: + "Specify the datasource type of the resource to be backed up", + args: { + name: "datasource-type", + suggestions: [ + "AzureBlob", + "AzureDatabaseForPostgreSQL", + "AzureDisk", + "AzureKubernetesService", + ], + }, + isRequired: true, + }, + { + name: "--operation", + description: "List of possible operations", + args: { name: "operation", suggestions: ["Backup", "Restore"] }, + isRequired: true, + }, + { + name: "--permissions-scope", + description: + "Scope for assigning permissions to the backup vault", + args: { + name: "permissions-scope", + suggestions: ["Resource", "ResourceGroup", "Subscription"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--backup-instance", + description: + 'Request body for operation "Backup" Expected value: json-string/@json-file. Required when --operation is Backup', + args: { name: "backup-instance" }, + }, + { + name: "--keyvault-id", + description: + "ARM id of the key vault. Required when --datasource-type is AzureDatabaseForPostgreSQL", + args: { name: "keyvault-id" }, + }, + { + name: "--restore-request-object", + description: + 'Request body for operation "Restore" Expected value: json-string/@json-file. Required when --operation is Restore', + args: { name: "restore-request-object" }, + }, + { + name: ["--snapshot-resource-group-id", "--snapshot-rg-id"], + description: + "ARM id of the snapshot resource group. Required when assigning permissions over snapshot resource group and the --operation is Restore", + args: { name: "snapshot-resource-group-id" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "update-policy", + description: "Update backup policy associated with backup instance", + options: [ + { + name: "--backup-instance-name", + description: "Backup instance name", + args: { name: "backup-instance-name" }, + isRequired: true, + }, + { + name: "--policy-id", + description: + "Specify the ID of the new policy with which backup instance will be associated with", + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "validate-for-backup", + description: + "Validate whether configure backup will be successful or not", + options: [ + { + name: "--backup-instance", + description: + "Request body for operation Expected value: json-string/@json-file", + args: { name: "backup-instance" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "validate-for-restore", + description: "Validates if Restore can be triggered for a DataSource", + options: [ + { + name: "--restore-request-object", + description: + "Gets or sets the restore request object. Support json-file and yaml-file", + args: { name: "restore-request-object" }, + isRequired: true, + }, + { + name: ["--backup-instance-name", "--name", "-n"], + description: "The name of the backup instance", + args: { name: "backup-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--backup-instance-name", "--name", "-n"], + description: "The name of the backup instance", + args: { name: "backup-instance-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "deleted-backup-instance", + description: "Perform operations on soft-deleted backup instances", + subcommands: [ + { + name: "list", + description: + "List deleted backup instances belonging to a backup vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get a deleted backup instance with name in a backup vault", + options: [ + { + name: ["--backup-instance-name", "--name", "-n"], + description: "The name of the deleted backup instance", + args: { name: "backup-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "undelete", + description: "Undelete soft-deleted backup instances", + options: [ + { + name: ["--backup-instance-name", "--name", "-n"], + description: "The name of the deleted backup instance", + args: { name: "backup-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "restore", + description: + "Restore backed up instances from recovery points in a backup vault", + subcommands: [ + { + name: "initialize-for-data-recovery", + description: + "Initialize restore request object to recover all backed up data in a backup vault", + options: [ + { + name: "--datasource-type", + description: "Specify the datasource type", + args: { + name: "datasource-type", + suggestions: [ + "AzureBlob", + "AzureDatabaseForPostgreSQL", + "AzureDisk", + "AzureKubernetesService", + ], + }, + isRequired: true, + }, + { + name: "--restore-location", + description: "Specify the restore location", + args: { name: "restore-location" }, + isRequired: true, + }, + { + name: "--source-datastore", + description: + "Specify the datastore type of the given recovery point or point in time", + args: { + name: "source-datastore", + suggestions: [ + "ArchiveStore", + "OperationalStore", + "VaultStore", + ], + }, + isRequired: true, + }, + { + name: "--backup-instance-id", + description: "Specify the backup instance ID", + args: { name: "backup-instance-id" }, + }, + { + name: "--point-in-time", + description: + "Specify the point in time which will be used for restoring the data in UTC (yyyy-mm-ddTHH:MM:SS)", + args: { name: "point-in-time" }, + }, + { + name: "--recovery-point-id", + description: + "Specify the recovery point ID which will be used for restoring the data", + args: { name: "recovery-point-id" }, + }, + { + name: "--rehydration-duration", + description: + "Specify the rehydration duration for rehydrate restore", + args: { name: "rehydration-duration" }, + }, + { + name: "--rehydration-priority", + description: + "Specify the rehydration priority for rehydrate restore", + args: { + name: "rehydration-priority", + suggestions: ["Standard"], + }, + }, + { + name: "--restore-configuration", + description: + "Restore configuration for restore. Use this parameter to restore with AzureKubernetesService", + args: { name: "restore-configuration" }, + }, + { + name: "--secret-store-type", + description: + "Specify the secret store type to use for authentication", + args: { + name: "secret-store-type", + suggestions: ["AzureKeyVault"], + }, + }, + { + name: "--secret-store-uri", + description: + "Specify the secret store uri to use for authentication", + args: { name: "secret-store-uri" }, + }, + { + name: "--target-resource-id", + description: + "Specify the resource ID to which the data will be restored", + args: { name: "target-resource-id" }, + }, + ], + }, + { + name: "initialize-for-data-recovery-as-files", + description: + "Initialize restore request object to recover all backed up data as files in a backup vault", + options: [ + { + name: "--datasource-type", + description: "Specify the datasource type", + args: { + name: "datasource-type", + suggestions: [ + "AzureBlob", + "AzureDatabaseForPostgreSQL", + "AzureDisk", + "AzureKubernetesService", + ], + }, + isRequired: true, + }, + { + name: "--restore-location", + description: "Specify the restore location", + args: { name: "restore-location" }, + isRequired: true, + }, + { + name: "--source-datastore", + description: + "Specify the datastore type of the given recovery point or point in time", + args: { + name: "source-datastore", + suggestions: [ + "ArchiveStore", + "OperationalStore", + "VaultStore", + ], + }, + isRequired: true, + }, + { + name: "--target-blob-container-url", + description: + "Specify the blob container url to which the data will be restored", + args: { name: "target-blob-container-url" }, + isRequired: true, + }, + { + name: "--target-file-name", + description: + "Specify the file name to which the data will be restored", + args: { name: "target-file-name" }, + isRequired: true, + }, + { + name: "--point-in-time", + description: + "Specify the point in time which will be used for restoring the data in UTC (yyyy-mm-ddTHH:MM:SS)", + args: { name: "point-in-time" }, + }, + { + name: "--recovery-point-id", + description: + "Specify the recovery point ID which will be used for restoring the data", + args: { name: "recovery-point-id" }, + }, + { + name: "--rehydration-duration", + description: + "Specify the rehydration duration for rehydrate restore", + args: { name: "rehydration-duration" }, + }, + { + name: "--rehydration-priority", + description: + "Specify the rehydration priority for rehydrate restore", + args: { + name: "rehydration-priority", + suggestions: ["Standard"], + }, + }, + { + name: "--target-resource-id", + description: + "Specify the target storage container ARM ID to which data will be restored, required for restoring as files to another subscription", + args: { name: "target-resource-id" }, + }, + ], + }, + { + name: "initialize-for-item-recovery", + description: + "Initialize restore request object to recover specified items of backed up data in a backup vault", + options: [ + { + name: "--datasource-type", + description: "Specify the datasource type", + args: { + name: "datasource-type", + suggestions: [ + "AzureBlob", + "AzureDatabaseForPostgreSQL", + "AzureDisk", + "AzureKubernetesService", + ], + }, + isRequired: true, + }, + { + name: "--restore-location", + description: "Specify the restore location", + args: { name: "restore-location" }, + isRequired: true, + }, + { + name: "--source-datastore", + description: + "Specify the datastore type of the given recovery point or point in time", + args: { + name: "source-datastore", + suggestions: [ + "ArchiveStore", + "OperationalStore", + "VaultStore", + ], + }, + isRequired: true, + }, + { + name: "--backup-instance-id", + description: "Specify the backup instance ID", + args: { name: "backup-instance-id" }, + }, + { + name: "--container-list", + description: "Specify the list of containers to restore", + args: { name: "container-list" }, + }, + { + name: "--from-prefix-pattern", + description: "Specify the prefix pattern for start range", + args: { name: "from-prefix-pattern" }, + }, + { + name: "--point-in-time", + description: + "Specify the point in time which will be used for restoring the data in UTC (yyyy-mm-ddTHH:MM:SS)", + args: { name: "point-in-time" }, + }, + { + name: "--recovery-point-id", + description: + "Specify the recovery point ID which will be used for restoring the data", + args: { name: "recovery-point-id" }, + }, + { + name: "--restore-configuration", + description: + "Restore configuration for restore. Use this parameter to restore with AzureKubernetesService", + args: { name: "restore-configuration" }, + }, + { + name: "--target-resource-id", + description: + "Specify the resource ID to which the data will be restored", + args: { name: "target-resource-id" }, + }, + { + name: "--to-prefix-pattern", + description: "Specify the prefix pattern for end range", + args: { name: "to-prefix-pattern" }, + }, + ], + }, + { + name: "trigger", + description: "Triggers restore for a BackupInstance", + options: [ + { + name: "--restore-request-object", + description: + "Gets or sets the restore request object. Expected value: json-string/@json-file. Support json-file and yaml-file", + args: { name: "restore-request-object" }, + isRequired: true, + }, + { + name: ["--backup-instance-name", "--name", "-n"], + description: "The name of the backup instance", + args: { name: "backup-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "backup-policy", + description: "Manage backup policy with dataprotection", + subcommands: [ + { + name: "create", + description: "Create a backup policy belonging to a backup vault", + options: [ + { + name: ["--backup-policy-name", "--name", "-n"], + description: "Name of the policy", + args: { name: "backup-policy-name" }, + isRequired: true, + }, + { + name: "--policy", + description: + "Request body for operation Expected value: json-string/@json-file. Support json-file and yaml-file", + args: { name: "policy" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Deletes a backup policy belonging to a backup vault", + options: [ + { + name: ["--backup-policy-name", "--name", "-n"], + description: "Name of the policy", + args: { name: "backup-policy-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-default-policy-template", + description: + "Get default policy template for a given datasource type", + options: [ + { + name: "--datasource-type", + description: + "Specify the datasource type of the resource to be backed up", + args: { + name: "datasource-type", + suggestions: [ + "AzureBlob", + "AzureDatabaseForPostgreSQL", + "AzureDisk", + "AzureKubernetesService", + ], + }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List list of backup policies belonging to a backup vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get a backup policy belonging to a backup vault", + options: [ + { + name: ["--backup-policy-name", "--name", "-n"], + description: "Name of the policy", + args: { name: "backup-policy-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "update", + description: "Update a backup policy belonging to a backup vault", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--backup-policy-name", "--name", "-n"], + description: "Name of the policy", + args: { name: "backup-policy-name" }, + }, + { + name: "--datasource-types", + description: + 'Type of datasource for the backup management Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "datasource-types" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy", + description: + 'Request body for operation Expected value: json- string/@json-file. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "policy" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "retention-rule", + description: + "Create lifecycles and add or remove retention rules in a backup policy", + subcommands: [ + { + name: "create-lifecycle", + description: "Create lifecycle for Azure Retention rule", + options: [ + { + name: ["--retention-duration-count", "--count"], + description: "Retention duration count", + args: { name: "retention-duration-count" }, + isRequired: true, + }, + { + name: ["--retention-duration-type", "--type"], + description: "Retention duration type", + args: { + name: "retention-duration-type", + suggestions: ["Days", "Months", "Weeks", "Years"], + }, + isRequired: true, + }, + { + name: "--source-datastore", + description: "Specify source datastore", + args: { + name: "source-datastore", + suggestions: [ + "ArchiveStore", + "OperationalStore", + "VaultStore", + ], + }, + isRequired: true, + }, + { + name: "--copy-option", + description: + "Specify copy option from source datastore to target datastore", + args: { + name: "copy-option", + suggestions: [ + "CopyOnExpiryOption", + "CustomCopyOption", + "ImmediateCopyOption", + ], + }, + }, + { + name: "--target-datastore", + description: "Specify target datastore", + args: { + name: "target-datastore", + suggestions: [ + "ArchiveStore", + "OperationalStore", + "VaultStore", + ], + }, + }, + ], + }, + { + name: "remove", + description: "Remove existing retention rule in a backup policy", + options: [ + { + name: "--name", + description: + "Specify the retention rule name to be removed in policy", + args: { + name: "name", + suggestions: [ + "Daily", + "Default", + "Monthly", + "Weekly", + "Yearly", + ], + }, + isRequired: true, + }, + { + name: "--policy", + description: "Existing policy Json string or file", + args: { name: "policy" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: + "Add new retention rule or update existing retention rule", + options: [ + { + name: "--lifecycles", + description: + "Lifecycles to be associated with the retention rule. Specify space separated json file names", + args: { name: "lifecycles" }, + isRequired: true, + }, + { + name: "--name", + description: + "Specify the retention rule name to be edited in policy", + args: { + name: "name", + suggestions: [ + "Daily", + "Default", + "Monthly", + "Weekly", + "Yearly", + ], + }, + isRequired: true, + }, + { + name: "--policy", + description: "Policy Json string or file", + args: { name: "policy" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "tag", + description: "Create criterias and add or remove tag in policy", + subcommands: [ + { + name: "create-absolute-criteria", + description: "Create absolute criteria", + options: [ + { + name: "--absolute-criteria", + description: "Specify retention criteria", + args: { + name: "absolute-criteria", + suggestions: [ + "AllBackup", + "FirstOfDay", + "FirstOfMonth", + "FirstOfWeek", + "FirstOfYear", + ], + }, + isRequired: true, + }, + ], + }, + { + name: "create-generic-criteria", + description: "Create generic criteria", + options: [ + { + name: "--days-of-month", + description: + "Specify days of month. Allowed values are 1 to 28 and Last", + args: { name: "days-of-month" }, + }, + { + name: "--days-of-week", + description: "Specify days of week", + args: { + name: "days-of-week", + suggestions: [ + "Friday", + "Monday", + "Saturday", + "Sunday", + "Thursday", + "Tuesday", + "Wednesday", + ], + }, + }, + { + name: "--months-of-year", + description: "Specify months of year", + args: { + name: "months-of-year", + suggestions: [ + "April", + "August", + "December", + "February", + "January", + "July", + "June", + "March", + "May", + "November", + "October", + "September", + ], + }, + }, + { + name: "--weeks-of-month", + description: "Specify weeks of month", + args: { + name: "weeks-of-month", + suggestions: ["First", "Fourth", "Last", "Second", "Third"], + }, + }, + ], + }, + { + name: "remove", + description: "Remove existing tag from a backup policy", + options: [ + { + name: "--name", + description: "Specify the tag name to be removed in policy", + args: { + name: "name", + suggestions: ["Daily", "Monthly", "Weekly", "Yearly"], + }, + isRequired: true, + }, + { + name: "--policy", + description: "Existing policy Json string or file", + args: { name: "policy" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: + "Add new tag or update existing tag of a backup policy", + options: [ + { + name: "--criteria", + description: + "Crtierias to be associated with the tag. Specify space separated json file names", + args: { name: "criteria" }, + isRequired: true, + }, + { + name: "--name", + description: "Specify the tag name to be edited in policy", + args: { + name: "name", + suggestions: ["Daily", "Monthly", "Weekly", "Yearly"], + }, + isRequired: true, + }, + { + name: "--policy", + description: "Policy Json string or file", + args: { name: "policy" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "trigger", + description: "Manage backup schedule of a backup policy", + subcommands: [ + { + name: "create-schedule", + description: "Create backup schedule of a policy", + options: [ + { + name: "--interval-count", + description: "Specify duration of backup frequency", + args: { name: "interval-count" }, + isRequired: true, + }, + { + name: "--interval-type", + description: "Specify Backup Frequency", + args: { + name: "interval-type", + suggestions: ["Daily", "Hourly", "Weekly"], + }, + isRequired: true, + }, + { + name: "--schedule-days", + description: + "Specify the backup schedule time in UTC (yyyy-mm-ddTHH:MM:SS)", + args: { name: "schedule-days" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Associate backup schedule to a backup policy", + options: [ + { + name: "--policy", + description: "Existing policy Json string or file", + args: { name: "policy" }, + isRequired: true, + }, + { + name: "--schedule", + description: + "Specify schedule time intervals for backup rule", + args: { name: "schedule" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "backup-vault", + description: "Manage backup vault with dataprotection", + subcommands: [ + { + name: "create", + description: + "Create a BackupVault resource belonging to a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--storage-settings", "--storage-setting"], + description: + "Storage Settings. Usage: --storage-setting \"[{type:'LocallyRedundant',datastore-type:'VaultStore'}]\" Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more. Singular flags: --storage-settings", + args: { name: "storage-settings" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "The name of the backup vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: [ + "--azure-monitor-alerts-for-job-failures", + "--job-failure-alerts", + ], + description: + "Property that specifies whether built-in Azure Monitor alerts should be fired for all failed jobs", + args: { + name: "azure-monitor-alerts-for-job-failures", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--cross-subscription-restore-state", "--csr-state"], + description: "CrossSubscriptionRestore state", + args: { + name: "cross-subscription-restore-state", + suggestions: ["Disabled", "Enabled", "PermanentlyDisabled"], + }, + }, + { + name: "--e-tag", + description: "Optional ETag", + args: { name: "e-tag" }, + }, + { + name: "--immutability-state", + description: "Immutability state", + args: { + name: "immutability-state", + suggestions: ["Disabled", "Locked", "Unlocked"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--retention-duration-in-days", "--soft-delete-retention"], + description: "Soft delete retention duration", + args: { name: "retention-duration-in-days" }, + }, + { + name: "--soft-delete-state", + description: "State of soft delete", + args: { + name: "soft-delete-state", + suggestions: ["AlwaysOn", "Off", "On"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--type", + description: + "The identityType which can be either SystemAssigned or None", + args: { name: "type" }, + }, + ], + }, + { + name: "delete", + description: "Delete a BackupVault resource from the resource group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Gets list of backup vault in a subscription or in a resource group", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a resource belonging to a resource group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "update", + description: + "Updates a BackupVault resource belonging to a resource group. For example, updating tags for a resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: [ + "--azure-monitor-alerts-for-job-failures", + "--job-failure-alerts", + ], + description: + "Property that specifies whether built-in Azure Monitor alerts should be fired for all failed jobs", + args: { + name: "azure-monitor-alerts-for-job-failures", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--cross-subscription-restore-state", "--csr-state"], + description: "CrossSubscriptionRestore state", + args: { + name: "cross-subscription-restore-state", + suggestions: ["Disabled", "Enabled", "PermanentlyDisabled"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--immutability-state", + description: "Immutability state", + args: { + name: "immutability-state", + suggestions: ["Disabled", "Locked", "Unlocked"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--retention-duration-in-days", "--soft-delete-retention"], + description: "Soft delete retention duration", + args: { name: "retention-duration-in-days" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--soft-delete-state", + description: "State of soft delete", + args: { + name: "soft-delete-state", + suggestions: ["AlwaysOn", "Off", "On"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--type", + description: + "The identityType which can be either SystemAssigned or None", + args: { name: "type" }, + }, + { + name: ["--vault-name", "-v"], + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: ["--vault-name", "-v"], + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "resource-guard-mapping", + description: "Manage ResourceGuard mappings for a backup vault", + subcommands: [ + { + name: "create", + description: "Create a ResourceGuard mapping", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vault-name", "-v"], + description: "The name of the backup vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: ["--resource-guard-mapping-name", "--name", "-n"], + description: "The name of the resource guard mapping", + args: { name: "resource-guard-mapping-name" }, + }, + { + name: ["--resource-guard-resource-id", "--resource-guard-id"], + description: "ARM Id of the resource guard to be mapped to", + args: { name: "resource-guard-resource-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete the ResourceGuard mapping", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-guard-mapping-name", "--name", "-n"], + description: "The name of the resource guard mapping", + args: { name: "resource-guard-mapping-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Get the ResourceGuard mapping object associated with the vault, and that matches the name in the request", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-guard-mapping-name", "--name", "-n"], + description: "The name of the resource guard mapping", + args: { name: "resource-guard-mapping-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--vault-name", "-v"], + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "job", + description: "Manage job with dataprotection", + subcommands: [ + { + name: "list", + description: "Returns list of jobs belonging to a backup vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-from-resourcegraph", + description: + "List backup jobs across subscriptions, resource groups and vaults", + options: [ + { + name: "--datasource-type", + description: "Specify the datasource type", + args: { + name: "datasource-type", + suggestions: [ + "AzureBlob", + "AzureDatabaseForPostgreSQL", + "AzureDisk", + "AzureKubernetesService", + ], + }, + isRequired: true, + }, + { + name: "--datasource-id", + description: "Specify datasource id filter to apply", + args: { name: "datasource-id" }, + }, + { + name: "--end-time", + description: + "Specify end time of the job in UTC (yyyy-mm-ddTHH:MM:SS)", + args: { name: "end-time" }, + }, + { + name: "--operation", + description: "Specify job operation values for filter", + args: { + name: "operation", + suggestions: ["OnDemandBackup", "Restore", "ScheduledBackup"], + }, + }, + { + name: "--resource-groups", + description: "List of resource groups", + args: { name: "resource-groups" }, + }, + { + name: "--start-time", + description: + "Specify start time of the job in UTC (yyyy-mm-ddTHH:MM:SS)", + args: { name: "start-time" }, + }, + { + name: "--status", + description: "Specify job status values for filter", + args: { + name: "status", + suggestions: ["Completed", "Failed", "InProgress"], + }, + }, + { + name: "--subscriptions", + description: "List of subscription Ids", + args: { name: "subscriptions" }, + }, + { + name: "--vaults", + description: "List of vault names", + args: { name: "vaults" }, + }, + ], + }, + { + name: "show", + description: "Get a job with id in a backup vault", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--job-id", + description: + "The Job ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)", + args: { name: "job-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "recovery-point", + description: "Manage recovery point with dataprotection", + subcommands: [ + { + name: "list", + description: + "Returns a list of Recovery Points for a DataSource in a vault", + options: [ + { + name: "--backup-instance-name", + description: "The name of the backup instance", + args: { name: "backup-instance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--end-time", + description: + "Specify the end date time in UTC (yyyy-mm-ddTHH:MM:SS)", + args: { name: "end-time" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--start-time", + description: + "Specify the start date time in UTC (yyyy-mm-ddTHH:MM:SS)", + args: { name: "start-time" }, + }, + ], + }, + { + name: "show", + description: + "Get a Recovery Point using recoveryPointId for a Datasource", + options: [ + { + name: "--backup-instance-name", + description: "The name of the backup instance", + args: { name: "backup-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--recovery-point-id", + description: "Id of the recovery point", + args: { name: "recovery-point-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "resource-guard", + description: "Manage resource guard with dataprotection", + subcommands: [ + { + name: "create", + description: + "Creates or updates a ResourceGuard resource belonging to a resource group", + options: [ + { + name: ["--resource-guard-name", "--name", "-n"], + description: "The name of Resource Guard", + args: { name: "resource-guard-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--e-tag", + description: "Optional ETag", + args: { name: "e-tag" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes a ResourceGuard resource from the resource group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-guard-name", "--name", "-n"], + description: "The name of ResourceGuard", + args: { name: "resource-guard-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Gets list of ResourceGuards in a subscription or in a resource group", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-protected-operations", + description: + "Lists protected operations associated with a ResourceGuard", + options: [ + { + name: "--resource-type", + description: + "Type of the resource associated with the protected operations", + args: { + name: "resource-type", + suggestions: ["Microsoft.RecoveryServices/vaults"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-guard-name", "--name", "-n"], + description: "The name of ResourceGuard", + args: { name: "resource-guard-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Returns a ResourceGuard belonging to a resource group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-guard-name", "--name", "-n"], + description: "The name of ResourceGuard", + args: { name: "resource-guard-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "unlock", + description: + "Unlocks the critical operation which is protected by the resource guard", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-guard-mapping-name", "--name", "-n"], + description: "The name of the resource guard mapping", + args: { name: "resource-guard-mapping-name" }, + }, + { + name: [ + "--resource-guard-operation-requests", + "--operation-requests", + ], + description: + 'List of critical operations which are protected by the resourceGuard and need to be unlocked. Supported values are DeleteBackupInstance, DisableMUA Support shorthand-syntax, json-file and yaml-file. Try "??" to show more. Singular flags: --operation-requests', + args: { name: "resource-guard-operation-requests" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-to-be-deleted", + description: + "ARM Id of the resource that need to be unlocked for performing critical operation", + args: { name: "resource-to-be-deleted" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tenant-id", + description: "Tenant ID for cross-tenant calls", + args: { name: "tenant-id" }, + }, + { + name: ["--vault-name", "-v"], + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "update", + description: + "Updates protected operations associated with a ResourceGuard", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--critical-operation-exclusion-list", + description: + 'List of critical operations which are not protected by this resourceGuard. Allowed values: deleteProtection, getSecurityPIN, updatePolicy, updateProtection. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "critical-operation-exclusion-list" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-guard-name", "--name", "-n"], + description: "The name of Resource Guard", + args: { name: "resource-guard-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "Type of the resource associated with the protected operations", + args: { + name: "resource-type", + suggestions: ["Microsoft.RecoveryServices/vaults"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "restorable-time-range", + description: "Manage restorable time range with dataprotection", + subcommands: [ + { + name: "find", + description: + "Finds the valid recovery point in time ranges for the restore", + options: [ + { + name: "--source-data-store-type", + description: "Gets or sets the type of the source data store", + args: { + name: "source-data-store-type", + suggestions: ["ArchiveStore", "OperationalStore", "VaultStore"], + }, + isRequired: true, + }, + { + name: "--backup-instance-name", + description: "The name of the backup instance", + args: { name: "backup-instance-name" }, + }, + { + name: "--end-time", + description: + "End time for the List Restore Ranges request. ISO 8601 format", + args: { name: "end-time" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--start-time", + description: + "Start time for the List Restore Ranges request. ISO 8601 format", + args: { name: "start-time" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the backup vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/datashare.ts b/src/az/2.53.0/datashare.ts new file mode 100644 index 000000000000..fa7e1ad0c0b6 --- /dev/null +++ b/src/az/2.53.0/datashare.ts @@ -0,0 +1,2510 @@ +const completion: Fig.Spec = { + name: "datashare", + description: "Manage Data Share", + subcommands: [ + { + name: "account", + description: "Manage account with datashare", + subcommands: [ + { + name: "create", + description: "Create an account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "DeleteAccount", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List Accounts in ResourceGroup And List Accounts in Subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-token", + description: "Continuation token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "show", + description: "Get an account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Patch an account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datashare account is met", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "consumer-invitation", + description: "Manage consumer invitation with datashare", + subcommands: [ + { + name: "list-invitation", + description: "Lists invitations", + options: [ + { + name: "--skip-token", + description: "The continuation token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "reject-invitation", + description: "Reject an invitation", + options: [ + { + name: "--invitation-id", + description: "Unique id of the invitation", + args: { name: "invitation-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get an invitation", + options: [ + { + name: "--invitation-id", + description: "An invitation id", + args: { name: "invitation-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "consumer-source-data-set", + description: "Manage consumer source data set with datashare", + subcommands: [ + { + name: "list", + description: "Get source dataSets of a shareSubscription", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--share-subscription-name", + description: "The name of the shareSubscription", + args: { name: "share-subscription-name" }, + isRequired: true, + }, + { + name: "--skip-token", + description: "Continuation token", + args: { name: "skip-token" }, + }, + ], + }, + ], + }, + { + name: "create", + description: "Create a share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--share-name", "--name", "-n"], + description: "The name of the share", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "Share description", + args: { name: "description" }, + }, + { + name: "--share-kind", + description: "Share kind", + args: { name: "share-kind", suggestions: ["CopyBased", "InPlace"] }, + }, + { + name: "--terms", + description: "Share terms", + args: { name: "terms" }, + }, + ], + }, + { + name: "delete", + description: "Delete a share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--share-name", "--name", "-n"], + description: "The name of the share", + args: { name: "share-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List shares in an account", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: "Filters the results using OData syntax", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: "Sorts the results using OData syntax", + args: { name: "orderby" }, + }, + { + name: "--skip-token", + description: "Continuation Token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "list-synchronization", + description: "List synchronizations of a share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--share-name", "--name", "-n"], + description: "The name of the share", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: "Filters the results using OData syntax", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: "Sorts the results using OData syntax", + args: { name: "orderby" }, + }, + { + name: "--skip-token", + description: "Continuation token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "list-synchronization-detail", + description: "List synchronization details", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--share-name", "--name", "-n"], + description: "The name of the share", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--consumer-email", + description: "Email of the user who created the synchronization", + args: { name: "consumer-email" }, + }, + { + name: "--consumer-name", + description: "Name of the user who created the synchronization", + args: { name: "consumer-name" }, + }, + { + name: "--consumer-tenant-name", + description: + "Tenant name of the consumer who created the synchronization", + args: { name: "consumer-tenant-name" }, + }, + { + name: "--duration-ms", + description: "Synchronization duration", + args: { name: "duration-ms" }, + }, + { + name: "--end-time", + description: "End time of synchronization", + args: { name: "end-time" }, + }, + { + name: "--filter", + description: "Filters the results using OData syntax", + args: { name: "filter" }, + }, + { + name: "--message", + description: "Message of synchronization", + args: { name: "message" }, + }, + { + name: "--orderby", + description: "Sorts the results using OData syntax", + args: { name: "orderby" }, + }, + { + name: "--skip-token", + description: "Continuation token", + args: { name: "skip-token" }, + }, + { + name: "--start-time", + description: "Start time of synchronization", + args: { name: "start-time" }, + }, + { + name: "--status", + description: "Raw Status", + args: { name: "status" }, + }, + { + name: "--synchronization-id", + description: "Synchronization id", + args: { name: "synchronization-id" }, + }, + ], + }, + { + name: "show", + description: "Get a share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--share-name", "--name", "-n"], + description: "The name of the share to retrieve", + args: { name: "share-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datashare is met", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--share-name", "--name", "-n"], + description: "The name of the share to retrieve", + args: { name: "share-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "data-set", + description: "Manage data set with datashare", + subcommands: [ + { + name: "create", + description: "Create a DataSet", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--data-set", + description: + "The new data set information. Expected value: json-string/json-file/@json-file", + args: { name: "data-set" }, + isRequired: true, + }, + { + name: ["--data-set-name", "--name", "-n"], + description: "The name of the dataSet", + args: { name: "data-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--share-name", + description: "The name of the share to add the data set to", + args: { name: "share-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a DataSet in a share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: ["--data-set-name", "--name", "-n"], + description: "The name of the dataSet", + args: { name: "data-set-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List DataSets in a share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--filter", + description: "Filters the results using OData syntax", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: "Sorts the results using OData syntax", + args: { name: "orderby" }, + }, + { + name: "--skip-token", + description: "Continuation token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "show", + description: "Get a DataSet in a share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: ["--data-set-name", "--name", "-n"], + description: "The name of the dataSet", + args: { name: "data-set-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datashare data-set is met", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { + name: ["--data-set-name", "--name", "-n"], + description: "The name of the dataSet", + args: { name: "data-set-name" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "data-set-mapping", + description: "Manage data set mapping with datashare", + subcommands: [ + { + name: "create", + description: "Create a DataSetMapping", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--data-set-mapping-name", "--name", "-n"], + description: "The name of the data set mapping to be created", + args: { name: "data-set-mapping-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--share-subscription-name", + description: + "The name of the share subscription which will hold the data set sink", + args: { name: "share-subscription-name" }, + isRequired: true, + }, + { + name: "--adls-gen2-file-data-set-mapping", + description: "An ADLS Gen2 file data set mapping", + args: { name: "adls-gen2-file-data-set-mapping" }, + }, + { + name: "--adls-gen2-file-system-data-set-mapping", + description: "An ADLS Gen2 file system data set mapping", + args: { name: "adls-gen2-file-system-data-set-mapping" }, + }, + { + name: "--adls-gen2-folder-data-set-mapping", + description: "An ADLS Gen2 folder data set mapping", + args: { name: "adls-gen2-folder-data-set-mapping" }, + }, + { + name: "--blob-container-data-set-mapping", + description: "A Blob container data set mapping", + args: { name: "blob-container-data-set-mapping" }, + }, + { + name: "--blob-data-set-mapping", + description: "A Blob data set mapping", + args: { name: "blob-data-set-mapping" }, + }, + { + name: "--blob-folder-data-set-mapping", + description: "A Blob folder data set mapping", + args: { name: "blob-folder-data-set-mapping" }, + }, + { + name: "--kusto-cluster-data-set-mapping", + description: "A Kusto cluster data set mapping", + args: { name: "kusto-cluster-data-set-mapping" }, + }, + { + name: "--kusto-database-data-set-mapping", + description: "A Kusto database data set mapping", + args: { name: "kusto-database-data-set-mapping" }, + }, + { + name: "--kusto-table-data-set-mapping", + description: "A Kusto database data set mapping", + args: { name: "kusto-table-data-set-mapping" }, + }, + { + name: "--sqldb-table-data-set-mapping", + description: "A SQL DB Table data set mapping", + args: { name: "sqldb-table-data-set-mapping" }, + }, + { + name: "--sqldw-table-data-set-mapping", + description: "A SQL DW Table data set mapping", + args: { name: "sqldw-table-data-set-mapping" }, + }, + { + name: "--synapse-workspace-sql-pool-table-data-set-mapping", + description: + "A Synapse Workspace Sql Pool Table data set mapping", + args: { + name: "synapse-workspace-sql-pool-table-data-set-mapping", + }, + }, + ], + }, + { + name: "delete", + description: "Delete a DataSetMapping in a shareSubscription", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: ["--data-set-mapping-name", "--name", "-n"], + description: "The name of the dataSetMapping", + args: { name: "data-set-mapping-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-subscription-name", + description: "The name of the shareSubscription", + args: { name: "share-subscription-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List DataSetMappings in a share subscription", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--share-subscription-name", + description: "The name of the share subscription", + args: { name: "share-subscription-name" }, + isRequired: true, + }, + { + name: "--filter", + description: "Filters the results using OData syntax", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: "Sorts the results using OData syntax", + args: { name: "orderby" }, + }, + { + name: "--skip-token", + description: "Continuation token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "show", + description: "Get a DataSetMapping in a shareSubscription", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: ["--data-set-mapping-name", "--name", "-n"], + description: "The name of the dataSetMapping", + args: { name: "data-set-mapping-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-subscription-name", + description: "The name of the shareSubscription", + args: { name: "share-subscription-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "email-registration", + description: "Manage email registration with datashare", + subcommands: [ + { + name: "activate-email", + description: "Activate the email registration for the current tenant", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--activation-code", + description: "Activation code for the registration", + args: { name: "activation-code" }, + }, + ], + }, + { + name: "register-email", + description: "Register an email for the current tenant", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "invitation", + description: "Manage invitation with datashare", + subcommands: [ + { + name: "create", + description: "Create an invitation", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--invitation-name", "--name", "-n"], + description: "The name of the invitation", + args: { name: "invitation-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--share-name", + description: "The name of the share to send the invitation for", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--expiration-date", + description: + "The expiration date for the invitation and share subscription", + args: { name: "expiration-date" }, + }, + { + name: "--target-active-directory-id", + description: + "The target Azure AD Id. Can't be combined with email", + args: { name: "target-active-directory-id" }, + }, + { + name: "--target-email", + description: "The email the invitation is directed to", + args: { name: "target-email" }, + }, + { + name: "--target-object-id", + description: + "The target user or application Id that invitation is being sent to. Must be specified along TargetActiveDirectoryId. This enables sending invitations to specific users or applications in an AD tenant", + args: { name: "target-object-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete an invitation in a share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--invitation-name", "--name", "-n"], + description: "The name of the invitation", + args: { name: "invitation-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List invitations in a share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--filter", + description: "Filters the results using OData syntax", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: "Sorts the results using OData syntax", + args: { name: "orderby" }, + }, + { + name: "--skip-token", + description: "The continuation token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "show", + description: "Get an invitation in a share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--invitation-name", "--name", "-n"], + description: "The name of the invitation", + args: { name: "invitation-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "provider-share-subscription", + description: "Manage provider share subscription with datashare", + subcommands: [ + { + name: "adjust", + description: + "Adjust a share subscription's expiration date in a provider share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--expiration-date", + description: + "Expiration date of the share subscription in UTC format", + args: { name: "expiration-date" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-share-subscription-id", + description: "To locate shareSubscription", + args: { name: "provider-share-subscription-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List share subscriptions in a provider share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--skip-token", + description: "Continuation Token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "reinstate", + description: "Reinstate share subscription in a provider share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--expiration-date", + description: + "Expiration date of the share subscription in UTC format", + args: { name: "expiration-date" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-share-subscription-id", + description: "To locate shareSubscription", + args: { name: "provider-share-subscription-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "revoke", + description: "Revoke share subscription in a provider share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--provider-share-subscription-id", + description: "To locate shareSubscription", + args: { name: "provider-share-subscription-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get share subscription in a provider share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-share-subscription-id", + description: "To locate shareSubscription", + args: { name: "provider-share-subscription-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datashare provider-share-subscription is met", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--provider-share-subscription-id", + description: "To locate shareSubscription", + args: { name: "provider-share-subscription-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "share-subscription", + description: "Manage share subscription with datashare", + subcommands: [ + { + name: "cancel-synchronization", + description: "Request to cancel a synchronization", + options: [ + { + name: "--synchronization-id", + description: "Synchronization id", + args: { name: "synchronization-id" }, + isRequired: true, + }, + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--share-subscription-name", "--name", "-n"], + description: "The name of the shareSubscription", + args: { name: "share-subscription-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a shareSubscription in an account", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--invitation-id", + description: "The invitation id", + args: { name: "invitation-id" }, + isRequired: true, + }, + { + name: ["--share-subscription-name", "--name", "-n"], + description: "The name of the shareSubscription", + args: { name: "share-subscription-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--source-share-location", + description: "Source share location", + args: { name: "source-share-location" }, + isRequired: true, + }, + { + name: "--expiration-date", + description: "The expiration date of the share subscription", + args: { name: "expiration-date" }, + }, + ], + }, + { + name: "delete", + description: "Delete a shareSubscription in an account", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--share-subscription-name", "--name", "-n"], + description: "The name of the shareSubscription", + args: { name: "share-subscription-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List share subscriptions in an account", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: "Filters the results using OData syntax", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: "Sorts the results using OData syntax", + args: { name: "orderby" }, + }, + { + name: "--skip-token", + description: "Continuation Token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "list-source-share-synchronization-setting", + description: "Get synchronization settings set on a share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--share-subscription-name", "--name", "-n"], + description: "The name of the shareSubscription", + args: { name: "share-subscription-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--skip-token", + description: "Continuation token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "list-synchronization", + description: "List synchronizations of a share subscription", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--share-subscription-name", "--name", "-n"], + description: "The name of the share subscription", + args: { name: "share-subscription-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: "Filters the results using OData syntax", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: "Sorts the results using OData syntax", + args: { name: "orderby" }, + }, + { + name: "--skip-token", + description: "Continuation token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "list-synchronization-detail", + description: "List synchronization details", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--share-subscription-name", "--name", "-n"], + description: "The name of the share subscription", + args: { name: "share-subscription-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--synchronization-id", + description: "Synchronization id", + args: { name: "synchronization-id" }, + isRequired: true, + }, + { + name: "--filter", + description: "Filters the results using OData syntax", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: "Sorts the results using OData syntax", + args: { name: "orderby" }, + }, + { + name: "--skip-token", + description: "Continuation token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "show", + description: "Get a shareSubscription in an account", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--share-subscription-name", "--name", "-n"], + description: "The name of the shareSubscription", + args: { name: "share-subscription-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "synchronize", + description: "Initiate a copy", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--share-subscription-name", "--name", "-n"], + description: "The name of share subscription", + args: { name: "share-subscription-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--synchronization-mode", + description: + "Mode of synchronization used in triggers and snapshot sync. Incremental by default", + args: { + name: "synchronization-mode", + suggestions: ["FullSync", "Incremental"], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datashare share-subscription is met", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--share-subscription-name", "--name", "-n"], + description: "The name of the shareSubscription", + args: { name: "share-subscription-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "synchronization-setting", + description: "Manage synchronization setting with datashare", + subcommands: [ + { + name: "create", + description: "Create a synchronizationSetting", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--synchronization-setting-name", "--name", "-n"], + description: "The name of the synchronizationSetting", + args: { name: "synchronization-setting-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--share-name", + description: + "The name of the share to add the synchronization setting to", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--scheduled-synchronization-setting", + description: + "A type of synchronization setting based on schedule", + args: { name: "scheduled-synchronization-setting" }, + }, + ], + }, + { + name: "delete", + description: "Delete a synchronizationSetting in a share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--synchronization-setting-name", "--name", "-n"], + description: "The name of the synchronizationSetting", + args: { name: "synchronization-setting-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List synchronizationSettings in a share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--skip-token", + description: "Continuation token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "show", + description: "Get a synchronizationSetting in a share", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--synchronization-setting-name", "--name", "-n"], + description: "The name of the synchronizationSetting", + args: { name: "synchronization-setting-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datashare synchronization-setting is met", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--synchronization-setting-name", "--name", "-n"], + description: "The name of the synchronizationSetting", + args: { name: "synchronization-setting-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-name", + description: "The name of the share", + args: { name: "share-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "trigger", + description: "Manage trigger with datashare", + subcommands: [ + { + name: "create", + description: "Create a Trigger", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The name of the trigger", + args: { name: "trigger-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--share-subscription-name", + description: + "The name of the share subscription which will hold the data set sink", + args: { name: "share-subscription-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--scheduled-trigger", + description: "A type of trigger based on schedule", + args: { name: "scheduled-trigger" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Trigger in a shareSubscription", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The name of the trigger", + args: { name: "trigger-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-subscription-name", + description: "The name of the shareSubscription", + args: { name: "share-subscription-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List Triggers in a share subscription", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--share-subscription-name", + description: "The name of the share subscription", + args: { name: "share-subscription-name" }, + isRequired: true, + }, + { + name: "--skip-token", + description: "Continuation token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "show", + description: "Get a Trigger in a shareSubscription", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The name of the trigger", + args: { name: "trigger-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-subscription-name", + description: "The name of the shareSubscription", + args: { name: "share-subscription-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the datashare trigger is met", + options: [ + { + name: "--account-name", + description: "The name of the share account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The name of the trigger", + args: { name: "trigger-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--share-subscription-name", + description: "The name of the shareSubscription", + args: { name: "share-subscription-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/dedicated-hsm.ts b/src/az/2.53.0/dedicated-hsm.ts new file mode 100644 index 000000000000..7c5765120936 --- /dev/null +++ b/src/az/2.53.0/dedicated-hsm.ts @@ -0,0 +1,293 @@ +const completion: Fig.Spec = { + name: "dedicated-hsm", + description: "Manage dedicated hsm with hardware security modules", + subcommands: [ + { + name: "create", + description: "Create a dedicated HSM in the specified subscription", + options: [ + { + name: "--name", + description: "Name of the dedicated Hsm", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--mgmt-network-interfaces", "-m"], + description: + "Specifies the list of resource Ids for the network interfaces associated with the dedicated HSM", + args: { name: "mgmt-network-interfaces" }, + }, + { + name: "--mgmt-network-subnet", + description: "Specifies the identifier of the subnet", + args: { name: "mgmt-network-subnet" }, + }, + { + name: ["--network-interfaces", "-i"], + description: + "Specifies the list of resource Ids for the network interfaces associated with the dedicated HSM", + args: { name: "network-interfaces" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--sku", + description: "SKU of the dedicated HSM", + args: { + name: "sku", + suggestions: [ + "SafeNet Luna Network HSM A790", + "payShield10K_LMK1_CPS250", + "payShield10K_LMK1_CPS2500", + "payShield10K_LMK1_CPS60", + "payShield10K_LMK2_CPS250", + "payShield10K_LMK2_CPS2500", + "payShield10K_LMK2_CPS60", + ], + }, + }, + { + name: "--stamp-id", + description: + "This field will be used when RP does not support Availability zones", + args: { name: "stamp-id" }, + }, + { + name: "--subnet", + description: "Specifies the identifier of the subnet", + args: { name: "subnet" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--zones", + description: "The Dedicated Hsm zones", + args: { name: "zones" }, + }, + ], + }, + { + name: "delete", + description: "Deletes the specified Azure Dedicated HSM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "The name of the dedicated HSM to delete", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "The List operation gets information about the dedicated hsms associated with the subscription and within the specified resource group. And The List operation gets information about the dedicated HSMs associated with the subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: "Maximum number of results to return", + args: { name: "top" }, + }, + ], + }, + { + name: "list-outbound-network-dependency-endpoint", + description: + "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified dedicated hsm resource. The operation returns properties of each egress endpoint", + options: [ + { + name: "--name", + description: "The name of the dedicated HSM", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets the specified Azure dedicated HSM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "The name of the dedicated HSM", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a dedicated HSM in the specified subscription", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "Name of the dedicated HSM", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the dedicated-hsm is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--name", + description: "The name of the dedicated HSM", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/demo.ts b/src/az/2.53.0/demo.ts new file mode 100644 index 000000000000..16c5a9167dff --- /dev/null +++ b/src/az/2.53.0/demo.ts @@ -0,0 +1,61 @@ +const completion: Fig.Spec = { + name: "demo", + description: "Demos for designing, developing and demonstrating Azure CLI", + subcommands: [ + { + name: "byo-access-token", + description: "List resource groups by bringing your own access token", + options: [ + { + name: "--access-token", + description: "Your own access token", + args: { name: "access-token" }, + isRequired: true, + }, + { + name: "--subscription-id", + description: "Subscription ID under which to list resource groups", + args: { name: "subscription-id" }, + isRequired: true, + }, + ], + }, + { + name: "style", + description: "A demo showing supported text styles", + options: [ + { + name: "--theme", + description: + "The theme to format styled text. If unspecified, the default theme is used", + args: { + name: "theme", + suggestions: ["cloud-shell", "dark", "light", "none"], + }, + }, + ], + }, + { + name: "secret-store", + description: "A demo showing how to use secret store", + subcommands: [ + { + name: "load", + description: "Load custom data from secret store", + }, + { + name: "save", + description: "Save custom data to secret store", + + args: { + name: "", + description: "Space-separated data: = [= ...]", + isOptional: true, + }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/deployment-scripts.ts b/src/az/2.53.0/deployment-scripts.ts new file mode 100644 index 000000000000..fed88e36defd --- /dev/null +++ b/src/az/2.53.0/deployment-scripts.ts @@ -0,0 +1,82 @@ +const completion: Fig.Spec = { + name: "deployment-scripts", + description: + "Manage deployment scripts at subscription or resource group scope", + subcommands: [ + { + name: "delete", + description: "Delete a deployment script", + options: [ + { + name: "--name", + description: "Deployment script resource name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all deployment scripts", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Retrieve a deployment script", + options: [ + { + name: "--name", + description: "Deployment script resource name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show-log", + description: "Show deployment script logs", + options: [ + { + name: "--name", + description: "Deployment script resource name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/deployment.ts b/src/az/2.53.0/deployment.ts new file mode 100644 index 000000000000..a3daf6bd2f39 --- /dev/null +++ b/src/az/2.53.0/deployment.ts @@ -0,0 +1,2022 @@ +const completion: Fig.Spec = { + name: "deployment", + description: + "Manage Azure Resource Manager template deployment at subscription scope", + subcommands: [ + { + name: "cancel", + description: "Cancel a deployment at subscription scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Start a deployment at subscription scope", + options: [ + { + name: ["--location", "-l"], + description: "The location to store the deployment metadata", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--confirm-with-what-if", "-c"], + description: + "Instruct the command to run deployment What-If before executing the deployment. It then prompts you to acknowledge resource changes before it continues", + args: { name: "confirm-with-what-if" }, + }, + { + name: ["--handle-extended-json-format", "-j"], + description: + "Option '--handle-extended-json-format/-j' has been deprecated and will be removed in a future release. Support to handle extended template content including multiline and comments in deployment", + args: { name: "handle-extended-json-format" }, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: "--proceed-if-no-change", + description: + "Instruct the command to execute the deployment if the What-If result contains no resource changes. Applicable when --confirm-with-what-if is set", + args: { name: "proceed-if-no-change" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: ["--template-file", "-f"], + description: "The path to the template file or Bicep file", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "The URI to the template file", + args: { name: "template-uri" }, + }, + { + name: ["--what-if", "-w"], + description: "Instruct the command to run deployment What-If", + args: { name: "what-if" }, + }, + { + name: ["--what-if-exclude-change-types", "-x"], + description: + "Space-separated list of resource change types to be excluded from What-If results. Applicable when --confirm-with-what-if is set", + args: { + name: "what-if-exclude-change-types", + suggestions: [ + "Create", + "Delete", + "Deploy", + "Ignore", + "Modify", + "NoChange", + "Unsupported", + ], + }, + }, + { + name: ["--what-if-result-format", "-r"], + description: + "The format of What-If results. Applicable when --confirm-with-what-if is set", + args: { + name: "what-if-result-format", + suggestions: ["FullResourcePayloads", "ResourceIdOnly"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a deployment at subscription scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "export", + description: "Export the template used for a deployment", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List deployments at subscription scope", + options: [ + { + name: "--filter", + description: + "Filter expression using OData notation. You can use --filter \"provisioningState eq '{state}'\" to filter provisioningState. To get more information, please visit https://docs.microsoft.com/rest/api/resources/deployments/listatsubscriptionscope#uri-parameters", + args: { name: "filter" }, + }, + ], + }, + { + name: "show", + description: "Show a deployment at subscription scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "validate", + description: "Validate whether a template is valid at subscription scope", + options: [ + { + name: ["--location", "-l"], + description: "The location to store the deployment metadata", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--handle-extended-json-format", "-j"], + description: + "Option '--handle-extended-json-format/-j' has been deprecated and will be removed in a future release. Support to handle extended template content including multiline and comments in deployment", + args: { name: "handle-extended-json-format" }, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: ["--template-file", "-f"], + description: "The path to the template file or Bicep file", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "The URI to the template file", + args: { name: "template-uri" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a deployment condition is met", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "group", + description: + "Manage Azure Resource Manager template deployment at resource group", + subcommands: [ + { + name: "cancel", + description: "Cancel a deployment at resource group", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Start a deployment at resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: "The resource group to create deployment at", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aux-subs", + description: + "Option '--aux-subs' has been deprecated and will be removed in a future release. Use '--aux-tenants' instead. Auxiliary subscriptions which will be used during deployment across tenants", + args: { name: "aux-subs" }, + }, + { + name: "--aux-tenants", + description: + "Auxiliary tenants which will be used during deployment across tenants", + args: { name: "aux-tenants" }, + }, + { + name: ["--confirm-with-what-if", "-c"], + description: + "Instruct the command to run deployment What-If before executing the deployment. It then prompts you to acknowledge resource changes before it continues", + args: { name: "confirm-with-what-if" }, + }, + { + name: ["--handle-extended-json-format", "-j"], + description: + "Option '--handle-extended-json-format/-j' has been deprecated and will be removed in a future release. Support to handle extended template content including multiline and comments in deployment", + args: { name: "handle-extended-json-format" }, + }, + { + name: "--mode", + description: "The deployment mode", + args: { name: "mode", suggestions: ["Complete", "Incremental"] }, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: "--proceed-if-no-change", + description: + "Instruct the command to execute the deployment if the What-If result contains no resource changes. Applicable when --confirm-with-what-if is set", + args: { name: "proceed-if-no-change" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: "--rollback-on-error", + description: + "The name of a deployment to roll back to on error, or use as a flag to roll back to the last successful deployment", + args: { name: "rollback-on-error" }, + }, + { + name: ["--template-file", "-f"], + description: "The path to the template file or Bicep file", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "The URI to the template file", + args: { name: "template-uri" }, + }, + { + name: ["--what-if", "-w"], + description: "Instruct the command to run deployment What-If", + args: { name: "what-if" }, + }, + { + name: ["--what-if-exclude-change-types", "-x"], + description: + "Space-separated list of resource change types to be excluded from What-If results. Applicable when --confirm-with-what-if is set", + args: { + name: "what-if-exclude-change-types", + suggestions: [ + "Create", + "Delete", + "Deploy", + "Ignore", + "Modify", + "NoChange", + "Unsupported", + ], + }, + }, + { + name: ["--what-if-result-format", "-r"], + description: + "The format of What-If results. Applicable when --confirm-with-what-if is set", + args: { + name: "what-if-result-format", + suggestions: ["FullResourcePayloads", "ResourceIdOnly"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a deployment at resource group", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "export", + description: "Export the template used for a deployment", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List deployments at resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: + "Filter expression using OData notation. You can use --filter \"provisioningState eq '{state}'\" to filter provisioningState. To get more information, please visit https://docs.microsoft.com/rest/api/resources/deployments/listatsubscriptionscope#uri-parameters", + args: { name: "filter" }, + }, + ], + }, + { + name: "show", + description: "Show a deployment at resource group", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "validate", + description: "Validate whether a template is valid at resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: "The resource group to create deployment at", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--handle-extended-json-format", "-j"], + description: + "Option '--handle-extended-json-format/-j' has been deprecated and will be removed in a future release. Support to handle extended template content including multiline and comments in deployment", + args: { name: "handle-extended-json-format" }, + }, + { + name: "--mode", + description: "The deployment mode", + args: { name: "mode", suggestions: ["Complete", "Incremental"] }, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: "--rollback-on-error", + description: + "The name of a deployment to roll back to on error, or use as a flag to roll back to the last successful deployment", + args: { name: "rollback-on-error" }, + }, + { + name: ["--template-file", "-f"], + description: "The path to the template file or Bicep file", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "The URI to the template file", + args: { name: "template-uri" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a deployment condition is met", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "what-if", + description: + "Execute a deployment What-If operation at resource group scope", + options: [ + { + name: ["--resource-group", "-g"], + description: + "The resource group to execute deployment What-If operation at", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aux-tenants", + description: + "Auxiliary tenants which will be used during deployment across tenants", + args: { name: "aux-tenants" }, + }, + { + name: ["--exclude-change-types", "-x"], + description: + "Space-separated list of resource change types to be excluded from What-If results", + args: { + name: "exclude-change-types", + suggestions: [ + "Create", + "Delete", + "Deploy", + "Ignore", + "Modify", + "NoChange", + "Unsupported", + ], + }, + }, + { + name: "--mode", + description: "The deployment mode", + args: { name: "mode", suggestions: ["Complete", "Incremental"] }, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + }, + { + name: "--no-pretty-print", + description: + "Disable pretty-print for What-If results. When set, the output format type will be used", + args: { name: "no-pretty-print" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: ["--result-format", "-r"], + description: "The format of What-If results", + args: { + name: "result-format", + suggestions: ["FullResourcePayloads", "ResourceIdOnly"], + }, + }, + { + name: ["--template-file", "-f"], + description: "The path to the template file or Bicep file", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "The URI to the template file", + args: { name: "template-uri" }, + }, + ], + }, + ], + }, + { + name: "mg", + description: + "Manage Azure Resource Manager template deployment at management group", + subcommands: [ + { + name: "cancel", + description: "Cancel a deployment at management group", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Start a deployment at management group", + options: [ + { + name: ["--location", "-l"], + description: "The location to store the deployment metadata", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--management-group-id", "-m"], + description: "The management group id to create deployment at", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--confirm-with-what-if", "-c"], + description: + "Instruct the command to run deployment What-If before executing the deployment. It then prompts you to acknowledge resource changes before it continues", + args: { name: "confirm-with-what-if" }, + }, + { + name: ["--handle-extended-json-format", "-j"], + description: + "Option '--handle-extended-json-format/-j' has been deprecated and will be removed in a future release. Support to handle extended template content including multiline and comments in deployment", + args: { name: "handle-extended-json-format" }, + }, + { + name: "--mode", + description: + "The mode that is used to deploy resources. This value can be either Incremental or Complete. In Incremental mode, resources are deployed without deleting existing resources that are not included in the template. In Complete mode, resources are deployed and existing resources in the resource group that are not included in the template are deleted. Be careful when using Complete mode as you may unintentionally delete resources", + args: { name: "mode", suggestions: ["Complete", "Incremental"] }, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: "--proceed-if-no-change", + description: + "Instruct the command to execute the deployment if the What-If result contains no resource changes. Applicable when --confirm-with-what-if is set", + args: { name: "proceed-if-no-change" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: ["--template-file", "-f"], + description: "The path to the template file or Bicep file", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "The URI to the template file", + args: { name: "template-uri" }, + }, + { + name: ["--what-if", "-w"], + description: "Instruct the command to run deployment What-If", + args: { name: "what-if" }, + }, + { + name: ["--what-if-exclude-change-types", "-x"], + description: + "Space-separated list of resource change types to be excluded from What-If results. Applicable when --confirm-with-what-if is set", + args: { + name: "what-if-exclude-change-types", + suggestions: [ + "Create", + "Delete", + "Deploy", + "Ignore", + "Modify", + "NoChange", + "Unsupported", + ], + }, + }, + { + name: ["--what-if-result-format", "-r"], + description: + "The format of What-If results. Applicable when --confirm-with-what-if is set", + args: { + name: "what-if-result-format", + suggestions: ["FullResourcePayloads", "ResourceIdOnly"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a deployment at management group", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "export", + description: "Export the template used for a deployment", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List deployments at management group", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: "--filter", + description: + "Filter expression using OData notation. You can use --filter \"provisioningState eq '{state}'\" to filter provisioningState. To get more information, please visit https://docs.microsoft.com/rest/api/resources/deployments/listatsubscriptionscope#uri-parameters", + args: { name: "filter" }, + }, + ], + }, + { + name: "show", + description: "Show a deployment at management group", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "validate", + description: + "Validate whether a template is valid at management group", + options: [ + { + name: ["--location", "-l"], + description: "The location to store the deployment metadata", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--management-group-id", "-m"], + description: "The management group id to create deployment at", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--handle-extended-json-format", "-j"], + description: + "Option '--handle-extended-json-format/-j' has been deprecated and will be removed in a future release. Support to handle extended template content including multiline and comments in deployment", + args: { name: "handle-extended-json-format" }, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: ["--template-file", "-f"], + description: "The path to the template file or Bicep file", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "The URI to the template file", + args: { name: "template-uri" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a deployment condition is met", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "what-if", + description: + "Execute a deployment What-If operation at management group scope", + options: [ + { + name: ["--location", "-l"], + description: "The location to store the deployment metadata", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--management-group-id", "-m"], + description: "The management group id to create deployment at", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--exclude-change-types", "-x"], + description: + "Space-separated list of resource change types to be excluded from What-If results", + args: { + name: "exclude-change-types", + suggestions: [ + "Create", + "Delete", + "Deploy", + "Ignore", + "Modify", + "NoChange", + "Unsupported", + ], + }, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + }, + { + name: "--no-pretty-print", + description: + "Disable pretty-print for What-If results. When set, the output format type will be used", + args: { name: "no-pretty-print" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: ["--result-format", "-r"], + description: "The format of What-If results", + args: { + name: "result-format", + suggestions: ["FullResourcePayloads", "ResourceIdOnly"], + }, + }, + { + name: ["--template-file", "-f"], + description: "The path to the template file or Bicep file", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "The URI to the template file", + args: { name: "template-uri" }, + }, + ], + }, + ], + }, + { + name: "operation", + description: "Manage deployment operations at subscription scope", + subcommands: [ + { + name: "list", + description: "List deployment operations at subscription scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a deployment operation at subscription scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--operation-ids", + description: "A list of operation ids to show", + args: { name: "operation-ids" }, + isRequired: true, + }, + ], + }, + { + name: "group", + description: "Manage deployment operations at resource group", + subcommands: [ + { + name: "list", + description: "List deployment operations at resource group", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a deployment operation at resource group", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--operation-ids", + description: "A list of operation ids to show", + args: { name: "operation-ids" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "mg", + description: "Manage deployment operations at management group", + subcommands: [ + { + name: "list", + description: "List deployment operations at management group", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a deployment operation at management group", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--operation-ids", + description: "A list of operation ids to show", + args: { name: "operation-ids" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "sub", + description: "Manage deployment operations at subscription scope", + subcommands: [ + { + name: "list", + description: "List deployment operations at subscription scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a deployment operation at subscription scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--operation-ids", + description: "A list of operation ids to show", + args: { name: "operation-ids" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "tenant", + description: "Manage deployment operations at tenant scope", + subcommands: [ + { + name: "list", + description: "List deployment operations at tenant scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a deployment operation at tenant scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--operation-ids", + description: "A list of operation ids to show", + args: { name: "operation-ids" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "sub", + description: + "Manage Azure Resource Manager template deployment at subscription scope", + subcommands: [ + { + name: "cancel", + description: "Cancel a deployment at subscription scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Start a deployment at subscription scope", + options: [ + { + name: ["--location", "-l"], + description: "The location to store the deployment metadata", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--confirm-with-what-if", "-c"], + description: + "Instruct the command to run deployment What-If before executing the deployment. It then prompts you to acknowledge resource changes before it continues", + args: { name: "confirm-with-what-if" }, + }, + { + name: ["--handle-extended-json-format", "-j"], + description: + "Option '--handle-extended-json-format/-j' has been deprecated and will be removed in a future release. Support to handle extended template content including multiline and comments in deployment", + args: { name: "handle-extended-json-format" }, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: "--proceed-if-no-change", + description: + "Instruct the command to execute the deployment if the What-If result contains no resource changes. Applicable when --confirm-with-what-if is set", + args: { name: "proceed-if-no-change" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: ["--template-file", "-f"], + description: "The path to the template file or Bicep file", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "The URI to the template file", + args: { name: "template-uri" }, + }, + { + name: ["--what-if", "-w"], + description: "Instruct the command to run deployment What-If", + args: { name: "what-if" }, + }, + { + name: ["--what-if-exclude-change-types", "-x"], + description: + "Space-separated list of resource change types to be excluded from What-If results. Applicable when --confirm-with-what-if is set", + args: { + name: "what-if-exclude-change-types", + suggestions: [ + "Create", + "Delete", + "Deploy", + "Ignore", + "Modify", + "NoChange", + "Unsupported", + ], + }, + }, + { + name: ["--what-if-result-format", "-r"], + description: + "The format of What-If results. Applicable when --confirm-with-what-if is set", + args: { + name: "what-if-result-format", + suggestions: ["FullResourcePayloads", "ResourceIdOnly"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a deployment at subscription scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "export", + description: "Export the template used for a deployment", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List deployments at subscription scope", + options: [ + { + name: "--filter", + description: + "Filter expression using OData notation. You can use --filter \"provisioningState eq '{state}'\" to filter provisioningState. To get more information, please visit https://docs.microsoft.com/rest/api/resources/deployments/listatsubscriptionscope#uri-parameters", + args: { name: "filter" }, + }, + ], + }, + { + name: "show", + description: "Show a deployment at subscription scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "validate", + description: + "Validate whether a template is valid at subscription scope", + options: [ + { + name: ["--location", "-l"], + description: "The location to store the deployment metadata", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--handle-extended-json-format", "-j"], + description: + "Option '--handle-extended-json-format/-j' has been deprecated and will be removed in a future release. Support to handle extended template content including multiline and comments in deployment", + args: { name: "handle-extended-json-format" }, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: ["--template-file", "-f"], + description: "The path to the template file or Bicep file", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "The URI to the template file", + args: { name: "template-uri" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a deployment condition is met", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "what-if", + description: + "Execute a deployment What-If operation at subscription scope", + options: [ + { + name: ["--location", "-l"], + description: + "The location to store the deployment What-If operation metadata", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--exclude-change-types", "-x"], + description: + "Space-separated list of resource change types to be excluded from What-If results", + args: { + name: "exclude-change-types", + suggestions: [ + "Create", + "Delete", + "Deploy", + "Ignore", + "Modify", + "NoChange", + "Unsupported", + ], + }, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + }, + { + name: "--no-pretty-print", + description: + "Disable pretty-print for What-If results. When set, the output format type will be used", + args: { name: "no-pretty-print" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: ["--result-format", "-r"], + description: "The format of What-If results", + args: { + name: "result-format", + suggestions: ["FullResourcePayloads", "ResourceIdOnly"], + }, + }, + { + name: ["--template-file", "-f"], + description: "The path to the template file or Bicep file", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "The URI to the template file", + args: { name: "template-uri" }, + }, + ], + }, + ], + }, + { + name: "tenant", + description: + "Manage Azure Resource Manager template deployment at tenant scope", + subcommands: [ + { + name: "cancel", + description: "Cancel a deployment at tenant scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Start a deployment at tenant scope", + options: [ + { + name: ["--location", "-l"], + description: "The location to store the deployment metadata", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--confirm-with-what-if", "-c"], + description: + "Instruct the command to run deployment What-If before executing the deployment. It then prompts you to acknowledge resource changes before it continues", + args: { name: "confirm-with-what-if" }, + }, + { + name: ["--handle-extended-json-format", "-j"], + description: + "Option '--handle-extended-json-format/-j' has been deprecated and will be removed in a future release. Support to handle extended template content including multiline and comments in deployment", + args: { name: "handle-extended-json-format" }, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: "--proceed-if-no-change", + description: + "Instruct the command to execute the deployment if the What-If result contains no resource changes. Applicable when --confirm-with-what-if is set", + args: { name: "proceed-if-no-change" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: ["--template-file", "-f"], + description: "The path to the template file or Bicep file", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "The URI to the template file", + args: { name: "template-uri" }, + }, + { + name: ["--what-if", "-w"], + description: "Instruct the command to run deployment What-If", + args: { name: "what-if" }, + }, + { + name: ["--what-if-exclude-change-types", "-x"], + description: + "Space-separated list of resource change types to be excluded from What-If results. Applicable when --confirm-with-what-if is set", + args: { + name: "what-if-exclude-change-types", + suggestions: [ + "Create", + "Delete", + "Deploy", + "Ignore", + "Modify", + "NoChange", + "Unsupported", + ], + }, + }, + { + name: ["--what-if-result-format", "-r"], + description: + "The format of What-If results. Applicable when --confirm-with-what-if is set", + args: { + name: "what-if-result-format", + suggestions: ["FullResourcePayloads", "ResourceIdOnly"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a deployment at tenant scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "export", + description: "Export the template used for a deployment", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List deployments at tenant scope", + options: [ + { + name: "--filter", + description: + "Filter expression using OData notation. You can use --filter \"provisioningState eq '{state}'\" to filter provisioningState. To get more information, please visit https://docs.microsoft.com/rest/api/resources/deployments/listatsubscriptionscope#uri-parameters", + args: { name: "filter" }, + }, + ], + }, + { + name: "show", + description: "Show a deployment at tenant scope", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "validate", + description: "Validate whether a template is valid at tenant scope", + options: [ + { + name: ["--location", "-l"], + description: "The location to store the deployment metadata", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--handle-extended-json-format", "-j"], + description: + "Option '--handle-extended-json-format/-j' has been deprecated and will be removed in a future release. Support to handle extended template content including multiline and comments in deployment", + args: { name: "handle-extended-json-format" }, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: ["--template-file", "-f"], + description: "The path to the template file or Bicep file", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "The URI to the template file", + args: { name: "template-uri" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a deployment condition is met", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "what-if", + description: "Execute a deployment What-If operation at tenant scope", + options: [ + { + name: ["--location", "-l"], + description: + "The location to store the deployment What-If operation metadata", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--exclude-change-types", "-x"], + description: + "Space-separated list of resource change types to be excluded from What-If results", + args: { + name: "exclude-change-types", + suggestions: [ + "Create", + "Delete", + "Deploy", + "Ignore", + "Modify", + "NoChange", + "Unsupported", + ], + }, + }, + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + }, + { + name: "--no-pretty-print", + description: + "Disable pretty-print for What-If results. When set, the output format type will be used", + args: { name: "no-pretty-print" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: ["--result-format", "-r"], + description: "The format of What-If results", + args: { + name: "result-format", + suggestions: ["FullResourcePayloads", "ResourceIdOnly"], + }, + }, + { + name: ["--template-file", "-f"], + description: "The path to the template file or Bicep file", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "The URI to the template file", + args: { name: "template-uri" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/desktopvirtualization.ts b/src/az/2.53.0/desktopvirtualization.ts new file mode 100644 index 000000000000..dcbcd957801a --- /dev/null +++ b/src/az/2.53.0/desktopvirtualization.ts @@ -0,0 +1,771 @@ +const completion: Fig.Spec = { + name: "desktopvirtualization", + description: "Manage desktop virtualization", + subcommands: [ + { + name: "applicationgroup", + description: "Desktopvirtualization applicationgroup", + subcommands: [ + { + name: "create", + description: "Create an applicationGroup", + options: [ + { + name: "--application-group-type", + description: "Resource Type of ApplicationGroup", + args: { + name: "application-group-type", + suggestions: ["Desktop", "RemoteApp"], + }, + isRequired: true, + }, + { + name: "--host-pool-arm-path", + description: "HostPool arm path of ApplicationGroup", + args: { name: "host-pool-arm-path" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the application group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of ApplicationGroup", + args: { name: "description" }, + }, + { + name: "--friendly-name", + description: "Friendly name of ApplicationGroup", + args: { name: "friendly-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Remove an applicationGroup", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the application group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List applicationGroups in subscription", + options: [ + { + name: "--filter", + description: + "OData filter expression. Valid properties for filtering are applicationGroupType", + args: { name: "filter" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get an application group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the application group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an applicationGroup", + options: [ + { + name: "--description", + description: "Description of ApplicationGroup", + args: { name: "description" }, + }, + { + name: "--friendly-name", + description: "Friendly name of ApplicationGroup", + args: { name: "friendly-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the application group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "hostpool", + description: "Desktopvirtualization hostpool", + subcommands: [ + { + name: "create", + description: "Create a host pool", + options: [ + { + name: "--host-pool-type", + description: "HostPool type for desktop", + args: { + name: "host-pool-type", + suggestions: ["BYODesktop", "Personal", "Pooled"], + }, + isRequired: true, + }, + { + name: "--load-balancer-type", + description: "The type of the load balancer", + args: { + name: "load-balancer-type", + suggestions: ["BreadthFirst", "DepthFirst", "Persistent"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the host pool within the specified resource group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--preferred-app-group-type", "-t"], + description: + "The type of preferred application group type, default to Desktop Application Group", + args: { + name: "preferred-app-group-type", + suggestions: ["Desktop", "None", "RailApplications"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--custom-rdp-property", + description: "Custom rdp property of HostPool", + args: { name: "custom-rdp-property" }, + }, + { + name: "--description", + description: "Description of HostPool", + args: { name: "description" }, + }, + { + name: "--friendly-name", + description: "Friendly name of HostPool", + args: { name: "friendly-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--max-session-limit", + description: "The max session limit of HostPool", + args: { name: "max-session-limit" }, + }, + { + name: "--personal-desktop-assignment-type", + description: "PersonalDesktopAssignment type for HostPool", + args: { + name: "personal-desktop-assignment-type", + suggestions: ["Automatic", "Direct"], + }, + }, + { + name: "--registration-info", + description: "The registration info of HostPool", + args: { name: "registration-info" }, + }, + { + name: "--ring", + description: "The ring number of HostPool", + args: { name: "ring" }, + }, + { + name: "--sso-client-id", + description: + "ClientId for the registered Relying Party used to issue WVD SSO certificates", + args: { name: "sso-client-id" }, + }, + { + name: ["--sso-client-secret-key-vault-path", "-p"], + description: + "Path to Azure KeyVault storing the secret used for communication to ADFS", + args: { name: "sso-client-secret-key-vault-path" }, + }, + { + name: "--sso-secret-type", + description: "The type of single sign on Secret Type", + args: { + name: "sso-secret-type", + suggestions: [ + "Certificate", + "CertificateInKeyVault", + "SharedKey", + "SharedKeyInKeyVault", + ], + }, + }, + { + name: "--ssoadfs-authority", + description: + "URL to customer ADFS server for signing WVD SSO certificates", + args: { name: "ssoadfs-authority" }, + }, + { + name: "--start-vm-on-connect", + description: "The flag to turn on/off StartVMOnConnect feature", + args: { + name: "start-vm-on-connect", + suggestions: ["false", "true"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--validation-environment", + description: "Is validation environment", + args: { + name: "validation-environment", + suggestions: ["false", "true"], + }, + }, + { + name: "--vm-template", + description: + "VM template for sessionhosts configuration within hostpool", + args: { name: "vm-template" }, + }, + ], + }, + { + name: "delete", + description: "Remove a host pool", + options: [ + { + name: "--force", + description: "Force flag to delete sessionHost", + args: { name: "force", suggestions: ["false", "true"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the host pool within the specified resource group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List hostPools in subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "retrieve-registration-token", + description: "Registration token of the host pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the host pool within the specified resource group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get a host pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the host pool within the specified resource group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a host pool", + options: [ + { + name: "--custom-rdp-property", + description: "Custom rdp property of HostPool", + args: { name: "custom-rdp-property" }, + }, + { + name: "--description", + description: "Description of HostPool", + args: { name: "description" }, + }, + { + name: "--friendly-name", + description: "Friendly name of HostPool", + args: { name: "friendly-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--load-balancer-type", + description: "The type of the load balancer", + args: { + name: "load-balancer-type", + suggestions: ["BreadthFirst", "DepthFirst", "Persistent"], + }, + }, + { + name: "--max-session-limit", + description: "The max session limit of HostPool", + args: { name: "max-session-limit" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the host pool within the specified resource group", + args: { name: "name" }, + }, + { + name: "--personal-desktop-assignment-type", + description: "PersonalDesktopAssignment type for HostPool", + args: { + name: "personal-desktop-assignment-type", + suggestions: ["Automatic", "Direct"], + }, + }, + { + name: ["--preferred-app-group-type", "-t"], + description: + "The type of preferred application group type, default to Desktop Application Group", + args: { + name: "preferred-app-group-type", + suggestions: ["Desktop", "None", "RailApplications"], + }, + }, + { + name: "--registration-info", + description: "The registration info of HostPool", + args: { name: "registration-info" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--ring", + description: "The ring number of HostPool", + args: { name: "ring" }, + }, + { + name: "--sso-client-id", + description: + "ClientId for the registered Relying Party used to issue WVD SSO certificates", + args: { name: "sso-client-id" }, + }, + { + name: ["--sso-client-secret-key-vault-path", "-p"], + description: + "Path to Azure KeyVault storing the secret used for communication to ADFS", + args: { name: "sso-client-secret-key-vault-path" }, + }, + { + name: "--sso-secret-type", + description: "The type of single sign on Secret Type", + args: { + name: "sso-secret-type", + suggestions: [ + "Certificate", + "CertificateInKeyVault", + "SharedKey", + "SharedKeyInKeyVault", + ], + }, + }, + { + name: "--ssoadfs-authority", + description: + "URL to customer ADFS server for signing WVD SSO certificates", + args: { name: "ssoadfs-authority" }, + }, + { + name: "--start-vm-on-connect", + description: "The flag to turn on/off StartVMOnConnect feature", + args: { + name: "start-vm-on-connect", + suggestions: ["false", "true"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--validation-environment", + description: "Is validation environment", + args: { + name: "validation-environment", + suggestions: ["false", "true"], + }, + }, + { + name: "--vm-template", + description: + "VM template for sessionhosts configuration within hostpool", + args: { name: "vm-template" }, + }, + ], + }, + ], + }, + { + name: "workspace", + description: "Desktopvirtualization workspace", + subcommands: [ + { + name: "create", + description: "Create a workspace", + options: [ + { + name: ["--name", "-n"], + description: "The name of the workspace", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--application-group-references", + description: "List of applicationGroup resource Ids", + args: { name: "application-group-references" }, + }, + { + name: "--description", + description: "Description of Workspace", + args: { name: "description" }, + }, + { + name: "--friendly-name", + description: "Friendly name of Workspace", + args: { name: "friendly-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Remove a workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the workspace", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List workspaces in subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the workspace", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a workspace", + options: [ + { + name: "--application-group-references", + description: "List of applicationGroup links", + args: { name: "application-group-references" }, + }, + { + name: "--description", + description: "Description of Workspace", + args: { name: "description" }, + }, + { + name: "--friendly-name", + description: "Friendly name of Workspace", + args: { name: "friendly-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the workspace", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/devcenter.ts b/src/az/2.53.0/devcenter.ts new file mode 100644 index 000000000000..f05b32b1f2c0 --- /dev/null +++ b/src/az/2.53.0/devcenter.ts @@ -0,0 +1,5578 @@ +const completion: Fig.Spec = { + name: "devcenter", + description: "Manage resources with devcenter", + subcommands: [ + { + name: "admin", + description: "Manage devcenter admin resources", + subcommands: [ + { + name: "attached-network", + description: "Manage attached networks", + subcommands: [ + { + name: "create", + description: "Create an attached network connection", + options: [ + { + name: ["--attached-network-connection-name", "--name", "-n"], + description: "The name of the attached network connection", + args: { name: "attached-network-connection-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + isRequired: true, + }, + { + name: "--network-connection-id", + description: + "The resource ID of the network connection you want to attach", + args: { name: "network-connection-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an attached network connection", + options: [ + { + name: ["--attached-network-connection-name", "--name", "-n"], + description: "The name of the attached network connection", + args: { name: "attached-network-connection-name" }, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the attached network connections configured for a dev center or project", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + ], + }, + { + name: "show", + description: + "Get an attached network connection configured for a dev center or project", + options: [ + { + name: ["--attached-network-connection-name", "--name", "-n"], + description: "The name of the attached network connection", + args: { name: "attached-network-connection-name" }, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--attached-network-connection-name", "--name", "-n"], + description: "The name of the attached network connection", + args: { name: "attached-network-connection-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "catalog", + description: "Manage catalogs", + subcommands: [ + { + name: "create", + description: "Create a catalog", + options: [ + { + name: ["--catalog-name", "--name", "-n"], + description: "The name of the catalog", + args: { name: "catalog-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ado-git", + description: + 'Properties for an Azure DevOps catalog type. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ado-git" }, + }, + { + name: "--git-hub", + description: + 'Properties for a GitHub catalog type. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "git-hub" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a catalog resource", + options: [ + { + name: ["--catalog-name", "--name", "-n"], + description: "The name of the catalog", + args: { name: "catalog-name" }, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List catalogs for a dev center", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get a catalog", + options: [ + { + name: ["--catalog-name", "--name", "-n"], + description: "The name of the catalog", + args: { name: "catalog-name" }, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "sync", + description: "Syncs templates for a template source", + options: [ + { + name: ["--catalog-name", "--name", "-n"], + description: "The name of the catalog", + args: { name: "catalog-name" }, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a catalog", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--ado-git", + description: + 'Properties for an Azure DevOps catalog type. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ado-git" }, + }, + { + name: ["--catalog-name", "--name", "-n"], + description: "The name of the catalog", + args: { name: "catalog-name" }, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--git-hub", + description: + 'Properties for a GitHub catalog type. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "git-hub" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--catalog-name", "--name", "-n"], + description: "The name of the catalog", + args: { name: "catalog-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "check-name-availability", + description: "Manage check name availability", + subcommands: [ + { + name: "execute", + description: "Check the availability of name for resource", + options: [ + { + name: "--name", + description: + "The name of the resource for which availability needs to be checked", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--type", + description: "The resource type", + args: { name: "type" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "devbox-definition", + description: "Manage dev box definitions", + subcommands: [ + { + name: "create", + description: "Create a dev box definition", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + isRequired: true, + }, + { + name: ["--devbox-definition-name", "--name", "-n"], + description: "The name of the dev box definition", + args: { name: "devbox-definition-name" }, + isRequired: true, + }, + { + name: "--image-reference", + description: + 'Image reference information. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "image-reference" }, + isRequired: true, + }, + { + name: "--os-storage-type", + description: + "The storage type used for the operating system disk of dev boxes created using this definition", + args: { name: "os-storage-type" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: + 'The SKU for dev boxes created using this definition. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sku" }, + isRequired: true, + }, + { + name: "--hibernate-support", + description: + "Indicates whether dev boxes created with this definition are capable of hibernation. Not all images are capable of supporting hibernation. To find out more see https://aka.ms/devbox/hibernate", + args: { + name: "hibernate-support", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a dev box definition", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: ["--devbox-definition-name", "--name", "-n"], + description: "The name of the dev box definition", + args: { name: "devbox-definition-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List dev box definitions configured for a dev center or project", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + ], + }, + { + name: "show", + description: + "Get a dev box definition configured for a dev center or a project", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: ["--devbox-definition-name", "--name", "-n"], + description: "The name of the dev box definition", + args: { name: "devbox-definition-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a dev box definition", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: ["--devbox-definition-name", "--name", "-n"], + description: "The name of the dev box definition", + args: { name: "devbox-definition-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--hibernate-support", + description: + "Indicates whether dev boxes created with this definition are capable of hibernation. Not all images are capable of supporting hibernation. To find out more see https://aka.ms/devbox/hibernate", + args: { + name: "hibernate-support", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--image-reference", + description: + 'Image reference information. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "image-reference" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--os-storage-type", + description: + "The storage type used for the operating system disk of dev boxes created using this definition", + args: { name: "os-storage-type" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: + 'The SKU for dev boxes created using this definition. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: ["--devbox-definition-name", "--name", "-n"], + description: "The name of the dev box definition", + args: { name: "devbox-definition-name" }, + }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "devcenter", + description: "Manage dev centers", + subcommands: [ + { + name: "create", + description: "Create a dev center", + options: [ + { + name: ["--name", "-n"], + description: "The name of the dev center", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--identity-type", + description: + "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identities", "-u"], + description: + 'The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: \'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-assigned-identities" }, + }, + ], + }, + { + name: "delete", + description: "Delete a dev center", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the dev center", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all dev centers in a resource group", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a dev center", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the dev center", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a dev center", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity-type", + description: + "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the dev center", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identities", "-u"], + description: + 'The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: \'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-assigned-identities" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the dev center", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "environment-type", + description: "Manage environment types", + subcommands: [ + { + name: "create", + description: "Create an environment type", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + isRequired: true, + }, + { + name: ["--environment-type-name", "--name", "-n"], + description: "The name of the environment type", + args: { name: "environment-type-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an environment type", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: ["--environment-type-name", "--name", "-n"], + description: "The name of the environment type", + args: { name: "environment-type-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List environment types for the devcenter", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get an environment type", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: ["--environment-type-name", "--name", "-n"], + description: "The name of the environment type", + args: { name: "environment-type-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an environment type", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: ["--environment-type-name", "--name", "-n"], + description: "The name of the environment type", + args: { name: "environment-type-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "gallery", + description: "Manage galleries", + subcommands: [ + { + name: "create", + description: "Create a gallery", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + isRequired: true, + }, + { + name: ["--gallery-name", "--name", "-n"], + description: "The name of the gallery", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: "--gallery-resource-id", + description: + "The resource ID of the backing Azure Compute Gallery", + args: { name: "gallery-resource-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a gallery", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: ["--gallery-name", "--name", "-n"], + description: "The name of the gallery", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List galleries for a dev center", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get a gallery", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: ["--gallery-name", "--name", "-n"], + description: "The name of the gallery", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: ["--gallery-name", "--name", "-n"], + description: "The name of the gallery", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "image", + description: "Manage images", + subcommands: [ + { + name: "list", + description: "List images for a dev center or gallery", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--gallery-name", + description: "The name of the gallery", + args: { name: "gallery-name" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get a gallery image", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--gallery-name", + description: "The name of the gallery", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--image-name", "--name", "-n"], + description: "The name of the image", + args: { name: "image-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "image-version", + description: "Manage image versions", + subcommands: [ + { + name: "list", + description: "List versions for an image", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + isRequired: true, + }, + { + name: "--gallery-name", + description: "The name of the gallery", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: "--image-name", + description: "The name of the image", + args: { name: "image-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get an image version", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--gallery-name", + description: "The name of the gallery", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--image-name", + description: "The name of the image", + args: { name: "image-name" }, + }, + { + name: ["--version-name", "--name", "-n"], + description: "The version of the image", + args: { name: "version-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "network-connection", + description: "Manage network connections", + subcommands: [ + { + name: "create", + description: "Create a network connection", + options: [ + { + name: "--domain-join-type", + description: "AAD Join type", + args: { + name: "domain-join-type", + suggestions: ["AzureADJoin", "HybridAzureADJoin"], + }, + isRequired: true, + }, + { + name: ["--network-connection-name", "--name", "-n"], + description: + "Name of the network connection that can be applied to a pool", + args: { name: "network-connection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet-id", + description: "The subnet to attach dev boxes to", + args: { name: "subnet-id" }, + isRequired: true, + }, + { + name: "--domain-name", + description: "Active Directory domain name", + args: { name: "domain-name" }, + }, + { + name: "--domain-password", + description: + "The password for the account used to join domain. If value is blank it's asked from the tty", + args: { name: "domain-password" }, + }, + { + name: "--domain-username", + description: + "The username of an Active Directory account (user or service account) that has permissions to create computer objects in Active Directory. Required format: admin@contoso.com", + args: { name: "domain-username" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: ["--networking-resource-group-name", "-r"], + description: + "The name for resource group where NICs will be placed", + args: { name: "networking-resource-group-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--organization-unit", + description: "Active Directory domain Organization Unit (OU)", + args: { name: "organization-unit" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a network connection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-connection-name", "--name", "-n"], + description: + "Name of the network connection that can be applied to a pool", + args: { name: "network-connection-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List network connections", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-health-check", + description: "List health check status details", + options: [ + { + name: ["--network-connection-name", "--name", "-n"], + description: + "Name of the network connection that can be applied to a pool", + args: { name: "network-connection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-outbound-network-dependencies-endpoint", + description: + "List the endpoints that agents may call as part of Dev Box service administration. These FQDNs should be allowed for outbound access in order for the Dev Box service to function", + options: [ + { + name: ["--network-connection-name", "--name", "-n"], + description: + "Name of the network connection that can be applied to a pool", + args: { name: "network-connection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "run-health-check", + description: + "Triggers a new health check run. The execution and health check result can be tracked via the network Connection health check details", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-connection-name", "--name", "-n"], + description: + "Name of the network connection that can be applied to a pool", + args: { name: "network-connection-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get a network connection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-connection-name", "--name", "-n"], + description: + "Name of the network connection that can be applied to a pool", + args: { name: "network-connection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-health-check", + description: "Get health check status details", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-connection-name", "--name", "-n"], + description: + "Name of the network connection that can be applied to a pool", + args: { name: "network-connection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a network connection", + options: [ + { + name: "--domain-name", + description: "Active Directory domain name", + args: { name: "domain-name" }, + }, + { + name: "--domain-password", + description: + "The password for the account used to join domain. If value is blank it's asked from the tty", + args: { name: "domain-password" }, + }, + { + name: "--domain-username", + description: + "The username of an Active Directory account (user or service account) that has permissions to create computer objects in Active Directory. Required format: admin@contoso.com", + args: { name: "domain-username" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-connection-name", "--name", "-n"], + description: + "Name of the network connection that can be applied to a pool", + args: { name: "network-connection-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--organization-unit", + description: "Active Directory domain Organization Unit (OU)", + args: { name: "organization-unit" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subnet-id", + description: "The subnet to attach dev boxes to", + args: { name: "subnet-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--network-connection-name", "--name", "-n"], + description: + "Name of the network connection that can be applied to a pool", + args: { name: "network-connection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "pool", + description: "Manage pools", + subcommands: [ + { + name: "create", + description: "Create a pool", + options: [ + { + name: ["--devbox-definition-name", "-d"], + description: + "Name of a dev box definition in parent project of this pool", + args: { name: "devbox-definition-name" }, + isRequired: true, + }, + { + name: "--local-administrator", + description: + "Indicates whether owners of dev boxes in this pool are added as local administrators on the dev box", + args: { + name: "local-administrator", + suggestions: ["Disabled", "Enabled"], + }, + isRequired: true, + }, + { + name: ["--pool-name", "--name", "-n"], + description: "Name of the pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--network-connection-name", "-c"], + description: + "Name of a network connection in parent project of this pool", + args: { name: "network-connection-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pool-name", "--name", "-n"], + description: "Name of the pool", + args: { name: "pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List pools for a project", + options: [ + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "run-health-check", + description: "Triggers a refresh of the pool status", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pool-name", "--name", "-n"], + description: "Name of the pool", + args: { name: "pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get a pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pool-name", "--name", "-n"], + description: "Name of the pool", + args: { name: "pool-name" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a pool", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--devbox-definition-name", "-d"], + description: + "Name of a dev box definition in parent project of this pool", + args: { name: "devbox-definition-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-administrator", + description: + "Indicates whether owners of dev boxes in this pool are added as local administrators on the dev box", + args: { + name: "local-administrator", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--pool-name", "--name", "-n"], + description: "Name of the pool", + args: { name: "pool-name" }, + }, + { + name: ["--network-connection-name", "-c"], + description: + "Name of a network connection in parent project of this pool", + args: { name: "network-connection-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--pool-name", "--name", "-n"], + description: "Name of the pool", + args: { name: "pool-name" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "project", + description: "Manage projects", + subcommands: [ + { + name: "create", + description: "Create a project", + options: [ + { + name: "--dev-center-id", + description: "Resource ID of an associated dev center", + args: { name: "dev-center-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the project", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of the project", + args: { name: "description" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--max-dev-boxes-per-user", + description: + "When specified, limits the maximum number of dev boxes a single user can create across all pools in the project. This will have no effect on existing dev boxes when reduced", + args: { name: "max-dev-boxes-per-user" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a project", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the project", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List projects", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a project", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the project", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a project", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "Description of the project", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--max-dev-boxes-per-user", + description: + "When specified, limits the maximum number of dev boxes a single user can create across all pools in the project. This will have no effect on existing dev boxes when reduced", + args: { name: "max-dev-boxes-per-user" }, + }, + { + name: ["--name", "-n"], + description: "The name of the project", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the project", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "project-allowed-environment-type", + description: "Manage project allowed environment types", + subcommands: [ + { + name: "list", + description: "List allowed environment types for a project", + options: [ + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get an allowed environment type", + options: [ + { + name: ["--environment-type-name", "--name", "-n"], + description: "The name of the environment type", + args: { name: "environment-type-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "project-environment-type", + description: "Manage project environment types", + subcommands: [ + { + name: "create", + description: "Create a project environment type", + options: [ + { + name: "--deployment-target-id", + description: + "ID of a subscription that the environment type will be mapped to. The environment's resources will be deployed into this subscription", + args: { name: "deployment-target-id" }, + isRequired: true, + }, + { + name: ["--environment-type-name", "--name", "-n"], + description: "The name of the environment type", + args: { name: "environment-type-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--status", + description: + "Defines whether this environment type can be used in this project", + args: { + name: "status", + suggestions: ["Disabled", "Enabled"], + }, + isRequired: true, + }, + { + name: "--identity-type", + description: + "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--roles", + description: + 'A map of roles to assign to the environment creator. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "roles" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identities", "-u"], + description: + 'The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: \'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-assigned-identities" }, + }, + { + name: "--user-role-assignments", + description: + 'Role assignments created on environment backing resources. This is a mapping from a user object ID to an object of role definition IDs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-role-assignments" }, + }, + ], + }, + { + name: "delete", + description: "Delete a project environment type", + options: [ + { + name: ["--environment-type-name", "--name", "-n"], + description: "The name of the environment type", + args: { name: "environment-type-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List environment types for a project", + options: [ + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get a project environment type", + options: [ + { + name: ["--environment-type-name", "--name", "-n"], + description: "The name of the environment type", + args: { name: "environment-type-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a project environment type", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--deployment-target-id", + description: + "ID of a subscription that the environment type will be mapped to. The environment's resources will be deployed into this subscription", + args: { name: "deployment-target-id" }, + }, + { + name: ["--environment-type-name", "--name", "-n"], + description: "The name of the environment type", + args: { name: "environment-type-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity-type", + description: + "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--roles", + description: + 'A map of roles to assign to the environment creator. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "roles" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--status", + description: + "Defines whether this environment type can be used in this project", + args: { + name: "status", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identities", "-u"], + description: + 'The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: \'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-assigned-identities" }, + }, + { + name: "--user-role-assignments", + description: + 'Role assignments created on environment backing resources. This is a mapping from a user object ID to an object of role definition IDs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-role-assignments" }, + }, + ], + }, + ], + }, + { + name: "schedule", + description: "Manage schedules", + subcommands: [ + { + name: "create", + description: "Create a schedule", + options: [ + { + name: "--pool-name", + description: "Name of the pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--time", + description: + "The target time to trigger the action. The format is HH:MM", + args: { name: "time" }, + isRequired: true, + }, + { + name: "--time-zone", + description: + "The IANA timezone id at which the schedule should execute", + args: { name: "time-zone" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--state", + description: + "Indicates whether or not this scheduled task is enabled", + args: { name: "state", suggestions: ["Disabled", "Enabled"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a schedule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--pool-name", + description: "Name of the pool", + args: { name: "pool-name" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Get a schedule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--pool-name", + description: "Name of the pool", + args: { name: "pool-name" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a schedule", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--pool-name", + description: "Name of the pool", + args: { name: "pool-name" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: + "Indicates whether or not this scheduled task is enabled", + args: { name: "state", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--time", + description: + "The target time to trigger the action. The format is HH:MM", + args: { name: "time" }, + }, + { + name: "--time-zone", + description: + "The IANA timezone id at which the schedule should execute", + args: { name: "time-zone" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--pool-name", + description: "Name of the pool", + args: { name: "pool-name" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sku", + description: "Manage skus", + subcommands: [ + { + name: "list", + description: + "List the Microsoft.DevCenter SKUs available in a subscription", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + ], + }, + { + name: "usage", + description: "Manage usages", + subcommands: [ + { + name: "list", + description: + "List the current usages and limits in this location for the provided subscription", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "dev", + description: "Manage devcenter developer resources", + subcommands: [ + { + name: "catalog", + description: "Manage catalogs", + subcommands: [ + { + name: "list", + description: "List all of the catalogs available for a project", + options: [ + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + ], + }, + { + name: "show", + description: "Get the specified catalog within the project", + options: [ + { + name: ["--catalog-name", "--name", "-n"], + description: "The name of the catalog", + args: { name: "catalog-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + ], + }, + ], + }, + { + name: "dev-box", + description: "Manage dev boxes", + subcommands: [ + { + name: "create", + description: "Create a dev box", + options: [ + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "--pool"], + description: + "The name of the dev box pool this machine belongs to", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "delay-action", + description: "Delay an action", + options: [ + { + name: "--action-name", + description: + "The name of an action that will take place on a dev box", + args: { name: "action-name" }, + isRequired: true, + }, + { + name: "--delay-time", + description: + "The delayed timespan from the scheduled action time. Format HH:MM", + args: { name: "delay-time" }, + isRequired: true, + }, + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "delay-all-actions", + description: "Delay all actions", + options: [ + { + name: "--delay-time", + description: + "The delayed timespan from the earliest scheduled time of all actions. Format HH:MM", + args: { name: "delay-time" }, + isRequired: true, + }, + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete a dev box", + options: [ + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List dev boxes for a user, list dev boxes in the dev center for a project and user, or list dev boxes that the caller has access to in the dev center", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "list-action", + description: "List actions on a dev box", + options: [ + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "list-operation", + description: + "Lists operations on the dev box which have occurred within the past 90 days", + options: [ + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "repair", + description: + "Attempts automated repair steps to resolve common problems on a Dev Box. The dev box may restart during this operation", + options: [ + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "restart", + description: "Restart a dev box", + options: [ + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "show", + description: "Get a dev box", + options: [ + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "show-action", + description: "Get an action", + options: [ + { + name: "--action-name", + description: + "The name of an action that will take place on a dev box", + args: { name: "action-name" }, + isRequired: true, + }, + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "show-operation", + description: "Get an operation on a dev box", + options: [ + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: "--operation-id", + description: "The id of the operation on a dev box", + args: { name: "operation-id" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "show-remote-connection", + description: "Get remote connection info", + options: [ + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "skip-action", + description: "Skip an action", + options: [ + { + name: "--action-name", + description: + "The name of an action that will take place on a dev box", + args: { name: "action-name" }, + isRequired: true, + }, + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "start", + description: "Start a dev box", + options: [ + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "stop", + description: "Stop a dev box", + options: [ + { + name: ["--dev-box-name", "--name", "-n"], + description: "The name of a dev box", + args: { name: "dev-box-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--hibernate", + description: "Optional parameter to hibernate the dev box", + args: { name: "hibernate", suggestions: ["false", "true"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + ], + }, + { + name: "environment", + description: "Manage environments", + subcommands: [ + { + name: "create", + description: "Create an environment", + options: [ + { + name: "--catalog-name", + description: "Name of the catalog", + args: { name: "catalog-name" }, + isRequired: true, + }, + { + name: ["--environment-definition-name", "-e"], + description: "Name of the environment definition", + args: { name: "environment-definition-name" }, + isRequired: true, + }, + { + name: ["--environment-name", "--name", "-n"], + description: "The name of the environment", + args: { name: "environment-name" }, + isRequired: true, + }, + { + name: "--environment-type", + description: "Environment type", + args: { name: "environment-type" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--parameters", + description: + "Parameters object for the environment. Expected value: json-string/json-file/@json-file", + args: { name: "parameters" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an environment and all its associated resources", + options: [ + { + name: ["--environment-name", "--name", "-n"], + description: "The name of the environment", + args: { name: "environment-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "deploy", + description: "Update an environment", + options: [ + { + name: ["--environment-name", "--name", "-n"], + description: "The name of the environment", + args: { name: "environment-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--parameters", + description: + "Parameters object for the environment. Expected value: json-string/json-file/@json-file", + args: { name: "parameters" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "list", + description: + "List the environments for a project or list the environments for a user within a project", + options: [ + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "show", + description: "Get an environment", + options: [ + { + name: ["--environment-name", "--name", "-n"], + description: "The name of the environment", + args: { name: "environment-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + { + name: "update", + description: "Update an environment", + options: [ + { + name: ["--environment-name", "--name", "-n"], + description: "The name of the environment", + args: { name: "environment-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--parameters", + description: + "Parameters object for the environment. Expected value: json-string/json-file/@json-file", + args: { name: "parameters" }, + }, + { + name: "--user-id", + description: + "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context", + args: { name: "user-id" }, + }, + ], + }, + ], + }, + { + name: "environment-definition", + description: "Manage environment definitions", + subcommands: [ + { + name: "list", + description: + "List all environment definitions available within a catalog or list all environment definitions available for a project", + options: [ + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: "--catalog-name", + description: "The name of the catalog", + args: { name: "catalog-name" }, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + ], + }, + { + name: "show", + description: "Get an environment definition from a catalog", + options: [ + { + name: "--catalog-name", + description: "The name of the catalog", + args: { name: "catalog-name" }, + isRequired: true, + }, + { + name: ["--definition-name", "--name", "-n"], + description: "The name of the environment definition", + args: { name: "definition-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + ], + }, + ], + }, + { + name: "environment-type", + description: "Manage environment types", + subcommands: [ + { + name: "list", + description: + "List all environment types configured for a project", + options: [ + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + ], + }, + ], + }, + { + name: "pool", + description: "Manage pools", + subcommands: [ + { + name: "list", + description: "List available pools", + options: [ + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + ], + }, + { + name: "show", + description: "Get a pool", + options: [ + { + name: ["--pool-name", "--name", "-n"], + description: "The name of a pool of dev boxes", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + ], + }, + ], + }, + { + name: "project", + description: "Manage projects", + subcommands: [ + { + name: "list", + description: "List all projects", + options: [ + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + ], + }, + { + name: "show", + description: "Get a project", + options: [ + { + name: ["--name", "-n"], + description: + "The dev center project upon which to execute operations", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + ], + }, + ], + }, + { + name: "schedule", + description: "Manage schedules", + subcommands: [ + { + name: "list", + description: "List schedules", + options: [ + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + { + name: ["--pool-name", "--pool"], + description: "The name of a pool of dev boxes", + args: { name: "pool-name" }, + }, + ], + }, + { + name: "show", + description: "Get a schedule", + options: [ + { + name: ["--pool-name", "--pool"], + description: "The name of a pool of dev boxes", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--project-name", "--project"], + description: + "The name of the project. Use az configure -d project= to configure a default", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--dev-center-name", "--dev-center", "-d"], + description: + "The name of the dev center. Use az configure -d dev-center= to configure a default", + args: { name: "dev-center-name" }, + }, + { + name: "--endpoint", + description: + "The API endpoint for the developer resources. Use az configure -d endpoint= to configure a default", + args: { name: "endpoint" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/devops.ts b/src/az/2.53.0/devops.ts new file mode 100644 index 000000000000..37b2c545b314 --- /dev/null +++ b/src/az/2.53.0/devops.ts @@ -0,0 +1,2301 @@ +const completion: Fig.Spec = { + name: "devops", + description: + "Manage Azure DevOps organization level operations.\n\n\t\tRelated Groups\naz pipelines: Manage Azure Pipelines\naz boards: Manage Azure Boards\naz repos: Manage Azure Repos\naz artifacts: Manage Azure Artifacts", + subcommands: [ + { + name: "admin", + description: "Manage administration operations", + subcommands: [ + { + name: "banner", + description: "Manage organization banner", + subcommands: [ + { + name: "add", + description: "Add a new banner and immediately show it", + options: [ + { + name: ["--message", "-m"], + description: "Message (string) to show in the banner", + args: { name: "message" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--expiration", + description: + 'Date/time when the banner should no longer be presented to users. If not set, the banner does not automatically expire and must be removed with the remove command. Example : "2019-06-10 17:21:00 UTC", "2019-06-10"', + args: { name: "expiration" }, + }, + { + name: "--id", + description: + "Identifier for the new banner. This identifier is needed to change or remove the message later. A unique identifier is automatically created if one is not specified", + args: { name: "id" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--type", "-t"], + description: 'Type of banner to present. Defaults is "info"', + args: { + name: "type", + suggestions: ["error", "info", "warning"], + }, + }, + ], + }, + { + name: "list", + description: "List banners", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "remove", + description: "Remove a banner", + options: [ + { + name: "--id", + description: "ID of the banner to remove", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "show", + description: "Show details for a banner", + options: [ + { + name: "--id", + description: "Identifier for the banner", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "update", + description: + "Update the message, level, or expiration date for a banner", + options: [ + { + name: "--id", + description: "ID of the banner to update", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--expiration", + description: + 'Date/time when the banner should no longer be presented to users. To unset the expiration for the banner, supply an empty value to this argument. Example : "2019-06-10 17:21:00 UTC", "2019-06-10"', + args: { name: "expiration" }, + }, + { + name: ["--message", "-m"], + description: "Message (string) to show in the banner", + args: { name: "message" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--type", "-t"], + description: 'Type of banner to present. Defaults is "info"', + args: { + name: "type", + suggestions: ["error", "info", "warning"], + }, + }, + ], + }, + ], + }, + ], + }, + { + name: "configure", + description: "Configure the Azure DevOps CLI or view your configuration", + options: [ + { + name: ["--defaults", "-d"], + description: + "Space separated 'name=value' pairs for common arguments defaults, e.g. '--defaults project=my-project-name organization=https://dev.azure.com/organizationName arg=value'. Use '' to clear the defaults, e.g. --defaults project=''", + args: { name: "defaults" }, + }, + { + name: ["--list", "-l"], + description: "Lists the contents of the config file", + }, + { + name: "--use-git-aliases", + description: + "Set to 'true' to configure Git aliases global git config file (to enable commands like \"git pr list\"). Set to 'false' to remove any aliases set by the tool", + args: { name: "use-git-aliases", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "feedback", + description: + "Displays information on how to provide feedback to the Azure DevOps CLI team", + }, + { + name: "invoke", + description: + "This command will invoke request for any DevOps area and resource. Please use only json output as the response of this command is not fixed. Helpful docs - https://docs.microsoft.com/en-us/rest/api/azure/devops/", + options: [ + { + name: "--accept-media-type", + description: "Specifies the content type of the response", + args: { name: "accept-media-type" }, + }, + { + name: "--api-version", + description: "The version of the API to target", + args: { name: "api-version" }, + }, + { + name: "--area", + description: "The area to find the resource", + args: { name: "area" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--encoding", + description: + "Encoding of the input file. Used in conjunction with --in-file", + args: { + name: "encoding", + suggestions: ["ascii", "utf-16be", "utf-16le", "utf-8"], + }, + }, + { + name: "--http-method", + description: "Specifies the method used for the request", + args: { + name: "http-method", + suggestions: [ + "DELETE", + "GET", + "HEAD", + "OPTIONS", + "PATCH", + "POST", + "PUT", + ], + }, + }, + { + name: "--in-file", + description: + "Path and file name to the file that contains the contents of the request", + args: { name: "in-file" }, + }, + { + name: "--media-type", + description: "Specifies the content type of the request", + args: { name: "media-type" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--out-file", + description: + "Path and file name to the file for which this function saves the response body", + args: { name: "out-file" }, + }, + { + name: "--query-parameters", + description: "Specifies the list of query parameters", + args: { name: "query-parameters" }, + }, + { + name: "--resource", + description: "The name of the resource to operate on", + args: { name: "resource" }, + }, + { + name: "--route-parameters", + description: "Specifies the list of route parameters", + args: { name: "route-parameters" }, + }, + ], + }, + { + name: "login", + description: + "Set the credential (PAT) to use for a particular organization", + options: [ + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. Example: https://dev.azure.com/MyOrganizationName", + args: { name: "organization" }, + }, + ], + }, + { + name: "logout", + description: "Clear the credential for all or a particular organization", + options: [ + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. Example: https://dev.azure.com/MyOrganizationName/. If no organization is specified, all organizations will be logged out", + args: { name: "organization" }, + }, + ], + }, + { + name: "extension", + description: "Manage extensions", + subcommands: [ + { + name: "disable", + description: "Disable an extension", + options: [ + { + name: "--extension-id", + description: + "Extension Id. This will map to extension-name in the az devops extension search output", + args: { name: "extension-id" }, + isRequired: true, + }, + { + name: "--publisher-id", + description: + "Publisher Id. This will map to publisher-name in the az devops extension search output", + args: { name: "publisher-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "enable", + description: "Enable an extension", + options: [ + { + name: "--extension-id", + description: + "Extension Id. This will map to extension-name in the az devops extension search output", + args: { name: "extension-id" }, + isRequired: true, + }, + { + name: "--publisher-id", + description: + "Publisher Id. This will map to publisher-name in the az devops extension search output", + args: { name: "publisher-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "install", + description: "Install an extension", + options: [ + { + name: "--extension-id", + description: + "Extension Id. This will map to extension-name in the az devops extension search output", + args: { name: "extension-id" }, + isRequired: true, + }, + { + name: "--publisher-id", + description: + "Publisher Id. This will map to publisher-name in the az devops extension search output", + args: { name: "publisher-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "list", + description: "List extensions installed in an organization", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--include-built-in", + description: "Include built in extensions", + args: { + name: "include-built-in", + suggestions: ["false", "true"], + }, + }, + { + name: "--include-disabled", + description: "Include disabled extensions", + args: { + name: "include-disabled", + suggestions: ["false", "true"], + }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "search", + description: "Search extensions from marketplace", + options: [ + { + name: ["--search-query", "-q"], + description: "Search term", + args: { name: "search-query" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get detail of single extension", + options: [ + { + name: "--extension-id", + description: + "Extension Id. This will map to extension-name in the az devops extension search output", + args: { name: "extension-id" }, + isRequired: true, + }, + { + name: "--publisher-id", + description: + "Publisher Id. This will map to publisher-name in the az devops extension search output", + args: { name: "publisher-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "uninstall", + description: "Uninstall an extension", + options: [ + { + name: "--extension-id", + description: + "Extension Id. This will map to extension-name in the az devops extension search output", + args: { name: "extension-id" }, + isRequired: true, + }, + { + name: "--publisher-id", + description: + "Publisher Id. This will map to publisher-name in the az devops extension search output", + args: { name: "publisher-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "project", + description: "Manage team projects", + subcommands: [ + { + name: "create", + description: "Create a team project", + options: [ + { + name: "--name", + description: "Name of the new project", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--description", "-d"], + description: "Description for the new project", + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--open", + description: "Open the team project in the default web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--process", "-p"], + description: "Process to use. Default if not specified", + args: { name: "process" }, + }, + { + name: ["--source-control", "-s"], + description: + "Source control type of the initial code repository created", + args: { name: "source-control", suggestions: ["git", "tfvc"] }, + }, + { + name: "--visibility", + description: "Project visibility", + args: { name: "visibility", suggestions: ["private", "public"] }, + }, + ], + }, + { + name: "delete", + description: "Delete team project", + options: [ + { + name: "--id", + description: "The id of the project to delete", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List team projects", + options: [ + { + name: "--continuation-token", + description: + "Continuation token. This can be retrived from previous run of this command if more results are present", + args: { name: "continuation-token" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--get-default-team-image-url", + description: "Whether to get default team image url or not", + args: { + name: "get-default-team-image-url", + suggestions: ["false", "true"], + }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--skip", + description: "Number of results to skip", + args: { name: "skip" }, + }, + { + name: "--state-filter", + description: "State filter", + args: { + name: "state-filter", + suggestions: [ + "all", + "createPending", + "deleted", + "deleting", + "new", + "unchanged", + "wellFormed", + ], + }, + }, + { + name: "--top", + description: "Maximum number of results to list", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Show team project", + options: [ + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--open", + description: "Open the team project in the default web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + ], + }, + { + name: "security", + description: "Manage security related operations", + subcommands: [ + { + name: "group", + description: "Manage security groups", + subcommands: [ + { + name: "create", + description: "Create a new Azure DevOps group", + options: [ + { + name: "--description", + description: "Description of Azure DevOps group", + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--email-id", + description: + "Create new group using the mail address as a reference to an existing group from an external AD or AAD backed provider. Required if name or origin-id is missing", + args: { name: "email-id" }, + }, + { + name: "--groups", + description: + "A comma separated list of descriptors referencing groups you want the newly created group to join", + args: { name: "groups" }, + }, + { + name: "--name", + description: "Name of Azure DevOps group", + args: { name: "name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--origin-id", + description: + "Create new group using the OriginID as a reference to an existing group from an external AD or AAD backed provider. Required if name or email-id is missing", + args: { name: "origin-id" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project in which Azure DevOps group should be created", + args: { name: "project" }, + }, + { + name: "--scope", + description: "Create group at project or organization level", + args: { + name: "scope", + suggestions: ["organization", "project"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure DevOps group", + options: [ + { + name: "--id", + description: "Descriptor of the group", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the groups in a project or organization", + options: [ + { + name: "--continuation-token", + description: + "If there are more results that can't be returned in a single page, the result set will contain a continuation token for retrieval of the next set of results", + args: { name: "continuation-token" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: "List groups for a particular project", + args: { name: "project" }, + }, + { + name: "--scope", + description: "List groups at project or organization level", + args: { + name: "scope", + suggestions: ["organization", "project"], + }, + }, + { + name: "--subject-types", + description: + "A comma separated list of user subject subtypes to reduce the retrieved results. You can give initial part of descriptor [before the dot] as a filter e.g. vssgp,aadgp", + args: { name: "subject-types" }, + }, + ], + }, + { + name: "show", + description: "Show group details", + options: [ + { + name: "--id", + description: "Descriptor of the group", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "update", + description: + "Update name AND/OR description for an Azure DevOps group", + options: [ + { + name: "--id", + description: "Descriptor of the group", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--description", + description: "New description for Azure DevOps group", + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--name", + description: "New name for Azure DevOps group", + args: { name: "name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "membership", + description: "Manage memberships for security groups", + subcommands: [ + { + name: "add", + description: "Add membership", + options: [ + { + name: "--group-id", + description: + "Descriptor of the group to which member needs to be added", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: "--member-id", + description: + "Descriptor of the group or Email Id of the user to be added. User should already be a part of the organization. Use az devops user add command to add an user to organization", + args: { name: "member-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "list", + description: "List memberships for a group or user", + options: [ + { + name: "--id", + description: + "Group descriptor or User Email whose membership details are required", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--relationship", + description: "Get member of/members for this group", + args: { + name: "relationship", + suggestions: ["memberof", "members"], + }, + }, + ], + }, + { + name: "remove", + description: "Remove membership", + options: [ + { + name: "--group-id", + description: + "Descriptor of the group from which member needs to be removed", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: "--member-id", + description: + "Descriptor of the group or Email Id of the user to be removed", + args: { name: "member-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + ], + }, + { + name: "permission", + description: "Manage security permissions", + subcommands: [ + { + name: "list", + description: "List tokens for given user/group and namespace", + options: [ + { + name: ["--namespace-id", "--id"], + description: "ID of security namespace", + args: { name: "namespace-id" }, + isRequired: true, + }, + { + name: "--subject", + description: "User Email ID or Group descriptor", + args: { name: "subject" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--recurse", + description: + "If true and this is a hierarchical namespace, return child ACLs of the specified token", + }, + { + name: "--token", + description: "Security token", + args: { name: "token" }, + }, + ], + }, + { + name: "reset", + description: "Reset permission for given permission bit(s)", + options: [ + { + name: ["--namespace-id", "--id"], + description: "ID of security namespace", + args: { name: "namespace-id" }, + isRequired: true, + }, + { + name: "--permission-bit", + description: + "Permission bit or addition of permission bits which needs to be reset for given user/group and token", + args: { name: "permission-bit" }, + isRequired: true, + }, + { + name: "--subject", + description: "User Email ID or Group descriptor", + args: { name: "subject" }, + isRequired: true, + }, + { + name: "--token", + description: "Security token", + args: { name: "token" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "reset-all", + description: + "Clear all permissions of this token for a user/group", + options: [ + { + name: ["--namespace-id", "--id"], + description: "ID of security namespace", + args: { name: "namespace-id" }, + isRequired: true, + }, + { + name: "--subject", + description: "User Email ID or Group descriptor", + args: { name: "subject" }, + isRequired: true, + }, + { + name: "--token", + description: "Security token", + args: { name: "token" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Show permissions for given token, namespace and user/group", + options: [ + { + name: ["--namespace-id", "--id"], + description: "ID of security namespace", + args: { name: "namespace-id" }, + isRequired: true, + }, + { + name: "--subject", + description: "User Email ID or Group descriptor", + args: { name: "subject" }, + isRequired: true, + }, + { + name: "--token", + description: "Security token", + args: { name: "token" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "update", + description: + "Assign allow or deny permission to given user/group", + options: [ + { + name: ["--namespace-id", "--id"], + description: "ID of security namespace", + args: { name: "namespace-id" }, + isRequired: true, + }, + { + name: "--subject", + description: "User Email ID or Group descriptor", + args: { name: "subject" }, + isRequired: true, + }, + { + name: "--token", + description: "Security token", + args: { name: "token" }, + isRequired: true, + }, + { + name: "--allow-bit", + description: + "Allow bit or addition of bits. Required if --deny-bit is missing", + args: { name: "allow-bit" }, + }, + { + name: "--deny-bit", + description: + "Deny bit or addition of bits. Required if --allow-bit is missing", + args: { name: "deny-bit" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--merge", + description: + "If set, the existing ACE has its allow and deny merged with the incoming ACE's allow and deny. If unset, the existing ACE is displaced", + args: { name: "merge", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "namespace", + description: "Manage security namespaces", + subcommands: [ + { + name: "list", + description: + "List all available namespaces for an organization", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--local-only", + description: + "If true, retrieve only local security namespaces", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "show", + description: + "Show details of permissions available in each namespace", + options: [ + { + name: ["--namespace-id", "--id"], + description: "ID of security namespace", + args: { name: "namespace-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "service-endpoint", + description: "Manage service endpoints/connections", + subcommands: [ + { + name: "create", + description: "Create a service endpoint using configuration file", + options: [ + { + name: "--service-endpoint-configuration", + description: "Configuration file with service endpoint request", + args: { name: "service-endpoint-configuration" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--encoding", + description: "Encoding of the input file", + args: { + name: "encoding", + suggestions: ["ascii", "utf-16be", "utf-16le", "utf-8"], + }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "delete", + description: "Deletes service endpoint", + options: [ + { + name: "--id", + description: "Id of the service endpoint to delete", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--deep", + description: + "Specific to AzureRM endpoint created in Automatic flow. When it is specified, this will also delete corresponding AAD application in Azure", + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List service endpoints in a project", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a service endpoint", + options: [ + { + name: "--id", + description: "ID of the service endpoint", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update a service endpoint", + options: [ + { + name: "--id", + description: "ID of the service endpoint", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--enable-for-all", + description: + "Allow all pipelines to access this service endpoint", + args: { name: "enable-for-all", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "azurerm", + description: "Manage Azure RM service endpoints/connections", + subcommands: [ + { + name: "create", + description: "Create an Azure RM type service endpoint", + options: [ + { + name: "--azure-rm-service-principal-id", + description: + "Service principal id for creating azure rm service endpoint", + args: { name: "azure-rm-service-principal-id" }, + isRequired: true, + }, + { + name: "--azure-rm-subscription-id", + description: "Subscription id for azure rm service endpoint", + args: { name: "azure-rm-subscription-id" }, + isRequired: true, + }, + { + name: "--azure-rm-subscription-name", + description: + "Name of azure subscription for azure rm service endpoint", + args: { name: "azure-rm-subscription-name" }, + isRequired: true, + }, + { + name: "--azure-rm-tenant-id", + description: + "Tenant id for creating azure rm service endpoint", + args: { name: "azure-rm-tenant-id" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of service endpoint to create", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--azure-rm-service-principal-certificate-path", + description: + 'Path to (.pem) which is certificate. Create using command "openssl pkcs12 -in file.pfx -out file.pem -nodes -password pass:". More details : https://aka.ms/azure-devops-cli-azurerm-service-endpoint', + args: { name: "azure-rm-service-principal-certificate-path" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + ], + }, + { + name: "github", + description: "Manage GitHub service endpoints/connections", + subcommands: [ + { + name: "create", + description: "Create a GitHub service endpoint", + options: [ + { + name: "--github-url", + description: "Url for github for creating service endpoint", + args: { name: "github-url" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of service endpoint to create", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "team", + description: "Manage teams", + subcommands: [ + { + name: "create", + description: "Create a team", + options: [ + { + name: "--name", + description: "Name of the new team", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of the new team", + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "delete", + description: "Delete a team", + options: [ + { + name: "--id", + description: "The id of the team to delete", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all teams in a project", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--skip", + description: "Number of teams to skip", + args: { name: "skip" }, + }, + { + name: "--top", + description: "Maximum number of teams to return", + args: { name: "top" }, + }, + ], + }, + { + name: "list-member", + description: "List members of a team", + options: [ + { + name: "--team", + description: "The name or id of the team to show members of", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--skip", + description: "Number of members to skip", + args: { name: "skip" }, + }, + { + name: "--top", + description: "Maximum number of members to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Show team details", + options: [ + { + name: "--team", + description: "The name or id of the team to show", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update a team's name and/or description", + options: [ + { + name: "--team", + description: "The name or id of the team to be updated", + args: { name: "team" }, + isRequired: true, + }, + { + name: "--description", + description: "New description of the team", + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--name", + description: "New name of the team", + args: { name: "name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + ], + }, + { + name: "user", + description: "Manage users", + subcommands: [ + { + name: "add", + description: "Add user", + options: [ + { + name: "--email-id", + description: "Email ID of the user", + args: { name: "email-id" }, + isRequired: true, + }, + { + name: "--license-type", + description: "License type for the user", + args: { + name: "license-type", + suggestions: [ + "advanced", + "earlyAdopter", + "express", + "professional", + "stakeholder", + ], + }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--send-email-invite", + description: "Whether to send email invite for new user or not", + args: { + name: "send-email-invite", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "list", + description: + "List users in an organization [except for users which are added via AAD groups]", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--skip", + description: "Offset: Number of records to skip", + args: { name: "skip" }, + }, + { + name: "--top", + description: + "Maximum number of users to return. Max value is 10000", + args: { name: "top" }, + }, + ], + }, + { + name: "remove", + description: "Remove user from an organization", + options: [ + { + name: "--user", + description: "Email ID or ID of the user", + args: { name: "user" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show user details", + options: [ + { + name: "--user", + description: "Email ID or ID of the user", + args: { name: "user" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "update", + description: "Update license type for a user", + options: [ + { + name: "--license-type", + description: "License type for the user", + args: { + name: "license-type", + suggestions: [ + "advanced", + "earlyAdopter", + "express", + "professional", + "stakeholder", + ], + }, + isRequired: true, + }, + { + name: "--user", + description: "Email ID or ID of the user", + args: { name: "user" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + ], + }, + { + name: "wiki", + description: "Manage wikis", + subcommands: [ + { + name: "create", + description: "Create a wiki", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--mapped-path", + description: + "[Required for codewiki type] Mapped path of the new wiki e.g. '/' to publish from root of repository", + args: { name: "mapped-path" }, + }, + { + name: "--name", + description: "Name of the new wiki", + args: { name: "name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--repository", "-r"], + description: + "[Required for codewiki type] Name or ID of the repository to publish the wiki from", + args: { name: "repository" }, + }, + { + name: ["--wiki-type", "--type"], + description: "Type of wiki to create", + args: { + name: "wiki-type", + suggestions: ["codewiki", "projectwiki"], + }, + }, + { + name: ["--version", "-v"], + description: + "[Required for codewiki type] Repository branch name to publish the code wiki from", + args: { name: "version" }, + }, + ], + }, + { + name: "delete", + description: "Delete a wiki", + options: [ + { + name: "--wiki", + description: "Name or Id of the wiki to delete", + args: { name: "wiki" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the wikis in a project or organization", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--scope", + description: "List the wikis at project or organization level", + args: { name: "scope", suggestions: ["organization", "project"] }, + }, + ], + }, + { + name: "show", + description: "Show details of a wiki", + options: [ + { + name: "--wiki", + description: "Name or Id of the wiki", + args: { name: "wiki" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--open", + description: "Open the wiki in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "page", + description: "Manage wiki pages", + subcommands: [ + { + name: "create", + description: "Add a new page", + options: [ + { + name: "--path", + description: "Path of the wiki page", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--wiki", + description: "Name or Id of the wiki", + args: { name: "wiki" }, + isRequired: true, + }, + { + name: "--comment", + description: + "Comment in the commit message of file add operation", + args: { name: "comment" }, + }, + { + name: "--content", + description: + "Content of the wiki page. Ignored if --file-path is specified", + args: { name: "content" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--encoding", + description: + "Encoding of the file. Used in conjunction with --file-path parameter", + args: { + name: "encoding", + suggestions: ["ascii", "utf-16be", "utf-16le", "utf-8"], + }, + }, + { + name: "--file-path", + description: + "Path of the file input if content is specified in the file", + args: { name: "file-path" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "delete", + description: "Delete a page", + options: [ + { + name: "--path", + description: "Path of the wiki page", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--wiki", + description: "Name or Id of the wiki", + args: { name: "wiki" }, + isRequired: true, + }, + { + name: "--comment", + description: + "Comment in the commit message of delete operation", + args: { name: "comment" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Get the content of a page or open a page", + options: [ + { + name: "--path", + description: "Path of the wiki page", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--wiki", + description: "Name or Id of the wiki", + args: { name: "wiki" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--include-content", + description: "Include content of the page", + }, + { + name: "--open", + description: "Open the wiki page in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--version", "-v"], + description: "Version (ETag) of the wiki page", + args: { name: "version" }, + }, + ], + }, + { + name: "update", + description: "Edit a page", + options: [ + { + name: "--path", + description: "Path of the wiki page", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--version", "-v"], + description: "Version (ETag) of file to edit", + args: { name: "version" }, + isRequired: true, + }, + { + name: "--wiki", + description: "Name or Id of the wiki", + args: { name: "wiki" }, + isRequired: true, + }, + { + name: "--comment", + description: + "Comment in the commit message of file edit operation", + args: { name: "comment" }, + }, + { + name: "--content", + description: + "Content of the wiki page. Ignored if --file-path is specified", + args: { name: "content" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--encoding", + description: + "Encoding of the file. Used in conjunction with --file-path parameter", + args: { + name: "encoding", + suggestions: ["ascii", "utf-16be", "utf-16le", "utf-8"], + }, + }, + { + name: "--file-path", + description: + "Path of the file input if content is specified in the file", + args: { name: "file-path" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/disk-access.ts b/src/az/2.53.0/disk-access.ts new file mode 100644 index 000000000000..653862dfcea4 --- /dev/null +++ b/src/az/2.53.0/disk-access.ts @@ -0,0 +1,254 @@ +const completion: Fig.Spec = { + name: "disk-access", + description: "Manage disk access resources", + subcommands: [ + { + name: "create", + description: "Create a disk access resource", + options: [ + { + name: ["--name", "-n"], + description: "Name of the disk access resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a disk access resource", + options: [ + { + name: ["--disk-access-name", "--name", "-n"], + description: + "The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters", + args: { name: "disk-access-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all the disk access resources under a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get information about a disk access resource", + options: [ + { + name: ["--disk-access-name", "--name", "-n"], + description: + "The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters", + args: { name: "disk-access-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a disk access resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the disk access resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--disk-access-name", "--name", "-n"], + description: + "The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters", + args: { name: "disk-access-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/disk-encryption-set.ts b/src/az/2.53.0/disk-encryption-set.ts new file mode 100644 index 000000000000..38d65e1ed02c --- /dev/null +++ b/src/az/2.53.0/disk-encryption-set.ts @@ -0,0 +1,483 @@ +const completion: Fig.Spec = { + name: "disk-encryption-set", + description: "Disk Encryption Set resource", + subcommands: [ + { + name: "create", + description: "Create a disk encryption set", + options: [ + { + name: "--key-url", + description: "URL pointing to a key or secret in KeyVault", + args: { name: "key-url" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of disk encryption set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--enable-auto-key-rotation", "--auto-rotation"], + description: "Enable automatic rotation of keys", + args: { + name: "enable-auto-key-rotation", + suggestions: ["false", "true"], + }, + }, + { + name: "--encryption-type", + description: + "The type of key used to encrypt the data of the disk. EncryptionAtRestWithPlatformKey: Disk is encrypted at rest with Platform managed key. It is the default encryption type. EncryptionAtRestWithCustomerKey: Disk is encrypted at rest with Customer managed key that can be changed and revoked by a customer. EncryptionAtRestWithPlatformAndCustomerKeys: Disk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed. ConfidentialVmEncryptedWithCustomerKey: An additional encryption type accepted for confidential VM. Disk is encrypted at rest with Customer managed key", + args: { + name: "encryption-type", + suggestions: [ + "ConfidentialVmEncryptedWithCustomerKey", + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys", + "EncryptionAtRestWithPlatformKey", + ], + }, + }, + { + name: "--federated-client-id", + description: "The federated client id used in cross tenant scenario", + args: { name: "federated-client-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mi-system-assigned", + description: + "Provide this flag to use system assigned identity. Check out help for more examples", + args: { name: "mi-system-assigned", suggestions: ["false", "true"] }, + }, + { + name: "--mi-user-assigned", + description: + "User Assigned Identity ids to be used for disk encryption set. Check out help for more examples", + args: { name: "mi-user-assigned" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--source-vault", + description: + "Name or ID of the KeyVault containing the key or secret", + args: { name: "source-vault" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a disk encryption set", + options: [ + { + name: ["--disk-encryption-set-name", "--name", "-n"], + description: "Name of disk encryption set", + args: { name: "disk-encryption-set-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List disk encryption sets", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-associated-resources", + description: + "List all resources that are encrypted with this disk encryption set", + options: [ + { + name: ["--disk-encryption-set-name", "--name", "-n"], + description: "Name of disk encryption set", + args: { name: "disk-encryption-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get information about a disk encryption set", + options: [ + { + name: ["--disk-encryption-set-name", "--name", "-n"], + description: "Name of disk encryption set", + args: { name: "disk-encryption-set-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a disk encryption set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--enable-auto-key-rotation", "--auto-rotation"], + description: "Enable automatic rotation of keys", + args: { + name: "enable-auto-key-rotation", + suggestions: ["false", "true"], + }, + }, + { + name: "--federated-client-id", + description: "The federated client id used in cross tenant scenario", + args: { name: "federated-client-id" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-url", + description: "URL pointing to a key or secret in KeyVault", + args: { name: "key-url" }, + }, + { + name: ["--name", "-n"], + description: "Name of disk encryption set", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--source-vault", + description: + "Name or ID of the KeyVault containing the key or secret", + args: { name: "source-vault" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--disk-encryption-set-name", "--name", "-n"], + description: "Name of disk encryption set", + args: { name: "disk-encryption-set-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "identity", + description: "Manage identities of a disk encryption set", + subcommands: [ + { + name: "assign", + description: + "Add managed identities to an existing disk encryption set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of disk encryption set", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--system-assigned", + description: + "Provide this flag to use system assigned identity for disk encryption set. Check out help for more examples", + args: { name: "system-assigned", suggestions: ["false", "true"] }, + }, + { + name: "--user-assigned", + description: + "User Assigned Identity ids to be used for disk encryption set. Check out help for more examples", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "remove", + description: + "Remove managed identities from an existing disk encryption set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of disk encryption set", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--system-assigned", + description: + "Provide this flag to use system assigned identity for disk encryption set. Check out help for more examples", + args: { name: "system-assigned", suggestions: ["false", "true"] }, + }, + { + name: "--user-assigned", + description: + "User Assigned Identity ids to be used for disk encryption set. Check out help for more examples", + args: { name: "user-assigned" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Display managed identities of a disk encryption set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of disk encryption set", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/disk-pool.ts b/src/az/2.53.0/disk-pool.ts new file mode 100644 index 000000000000..42a0c980667c --- /dev/null +++ b/src/az/2.53.0/disk-pool.ts @@ -0,0 +1,721 @@ +const completion: Fig.Spec = { + name: "disk-pool", + description: "Manage Azure disk pool", + subcommands: [ + { + name: "create", + description: + "Create Disk pool. This Create operation can take 15 minutes to complete. This is expected service behavior", + options: [ + { + name: ["--disk-pool-name", "--name", "-n"], + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: "Determines the SKU of the Disk Pool", + args: { name: "sku" }, + isRequired: true, + }, + { + name: "--subnet-id", + description: "Azure Resource ID of a Subnet for the Disk Pool", + args: { name: "subnet-id" }, + isRequired: true, + }, + { + name: ["--additional-capabilities", "-a"], + description: "List of additional capabilities for a Disk Pool", + args: { name: "additional-capabilities" }, + }, + { + name: "--availability-zones", + description: 'Logical zone for Disk Pool resource; example: ["1"]', + args: { name: "availability-zones" }, + }, + { + name: "--disks", + description: "List of Azure Managed Disks to attach to a Disk Pool", + args: { name: "disks" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--managed-by", + description: + "Azure resource id. Indicates if this resource is managed by another Azure resource", + args: { name: "managed-by" }, + }, + { + name: "--managed-by-extended", + description: "List of Azure resource ids that manage this resource", + args: { name: "managed-by-extended" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a Disk pool; attached disks are not affected. This delete operation can take 10 minutes to complete. This is expected service behavior", + options: [ + { + name: ["--disk-pool-name", "--name", "-n"], + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Gets a list of DiskPools in a resource group. And Gets a list of Disk Pools in a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-outbound-network-dependency-endpoint", + description: + "Gets the network endpoints of all outbound dependencies of a Disk Pool", + options: [ + { + name: ["--disk-pool-name", "--name", "-n"], + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-skus", + description: + "Lists available StoragePool resources and skus in an Azure location", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "list-zones", + description: "Lists available Disk Pool Skus in an Azure location", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "redeploy", + description: + "Redeploy replaces the underlying virtual machine hosts one at a time. This operation can take 10-15 minutes to complete. This is expected service behavior", + options: [ + { + name: ["--disk-pool-name", "--name", "-n"], + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get a Disk pool", + options: [ + { + name: ["--disk-pool-name", "--name", "-n"], + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: + "The operation to start a Disk Pool. This start operation can take 10 minutes to complete. This is expected service behavior", + options: [ + { + name: ["--disk-pool-name", "--name", "-n"], + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: + "Shuts down the Disk Pool and releases the compute resources. You are not billed for the compute resources that this Disk Pool uses. This operation can take 10 minutes to complete. This is expected service behavior", + options: [ + { + name: ["--disk-pool-name", "--name", "-n"], + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Disk pool", + options: [ + { + name: ["--disk-pool-name", "--name", "-n"], + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + }, + { + name: "--disks", + description: "List of Azure Managed Disks to attach to a Disk Pool", + args: { name: "disks" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--managed-by", + description: + "Azure resource id. Indicates if this resource is managed by another Azure resource", + args: { name: "managed-by" }, + }, + { + name: "--managed-by-extended", + description: "List of Azure resource ids that manage this resource", + args: { name: "managed-by-extended" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: "Determines the SKU of the Disk Pool", + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the disk-pool is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--disk-pool-name", "--name", "-n"], + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "iscsi-target", + description: "Manage iSCSI target with a Disk Pool", + subcommands: [ + { + name: "create", + description: "Create an iSCSI Target", + options: [ + { + name: "--acl-mode", + description: "Mode for Target connectivity", + args: { name: "acl-mode", suggestions: ["Dynamic", "Static"] }, + isRequired: true, + }, + { + name: "--disk-pool-name", + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + isRequired: true, + }, + { + name: ["--iscsi-target-name", "--name", "-n"], + description: "The name of the iSCSI Target", + args: { name: "iscsi-target-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--luns", + description: "List of LUNs to be exposed through iSCSI Target", + args: { name: "luns" }, + }, + { + name: "--managed-by", + description: + "Azure resource id. Indicates if this resource is managed by another Azure resource", + args: { name: "managed-by" }, + }, + { + name: "--managed-by-extended", + description: + "List of Azure resource ids that manage this resource", + args: { name: "managed-by-extended" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--static-acls", + description: + "Access Control List (ACL) for an iSCSI Target; defines LUN masking policy", + args: { name: "static-acls" }, + }, + { + name: "--target-iqn", + description: + 'ISCSI Target IQN (iSCSI Qualified Name); example: "iqn.2005-03.org.iscsi:server"', + args: { name: "target-iqn" }, + }, + ], + }, + { + name: "delete", + description: "Delete an iSCSI Target", + options: [ + { + name: "--disk-pool-name", + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--iscsi-target-name", "--name", "-n"], + description: "The name of the iSCSI Target", + args: { name: "iscsi-target-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get iSCSI Targets in a Disk pool", + options: [ + { + name: "--disk-pool-name", + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get an iSCSI Target", + options: [ + { + name: "--disk-pool-name", + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--iscsi-target-name", "--name", "-n"], + description: "The name of the iSCSI Target", + args: { name: "iscsi-target-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an iSCSI Target", + options: [ + { + name: "--disk-pool-name", + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--iscsi-target-name", "--name", "-n"], + description: "The name of the iSCSI Target", + args: { name: "iscsi-target-name" }, + }, + { + name: "--luns", + description: "List of LUNs to be exposed through iSCSI Target", + args: { name: "luns" }, + }, + { + name: "--managed-by", + description: + "Azure resource id. Indicates if this resource is managed by another Azure resource", + args: { name: "managed-by" }, + }, + { + name: "--managed-by-extended", + description: + "List of Azure resource ids that manage this resource", + args: { name: "managed-by-extended" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--static-acls", + description: + "Access Control List (ACL) for an iSCSI Target; defines LUN masking policy", + args: { name: "static-acls" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the disk-pool iscsi-target is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--disk-pool-name", + description: "The name of the Disk Pool", + args: { name: "disk-pool-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--iscsi-target-name", "--name", "-n"], + description: "The name of the iSCSI Target", + args: { name: "iscsi-target-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/disk.ts b/src/az/2.53.0/disk.ts new file mode 100644 index 000000000000..90df90c28c52 --- /dev/null +++ b/src/az/2.53.0/disk.ts @@ -0,0 +1,721 @@ +const completion: Fig.Spec = { + name: "disk", + description: + "Manage Azure Managed Disks.\n\n\t\tAzure Virtual Machines use disks as a place to store an operating system, applications, and data. All Azure virtual machines have at least two disks: An operating system disk, and a temporary disk. The operating system disk is created from an image, and both the operating system disk and the image are actually virtual hard disks (VHDs) stored in an Azure storage account. Virtual machines also can have one or more data disks, that are also stored as VHDs.\nAzure Unmanaged Data Disks have a maximum size of 4095 GB. To use disks larger than 4095 GB use Azure Managed Disks", + subcommands: [ + { + name: "create", + description: "Create a managed disk", + options: [ + { + name: ["--name", "-n"], + description: "The name of the managed disk", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--accelerated-network", + description: + "Customers can set on Managed Disks or Snapshots to enable the accelerated networking if the OS disk image support", + args: { name: "accelerated-network", suggestions: ["false", "true"] }, + }, + { + name: "--architecture", + description: "CPU architecture", + args: { name: "architecture", suggestions: ["Arm64", "x64"] }, + }, + { + name: "--data-access-auth-mode", + description: + "Specify the auth mode when exporting or uploading to a disk or snapshot", + args: { + name: "data-access-auth-mode", + suggestions: ["AzureActiveDirectory", "None"], + }, + }, + { + name: "--disk-access", + description: + "Name or ID of the disk access resource for using private endpoints on disks", + args: { name: "disk-access" }, + }, + { + name: "--disk-encryption-set", + description: + "Name or ID of disk encryption set that is used to encrypt the disk", + args: { name: "disk-encryption-set" }, + }, + { + name: "--disk-iops-read-only", + description: + "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes", + args: { name: "disk-iops-read-only" }, + }, + { + name: "--disk-iops-read-write", + description: + "The number of IOPS allowed for this disk. Only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes", + args: { name: "disk-iops-read-write" }, + }, + { + name: "--disk-mbps-read-only", + description: + "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10", + args: { name: "disk-mbps-read-only" }, + }, + { + name: "--disk-mbps-read-write", + description: + "The bandwidth allowed for this disk. Only settable for UltraSSD disks. MBps means millions of bytes per second with ISO notation of powers of 10", + args: { name: "disk-mbps-read-write" }, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: "--enable-bursting", + description: + "Enable on-demand bursting beyond the provisioned performance target of the disk. On-demand bursting is disabled by default, and it does not apply to Ultra disks", + args: { name: "enable-bursting", suggestions: ["false", "true"] }, + }, + { + name: "--encryption-type", + description: + "Encryption type. EncryptionAtRestWithPlatformKey: Disk is encrypted with XStore managed key at rest. It is the default encryption type. EncryptionAtRestWithCustomerKey: Disk is encrypted with Customer managed key at rest", + args: { + name: "encryption-type", + suggestions: [ + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys", + "EncryptionAtRestWithPlatformKey", + ], + }, + }, + { + name: "--gallery-image-reference", + description: + "ID of the Compute, Shared or Community Gallery image version from which to create a disk. For details about valid format, please refer to the help sample", + args: { name: "gallery-image-reference" }, + }, + { + name: "--gallery-image-reference-lun", + description: + "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null", + args: { name: "gallery-image-reference-lun" }, + }, + { + name: "--hyper-v-generation", + description: + "The hypervisor generation of the Virtual Machine. Applicable to OS disks only", + args: { name: "hyper-v-generation", suggestions: ["V1", "V2"] }, + }, + { + name: "--image-reference", + description: + "ID or URN (publisher:offer:sku:version) of the image from which to create a disk", + args: { name: "image-reference" }, + }, + { + name: "--image-reference-lun", + description: + "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null", + args: { name: "image-reference-lun" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. If location is not specified and no default location specified, location will be automatically set as same as the resource group", + args: { name: "location" }, + }, + { + name: "--logical-sector-size", + description: + "Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default", + args: { name: "logical-sector-size" }, + }, + { + name: "--max-shares", + description: + "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time", + args: { name: "max-shares" }, + }, + { + name: "--network-access-policy", + description: "Policy for accessing the disk via network", + args: { + name: "network-access-policy", + suggestions: ["AllowAll", "AllowPrivate", "DenyAll"], + }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--os-type", + description: "The Operating System type of the Disk", + args: { name: "os-type", suggestions: ["Linux", "Windows"] }, + }, + { + name: "--performance-plus", + description: + "Set this flag to true to get a boost on the performance target of the disk deployed. This flag can only be set on disk creation time and cannot be disabled after enabled", + args: { name: "performance-plus", suggestions: ["false", "true"] }, + }, + { + name: "--public-network-access", + description: + "Customers can set on Managed Disks or Snapshots to control the export policy on the disk", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--secure-vm-disk-encryption-set", + description: + "Name or ID of disk encryption set created with ConfidentialVmEncryptedWithCustomerKey encryption type", + args: { name: "secure-vm-disk-encryption-set" }, + }, + { + name: "--security-data-uri", + description: + "Please specify the blob URI of VHD to be imported into VM guest state", + args: { name: "security-data-uri" }, + }, + { + name: "--security-type", + description: + "The security type of the VM. Applicable for OS disks only", + args: { + name: "security-type", + suggestions: [ + "ConfidentialVM_DiskEncryptedWithCustomerKey", + "ConfidentialVM_DiskEncryptedWithPlatformKey", + "ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey", + "Standard", + "TrustedLaunch", + ], + }, + }, + { + name: ["--size-gb", "-z"], + description: + "Size in GB. Max size: 4095 GB (certain preview disks can be larger)", + args: { name: "size-gb" }, + }, + { + name: "--sku", + description: "Underlying storage SKU", + args: { + name: "sku", + suggestions: [ + "PremiumV2_LRS", + "Premium_LRS", + "Premium_ZRS", + "StandardSSD_LRS", + "StandardSSD_ZRS", + "Standard_LRS", + "UltraSSD_LRS", + ], + }, + }, + { + name: "--source", + description: + "Source to create the disk/snapshot from, including unmanaged blob uri, managed disk id or name, or snapshot id or name", + args: { name: "source" }, + }, + { + name: "--source-storage-account-id", + description: "Used when source blob is in a different subscription", + args: { name: "source-storage-account-id" }, + }, + { + name: "--support-hibernation", + description: "Indicate the OS on a disk supports hibernation", + args: { name: "support-hibernation", suggestions: ["false", "true"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/pricing/details/managed-disks/. Does not apply to Ultra disks", + args: { name: "tier" }, + }, + { + name: "--upload-size-bytes", + description: + "The size (in bytes) of the contents of the upload including the VHD footer. Min value: 20972032. Max value: 35183298347520. This parameter is required if --upload-type is specified", + args: { name: "upload-size-bytes" }, + }, + { + name: "--upload-type", + description: + "Create the disk for upload scenario. 'Upload' is for Standard disk only upload. 'UploadWithSecurityData' is for OS Disk upload along with VM Guest State. Please note the 'UploadWithSecurityData' is not valid for data disk upload, it only to be used for OS Disk upload at present", + args: { + name: "upload-type", + suggestions: ["Upload", "UploadWithSecurityData"], + }, + }, + { + name: "--zone", + description: "Availability zone into which to provision the resource", + args: { name: "zone", suggestions: ["1", "2", "3"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a managed disk", + options: [ + { + name: ["--disk-name", "--name", "-n"], + description: + "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters", + args: { name: "disk-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "grant-access", + description: "Grant a resource access to a managed disk", + options: [ + { + name: "--duration-in-seconds", + description: "Time duration in seconds until the SAS access expires", + args: { name: "duration-in-seconds" }, + isRequired: true, + }, + { + name: "--access-level", + description: "Access level", + args: { name: "access-level", suggestions: ["Read", "Write"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the managed disk", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--secure-vm-guest-state-sas", "-s"], + description: + "Get SAS on managed disk with VM guest state. It will be used by default when the create option of disk is 'secureOSUpload'", + args: { name: "secure-vm-guest-state-sas" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List managed disks", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "revoke-access", + description: "Revoke a resource's read access to a managed disk", + options: [ + { + name: ["--disk-name", "--name", "-n"], + description: + "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters", + args: { name: "disk-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get information about a disk", + options: [ + { + name: ["--disk-name", "--name", "-n"], + description: + "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters", + args: { name: "disk-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a managed disk", + options: [ + { + name: "--accelerated-network", + description: + "Customers can set on Managed Disks or Snapshots to enable the accelerated networking if the OS disk image support", + args: { name: "accelerated-network", suggestions: ["false", "true"] }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--architecture", + description: "CPU architecture", + args: { name: "architecture", suggestions: ["Arm64", "x64"] }, + }, + { + name: "--data-access-auth-mode", + description: + "Specify the auth mode when exporting or uploading to a disk or snapshot", + args: { + name: "data-access-auth-mode", + suggestions: ["AzureActiveDirectory", "None"], + }, + }, + { + name: "--disk-access", + description: + "Name or ID of the disk access resource for using private endpoints on disks", + args: { name: "disk-access" }, + }, + { + name: "--disk-encryption-set", + description: + "Name or ID of disk encryption set that is used to encrypt the disk", + args: { name: "disk-encryption-set" }, + }, + { + name: "--disk-iops-read-only", + description: + "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes", + args: { name: "disk-iops-read-only" }, + }, + { + name: "--disk-iops-read-write", + description: + "The number of IOPS allowed for this disk. Only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes", + args: { name: "disk-iops-read-write" }, + }, + { + name: "--disk-mbps-read-only", + description: + "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10", + args: { name: "disk-mbps-read-only" }, + }, + { + name: "--disk-mbps-read-write", + description: + "The bandwidth allowed for this disk. Only settable for UltraSSD disks. MBps means millions of bytes per second with ISO notation of powers of 10", + args: { name: "disk-mbps-read-write" }, + }, + { + name: "--enable-bursting", + description: + "Enable on-demand bursting beyond the provisioned performance target of the disk. On-demand bursting is disabled by default, and it does not apply to Ultra disks", + args: { name: "enable-bursting", suggestions: ["false", "true"] }, + }, + { + name: "--encryption-type", + description: + "Encryption type. EncryptionAtRestWithPlatformKey: Disk is encrypted with XStore managed key at rest. It is the default encryption type. EncryptionAtRestWithCustomerKey: Disk is encrypted with Customer managed key at rest", + args: { + name: "encryption-type", + suggestions: [ + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys", + "EncryptionAtRestWithPlatformKey", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--max-shares", + description: + "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time", + args: { name: "max-shares" }, + }, + { + name: ["--name", "-n"], + description: "The name of the managed disk", + args: { name: "name" }, + }, + { + name: "--network-access-policy", + description: "Policy for accessing the disk via network", + args: { + name: "network-access-policy", + suggestions: ["AllowAll", "AllowPrivate", "DenyAll"], + }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--public-network-access", + description: + "Customers can set on Managed Disks or Snapshots to control the export policy on the disk", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: ["--size-gb", "-z"], + description: + "Size in GB. Max size: 4095 GB (certain preview disks can be larger)", + args: { name: "size-gb" }, + }, + { + name: "--sku", + description: "Underlying storage SKU", + args: { + name: "sku", + suggestions: [ + "PremiumV2_LRS", + "Premium_LRS", + "Premium_ZRS", + "StandardSSD_LRS", + "StandardSSD_ZRS", + "Standard_LRS", + "UltraSSD_LRS", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--disk-name", "--name", "-n"], + description: + "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters", + args: { name: "disk-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/dla.ts b/src/az/2.53.0/dla.ts new file mode 100644 index 000000000000..edee4881eecf --- /dev/null +++ b/src/az/2.53.0/dla.ts @@ -0,0 +1,3065 @@ +const completion: Fig.Spec = { + name: "dla", + description: "Manage Data Lake Analytics accounts, jobs, and catalogs", + subcommands: [ + { + name: "account", + description: "Manage Data Lake Analytics accounts", + subcommands: [ + { + name: "create", + description: "Create a Data Lake Analytics account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + isRequired: true, + }, + { + name: "--default-data-lake-store", + description: + "The default Data Lake Store account to associate with the created account", + args: { name: "default-data-lake-store" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--max-degree-of-parallelism", + description: "The maximum degree of parallelism for this account", + args: { name: "max-degree-of-parallelism" }, + }, + { + name: "--max-job-count", + description: + "The maximum number of concurrent jobs for this account", + args: { name: "max-job-count" }, + }, + { + name: "--query-store-retention", + description: "The number of days to retain job metadata", + args: { name: "query-store-retention" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "The desired commitment tier for this account to use", + args: { + name: "tier", + suggestions: [ + "Commitment_100000AUHours", + "Commitment_10000AUHours", + "Commitment_1000AUHours", + "Commitment_100AUHours", + "Commitment_500000AUHours", + "Commitment_50000AUHours", + "Commitment_5000AUHours", + "Commitment_500AUHours", + "Consumption", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a Data Lake Analytics account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List available Data Lake Analytics accounts", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a Data Lake Analytics account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Data Lake Analytics account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--allow-azure-ips", + description: + "Allow or block IPs originating from Azure through the firewall", + args: { + name: "allow-azure-ips", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--firewall-state", + description: "Enable or disable existing firewall rules", + args: { + name: "firewall-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--max-degree-of-parallelism", + description: "The maximum degree of parallelism for this account", + args: { name: "max-degree-of-parallelism" }, + }, + { + name: "--max-job-count", + description: + "The maximum number of concurrent jobs for this account", + args: { name: "max-job-count" }, + }, + { + name: "--query-store-retention", + description: "The number of days to retain job metadata", + args: { name: "query-store-retention" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "The desired commitment tier for this account to use", + args: { + name: "tier", + suggestions: [ + "Commitment_100000AUHours", + "Commitment_10000AUHours", + "Commitment_1000AUHours", + "Commitment_100AUHours", + "Commitment_500000AUHours", + "Commitment_50000AUHours", + "Commitment_5000AUHours", + "Commitment_500AUHours", + "Consumption", + ], + }, + }, + ], + }, + { + name: "blob-storage", + description: + "Manage links between Data Lake Analytics accounts and Azure Storage", + subcommands: [ + { + name: "add", + description: + "Links an Azure Storage account to the specified Data Lake Analytics account", + options: [ + { + name: "--access-key", + description: + "The access key associated with this Azure Storage account that will be used to connect to it", + args: { name: "access-key" }, + isRequired: true, + }, + { + name: "--storage-account-name", + description: "Name of an existing storage account to link to", + args: { name: "storage-account-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--suffix", + description: "The optional suffix for the storage account", + args: { name: "suffix" }, + }, + ], + }, + { + name: "delete", + description: + "Updates the specified Data Lake Analytics account to remove an Azure Storage account", + options: [ + { + name: "--storage-account-name", + description: "Name of an existing storage account to link to", + args: { name: "storage-account-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Gets the first page of Azure Storage accounts, if any, linked to the specified Data Lake Analytics account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--count", + description: + "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true", + args: { name: "count" }, + }, + { + name: "--filter", + description: "The OData filter. Optional", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--orderby", + description: + 'OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you\'d like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional', + args: { name: "orderby" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--select", + description: + "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional", + args: { name: "select" }, + }, + { + name: "--skip", + description: + "The number of items to skip over before returning elements", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "Maximum number of items to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Gets the specified Azure Storage account linked to the given Data Lake Analytics account", + options: [ + { + name: "--storage-account-name", + description: "Name of an existing storage account to link to", + args: { name: "storage-account-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Updates an Azure Storage account linked to the specified Data Lake Analytics account", + options: [ + { + name: "--access-key", + description: + "The access key associated with this Azure Storage account that will be used to connect to it", + args: { name: "access-key" }, + isRequired: true, + }, + { + name: "--storage-account-name", + description: "Name of an existing storage account to link to", + args: { name: "storage-account-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--suffix", + description: "The optional suffix for the storage account", + args: { name: "suffix" }, + }, + ], + }, + ], + }, + { + name: "compute-policy", + description: "Manage Data Lake Analytics account compute policies", + subcommands: [ + { + name: "create", + description: + "Create a compute policy in the Data Lake Analytics account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + isRequired: true, + }, + { + name: "--compute-policy-name", + description: "The name of the compute policy to create", + args: { name: "compute-policy-name" }, + isRequired: true, + }, + { + name: "--object-id", + description: + "The Azure Active Directory object ID of the user, group, or service principal to apply the policy to", + args: { name: "object-id" }, + isRequired: true, + }, + { + name: "--object-type", + description: + "The Azure Active Directory object type associated with the supplied object ID", + args: { name: "object-type" }, + isRequired: true, + }, + { + name: "--max-dop-per-job", + description: + "The maximum degree of parallelism allowed per job for this policy. At least one of --min-priority-per-job and --max-dop-per-job must be specified", + args: { name: "max-dop-per-job" }, + }, + { + name: "--min-priority-per-job", + description: + "The minimum priority allowed per job for this policy. At least one of --min-priority-per-job and --max-dop-per-job must be specified", + args: { name: "min-priority-per-job" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a compute policy in a Data Lake Analytics account", + options: [ + { + name: "--compute-policy-name", + description: "The name of the compute policy to delete", + args: { name: "compute-policy-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List compute policies in the a Lake Analytics account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Retrieve a compute policy in a Data Lake Analytics account", + options: [ + { + name: "--compute-policy-name", + description: "The name of the compute policy to retrieve", + args: { name: "compute-policy-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a compute policy in the Data Lake Analytics account", + options: [ + { + name: "--compute-policy-name", + description: "The name of the compute policy to update", + args: { name: "compute-policy-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--max-dop-per-job", + description: + "The maximum degree of parallelism allowed per job for this policy. At least one of --min-priority-per-job and --max-dop-per-job must be specified", + args: { name: "max-dop-per-job" }, + }, + { + name: "--min-priority-per-job", + description: + "The minimum priority allowed per job for this policy. At least one of --min-priority-per-job and --max-dop-per-job must be specified", + args: { name: "min-priority-per-job" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "data-lake-store", + description: + "Manage links between Data Lake Analytics and Data Lake Store accounts", + subcommands: [ + { + name: "add", + description: + "Updates the specified Data Lake Analytics account to include the additional Data Lake Store account", + options: [ + { + name: "--data-lake-store-account-name", + description: "The name of the Data Lake Store account to add", + args: { name: "data-lake-store-account-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--suffix", + description: + "The optional suffix for the Data Lake Store account", + args: { name: "suffix" }, + }, + ], + }, + { + name: "delete", + description: + "Updates the Data Lake Analytics account specified to remove the specified Data Lake Store account", + options: [ + { + name: "--data-lake-store-account-name", + description: + "The name of the Data Lake Store account to remove", + args: { name: "data-lake-store-account-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Gets the first page of Data Lake Store accounts linked to the specified Data Lake Analytics account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--count", + description: + "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true", + args: { name: "count" }, + }, + { + name: "--filter", + description: "OData filter. Optional", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--orderby", + description: + 'OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you\'d like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional', + args: { name: "orderby" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--select", + description: + "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional", + args: { name: "select" }, + }, + { + name: "--skip", + description: + "The number of items to skip over before returning elements", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "Maximum number of items to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Gets the specified Data Lake Store account details in the specified Data Lake Analytics account", + options: [ + { + name: "--data-lake-store-account-name", + description: + "The name of the Data Lake Store account to retrieve", + args: { name: "data-lake-store-account-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "firewall", + description: "Manage Data Lake Analytics account firewall rules", + subcommands: [ + { + name: "create", + description: + "Create a firewall rule in a Data Lake Analytics account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + isRequired: true, + }, + { + name: "--end-ip-address", + description: + "The end of the valid IP range for the firewall rule", + args: { name: "end-ip-address" }, + isRequired: true, + }, + { + name: "--firewall-rule-name", + description: "The name of the firewall rule", + args: { name: "firewall-rule-name" }, + isRequired: true, + }, + { + name: "--start-ip-address", + description: + "The start of the valid IP range for the firewall rule", + args: { name: "start-ip-address" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a firewall rule in a Data Lake Analytics account", + options: [ + { + name: "--firewall-rule-name", + description: "The name of the firewall rule to delete", + args: { name: "firewall-rule-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List firewall rules in a Data Lake Analytics account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Retrieve a firewall rule in a Data Lake Analytics account", + options: [ + { + name: "--firewall-rule-name", + description: "The name of the firewall rule to retrieve", + args: { name: "firewall-rule-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a firewall rule in a Data Lake Analytics account", + options: [ + { + name: "--firewall-rule-name", + description: "The name of the firewall rule to update", + args: { name: "firewall-rule-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--end-ip-address", + description: + "The end IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol", + args: { name: "end-ip-address" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Analytics account", + args: { name: "resource-group" }, + }, + { + name: "--start-ip-address", + description: + "The start IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol", + args: { name: "start-ip-address" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "catalog", + description: "Manage Data Lake Analytics catalogs", + subcommands: [ + { + name: "assembly", + description: "Manage Data Lake Analytics catalog assemblies", + subcommands: [ + { + name: "list", + description: + "Retrieves the list of assemblies from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: + "The name of the database containing the assembly", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--count", + description: + "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true", + args: { name: "count" }, + }, + { + name: "--filter", + description: "OData filter. Optional", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--orderby", + description: + 'OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you\'d like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional', + args: { name: "orderby" }, + }, + { + name: "--select", + description: + "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional", + args: { name: "select" }, + }, + { + name: "--skip", + description: + "The number of items to skip over before returning elements", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "Maximum number of items to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Retrieves the specified assembly from the Data Lake Analytics catalog", + options: [ + { + name: "--assembly-name", + description: "The name of the assembly", + args: { name: "assembly-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: + "The name of the database containing the assembly", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "credential", + description: "Manage Data Lake Analytics catalog credentials", + subcommands: [ + { + name: "create", + description: + "Create a new catalog credential for use with an external data source", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + isRequired: true, + }, + { + name: "--credential-name", + description: "The name of the credential", + args: { name: "credential-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: + "The name of the database in which to create the credential", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--uri", + description: "URI of the external data source", + args: { name: "uri" }, + isRequired: true, + }, + { + name: "--user-name", + description: + "The user name that will be used when authenticating with this credential", + args: { name: "user-name" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: + "Password for the credential user. Will prompt if not given", + args: { name: "password" }, + }, + ], + }, + { + name: "delete", + description: "Delete a catalog credential", + options: [ + { + name: "--credential-name", + description: "The name of the credential to delete", + args: { name: "credential-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: + "The name of the database containing the credential", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--cascade", + description: + "Indicates if the delete should be a cascading delete (which deletes all resources dependent on the credential as well as the credential) or not. If false will fail if there are any resources relying on the credential", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--password", + description: + "The current password for the credential and user with access to the data source. This is required if the requester is not the account owner", + args: { name: "password" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List catalog credentials", + options: [ + { + name: "--database-name", + description: "The name of the database containing the schema", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--count", + description: + "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true", + args: { name: "count" }, + }, + { + name: "--filter", + description: "OData filter. Optional", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--orderby", + description: + 'OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you\'d like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional', + args: { name: "orderby" }, + }, + { + name: "--select", + description: + "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional", + args: { name: "select" }, + }, + { + name: "--skip", + description: + "The number of items to skip over before returning elements", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "Maximum number of items to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Retrieve a catalog credential", + options: [ + { + name: "--credential-name", + description: "The name of the credential", + args: { name: "credential-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: "The name of the database containing the schema", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a catalog credential for use with an external data source", + options: [ + { + name: "--credential-name", + description: "The name of the credential to update", + args: { name: "credential-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: + "The name of the database in which the credential exists", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--uri", + description: "URI of the external data source", + args: { name: "uri" }, + isRequired: true, + }, + { + name: "--user-name", + description: + "The user name associated with the credential that will have its password updated", + args: { name: "user-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--new-password", + description: + "New password for the credential user. Will prompt if not given", + args: { name: "new-password" }, + }, + { + name: ["--password", "-p"], + description: + "Current password for the credential user. Will prompt if not given", + args: { name: "password" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "database", + description: "Manage Data Lake Analytics catalog databases", + subcommands: [ + { + name: "list", + description: + "Retrieves the list of databases from the Data Lake Analytics catalog", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--count", + description: + "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true", + args: { name: "count" }, + }, + { + name: "--filter", + description: "OData filter. Optional", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--orderby", + description: + 'OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you\'d like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional', + args: { name: "orderby" }, + }, + { + name: "--select", + description: + "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional", + args: { name: "select" }, + }, + { + name: "--skip", + description: + "The number of items to skip over before returning elements", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "Maximum number of items to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Retrieves the specified database from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: "The name of the database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "external-data-source", + description: + "Manage Data Lake Analytics catalog external data sources", + subcommands: [ + { + name: "list", + description: + "Retrieves the list of external data sources from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: + "The name of the database containing the external data sources", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--count", + description: + "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true", + args: { name: "count" }, + }, + { + name: "--filter", + description: "OData filter. Optional", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--orderby", + description: + 'OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you\'d like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional', + args: { name: "orderby" }, + }, + { + name: "--select", + description: + "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional", + args: { name: "select" }, + }, + { + name: "--skip", + description: + "The number of items to skip over before returning elements", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "Maximum number of items to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Retrieves the specified external data source from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: + "The name of the database containing the external data source", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--external-data-source-name", + description: "The name of the external data source", + args: { name: "external-data-source-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "package", + description: "Manage Data Lake Analytics catalog packages", + subcommands: [ + { + name: "list", + description: + "Retrieves the list of packages from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: + "The name of the database containing the packages", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--schema-name", + description: "The name of the schema containing the packages", + args: { name: "schema-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--count", + description: + "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true", + args: { name: "count" }, + }, + { + name: "--filter", + description: "OData filter. Optional", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--orderby", + description: + 'OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you\'d like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional', + args: { name: "orderby" }, + }, + { + name: "--select", + description: + "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional", + args: { name: "select" }, + }, + { + name: "--skip", + description: + "The number of items to skip over before returning elements", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "Maximum number of items to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Retrieves the specified package from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: + "The name of the database containing the package", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--package-name", + description: "The name of the package", + args: { name: "package-name" }, + isRequired: true, + }, + { + name: "--schema-name", + description: "The name of the schema containing the package", + args: { name: "schema-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "procedure", + description: "Manage Data Lake Analytics catalog stored procedures", + subcommands: [ + { + name: "list", + description: + "Retrieves the list of procedures from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: + "The name of the database containing the procedures", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--schema-name", + description: + "The name of the schema containing the procedures", + args: { name: "schema-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--count", + description: + "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true", + args: { name: "count" }, + }, + { + name: "--filter", + description: "OData filter. Optional", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--orderby", + description: + 'OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you\'d like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional', + args: { name: "orderby" }, + }, + { + name: "--select", + description: + "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional", + args: { name: "select" }, + }, + { + name: "--skip", + description: + "The number of items to skip over before returning elements", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "Maximum number of items to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Retrieves the specified procedure from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: + "The name of the database containing the procedure", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--procedure-name", + description: "The name of the procedure", + args: { name: "procedure-name" }, + isRequired: true, + }, + { + name: "--schema-name", + description: + "The name of the schema containing the procedure", + args: { name: "schema-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "schema", + description: "Manage Data Lake Analytics catalog schemas", + subcommands: [ + { + name: "list", + description: + "Retrieves the list of schemas from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: "The name of the database containing the schema", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--count", + description: + "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true", + args: { name: "count" }, + }, + { + name: "--filter", + description: "OData filter. Optional", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--orderby", + description: + 'OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you\'d like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional', + args: { name: "orderby" }, + }, + { + name: "--select", + description: + "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional", + args: { name: "select" }, + }, + { + name: "--skip", + description: + "The number of items to skip over before returning elements", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "Maximum number of items to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Retrieves the specified schema from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: "The name of the database containing the schema", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--schema-name", + description: "The name of the schema", + args: { name: "schema-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "table", + description: "Manage Data Lake Analytics catalog tables", + subcommands: [ + { + name: "list", + description: "List tables in a database or schema", + options: [ + { + name: "--database-name", + description: "The name of the database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--schema-name", + description: "The schema assocated with the tables to list", + args: { name: "schema-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Retrieves the specified table from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: "The name of the database containing the table", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--schema-name", + description: "The name of the schema containing the table", + args: { name: "schema-name" }, + isRequired: true, + }, + { + name: "--table-name", + description: "The name of the table", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "table-partition", + description: "Manage Data Lake Analytics catalog table partitions", + subcommands: [ + { + name: "list", + description: + "Retrieves the list of table partitions from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: + "The name of the database containing the partitions", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--schema-name", + description: + "The name of the schema containing the partitions", + args: { name: "schema-name" }, + isRequired: true, + }, + { + name: "--table-name", + description: + "The name of the table containing the partitions", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--count", + description: + "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true", + args: { name: "count" }, + }, + { + name: "--filter", + description: "OData filter. Optional", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--orderby", + description: + 'OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you\'d like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional', + args: { name: "orderby" }, + }, + { + name: "--select", + description: + "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional", + args: { name: "select" }, + }, + { + name: "--skip", + description: + "The number of items to skip over before returning elements", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "Maximum number of items to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Retrieves the specified table partition from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: + "The name of the database containing the partition", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--partition-name", + description: "The name of the table partition", + args: { name: "partition-name" }, + isRequired: true, + }, + { + name: "--schema-name", + description: + "The name of the schema containing the partition", + args: { name: "schema-name" }, + isRequired: true, + }, + { + name: "--table-name", + description: "The name of the table containing the partition", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "table-stats", + description: "Manage Data Lake Analytics catalog table statistics", + subcommands: [ + { + name: "list", + description: + "List table statistics in a database, table, or schema", + options: [ + { + name: "--database-name", + description: "The name of the database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--schema-name", + description: "The schema associated with the tables to list", + args: { name: "schema-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--table-name", + description: + "The table to list statistics for. --schema-name must also be specified", + args: { name: "table-name" }, + }, + ], + }, + { + name: "show", + description: + "Retrieves the specified table statistics from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: + "The name of the database containing the statistics", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--schema-name", + description: + "The name of the schema containing the statistics", + args: { name: "schema-name" }, + isRequired: true, + }, + { + name: "--statistics-name", + description: "The name of the table statistics", + args: { name: "statistics-name" }, + isRequired: true, + }, + { + name: "--table-name", + description: + "The name of the table containing the statistics", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "table-type", + description: "Manage Data Lake Analytics catalog table types", + subcommands: [ + { + name: "list", + description: + "Retrieves the list of table types from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: + "The name of the database containing the table types", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--schema-name", + description: + "The name of the schema containing the table types", + args: { name: "schema-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--count", + description: + "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true", + args: { name: "count" }, + }, + { + name: "--filter", + description: "OData filter. Optional", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--orderby", + description: + 'OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you\'d like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional', + args: { name: "orderby" }, + }, + { + name: "--select", + description: + "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional", + args: { name: "select" }, + }, + { + name: "--skip", + description: + "The number of items to skip over before returning elements", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "Maximum number of items to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Retrieves the specified table type from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: + "The name of the database containing the table type", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--schema-name", + description: + "The name of the schema containing the table type", + args: { name: "schema-name" }, + isRequired: true, + }, + { + name: "--table-type-name", + description: "The name of the table type to retrieve", + args: { name: "table-type-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "tvf", + description: + "Manage Data Lake Analytics catalog table valued functions", + subcommands: [ + { + name: "list", + description: + "List table valued functions in a database or schema", + options: [ + { + name: "--database-name", + description: "The name of the database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--schema-name", + description: + "The name of the schema assocated with table valued functions to list", + args: { name: "schema-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Retrieves the specified table valued function from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: + "The name of the database containing the table valued function", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--schema-name", + description: + "The name of the schema containing the table valued function", + args: { name: "schema-name" }, + isRequired: true, + }, + { + name: "--table-valued-function-name", + description: "The name of the tableValuedFunction", + args: { name: "table-valued-function-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "view", + description: "Manage Data Lake Analytics catalog views", + subcommands: [ + { + name: "list", + description: "List views in a database or schema", + options: [ + { + name: "--database-name", + description: "The name of the database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--schema-name", + description: + "The name of the schema associated with the views to list", + args: { name: "schema-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Retrieves the specified view from the Data Lake Analytics catalog", + options: [ + { + name: "--database-name", + description: "The name of the database containing the view", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--schema-name", + description: "The name of the schema containing the view", + args: { name: "schema-name" }, + isRequired: true, + }, + { + name: "--view-name", + description: "The name of the view", + args: { name: "view-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "job", + description: "Manage Data Lake Analytics jobs", + subcommands: [ + { + name: "cancel", + description: "Cancel a Data Lake Analytics job", + options: [ + { + name: "--job-identity", + description: "JobInfo ID to cancel", + args: { name: "job-identity" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Data Lake Analytics jobs", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: + "A filter which returns jobs only by the specified friendly name", + args: { name: "name" }, + }, + { + name: "--pipeline-id", + description: + "A filter which returns jobs only containing the specified pipeline_id", + args: { name: "pipeline-id" }, + }, + { + name: "--recurrence-id", + description: + "A filter which returns jobs only containing the specified recurrence_id", + args: { name: "recurrence-id" }, + }, + { + name: "--result", + description: + "A filter which returns jobs with only the specified result(s)", + args: { + name: "result", + suggestions: ["Cancelled", "Failed", "None", "Succeeded"], + }, + }, + { + name: "--state", + description: + "A filter which returns jobs with only the specified state(s)", + args: { + name: "state", + suggestions: [ + "Accepted", + "Compiling", + "Ended", + "New", + "Paused", + "Queued", + "Running", + "Scheduling", + "Starting", + "WaitingForCapacity", + ], + }, + }, + { + name: "--submitted-after", + description: + "A filter which returns jobs only submitted after the specified time, in ISO-8601 format", + args: { name: "submitted-after" }, + }, + { + name: "--submitted-before", + description: + "A filter which returns jobs only submitted before the specified time, in ISO-8601 format", + args: { name: "submitted-before" }, + }, + { + name: "--submitter", + description: + "A filter which returns jobs only by the specified submitter", + args: { name: "submitter" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "Maximum number of items to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get information for a Data Lake Analytics job", + options: [ + { + name: "--job-identity", + description: "JobInfo ID", + args: { name: "job-identity" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "submit", + description: "Submit a job to a Data Lake Analytics account", + options: [ + { + name: "--job-name", + description: "Name for the submitted job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: "--script", + description: + "Script to submit. This may be '@{file}' to load from a file", + args: { name: "script" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--compile-mode", + description: + "Indicates the type of compilation to be done on this job. Valid values are: 'Semantic' (Only performs semantic checks and necessary sanity checks), 'Full' (full compilation) and 'SingleBox' (Full compilation performed locally)", + args: { + name: "compile-mode", + suggestions: ["Full", "Semantic", "SingleBox"], + }, + }, + { + name: "--compile-only", + description: + "Indicates that the submission should only build the job and not execute if set to true", + }, + { + name: "--degree-of-parallelism", + description: "The degree of parallelism for the job", + args: { name: "degree-of-parallelism" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--pipeline-id", + description: "Job relationship pipeline GUID", + args: { name: "pipeline-id" }, + }, + { + name: "--pipeline-name", + description: "Friendly name of the job relationship pipeline", + args: { name: "pipeline-name" }, + }, + { + name: "--pipeline-uri", + description: + "Unique pipeline URI which links to the originating service for this pipeline", + args: { name: "pipeline-uri" }, + }, + { + name: "--priority", + description: "The priority of the job", + args: { name: "priority" }, + }, + { + name: "--recurrence-id", + description: + "Recurrence GUID, unique per activity/script, regardless of iteration. Links different occurrences of the same job together", + args: { name: "recurrence-id" }, + }, + { + name: "--recurrence-name", + description: + "Friendly recurrence nae for the correlation between jobs", + args: { name: "recurrence-name" }, + }, + { + name: "--run-id", + description: "GUID of the iteration of this pipeline", + args: { name: "run-id" }, + }, + { + name: "--runtime-version", + description: "The runtime version to use", + args: { name: "runtime-version" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: "Wait for a Data Lake Analytics job to finish", + options: [ + { + name: "--job-id", + description: "Job ID to poll for completion", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--max-wait-time-sec", + description: + "The maximum amount of time to wait before erroring out. Default value is to never timeout. Any value <= 0 means never timeout", + args: { name: "max-wait-time-sec" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--wait-interval-sec", + description: + "The polling interval between checks for the job status, in seconds", + args: { name: "wait-interval-sec" }, + }, + ], + }, + { + name: "pipeline", + description: "Manage Data Lake Analytics job pipelines", + subcommands: [ + { + name: "list", + description: + "List job pipelines in a Data Lake Analytics account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--end-date-time", + description: + "The end date for when to get the list of pipelines. The startDateTime and endDateTime can be no more than 30 days apart", + args: { name: "end-date-time" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--start-date-time", + description: + "The start date for when to get the list of pipelines. The startDateTime and endDateTime can be no more than 30 days apart", + args: { name: "start-date-time" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Retrieve a job pipeline in a Data Lake Analytics account", + options: [ + { + name: "--pipeline-identity", + description: "Pipeline ID", + args: { name: "pipeline-identity" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--end-date-time", + description: + "The end date for when to get the pipeline and aggregate its data. The startDateTime and endDateTime can be no more than 30 days apart", + args: { name: "end-date-time" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--start-date-time", + description: + "The start date for when to get the pipeline and aggregate its data. The startDateTime and endDateTime can be no more than 30 days apart", + args: { name: "start-date-time" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "recurrence", + description: "Manage Data Lake Analytics job recurrences", + subcommands: [ + { + name: "list", + description: + "List job recurrences in a Data Lake Analytics account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--end-date-time", + description: + "The end date for when to get the list of recurrences. The startDateTime and endDateTime can be no more than 30 days apart", + args: { name: "end-date-time" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--start-date-time", + description: + "The start date for when to get the list of recurrences. The startDateTime and endDateTime can be no more than 30 days apart", + args: { name: "start-date-time" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Retrieve a job recurrence in a Data Lake Analytics account", + options: [ + { + name: "--recurrence-identity", + description: "Recurrence ID", + args: { name: "recurrence-identity" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Analytics account", + args: { name: "account" }, + }, + { + name: "--end-date-time", + description: + "The end date for when to get recurrence and aggregate its data. The startDateTime and endDateTime can be no more than 30 days apart", + args: { name: "end-date-time" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--start-date-time", + description: + "The start date for when to get the recurrence and aggregate its data. The startDateTime and endDateTime can be no more than 30 days apart", + args: { name: "start-date-time" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/dls.ts b/src/az/2.53.0/dls.ts new file mode 100644 index 000000000000..b65459dbbaa1 --- /dev/null +++ b/src/az/2.53.0/dls.ts @@ -0,0 +1,1661 @@ +const completion: Fig.Spec = { + name: "dls", + description: "Manage Data Lake Store accounts and filesystems", + subcommands: [ + { + name: "account", + description: "Manage Data Lake Store accounts", + subcommands: [ + { + name: "create", + description: "Creates a Data Lake Store account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + isRequired: true, + }, + { + name: "--default-group", + description: + "Name of the default group to give permissions to for freshly created files and folders in the Data Lake Store account", + args: { name: "default-group" }, + }, + { + name: "--disable-encryption", + description: + "Indicates that the account will not have any form of encryption applied to it", + }, + { + name: "--encryption-type", + description: + "Indicates what type of encryption to provision the account with. By default, encryption is ServiceManaged. If no encryption is desired, it must be explicitly set with the --disable-encryption flag", + args: { + name: "encryption-type", + suggestions: ["ServiceManaged", "UserManaged"], + }, + }, + { + name: "--key-name", + description: "Key name for the user-assigned encryption type", + args: { name: "key-name" }, + }, + { + name: "--key-vault-id", + description: "Key vault for the user-assigned encryption type", + args: { name: "key-vault-id" }, + }, + { + name: "--key-version", + description: "Key version for the user-assigned encryption type", + args: { name: "key-version" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "The desired commitment tier for this account to use", + args: { + name: "tier", + suggestions: [ + "Commitment_100TB", + "Commitment_10TB", + "Commitment_1PB", + "Commitment_1TB", + "Commitment_500TB", + "Commitment_5PB", + "Consumption", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a Data Lake Store account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Store account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "enable-key-vault", + description: + "Enable the use of Azure Key Vault for encryption of a Data Lake Store account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Store account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Lists available Data Lake Store accounts", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a Data Lake Store account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Store account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates a Data Lake Store account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--allow-azure-ips", + description: + "Allow/block Azure originating IPs through the firewall", + args: { + name: "allow-azure-ips", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--default-group", + description: + "Name of the default group to give permissions to for freshly created files and folders in the Data Lake Store account", + args: { name: "default-group" }, + }, + { + name: "--firewall-state", + description: "Enable/disable existing firewall rules", + args: { + name: "firewall-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-version", + description: "Key version for the user-assigned encryption type", + args: { name: "key-version" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Store account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "The desired commitment tier for this account to use", + args: { + name: "tier", + suggestions: [ + "Commitment_100TB", + "Commitment_10TB", + "Commitment_1PB", + "Commitment_1TB", + "Commitment_500TB", + "Commitment_5PB", + "Consumption", + ], + }, + }, + { + name: "--trusted-id-provider-state", + description: "Enable/disable the existing trusted ID providers", + args: { + name: "trusted-id-provider-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + ], + }, + { + name: "firewall", + description: "Manage Data Lake Store account firewall rules", + subcommands: [ + { + name: "create", + description: + "Creates a firewall rule in a Data Lake Store account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + isRequired: true, + }, + { + name: "--end-ip-address", + description: + "The end of the valid ip range for the firewall rule", + args: { name: "end-ip-address" }, + isRequired: true, + }, + { + name: "--firewall-rule-name", + description: "The name of the firewall rule", + args: { name: "firewall-rule-name" }, + isRequired: true, + }, + { + name: "--start-ip-address", + description: + "The start of the valid ip range for the firewall rule", + args: { name: "start-ip-address" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Store account", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes a firewall rule in a Data Lake Store account", + options: [ + { + name: "--firewall-rule-name", + description: "The name of the firewall rule to delete", + args: { name: "firewall-rule-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Store account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Lists firewall rules in a Data Lake Store account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Store account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of a firewall rule in a Data Lake Store account", + options: [ + { + name: "--firewall-rule-name", + description: "The name of the firewall rule to retrieve", + args: { name: "firewall-rule-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Store account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Updates a firewall rule in a Data Lake Store account", + options: [ + { + name: "--firewall-rule-name", + description: "The name of the firewall rule to update", + args: { name: "firewall-rule-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--end-ip-address", + description: + "The end IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol", + args: { name: "end-ip-address" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Store account", + args: { name: "resource-group" }, + }, + { + name: "--start-ip-address", + description: + "The start IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol", + args: { name: "start-ip-address" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "network-rule", + description: "Manage Data Lake Store account virtual network rules", + subcommands: [ + { + name: "create", + description: + "Creates a virtual network rule in a Data Lake Store account", + options: [ + { + name: "--account-name", + description: "Name of the Data Lake Store account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The virtual network rule name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "The subnet name or id for the virtual network rule", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--vnet-name", + description: "The name of the virtual network rule", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes a virtual network rule in a Data Lake Store account", + options: [ + { + name: "--account-name", + description: "Name of the Data Lake Store account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The virtual network rule name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Lists virtual network rules in a Data Lake Store account", + options: [ + { + name: "--account-name", + description: "Name of the Data Lake Store account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of a virtual network rule in a Data Lake Store account", + options: [ + { + name: "--account-name", + description: "Name of the Data Lake Store account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The virtual network rule name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Updates a virtual network rule in a Data Lake Store account", + options: [ + { + name: "--account-name", + description: "Name of the Data Lake Store account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "Name or ID of the subnet that allows access to DLS. If subnet name is provided, --name must be provided", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The virtual network rule name", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "The virtual network rule name", + args: { name: "vnet-name" }, + }, + ], + }, + ], + }, + { + name: "trusted-provider", + description: + "Manage Data Lake Store account trusted identity providers", + subcommands: [ + { + name: "create", + description: + "Creates or updates the specified trusted identity provider", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + isRequired: true, + }, + { + name: "--id-provider", + description: "The URL of this trusted identity provider", + args: { name: "id-provider" }, + isRequired: true, + }, + { + name: "--trusted-id-provider-name", + description: + "The name of the trusted identity provider. This is used for differentiation of providers in the account", + args: { name: "trusted-id-provider-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Store account", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes the specified trusted identity provider from the specified Data Lake Store account", + options: [ + { + name: "--trusted-id-provider-name", + description: + "The name of the trusted identity provider to delete", + args: { name: "trusted-id-provider-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Store account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Lists the Data Lake Store trusted identity providers within the specified Data Lake Store account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Store account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Gets the specified Data Lake Store trusted identity provider", + options: [ + { + name: "--trusted-id-provider-name", + description: + "The name of the trusted identity provider to retrieve", + args: { name: "trusted-id-provider-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Store account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates the specified trusted identity provider", + options: [ + { + name: "--trusted-id-provider-name", + description: + "The name of the trusted identity provider. This is used for differentiation of providers in the account", + args: { name: "trusted-id-provider-name" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--id-provider", + description: "The URL of this trusted identity provider", + args: { name: "id-provider" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "If not specified, will attempt to discover the resource group for the specified Data Lake Store account", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "fs", + description: "Manage a Data Lake Store filesystem", + subcommands: [ + { + name: "append", + description: "Append content to a file in a Data Lake Store account", + options: [ + { + name: "--content", + description: "Content to be appended to the file", + args: { name: "content" }, + isRequired: true, + }, + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Creates a file or folder in a Data Lake Store account", + options: [ + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + isRequired: true, + }, + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--content", + description: "Content for the file to contain upon creation", + args: { name: "content" }, + }, + { + name: "--folder", + description: + "Indicates that this new item is a folder and not a file", + }, + { + name: "--force", + description: + "Indicates that, if the file or folder exists, it should be overwritten", + }, + ], + }, + { + name: "delete", + description: "Delete a file or folder in a Data Lake Store account", + options: [ + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--recurse", + description: + "Indicates this should be a recursive delete of the folder", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "download", + description: + "Download a file or folder from a Data Lake Store account to the local machine", + options: [ + { + name: "--destination-path", + description: + "The local path where the file or folder will be downloaded to", + args: { name: "destination-path" }, + isRequired: true, + }, + { + name: "--source-path", + description: + "The full path in the Data Lake Store filesystem to download the file or folder from", + args: { name: "source-path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--block-size", + description: "Size of a block, in bytes", + args: { name: "block-size" }, + }, + { + name: "--buffer-size", + description: "Size of the transfer buffer, in bytes", + args: { name: "buffer-size" }, + }, + { + name: "--chunk-size", + description: "Size of a chunk, in bytes", + args: { name: "chunk-size" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--overwrite", + description: + "Indicates that, if the destination file or folder exists, it should be overwritten", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--thread-count", + description: + "Parallelism of the download. Default: The number of cores in the local machine", + args: { name: "thread-count" }, + }, + ], + }, + { + name: "join", + description: "Join files in a Data Lake Store account into one file", + options: [ + { + name: "--destination-path", + description: + "The destination path in the Data Lake Store account", + args: { name: "destination-path" }, + isRequired: true, + }, + { + name: "--source-paths", + description: + "The space-separated list of files in the Data Lake Store account to join", + args: { name: "source-paths" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--force", + description: + "Indicates that, if the destination file already exists, it should be overwritten", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List the files and folders in a Data Lake Store account", + options: [ + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "move", + description: "Move a file or folder in a Data Lake Store account", + options: [ + { + name: "--destination-path", + description: + "The destination path in the Data Lake Store account", + args: { name: "destination-path" }, + isRequired: true, + }, + { + name: "--source-path", + description: "The file or folder to move", + args: { name: "source-path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--force", + description: + "Indicates that, if the destination file or folder already exists, it should be overwritten and replaced with the file or folder being moved", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "preview", + description: + "Preview the content of a file in a Data Lake Store account", + options: [ + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--force", + description: + "Indicates that, if the preview is larger than 1MB, still retrieve it. This can potentially be very slow, depending on how large the file is", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--length", + description: "The amount of data to preview in bytes", + args: { name: "length" }, + }, + { + name: "--offset", + description: "The position in bytes to start the preview from", + args: { name: "offset" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove-expiry", + description: "Remove the expiration time for a file", + options: [ + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set-expiry", + description: "Set the expiration time for a file", + options: [ + { + name: "--expiration-time", + description: + "The absolute value of the expiration time expressed as milliseconds since the epoch", + args: { name: "expiration-time" }, + isRequired: true, + }, + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get file or folder information in a Data Lake Store account", + options: [ + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "test", + description: + "Test for the existence of a file or folder in a Data Lake Store account", + options: [ + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "upload", + description: "Upload a file or folder to a Data Lake Store account", + options: [ + { + name: "--destination-path", + description: + "The full path in the Data Lake Store filesystem to upload the file or folder to", + args: { name: "destination-path" }, + isRequired: true, + }, + { + name: "--source-path", + description: "The path to the file or folder to upload", + args: { name: "source-path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--block-size", + description: "Size of a block, in bytes", + args: { name: "block-size" }, + }, + { + name: "--buffer-size", + description: "Size of the transfer buffer, in bytes", + args: { name: "buffer-size" }, + }, + { + name: "--chunk-size", + description: "Size of a chunk, in bytes", + args: { name: "chunk-size" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--overwrite", + description: + "Indicates that, if the destination file or folder exists, it should be overwritten", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--thread-count", + description: + "Parallelism of the upload. Default: The number of cores in the local machine", + args: { name: "thread-count" }, + }, + ], + }, + { + name: "access", + description: + "Manage Data Lake Store filesystem access and permissions", + subcommands: [ + { + name: "remove-all", + description: + "Remove the access control list for a file or folder", + options: [ + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--default-acl", + description: + "A switch that, if specified, indicates that the remove ACL operation should remove the default ACL of the folder. Otherwise the regular ACL is removed", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove-entry", + description: + "Remove entries for the access control list of a file or folder", + options: [ + { + name: "--acl-spec", + description: + "The ACL specification to set on the path in the format '[default:]user|group|other:[entity id or UPN]:r|-w|-x|-,[default:]user|group|other:[entity id or UPN]:r|-w|-x|-,...'", + args: { name: "acl-spec" }, + isRequired: true, + }, + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set", + description: + "Replace the existing access control list for a file or folder", + options: [ + { + name: "--acl-spec", + description: + "The ACL specification to set on the path in the format '[default:]user|group|other:[entity id or UPN]:r|-w|-x|-,[default:]user|group|other:[entity id or UPN]:r|-w|-x|-,...'", + args: { name: "acl-spec" }, + isRequired: true, + }, + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set-entry", + description: + "Update the access control list for a file or folder", + options: [ + { + name: "--acl-spec", + description: + "The ACL specification to set on the path in the format '[default:]user|group|other:[entity id or UPN]:r|-w|-x|-,[default:]user|group|other:[entity id or UPN]:r|-w|-x|-,...'", + args: { name: "acl-spec" }, + isRequired: true, + }, + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set-owner", + description: + "Set the owner information for a file or folder in a Data Lake Store account", + options: [ + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--group", + description: + "The group Azure Active Directory object ID or user principal name to set as the owning group", + args: { name: "group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--owner", + description: + "The user Azure Active Directory object ID or user principal name to set as the owner", + args: { name: "owner" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set-permission", + description: + "Set the permissions for a file or folder in a Data Lake Store account", + options: [ + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--permission", + description: + "The octal representation of the permissions for user, group and mask", + args: { name: "permission" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Display the access control list (ACL)", + options: [ + { + name: "--path", + description: + "The path in the specified Data Lake Store account where the action should take place. In the format '/folder/file.txt', where the first '/' after the DNS indicates the root of the file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--account", "-n"], + description: "Name of the Data Lake Store account", + args: { name: "account" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/dms.ts b/src/az/2.53.0/dms.ts new file mode 100644 index 000000000000..641831ec997e --- /dev/null +++ b/src/az/2.53.0/dms.ts @@ -0,0 +1,806 @@ +const completion: Fig.Spec = { + name: "dms", + description: "Manage Azure Data Migration Service (classic) instances", + subcommands: [ + { + name: "check-name", + description: + "Check if a given DMS instance name is available in a given region as well as the name's validity", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The service name to check", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "check-status", + description: + "Perform a health check and return the status of the service and virtual machine size", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: + "Create an instance of the Azure Database Migration Service (classic)", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the Service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku-name", + description: + 'The name of the CPU SKU on which the service\'s virtual machine will run. Check the name and the availability of SKUs in your area with "az dms list-skus"', + args: { name: "sku-name" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "The Resource ID of the VNet's Subnet you will use to connect the source and target DBs. Use \"az network vnet subnet show -h\" for help to get your subnet's ID", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'A space-delimited list of tags in "tag1[=value1]" format', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an instance of the Azure Database Migration Service (classic)", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--delete-running-tasks", + description: "Cancel any running tasks before deleting the service", + args: { name: "delete-running-tasks" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + 'List the DMS instances within your currently configured subscription (to set this use "az account set"). If provided, only show the instances within a given resource group', + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-skus", + description: + "List the SKUs that are supported by the Azure Database Migration Service (classic)", + }, + { + name: "show", + description: + "Show the details for an instance of the Azure Database Migration Service (classic)", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "start", + description: + "Start an instance of the Azure Database Migration Service (classic). It can then be used to run data migrations", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "stop", + description: + "Stop an instance of the Azure Database Migration Service (classic). While stopped, it can't be used to run data migrations and the owner won't be billed", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the DMS instance is met", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "project", + description: + "Manage projects for an instance of the Azure Database Migration Service (classic)", + subcommands: [ + { + name: "check-name", + description: + "Check if a given project name is available within a given instance of DMS as well as the name's validity", + options: [ + { + name: ["--name", "-n"], + description: "The project name to check", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the Service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: + "Create a migration project which can contain multiple tasks", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the Project", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the Service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--source-platform", + description: + "The type of server for the source database. The supported types are: SQL, PostgreSQL, MySQL", + args: { name: "source-platform" }, + isRequired: true, + }, + { + name: "--target-platform", + description: + "The type of service for the target database. The supported types are: SQLDB, AzureDbForPostgreSQL, AzureDbForMySQL", + args: { name: "target-platform" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'A space-delimited list of tags in "tag1[=value1]" format', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a project", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Project", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the Service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--delete-running-tasks", + description: + "Cancel any running tasks before deleting the project", + args: { name: "delete-running-tasks" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the projects within an instance of DMS", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the Service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of a migration project", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Project", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the Service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "task", + description: + "Manage tasks for a Azure Database Migration Service (classic) instance's project", + subcommands: [ + { + name: "cancel", + description: "Cancel a task if it's currently queued or running", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Task", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--project-name", + description: "The name of the Project", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the Service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "check-name", + description: + "Check if a given task name is available within a given instance of DMS as well as the name's validity", + options: [ + { + name: ["--name", "-n"], + description: "The task name to check", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--project-name", + description: "The name of the Project", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the Service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create and start a migration task", + options: [ + { + name: "--database-options-json", + description: + "Database and table information. This can be either a JSON-formatted string or the location to a file containing the JSON object. See example below for the format", + args: { name: "database-options-json" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the Task", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--project-name", + description: "The name of the Project", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the Service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--source-connection-json", + description: + "The connection information to the source server. This can be either a JSON-formatted string or the location to a file containing the JSON object. See examples below for the format", + args: { name: "source-connection-json" }, + isRequired: true, + }, + { + name: "--target-connection-json", + description: + "The connection information to the target server. This can be either a JSON-formatted string or the location to a file containing the JSON object. See 'source-connection-json' for examples of connection formats", + args: { name: "target-connection-json" }, + isRequired: true, + }, + { + name: "--enable-data-integrity-validation", + description: + "For SQL only. Whether to perform a checksum based data integrity validation between source and target for the selected database and tables", + }, + { + name: "--enable-query-analysis-validation", + description: + "For SQL only. Whether to perform a quick and intelligent query analysis by retrieving queries from the source database and executing them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries", + }, + { + name: "--enable-schema-validation", + description: + "For SQL only. Whether to compare the schema information between source and target", + }, + { + name: "--task-type", + description: + "The type of data movement the task will support. The supported types are: OnlineMigration, OfflineMigration. If not provided, will default to OfflineMigration for SQL, MySQL and OnlineMigration for PostgreSQL", + args: { name: "task-type" }, + }, + ], + }, + { + name: "cutover", + description: + "For an online migration task, complete the migration by performing a cutover", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Task", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--object-name", + description: + "The name of the database on the source you wish to cutover", + args: { name: "object-name" }, + isRequired: true, + }, + { + name: "--project-name", + description: "The name of the Project", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the Service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a migration task", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Task", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--project-name", + description: "The name of the Project", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the Service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--delete-running-tasks", + description: + "If the task is currently running, cancel the task before deleting the project", + args: { name: "delete-running-tasks" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the tasks within a project. Some tasks may have a status of Unknown, which indicates that an error occurred while querying the status of that task", + options: [ + { + name: "--project-name", + description: "The name of the Project", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the Service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--task-type", + description: + 'Filters the list by the type of task. For the list of possible types see "az dms check-status"', + args: { name: "task-type" }, + }, + ], + }, + { + name: "restart", + description: + "Restart either the entire migration or just a specified object. Currently only supported by MongoDB migrations", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Task. A DMS Project Task is the activity that performs migration related work. There could be multiple Tasks associated with a Project", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--project-name", + description: + "The name of the Project. DMS Project is a logical grouping that encompasses source database connection, target database connection and a list of databases to migrate", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: + "The name of the Service. DMS Service is an Azure instance that performs database migrations", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--object-name", + description: + "The qualified name of the database or collection you wish to restart. Leave blank to restart the entire migration", + args: { name: "object-name" }, + }, + ], + }, + { + name: "show", + description: + 'Show the details of a migration task. Use the "--expand" to get more details', + options: [ + { + name: ["--name", "-n"], + description: "The name of the Task", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--project-name", + description: "The name of the Project", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the Service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--expand", + description: + 'Expand the response to provide more details. Use with "command" to see more details of the task. Use with "output" to see the results of the task\'s migration', + args: { name: "expand" }, + }, + ], + }, + { + name: "stop", + description: + "Stops the task, or stops migration on the specified object (MongoDB migrations only)", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Task. A DMS Project Task is the activity that performs migration related work. There could be multiple Tasks associated with a Project", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--project-name", + description: + "The name of the Project. DMS Project is a logical grouping that encompasses source database connection, target database connection and a list of databases to migrate", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: + "The name of the Service. DMS Service is an Azure instance that performs database migrations", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--object-name", + description: + "Supported by MongoDB migrations only. The qualified name of the database or collection you wish to stop. Leave blank to stop the entire migration", + args: { name: "object-name" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/dnc.ts b/src/az/2.53.0/dnc.ts new file mode 100644 index 000000000000..2ff2651095f5 --- /dev/null +++ b/src/az/2.53.0/dnc.ts @@ -0,0 +1,712 @@ +const completion: Fig.Spec = { + name: "dnc", + description: "Manage Delegated Network", + subcommands: [ + { + name: "controller", + description: "Manage controller with dnc", + subcommands: [ + { + name: "create", + description: "Create a dnc controller", + options: [ + { + name: ["--resource-name", "--name", "-n"], + description: + "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--purpose", + description: "The purpose of the dnc controller resource", + args: { name: "purpose", suggestions: ["prod", "test"] }, + }, + { + name: "--tags", + description: + 'The resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the DNC controller", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: + "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63", + args: { name: "resource-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Get details about the specified dnc controller", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: + "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: + "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "delegated-subnet-service", + description: "Manage delegated subnet service with dnc", + subcommands: [ + { + name: "create", + description: "Create delegated subnet resource", + options: [ + { + name: ["--resource-name", "--name", "-n"], + description: + "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--allocation-block-prefix-size", "-a"], + description: + "Defines prefix size of CIDR blocks allocated to nodes in VnetBlock Mode", + args: { name: "allocation-block-prefix-size" }, + }, + { + name: "--id", + description: "Controller arm resource id", + args: { name: "id" }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--subnet-details-id", + description: "Subnet arm resource id", + args: { name: "subnet-details-id" }, + }, + { + name: "--tags", + description: + 'The resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete dnc DelegatedSubnet", + options: [ + { + name: "--force-delete", + description: "Force delete resource", + args: { + name: "force-delete", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: + "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63", + args: { name: "resource-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Get details about the specified dnc DelegatedSubnet Link", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: + "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: + "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "orchestrator-instance-service", + description: "Manage orchestrator instance service with dnc", + subcommands: [ + { + name: "create", + description: "Create a orchestrator instance", + options: [ + { + name: ["--resource-name", "--name", "-n"], + description: + "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--api-server-endpoint", + description: + "K8s APIServer url. Either one of apiServerEndpoint or privateLinkResourceId can be specified", + args: { name: "api-server-endpoint" }, + }, + { + name: "--cluster-root-ca", + description: + "RootCA certificate of kubernetes cluster base64 encoded", + args: { name: "cluster-root-ca" }, + }, + { + name: "--id", + description: "Controller arm resource id", + args: { name: "id" }, + }, + { + name: "--kind", + description: "The kind of workbook. Choices are user and shared", + args: { name: "kind", suggestions: ["Kubernetes"] }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--orchestrator-app-id", + description: "AAD ID used with apiserver", + args: { name: "orchestrator-app-id" }, + }, + { + name: "--orchestrator-tenant-id", + description: "TenantID of server App ID", + args: { name: "orchestrator-tenant-id" }, + }, + { + name: "--priv-link-resource-id", + description: + "Private link arm resource id. Either one of apiServerEndpoint or privateLinkResourceId can be specified", + args: { name: "priv-link-resource-id" }, + }, + { + name: "--tags", + description: + 'The resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--type", + description: + "The type of identity used for orchestrator cluster. Type 'SystemAssigned' will use an implicitly created identity orchestrator clusters", + args: { name: "type", suggestions: ["None", "SystemAssigned"] }, + }, + ], + }, + { + name: "delete", + description: "Delete the Orchestrator Instance", + options: [ + { + name: "--force-delete", + description: "Force delete resource", + args: { + name: "force-delete", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: + "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63", + args: { name: "resource-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Get details about the orchestrator instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: + "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: + "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/dns-resolver.ts b/src/az/2.53.0/dns-resolver.ts new file mode 100644 index 000000000000..47cf83224ce6 --- /dev/null +++ b/src/az/2.53.0/dns-resolver.ts @@ -0,0 +1,1951 @@ +const completion: Fig.Spec = { + name: "dns-resolver", + description: "Manage Dns Resolver", + subcommands: [ + { + name: "create", + description: "Create a DNS resolver", + options: [ + { + name: ["--dns-resolver-name", "--name", "-n"], + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + isRequired: true, + }, + { + name: "--id", + description: "Resource ID", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes a DNS resolver. WARNING: This operation cannot be undone", + options: [ + { + name: ["--dns-resolver-name", "--name", "-n"], + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists DNS resolver resource IDs linked to a virtual network. And Lists DNS resolvers within a resource group. And Lists DNS resolvers in all resource groups of a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: + "The maximum number of results to return. If not specified, returns up to 100 results", + args: { name: "top" }, + }, + { + name: "--virtual-network-name", + description: "The name of the virtual network", + args: { name: "virtual-network-name" }, + }, + ], + }, + { + name: "list-by-virtual-network", + description: + "Lists DNS resolver resource IDs linked to a virtual network", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--virtual-network-name", + description: "The name of the virtual network", + args: { name: "virtual-network-name" }, + isRequired: true, + }, + { + name: "--top", + description: + "The maximum number of results to return. If not specified, returns up to 100 results", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Gets properties of a DNS resolver", + options: [ + { + name: ["--dns-resolver-name", "--name", "-n"], + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates a DNS resolver", + options: [ + { + name: ["--dns-resolver-name", "--name", "-n"], + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--dns-resolver-name", "--name", "-n"], + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "forwarding-rule", + description: "Manage forwarding rule with dns resolver", + subcommands: [ + { + name: "create", + description: "Create a forwarding rule in a DNS forwarding ruleset", + options: [ + { + name: "--domain-name", + description: "The domain name for the forwarding rule", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--forwarding-rule-name", "--name", "-n"], + description: "The name of the forwarding rule", + args: { name: "forwarding-rule-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ruleset-name", + description: "The name of the DNS forwarding ruleset", + args: { name: "ruleset-name" }, + isRequired: true, + }, + { + name: "--target-dns-servers", + description: + 'DNS servers to forward the DNS query to. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "target-dns-servers" }, + isRequired: true, + }, + { + name: "--forwarding-rule-state", + description: "The state of forwarding rule", + args: { + name: "forwarding-rule-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'Metadata attached to the forwarding rule. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes a forwarding rule in a DNS forwarding ruleset. WARNING: This operation cannot be undone", + options: [ + { + name: ["--forwarding-rule-name", "--name", "-n"], + description: "The name of the forwarding rule", + args: { name: "forwarding-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--ruleset-name", + description: "The name of the DNS forwarding ruleset", + args: { name: "ruleset-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists forwarding rules in a DNS forwarding ruleset", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ruleset-name", + description: "The name of the DNS forwarding ruleset", + args: { name: "ruleset-name" }, + isRequired: true, + }, + { + name: "--top", + description: + "The maximum number of results to return. If not specified, returns up to 100 results", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Gets properties of a forwarding rule in a DNS forwarding ruleset", + options: [ + { + name: ["--forwarding-rule-name", "--name", "-n"], + description: "The name of the forwarding rule", + args: { name: "forwarding-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--ruleset-name", + description: "The name of the DNS forwarding ruleset", + args: { name: "ruleset-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a forwarding rule in a DNS forwarding ruleset", + options: [ + { + name: ["--forwarding-rule-name", "--name", "-n"], + description: "The name of the forwarding rule", + args: { name: "forwarding-rule-name" }, + }, + { + name: "--forwarding-rule-state", + description: "The state of forwarding rule", + args: { + name: "forwarding-rule-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--metadata", + description: + 'Metadata attached to the forwarding rule. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--ruleset-name", + description: "The name of the DNS forwarding ruleset", + args: { name: "ruleset-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-dns-servers", + description: + 'DNS servers to forward the DNS query to. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "target-dns-servers" }, + }, + ], + }, + ], + }, + { + name: "forwarding-ruleset", + description: "Manage forwarding ruleset with dns resolver", + subcommands: [ + { + name: "create", + description: "Create a DNS forwarding ruleset", + options: [ + { + name: ["--dns-forwarding-ruleset-name", "--name", "-n"], + description: "The name of the DNS forwarding ruleset", + args: { name: "dns-forwarding-ruleset-name" }, + isRequired: true, + }, + { + name: "--outbound-endpoints", + description: + 'The reference to the DNS resolver outbound endpoints that are used to route DNS queries matching the forwarding rules in the ruleset to the target DNS servers. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "outbound-endpoints" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules within the ruleset will be deleted", + options: [ + { + name: ["--dns-forwarding-ruleset-name", "--name", "-n"], + description: "The name of the DNS forwarding ruleset", + args: { name: "dns-forwarding-ruleset-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists DNS forwarding ruleset resource IDs attached to a virtual network. And Lists DNS forwarding rulesets within a resource group. And Lists DNS forwarding rulesets in all resource groups of a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: + "The maximum number of results to return. If not specified, returns up to 100 results", + args: { name: "top" }, + }, + { + name: "--virtual-network-name", + description: "The name of the virtual network", + args: { name: "virtual-network-name" }, + }, + ], + }, + { + name: "list-by-virtual-network", + description: + "Lists DNS forwarding ruleset resource IDs attached to a virtual network", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--virtual-network-name", + description: "The name of the virtual network", + args: { name: "virtual-network-name" }, + isRequired: true, + }, + { + name: "--top", + description: + "The maximum number of results to return. If not specified, returns up to 100 results", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Gets a DNS forwarding ruleset properties", + options: [ + { + name: ["--dns-forwarding-ruleset-name", "--name", "-n"], + description: "The name of the DNS forwarding ruleset", + args: { name: "dns-forwarding-ruleset-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a DNS forwarding ruleset", + options: [ + { + name: ["--dns-forwarding-ruleset-name", "--name", "-n"], + description: "The name of the DNS forwarding ruleset", + args: { name: "dns-forwarding-ruleset-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--dns-forwarding-ruleset-name", "--name", "-n"], + description: "The name of the DNS forwarding ruleset", + args: { name: "dns-forwarding-ruleset-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "inbound-endpoint", + description: "Manage inbound endpoint with dns resolver", + subcommands: [ + { + name: "create", + description: "Create an inbound endpoint for a DNS resolver", + options: [ + { + name: "--dns-resolver-name", + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + isRequired: true, + }, + { + name: ["--inbound-endpoint-name", "--name", "-n"], + description: + "The name of the inbound endpoint for the DNS resolver", + args: { name: "inbound-endpoint-name" }, + isRequired: true, + }, + { + name: "--ip-configurations", + description: + 'IP configurations for the inbound endpoint. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-configurations" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone", + options: [ + { + name: "--dns-resolver-name", + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--inbound-endpoint-name", "--name", "-n"], + description: + "The name of the inbound endpoint for the DNS resolver", + args: { name: "inbound-endpoint-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists inbound endpoints for a DNS resolver", + options: [ + { + name: "--dns-resolver-name", + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--top", + description: + "The maximum number of results to return. If not specified, returns up to 100 results", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Gets properties of an inbound endpoint for a DNS resolver", + options: [ + { + name: "--dns-resolver-name", + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--inbound-endpoint-name", "--name", "-n"], + description: + "The name of the inbound endpoint for the DNS resolver", + args: { name: "inbound-endpoint-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates an inbound endpoint for a DNS resolver", + options: [ + { + name: "--dns-resolver-name", + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--inbound-endpoint-name", "--name", "-n"], + description: + "The name of the inbound endpoint for the DNS resolver", + args: { name: "inbound-endpoint-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--dns-resolver-name", + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--inbound-endpoint-name", "--name", "-n"], + description: + "The name of the inbound endpoint for the DNS resolver", + args: { name: "inbound-endpoint-name" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "outbound-endpoint", + description: "Manage outbound endpoint with dns resolver", + subcommands: [ + { + name: "create", + description: "Create an outbound endpoint for a DNS resolver", + options: [ + { + name: "--dns-resolver-name", + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + isRequired: true, + }, + { + name: "--id", + description: "Resource ID", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--outbound-endpoint-name", "--name", "-n"], + description: + "The name of the outbound endpoint for the DNS resolver", + args: { name: "outbound-endpoint-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone", + options: [ + { + name: "--dns-resolver-name", + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--outbound-endpoint-name", "--name", "-n"], + description: + "The name of the outbound endpoint for the DNS resolver", + args: { name: "outbound-endpoint-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists outbound endpoints for a DNS resolver", + options: [ + { + name: "--dns-resolver-name", + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--top", + description: + "The maximum number of results to return. If not specified, returns up to 100 results", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Gets properties of an outbound endpoint for a DNS resolver", + options: [ + { + name: "--dns-resolver-name", + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--outbound-endpoint-name", "--name", "-n"], + description: + "The name of the outbound endpoint for the DNS resolver", + args: { name: "outbound-endpoint-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates an outbound endpoint for a DNS resolver", + options: [ + { + name: "--dns-resolver-name", + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--outbound-endpoint-name", "--name", "-n"], + description: + "The name of the outbound endpoint for the DNS resolver", + args: { name: "outbound-endpoint-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--dns-resolver-name", + description: "The name of the DNS resolver", + args: { name: "dns-resolver-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--outbound-endpoint-name", "--name", "-n"], + description: + "The name of the outbound endpoint for the DNS resolver", + args: { name: "outbound-endpoint-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "vnet-link", + description: "Manage vnet link with dns resolver", + subcommands: [ + { + name: "create", + description: + "Create a virtual network link to a DNS forwarding ruleset", + options: [ + { + name: "--id", + description: "Resource ID", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--virtual-network-link-name", "--name", "-n"], + description: "The name of the virtual network link", + args: { name: "virtual-network-link-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ruleset-name", + description: "The name of the DNS forwarding ruleset", + args: { name: "ruleset-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'Metadata attached to the forwarding rule. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be undone", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--virtual-network-link-name", "--name", "-n"], + description: "The name of the virtual network link", + args: { name: "virtual-network-link-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--ruleset-name", + description: "The name of the DNS forwarding ruleset", + args: { name: "ruleset-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists virtual network links to a DNS forwarding ruleset", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ruleset-name", + description: "The name of the DNS forwarding ruleset", + args: { name: "ruleset-name" }, + isRequired: true, + }, + { + name: "--top", + description: + "The maximum number of results to return. If not specified, returns up to 100 results", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Gets properties of a virtual network link to a DNS forwarding ruleset", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--virtual-network-link-name", "--name", "-n"], + description: "The name of the virtual network link", + args: { name: "virtual-network-link-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--ruleset-name", + description: "The name of the DNS forwarding ruleset", + args: { name: "ruleset-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Updates a virtual network link to a DNS forwarding ruleset", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--metadata", + description: + 'Metadata attached to the forwarding rule. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--virtual-network-link-name", "--name", "-n"], + description: "The name of the virtual network link", + args: { name: "virtual-network-link-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--ruleset-name", + description: "The name of the DNS forwarding ruleset", + args: { name: "ruleset-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--virtual-network-link-name", "--name", "-n"], + description: "The name of the virtual network link", + args: { name: "virtual-network-link-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--ruleset-name", + description: "The name of the DNS forwarding ruleset", + args: { name: "ruleset-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/dt.ts b/src/az/2.53.0/dt.ts new file mode 100644 index 000000000000..83550128cba8 --- /dev/null +++ b/src/az/2.53.0/dt.ts @@ -0,0 +1,2494 @@ +const completion: Fig.Spec = { + name: "dt", + description: "Manage Azure Digital Twins solutions & infrastructure", + subcommands: [ + { + name: "create", + description: "Create or update a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--assign-identity", + description: + "Argument 'assign_identity' has been deprecated and will be removed in a future release. Use '--mi-system-assigned' instead. Assign a system generated identity to the Digital Twins instance", + args: { name: "assign-identity", suggestions: ["false", "true"] }, + }, + { + name: ["--location", "-l"], + description: + "Digital Twins instance location. If no location is provided the resource group location is used.You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mi-system-assigned", + description: + "Assign a system generated identity to this Digital Twins instance", + args: { name: "mi-system-assigned", suggestions: ["false", "true"] }, + }, + { + name: "--mi-user-assigned", + description: + "Space-separated user identity resource ids to add to the Digital Twins instance", + args: { name: "mi-user-assigned" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--public-network-access", "--pna"], + description: + "Determines if the Digital Twins instance can be accessed from a public network", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--role", + description: "Role name or Id the system assigned identity will have", + args: { name: "role" }, + }, + { + name: "--scopes", + description: + "Space-separated scopes the system assigned identity can access. Cannot be used with --no-wait", + args: { name: "scopes" }, + }, + { + name: "--tags", + description: + "Digital Twins instance tags. Property bag in key-value pairs with the following format: a=b c=d", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an existing Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the collection of Digital Twins instances by subscription or resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "reset", + description: + "Reset an existing Digital Twins instance by deleting associated assets. Currently only supports deleting models and twins", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show an existing Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "wait", + description: + "Wait until an operation on an Digital Twins instance is complete", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + ], + }, + { + name: "data-history", + description: "Manage and configure data history", + subcommands: [ + { + name: "connection", + description: "Manage and configure data history connections", + subcommands: [ + { + name: "delete", + description: + "Delete a data history connection configured on a Digital Twins instance", + options: [ + { + name: ["--conn-name", "--cn"], + description: "Name of data history connection", + args: { name: "conn-name" }, + isRequired: true, + }, + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--clean", "-c"], + description: + "Specifies whether or not to attempt to clean up artifacts that were created in order to establish a connection to the time series database. This is a best-effort attempt that will fail if appropriate permissions are not in place. Setting this to 'true' does not delete any recorded data", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all data history connections configured on a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a data history connection configured on a Digital Twins instance", + options: [ + { + name: ["--conn-name", "--cn"], + description: "Name of data history connection", + args: { name: "conn-name" }, + isRequired: true, + }, + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "wait", + description: + "Wait until an operation on a data history connection is complete", + options: [ + { + name: ["--conn-name", "--cn"], + description: "Name of data history connection", + args: { name: "conn-name" }, + isRequired: true, + }, + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "create", + description: + "Creates a data history connection between a Digital Twins instance and supported resources", + subcommands: [ + { + name: "adx", + description: + "Creates a data history connection between a Digital Twins instance and an Azure Data Explorer database. Requires pre-created Azure Data Explorer and Event Hub resources", + options: [ + { + name: ["--adx-cluster-name", "--adxc"], + description: + "Name of Azure Data Explorer cluster to integrate with", + args: { name: "adx-cluster-name" }, + isRequired: true, + }, + { + name: ["--adx-database-name", "--adxd"], + description: + "Name of Azure Data Explorer database to integrate with", + args: { name: "adx-database-name" }, + isRequired: true, + }, + { + name: ["--conn-name", "--cn"], + description: "Name of data history connection", + args: { name: "conn-name" }, + isRequired: true, + }, + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--eventhub", "--eh"], + description: "Name of EventHub to integrate with", + args: { name: "eventhub" }, + isRequired: true, + }, + { + name: ["--eventhub-namespace", "--ehn"], + description: "EventHub Namespace identifier", + args: { name: "eventhub-namespace" }, + isRequired: true, + }, + { + name: ["--adx-property-events-table", "--adxpet"], + description: + "The name of the Azure Data Explorer table used for storing updates to properties of twins and relationships", + args: { name: "adx-property-events-table" }, + }, + { + name: ["--adx-record-removals", "--adxrr"], + description: + "Specifies whether or not to record twin / relationship property and item removals, including removals of indexed or keyed values (such as map entries, array elements, etc.). Setting this property to 'true' will generate an additional column in the property events table in ADX", + }, + { + name: ["--adx-relationship-events-table", "--adxret"], + description: + "The name of the Azure Data Explorer table used for recording relationship lifecycle events. The table will not be created if this property is left unspecified", + args: { name: "adx-relationship-events-table" }, + }, + { + name: ["--adx-resource-group", "--adxg"], + description: + "Name of Azure Data Explorer resource group. If not provided, will use the Digital Twin's resource group", + args: { name: "adx-resource-group" }, + }, + { + name: ["--adx-subscription", "--adxs"], + description: + "Name or id of subscription where the Azure Data Explorer exists. If not provided, will use the subscription that contains the Digital Twin Instance", + args: { name: "adx-subscription" }, + }, + { + name: ["--adx-table-name", "--adxt"], + description: + "Option '--adx-table-name' has been deprecated and will be removed in a future release. Use '--adx-property-events-table' instead. The name of the Azure Data Explorer table used for storing updates to properties of twins and relationships", + args: { name: "adx-table-name" }, + }, + { + name: ["--adx-twin-events-table", "--adxtet"], + description: + "The name of the Azure Data Explorer table used for recording twin lifecycle events. The table will not be created if this property is left unspecified", + args: { name: "adx-twin-events-table" }, + }, + { + name: ["--eventhub-consumer-group", "--ehc"], + description: + "The EventHub consumer group to use when ADX reads from EventHub", + args: { name: "eventhub-consumer-group" }, + }, + { + name: ["--eventhub-resource-group", "--ehg"], + description: + "Name of EventHub resource group. If not provided, will use the Digital Twin's resource group", + args: { name: "eventhub-resource-group" }, + }, + { + name: ["--eventhub-subscription", "--ehs"], + description: + "Name or id of subscription where the EventHub exists. If not provided, will use the subscription that contains the Digital Twin Instance", + args: { name: "eventhub-subscription" }, + }, + { + name: ["--mi-user-assigned", "--user"], + description: + "Use an user-assigned managed identity for data history connection authentication. Accepts the identity resource id. If not provided, will use system identity instead", + args: { name: "mi-user-assigned" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: + "Do not prompt for confirmation when assigning required roles", + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "endpoint", + description: "Manage and configure Digital Twins instance endpoints", + subcommands: [ + { + name: "delete", + description: "Remove an endpoint from a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "--en"], + description: "Endpoint name", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all egress endpoints configured on a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of an endpoint configured on a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "--en"], + description: "Endpoint name", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "wait", + description: "Wait until an endpoint operation is done", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "--en"], + description: "Endpoint name", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + ], + }, + { + name: "create", + description: "Add egress endpoints to a Digital Twins instance", + subcommands: [ + { + name: "eventgrid", + description: + "Adds an EventGrid Topic endpoint to a Digital Twins instance. Requires pre-created resource", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--eventgrid-topic", "--egt"], + description: "Name of EventGrid Topic to integrate with", + args: { name: "eventgrid-topic" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "--en"], + description: "Endpoint name", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--deadletter-sas-uri", "--dsu"], + description: + "Dead-letter storage container URL with SAS token for Key based authentication", + args: { name: "deadletter-sas-uri" }, + }, + { + name: ["--deadletter-uri", "--du"], + description: + "Dead-letter storage container URL for Identity based authentication", + args: { name: "deadletter-uri" }, + }, + { + name: ["--eventgrid-resource-group", "--egg"], + description: + "Name of EventGrid Topic resource group. If not provided, the Digital Twin instance resource group will be used", + args: { name: "eventgrid-resource-group" }, + }, + { + name: ["--eventgrid-subscription", "--egs"], + description: + "Name or id of subscription where the endpoint resource exists. If no subscription is provided the default subscription is used", + args: { name: "eventgrid-subscription" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "eventhub", + description: + "Adds an EventHub endpoint to a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--eventhub", "--eh"], + description: "Name of EventHub to integrate with", + args: { name: "eventhub" }, + isRequired: true, + }, + { + name: ["--eventhub-namespace", "--ehn"], + description: "EventHub Namespace identifier", + args: { name: "eventhub-namespace" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "--en"], + description: "Endpoint name", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Argument 'auth_type' has been deprecated and will be removed in a future release. Use 'identity' instead. Endpoint authentication type", + args: { + name: "auth-type", + suggestions: ["IdentityBased", "KeyBased"], + }, + }, + { + name: ["--deadletter-sas-uri", "--dsu"], + description: + "Dead-letter storage container URL with SAS token for Key based authentication", + args: { name: "deadletter-sas-uri" }, + }, + { + name: ["--deadletter-uri", "--du"], + description: + "Dead-letter storage container URL for Identity based authentication", + args: { name: "deadletter-uri" }, + }, + { + name: ["--eventhub-resource-group", "--ehg"], + description: + "Name of EventHub resource group. If not provided, the Digital Twin instance resource group will be used", + args: { name: "eventhub-resource-group" }, + }, + { + name: ["--eventhub-policy", "--ehp"], + description: + "EventHub policy to use for endpoint configuration. Required when --auth-type is KeyBased", + args: { name: "eventhub-policy" }, + }, + { + name: ["--eventhub-subscription", "--ehs"], + description: + "Name or id of subscription where the endpoint resource exists. If no subscription is provided the default subscription is used", + args: { name: "eventhub-subscription" }, + }, + { + name: ["--mi-system-assigned", "--system"], + description: + "Use the system-assigned managed identity for endpoint authentication", + args: { + name: "mi-system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: ["--mi-user-assigned", "--user"], + description: + "Use an user-assigned managed identity for endpoint authentication. Accepts the identity resource id", + args: { name: "mi-user-assigned" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "servicebus", + description: + "Adds a ServiceBus Topic endpoint to a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "--en"], + description: "Endpoint name", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--servicebus-namespace", "--sbn"], + description: "ServiceBus Namespace identifier", + args: { name: "servicebus-namespace" }, + isRequired: true, + }, + { + name: ["--servicebus-topic", "--sbt"], + description: "Name of ServiceBus Topic to integrate with", + args: { name: "servicebus-topic" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Argument 'auth_type' has been deprecated and will be removed in a future release. Use 'identity' instead. Endpoint authentication type", + args: { + name: "auth-type", + suggestions: ["IdentityBased", "KeyBased"], + }, + }, + { + name: ["--deadletter-sas-uri", "--dsu"], + description: + "Dead-letter storage container URL with SAS token for Key based authentication", + args: { name: "deadletter-sas-uri" }, + }, + { + name: ["--deadletter-uri", "--du"], + description: + "Dead-letter storage container URL for Identity based authentication", + args: { name: "deadletter-uri" }, + }, + { + name: ["--mi-system-assigned", "--system"], + description: + "Use the system-assigned managed identity for endpoint authentication", + args: { + name: "mi-system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: ["--mi-user-assigned", "--user"], + description: + "Use an user-assigned managed identity for endpoint authentication. Accepts the identity resource id", + args: { name: "mi-user-assigned" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--servicebus-resource-group", "--sbg"], + description: + "Name of ServiceBus resource group. If not provided, the Digital Twin instance resource group will be used", + args: { name: "servicebus-resource-group" }, + }, + { + name: ["--servicebus-policy", "--sbp"], + description: + "ServiceBus Topic policy to use for endpoint configuration. Required when --auth-type is KeyBased", + args: { name: "servicebus-policy" }, + }, + { + name: ["--servicebus-subscription", "--sbs"], + description: + "Name or id of subscription where the endpoint resource exists. If no subscription is provided the default subscription is used", + args: { name: "servicebus-subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage identites of a Digital Twins instance", + subcommands: [ + { + name: "assign", + description: "Assign managed identities to a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--mi-system-assigned", "--system"], + description: + "Assign a system-assigned managed identity to this Digital Twin instance", + args: { + name: "mi-system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: ["--mi-user-assigned", "--user"], + description: + "Assign user-assigned managed identities to this Digital Twin instance. Accepts space-separated list of identity resource ids", + args: { name: "mi-user-assigned" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: + "Role to assign to the digital twin's system-assigned managed identity", + args: { name: "role" }, + }, + { + name: "--scopes", + description: + "Space separated list of scopes to assign the role (--role) for the system-assigned managed identity", + args: { name: "scopes" }, + }, + ], + }, + { + name: "remove", + description: + "Remove managed identities from a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--mi-system-assigned", "--system"], + description: + "Remove the system-assigned managed identity to this Digital Twin instance", + args: { + name: "mi-system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: ["--mi-user-assigned", "--user"], + description: + "Remove user-assigned managed identities to this Digital Twin instance. Accepts space-separated list of identity resource ids", + args: { name: "mi-user-assigned" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show the identity properties of a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "job", + description: "Manage and configure jobs for a digital twin instance", + subcommands: [ + { + name: "deletion", + description: + "Manage and configure jobs for deleting model, twin and relationships data in a digital twin instance.\n\n\t\tA deletion job cannot be cancelled or deleted", + subcommands: [ + { + name: "create", + description: + "Create and execute a deletion job on a digital twin instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--job-id", "-j"], + description: + "Id of job. A system generated id is assigned when this parameter is ommitted during job creation", + args: { name: "job-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all deletion jobs executed on a digital twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a deletion job executed on a digital twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--job-id", "-j"], + description: + "Id of job. A system generated id is assigned when this parameter is ommitted during job creation", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "import", + description: + "Manage and configure jobs for importing model, twin and relationships data to a digital twin instance", + subcommands: [ + { + name: "cancel", + description: + "Cancel a data import job executed on a digital twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--job-id", "-j"], + description: + "Id of job. A system generated id is assigned when this parameter is ommitted during job creation", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "create", + description: + "Create and execute a data import job on a digital twin instance", + options: [ + { + name: ["--data-file", "--df"], + description: + "Name of data file input to the bulk import job. The file must be in 'ndjson' format. Sample input data file: https://github.com/Azure/azure-iot-cli-extension/tree/dev/docs/samples/adt-bulk-import-data-sample.ndjson", + args: { name: "data-file" }, + isRequired: true, + }, + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--input-blob-container", "--ibc"], + description: + "Name of Azure Storage blob container which contains the bulk import data file", + args: { name: "input-blob-container" }, + isRequired: true, + }, + { + name: ["--input-storage-account", "--isa"], + description: + "Name of Azure Storage account containing blob container which stores the bulk import data file", + args: { name: "input-storage-account" }, + isRequired: true, + }, + { + name: ["--job-id", "-j"], + description: + "Id of job. A system generated id is assigned when this parameter is ommitted during job creation", + args: { name: "job-id" }, + }, + { + name: ["--output-blob-container", "--obc"], + description: + "Name of Azure Storage blob container where the bulk import job's output file will be created. If not provided, will use the input blob container", + args: { name: "output-blob-container" }, + }, + { + name: ["--output-file", "--of"], + description: + "Name of the bulk import job's output file. This file will contain logs as well as error information. The file gets created automatically once the job finishes. The file gets overwritten if it already exists. If not provided the output file is created with the name: _output.txt", + args: { name: "output-file" }, + }, + { + name: ["--output-storage-account", "--osa"], + description: + "Name of Azure Storage account containing blob container where bulk import job's output file will be created. If not provided, will use the input storage account", + args: { name: "output-storage-account" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a data import job executed on a digital twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--job-id", "-j"], + description: + "Id of job. A system generated id is assigned when this parameter is ommitted during job creation", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all data import jobs executed on a digital twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a data import job executed on a digital twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--job-id", "-j"], + description: + "Id of job. A system generated id is assigned when this parameter is ommitted during job creation", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "model", + description: + "Manage DTDL models and definitions on a Digital Twins instance", + subcommands: [ + { + name: "create", + description: "Uploads one or more models", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--failure-policy", "--fp"], + description: + "Indicates the failure policy when an error occurs while processing a models batch. In the 'Rollback' mode all models created in previous batches are deleted one at a time. When selected as 'None' the models created in previous batches are not deleted from DT instance", + args: { + name: "failure-policy", + suggestions: ["None", "Rollback"], + }, + }, + { + name: ["--from-directory", "--fd"], + description: + "The directory JSON model files will be parsed from. Please Note: Models are created atomically when directory contains 250 or lesser models, hence in case of an error none of the models get created.Input model set is chunked & created in batches when directory has more than 250 models(API limit). In case of an error processing a batch, the behavior is determined by the --failure-policy parameter", + args: { name: "from-directory" }, + }, + { + name: ["--max-models-per-batch", "--mmpb"], + description: + "The maximum model size per batch when creating more than 250 models.Reduce this number to prevent a DTDLParser error", + args: { name: "max-models-per-batch" }, + }, + { + name: "--models", + description: + "Inline model JSON or file path to model JSON. Please Note: Models are created atomically when model JSON contains 250 or lesser models, hence in case of an error none of the models get created.Input model set is chunked & created in batches when model JSON has more than 250 models(API limit). In case of an error processing a batch, the behavior is determined by the --failure-policy parameter", + args: { name: "models" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a model. A model can only be deleted if no other models reference it", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--model-id", "--dtmi", "-m"], + description: + "Digital Twins model Id. Example: dtmi:com:example:Room;2", + args: { name: "model-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete-all", + description: "Delete all models within a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List model metadata, definitions and dependencies", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--definition", "--def"], + description: "The operation will retrieve the model definition", + }, + { + name: "--dependencies-for", + description: + "The set of models which will have their dependencies retrieved. If omitted, all models are retrieved. Format is a whitespace separated list", + args: { name: "dependencies-for" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Retrieve a target model or model definition", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--model-id", "--dtmi", "-m"], + description: + "Digital Twins model Id. Example: dtmi:com:example:Room;2", + args: { name: "model-id" }, + isRequired: true, + }, + { + name: ["--definition", "--def"], + description: "The operation will retrieve the model definition", + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Updates the metadata for a model. Currently a model can only be decommisioned", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--model-id", "--dtmi", "-m"], + description: + "Digital Twins model Id. Example: dtmi:com:example:Room;2", + args: { name: "model-id" }, + isRequired: true, + }, + { + name: "--decommission", + description: "Indicates intent to decommission a target model", + args: { name: "decommission", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "network", + description: + "Manage Digital Twins network configuration including private links and endpoint connections", + subcommands: [ + { + name: "private-endpoint", + description: + "Manage Digital Twins instance private-endpoints.\n\n\t\tUse 'az network private-endpoint create' to create a private-endpoint and link to a Digital Twins resource", + subcommands: [ + { + name: "connection", + description: + "Manage Digital Twins instance private-endpoint connections", + subcommands: [ + { + name: "delete", + description: + "Delete a private-endpoint connection associated with the Digital Twins instance", + options: [ + { + name: ["--conn-name", "--cn"], + description: "Private endpoint connection name", + args: { name: "conn-name" }, + isRequired: true, + }, + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List private-endpoint connections associated with the Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "set", + description: + "Set the state of a private-endpoint connection associated with the Digital Twins instance", + options: [ + { + name: ["--conn-name", "--cn"], + description: "Private endpoint connection name", + args: { name: "conn-name" }, + isRequired: true, + }, + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: "--status", + description: + "The status of a private endpoint connection", + args: { + name: "status", + suggestions: [ + "Approved", + "Disconnected", + "Pending", + "Rejected", + ], + }, + isRequired: true, + }, + { + name: ["--actions-required", "--ar"], + description: + "A message indicating if changes on the service provider require any updates on the consumer", + args: { name: "actions-required" }, + }, + { + name: ["--description", "--desc"], + description: + "Description for the private endpoint connection", + args: { name: "description" }, + }, + { + name: "--group-ids", + description: + "Space separated list of group ids that the private endpoint should connect to", + args: { name: "group-ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show a private-endpoint connection associated with the Digital Twins instance", + options: [ + { + name: ["--conn-name", "--cn"], + description: "Private endpoint connection name", + args: { name: "conn-name" }, + isRequired: true, + }, + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "wait", + description: + "Wait until an operation on a private-endpoint connection is complete", + options: [ + { + name: ["--conn-name", "--cn"], + description: "Private endpoint connection name", + args: { name: "conn-name" }, + isRequired: true, + }, + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "private-link", + description: "Manage Digital Twins instance private-link operations", + subcommands: [ + { + name: "list", + description: + "List private-links associated with the Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show a private-link associated with the instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--link-name", "--ln"], + description: "Private link name", + args: { name: "link-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "role-assignment", + description: + "Manage RBAC role assignments for a Digital Twins instance.\n\n\t\tNote that in order to perform role assignments, the logged in principal needs permissions\nsuch as Owner or User Access Administrator at the assigned scope.\nThis command group is provided for convenience. For more complex role assignment scenarios\nuse the 'az role assignment' command group", + subcommands: [ + { + name: "create", + description: + "Assign a user, group or service principal to a role against a Digital Twins instance", + options: [ + { + name: "--assignee", + description: + "Represent a user, group, or service principal. supported format: object id, user sign-in name, or service principal name", + args: { name: "assignee" }, + isRequired: true, + }, + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: "--role", + description: "Role name or Id", + args: { name: "role" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Remove a user, group or service principal role assignment from a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: "--assignee", + description: + "Represent a user, group, or service principal. supported format: object id, user sign-in name, or service principal name", + args: { name: "assignee" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: "Role name or Id", + args: { name: "role" }, + }, + ], + }, + { + name: "list", + description: + "List the existing role assignments of a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: "Digital Twins instance name", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: "--include-inherited", + description: "Include assignments applied on parent scopes", + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: "Role name or Id", + args: { name: "role" }, + }, + ], + }, + ], + }, + { + name: "route", + description: + "Manage and configure event routes.\n\n\t\tNote that an endpoint must first be configured before adding an event route", + subcommands: [ + { + name: "create", + description: "Add an event route to a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "--en"], + description: "Endpoint name", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--route-name", "--rn"], + description: "Event route name", + args: { name: "route-name" }, + isRequired: true, + }, + { + name: "--filter", + description: "Event route filter", + args: { name: "filter" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: "Remove an event route from a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--route-name", "--rn"], + description: "Event route name", + args: { name: "route-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List the configured event routes of a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of an event route configured on a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--route-name", "--rn"], + description: "Event route name", + args: { name: "route-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "twin", + description: + "Manage and configure the digital twins of a Digital Twins instance", + subcommands: [ + { + name: "create", + description: "Create a digital twin on an instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--model-id", "--dtmi", "-m"], + description: + "Digital Twins model Id. Example: dtmi:com:example:Room;2", + args: { name: "model-id" }, + isRequired: true, + }, + { + name: ["--twin-id", "-t"], + description: "The digital twin Id", + args: { name: "twin-id" }, + isRequired: true, + }, + { + name: "--if-none-match", + description: + "Indicates the create operation should fail if an existing twin with the same id exists", + }, + { + name: ["--properties", "-p"], + description: + "Initial property values for instantiating a digital twin or related components. Provide file path or inline JSON. Properties are required for twins that contain components, at the minimum you must provide an empty $metadata object for each component", + args: { name: "properties" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Remove a digital twin. All relationships referencing this twin must already be deleted", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--twin-id", "-t"], + description: "The digital twin Id", + args: { name: "twin-id" }, + isRequired: true, + }, + { + name: ["--etag", "-e"], + description: + "Entity tag value. The command will succeed if the etag matches the current etag for the resource", + args: { name: "etag" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete-all", + description: + "Deletes all digital twins within a Digital Twins instance, including all relationships for those twins", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "query", + description: + "Query the digital twins of an instance. Allows traversing relationships and filtering by property values", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--query-command", "-q"], + description: "User query to be executed", + args: { name: "query-command" }, + isRequired: true, + }, + { + name: ["--show-cost", "--cost"], + description: "Calculates and shows the query charge", + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a digital twin", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--twin-id", "-t"], + description: "The digital twin Id", + args: { name: "twin-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update an instance digital twin via JSON patch specification", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--json-patch", "--patch"], + description: + "An update specification described by JSON-patch. Updates to property values and $model elements may happen in the same request. Operations are limited to add, replace and remove. Provide file path or inline JSON", + args: { name: "json-patch" }, + isRequired: true, + }, + { + name: ["--twin-id", "-t"], + description: "The digital twin Id", + args: { name: "twin-id" }, + isRequired: true, + }, + { + name: ["--etag", "-e"], + description: + "Entity tag value. The command will succeed if the etag matches the current etag for the resource", + args: { name: "etag" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "component", + description: + "Show and update the digital twin components of a Digital Twins instance", + subcommands: [ + { + name: "show", + description: "Show details of a digital twin component", + options: [ + { + name: "--component", + description: "The path to the DTDL component", + args: { name: "component" }, + isRequired: true, + }, + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--twin-id", "-t"], + description: "The digital twin Id", + args: { name: "twin-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update a digital twin component via JSON patch specification", + options: [ + { + name: "--component", + description: "The path to the DTDL component", + args: { name: "component" }, + isRequired: true, + }, + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--json-patch", "--patch"], + description: + "An update specification described by JSON-patch. Updates to property values and $model elements may happen in the same request. Operations are limited to add, replace and remove. Provide file path or inline JSON", + args: { name: "json-patch" }, + isRequired: true, + }, + { + name: ["--twin-id", "-t"], + description: "The digital twin Id", + args: { name: "twin-id" }, + isRequired: true, + }, + { + name: ["--etag", "-e"], + description: + "Entity tag value. The command will succeed if the etag matches the current etag for the resource", + args: { name: "etag" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "relationship", + description: + "Manage and configure the digital twin relationships of a Digital Twins instance", + subcommands: [ + { + name: "create", + description: + "Create a relationship between source and target digital twins", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--relationship", "--kind"], + description: + "Relationship name or kind. For example: 'contains'", + args: { name: "relationship" }, + isRequired: true, + }, + { + name: ["--relationship-id", "-r"], + description: "Relationship Id", + args: { name: "relationship-id" }, + isRequired: true, + }, + { + name: ["--twin-id", "--source", "-t"], + description: "The source twin Id for a relationship", + args: { name: "twin-id" }, + isRequired: true, + }, + { + name: ["--target-twin-id", "--target"], + description: "The target twin Id for a relationship", + args: { name: "target-twin-id" }, + isRequired: true, + }, + { + name: "--if-none-match", + description: + "Indicates the create operation should fail if an existing twin with the same id exists", + }, + { + name: ["--properties", "-p"], + description: + "Initial property values for instantiating a digital twin relationship. Provide file path or inline JSON", + args: { name: "properties" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a digital twin relationship on a Digital Twins instance", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--relationship-id", "-r"], + description: "Relationship Id", + args: { name: "relationship-id" }, + isRequired: true, + }, + { + name: ["--twin-id", "--source", "-t"], + description: "The source twin Id for a relationship", + args: { name: "twin-id" }, + isRequired: true, + }, + { + name: ["--etag", "-e"], + description: + "Entity tag value. The command will succeed if the etag matches the current etag for the resource", + args: { name: "etag" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete-all", + description: + "Deletes all digital twin relationships within a Digital Twins instance, including incoming relationships", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--twin-id", "--source", "-t"], + description: "The source twin Id for a relationship", + args: { name: "twin-id" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the relationships of a digital twin", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--twin-id", "--source", "-t"], + description: "The source twin Id for a relationship", + args: { name: "twin-id" }, + isRequired: true, + }, + { + name: "--incoming", + description: + "Retrieves all incoming relationships for a digital twin", + }, + { + name: ["--relationship", "--kind"], + description: "Filter result by the kind of relationship", + args: { name: "relationship" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of a digital twin relationship", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--relationship-id", "-r"], + description: "Relationship Id", + args: { name: "relationship-id" }, + isRequired: true, + }, + { + name: ["--twin-id", "--source", "-t"], + description: "The source twin Id for a relationship", + args: { name: "twin-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Updates the properties of a relationship between two digital twins via JSON patch specification", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--json-patch", "--patch"], + description: + "An update specification described by JSON-patch. Updates to property values and $model elements may happen in the same request. Operations are limited to add, replace and remove. Provide file path or inline JSON", + args: { name: "json-patch" }, + isRequired: true, + }, + { + name: ["--relationship-id", "-r"], + description: "Relationship Id", + args: { name: "relationship-id" }, + isRequired: true, + }, + { + name: ["--twin-id", "--source", "-t"], + description: "The source twin Id for a relationship", + args: { name: "twin-id" }, + isRequired: true, + }, + { + name: ["--etag", "-e"], + description: + "Entity tag value. The command will succeed if the etag matches the current etag for the resource", + args: { name: "etag" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "telemetry", + description: + "Test and validate the event routes and endpoints of a Digital Twins instance", + subcommands: [ + { + name: "send", + description: + "Sends telemetry on behalf of a digital twin. If component path is provided the emitted telemetry is on behalf of the component", + options: [ + { + name: ["--dt-name", "--dtn", "-n"], + description: + "Digital Twins instance name or hostname. If an instance name is provided, the user subscription is first queried for the target instance to retrieve the hostname. If a hostname is provided, the subscription query is skipped and the provided value is used for subsequent interaction", + args: { name: "dt-name" }, + isRequired: true, + }, + { + name: ["--twin-id", "-t"], + description: "The digital twin Id", + args: { name: "twin-id" }, + isRequired: true, + }, + { + name: "--component", + description: + "The path to the DTDL component. If set, telemetry will be emitted on behalf of the component", + args: { name: "component" }, + }, + { + name: "--dt-id", + description: + "A unique message identifier (in the scope of the digital twin id) that is commonly used for de-duplicating messages. If no value is provided a GUID is automatically generated", + args: { name: "dt-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Digital Twins instance resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--telemetry", + description: + "Inline telemetry JSON or file path to telemetry JSON. Default payload is an empty object: {}", + args: { name: "telemetry" }, + }, + { + name: ["--telemetry-source-time", "--tst"], + description: + "An RFC 3339 timestamp that identifies the time the telemetry was measured", + args: { name: "telemetry-source-time" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/dynatrace.ts b/src/az/2.53.0/dynatrace.ts new file mode 100644 index 000000000000..81a55f2829cc --- /dev/null +++ b/src/az/2.53.0/dynatrace.ts @@ -0,0 +1,917 @@ +const completion: Fig.Spec = { + name: "dynatrace", + description: "Manage dynatrace", + subcommands: [ + { + name: "monitor", + description: "Manage dynatrace monitor", + subcommands: [ + { + name: "create", + description: "Create a monitor resource", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--environment", + description: + 'Properties of the Dynatrace environment. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "environment" }, + }, + { + name: "--identity", + description: + 'The managed service identities assigned to this resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--monitoring-status", + description: "Status of the monitor", + args: { + name: "monitoring-status", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--plan-data", + description: + 'Billing plan information. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "plan-data" }, + }, + { + name: "--subscription-status", + description: "Marketplace subscription status", + args: { + name: "subscription-status", + suggestions: ["Active", "Suspended"], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--user-info", + description: + 'User info. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-info" }, + }, + ], + }, + { + name: "delete", + description: "Delete a monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-sso-detail", + description: "Get the SSO configuration details from the partner", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--user-principal", + description: "User principal id of the user", + args: { name: "user-principal" }, + }, + ], + }, + { + name: "get-vm-host-payload", + description: + "Return the payload that need to be passed in the request body for installing Dynatrace agent on a VM", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List all monitor resource by monitor name in a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-app-service", + description: + "Get list of app services with dynatrace PaaS OneAgent enabled", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-host", + description: + "List the compute resources currently being monitored by the dynatrace resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-linkable-environment", + description: + "Get all the dynatrace environments that a user can link a azure resource to", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--region", + description: + "Azure region in which we want to link the environment", + args: { name: "region" }, + }, + { + name: "--tenant-id", + description: + "Tenant Id of the user in which they want to link the environment", + args: { name: "tenant-id" }, + }, + { + name: "--user-principal", + description: "User principal id of the user", + args: { name: "user-principal" }, + }, + ], + }, + { + name: "list-monitored-resource", + description: + "List the resources currently being monitored by the dynatrace monitor resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "sso-config", + description: "Manage monitor sso-config", + subcommands: [ + { + name: "create", + description: "Create a dynatrace sso-config resource", + options: [ + { + name: ["--configuration-name", "--name", "-n"], + description: "Single Sign On Configuration Name", + args: { name: "configuration-name" }, + isRequired: true, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aad-domains", + description: + 'Array of Aad(azure active directory) domains Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "aad-domains" }, + }, + { + name: "--enterprise-app-id", + description: + "Version of the Dynatrace agent installed on the VM", + args: { name: "enterprise-app-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--single-sign-on-state", + description: "State of Single Sign On", + args: { + name: "single-sign-on-state", + suggestions: ["Disable", "Enable", "Existing", "Initial"], + }, + }, + { + name: "--single-sign-on-url", + description: + "The login URL specific to this Dynatrace Environment", + args: { name: "single-sign-on-url" }, + }, + ], + }, + { + name: "list", + description: "List all dynatrace sso-config by monitor name", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a dynatrace sso-config", + options: [ + { + name: ["--configuration-name", "--name", "-n"], + description: "Single Sign On Configuration Name", + args: { name: "configuration-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--configuration-name", "--name", "-n"], + description: "Single Sign On Configuration Name", + args: { name: "configuration-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "tag-rule", + description: "Manage dynatrace monitor tag-rule", + subcommands: [ + { + name: "create", + description: "Create a tag rule", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Monitor rule set name", + args: { name: "rule-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--log-rules", + description: + 'Set of rules for sending logs for the Monitor resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "log-rules" }, + }, + { + name: "--metric-rules", + description: + 'Set of rules for sending metrics for the Monitor resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metric-rules" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a tag rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Monitor rule set name", + args: { name: "rule-set-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all tag rule by monitor name", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a tag rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Monitor rule set name", + args: { name: "rule-set-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a tag rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--log-rules", + description: + 'Set of rules for sending logs for the Monitor resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "log-rules" }, + }, + { + name: "--metric-rules", + description: + 'Set of rules for sending metrics for the Monitor resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metric-rules" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Monitor rule set name", + args: { name: "rule-set-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Monitor rule set name", + args: { name: "rule-set-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/edgeorder.ts b/src/az/2.53.0/edgeorder.ts new file mode 100644 index 000000000000..42815d1e402d --- /dev/null +++ b/src/az/2.53.0/edgeorder.ts @@ -0,0 +1,789 @@ +const completion: Fig.Spec = { + name: "edgeorder", + description: "Manage Edge Order", + subcommands: [ + { + name: "address", + description: "Manage address with edgeorder sub group address", + subcommands: [ + { + name: "create", + description: + "Create a new address with the specified parameters. Existing address can be updated with this API", + options: [ + { + name: ["--address-name", "--name", "-n"], + description: + "The name of the address Resource within the specified resource group. address names must be between 3 and 24 characters in length and use any alphanumeric and underscore only", + args: { name: "address-name" }, + isRequired: true, + }, + { + name: "--contact-details", + description: "Contact details for the address", + args: { name: "contact-details" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--shipping-address", + description: "Shipping details for the address", + args: { name: "shipping-address" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an address", + options: [ + { + name: ["--address-name", "--name", "-n"], + description: + "The name of the address Resource within the specified resource group. address names must be between 3 and 24 characters in length and use any alphanumeric and underscore only", + args: { name: "address-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the addresses available under the given resource group. And List all the addresses available under the subscription", + options: [ + { + name: "--filter", + description: + "$filter is supported to filter based on shipping address properties. Filter supports only equals operation", + args: { name: "filter" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-token", + description: + "$skipToken is supported on Get list of addresses, which provides the next page in the list of address", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "show", + description: "Get information about the specified address", + options: [ + { + name: ["--address-name", "--name", "-n"], + description: + "The name of the address Resource within the specified resource group. address names must be between 3 and 24 characters in length and use any alphanumeric and underscore only", + args: { name: "address-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the properties of an existing address", + options: [ + { + name: ["--address-name", "--name", "-n"], + description: + "The name of the address Resource within the specified resource group. address names must be between 3 and 24 characters in length and use any alphanumeric and underscore only", + args: { name: "address-name" }, + }, + { + name: "--contact-details", + description: "Contact details for the address", + args: { name: "contact-details" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Defines the If-Match condition. The patch will be performed only if the ETag of the job on the server matches this value", + args: { name: "if-match" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--shipping-address", + description: "Shipping details for the address", + args: { name: "shipping-address" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the address is met", + options: [ + { + name: "--address-name", + description: + "The name of the address Resource within the specified resource group", + args: { name: "address-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "list-config", + description: + "This method provides the list of configurations for the given product family, product line and product under subscription", + options: [ + { + name: "--configuration-filters", + description: + "Holds details about product hierarchy information and filterable property. Expected value: json-string/json-file/@json-file", + args: { name: "configuration-filters" }, + isRequired: true, + }, + { + name: "--location-placement-id", + description: "Location placement Id of a subscription", + args: { name: "location-placement-id" }, + }, + { + name: "--quota-id", + description: "Quota ID of a subscription", + args: { name: "quota-id" }, + }, + { + name: "--registered-features", + description: "List of registered feature flags for subscription", + args: { name: "registered-features" }, + }, + { + name: "--skip-token", + description: + "$skipToken is supported on list of configurations, which provides the next page in the list of configurations", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "list-family", + description: + "This method provides the list of product families for the given subscription", + options: [ + { + name: "--filterable-properties", + description: + "Dictionary of filterable properties on product family. Expect value: KEY1=VALUE1 KEY2=VALUE2", + args: { name: "filterable-properties" }, + isRequired: true, + }, + { + name: "--expand", + description: + "$expand is supported on configurations parameter for product, which provides details on the configurations for the product", + args: { name: "expand" }, + }, + { + name: "--location-placement-id", + description: "Location placement Id of a subscription", + args: { name: "location-placement-id" }, + }, + { + name: "--quota-id", + description: "Quota ID of a subscription", + args: { name: "quota-id" }, + }, + { + name: "--registered-features", + description: "List of registered feature flags for subscription", + args: { name: "registered-features" }, + }, + { + name: "--skip-token", + description: + "$skipToken is supported on list of product families, which provides the next page in the list of product families", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "list-metadata", + description: + "This method provides the list of product families metadata for the given subscription", + options: [ + { + name: "--skip-token", + description: + "$skipToken is supported on list of product families metadata, which provides the next page in the list of product families metadata", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "order", + description: "Manage order with edgeorder sub group order", + subcommands: [ + { + name: "list", + description: + "List order at resource group level. And List order at subscription level", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-token", + description: + "$skipToken is supported on Get list of order, which provides the next page in the list of order", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "show", + description: "Get an order", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--name", + description: "The name of the order", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "order-item", + description: "Manage order item with edgeorder sub group order-item", + subcommands: [ + { + name: "cancel", + description: "Cancel order item", + options: [ + { + name: "--reason", + description: "Reason for cancellation", + args: { name: "reason" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--order-item-name", "--name", "-n"], + description: "The name of the order item", + args: { name: "order-item-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: + "Create an order item. Existing order item cannot be updated with this api and should instead be updated with the Update order item API", + options: [ + { + name: ["--order-item-name", "--name", "-n"], + description: "The name of the order item", + args: { name: "order-item-name" }, + isRequired: true, + }, + { + name: "--order-item-resource", + description: + "Order item details from request body. Expected value: json-string/json-file/@json-file", + args: { name: "order-item-resource" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete an order item", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--order-item-name", "--name", "-n"], + description: "The name of the order item", + args: { name: "order-item-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List order item at resource group level. And List order item at subscription level", + options: [ + { + name: "--expand", + description: + "$expand is supported on device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Device Details for order item provides details on the devices of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "$filter is supported to filter based on order id. Filter supports only equals operation", + args: { name: "filter" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-token", + description: + "$skipToken is supported on Get list of order items, which provides the next page in the list of order items", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "return", + description: "Return order item", + options: [ + { + name: "--return-reason", + description: "Return Reason", + args: { name: "return-reason" }, + isRequired: true, + }, + { + name: "--contact-details", + description: "Contact details for the address", + args: { name: "contact-details" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--order-item-name", "--name", "-n"], + description: "The name of the order item", + args: { name: "order-item-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--service-tag", + description: + "Service tag (located on the bottom-right corner of the device)", + args: { name: "service-tag" }, + }, + { + name: "--shipping-address", + description: "Shipping details for the address", + args: { name: "shipping-address" }, + }, + { + name: "--shipping-box-required", + description: "Shipping Box required", + args: { + name: "shipping-box-required", + suggestions: ["false", "true"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get an order item", + options: [ + { + name: "--expand", + description: + "$expand is supported on device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Device Details for order item provides details on the devices of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--order-item-name", "--name", "-n"], + description: "The name of the order item", + args: { name: "order-item-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the properties of an existing order item", + options: [ + { + name: "--contact-details", + description: "Contact details for the address", + args: { name: "contact-details" }, + }, + { + name: "--encryption-preferences", + description: "Preferences related to the Encryption", + args: { name: "encryption-preferences" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Defines the If-Match condition. The patch will be performed only if the ETag of the order on the server matches this value", + args: { name: "if-match" }, + }, + { + name: "--mgmt-preferences", + description: "Preferences related to the Management resource", + args: { name: "mgmt-preferences" }, + }, + { + name: ["--order-item-name", "--name", "-n"], + description: "The name of the order item", + args: { name: "order-item-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--notif-email-list", + description: "Additional notification email list", + args: { name: "notif-email-list" }, + }, + { + name: "--notif-preferences", + description: "Notification preferences", + args: { name: "notif-preferences" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--shipping-address", + description: "Shipping details for the address", + args: { name: "shipping-address" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--transport-preferences", + description: + "Preferences related to the shipment logistics of the order", + args: { name: "transport-preferences" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the order-item is met", + options: [ + { + name: "--order-item-name", + description: "The name of the order item", + args: { name: "order-item-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "$expand is supported on device details, forward shipping details and reverse shipping details parameters", + args: { name: "expand" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/elastic-san.ts b/src/az/2.53.0/elastic-san.ts new file mode 100644 index 000000000000..41fe35bc066b --- /dev/null +++ b/src/az/2.53.0/elastic-san.ts @@ -0,0 +1,1472 @@ +const completion: Fig.Spec = { + name: "elastic-san", + description: "Manage Elastic SAN", + subcommands: [ + { + name: "create", + description: "Create an Elastic SAN", + options: [ + { + name: "--base-size-tib", + description: "Base size of the Elastic San appliance in TiB", + args: { name: "base-size-tib" }, + isRequired: true, + }, + { + name: ["--elastic-san-name", "--name", "-n"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + isRequired: true, + }, + { + name: ["--extended-capacity-size-tib", "--extended-size"], + description: "Extended size of the Elastic San appliance in TiB", + args: { name: "extended-capacity-size-tib" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: + 'Resource sku Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sku" }, + isRequired: true, + }, + { + name: "--availability-zones", + description: + 'Logical zone for Elastic San resource; example: ["1"]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "availability-zones" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--public-network-access", + description: + "Allow or disallow public network access to ElasticSan. Value is optional but if passed in, must be 'Enabled' or 'Disabled'", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--tags", + description: + 'Azure resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Elastic SAN", + options: [ + { + name: ["--elastic-san-name", "--name", "-n"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get a list of Elastic SANs in a subscription", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-sku", + description: "Get a list of Elastic SAN skus", + options: [ + { + name: "--filter", + description: "Specify $filter='location eq ' to filter on location", + args: { name: "filter" }, + }, + ], + }, + { + name: "show", + description: "Get an Elastic SAN", + options: [ + { + name: ["--elastic-san-name", "--name", "-n"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Elastic SAN", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--availability-zones", + description: + 'Logical zone for Elastic San resource; example: ["1"]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "availability-zones" }, + }, + { + name: "--base-size-tib", + description: "Base size of the Elastic San appliance in TiB", + args: { name: "base-size-tib" }, + }, + { + name: ["--elastic-san-name", "--name", "-n"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { + name: ["--extended-capacity-size-tib", "--extended-size"], + description: "Extended size of the Elastic San appliance in TiB", + args: { name: "extended-capacity-size-tib" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--public-network-access", + description: + "Allow or disallow public network access to ElasticSan. Value is optional but if passed in, must be 'Enabled' or 'Disabled'", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: + 'Resource sku Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Azure resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--elastic-san-name", "--name", "-n"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "volume", + description: "Manage Elastic SAN Volume", + subcommands: [ + { + name: "create", + description: "Create a Volume", + options: [ + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + isRequired: true, + }, + { + name: ["--volume-name", "--name", "-n"], + description: "The name of the Volume", + args: { name: "volume-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--size-gib", + description: "Volume size", + args: { name: "size-gib" }, + isRequired: true, + }, + { + name: ["--volume-group-name", "--volume-group", "-v"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + isRequired: true, + }, + { + name: "--creation-data", + description: + 'State of the operation on the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "creation-data" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a Volume", + options: [ + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n"], + description: "The name of the Volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--volume-group-name", "--volume-group", "-v"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + }, + { + name: "--x-ms-delete-snapshots", + description: + "Optional, used to delete snapshots under volume. Allowed value are only true or false. Default value is false", + args: { + name: "x-ms-delete-snapshots", + suggestions: ["false", "true"], + }, + }, + { + name: "--x-ms-force-delete", + description: + "Optional, used to delete volume if active sessions present. Allowed value are only true or false. Default value is false", + args: { + name: "x-ms-force-delete", + suggestions: ["false", "true"], + }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List Volumes in a Volume Group", + options: [ + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--volume-group-name", "--volume-group", "-v"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get a Volume", + options: [ + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n"], + description: "The name of the Volume", + args: { name: "volume-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--volume-group-name", "--volume-group", "-v"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + }, + ], + }, + { + name: "update", + description: "Update a Volume", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--creation-data", + description: + 'State of the operation on the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "creation-data" }, + }, + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n"], + description: "The name of the Volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--size-gib", + description: "Volume size", + args: { name: "size-gib" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--volume-group-name", "--volume-group", "-v"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--volume-name", "--name", "-n"], + description: "The name of the Volume", + args: { name: "volume-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: ["--volume-group-name", "--volume-group", "-v"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + }, + ], + }, + { + name: "snapshot", + description: "Manage volume snapshot", + subcommands: [ + { + name: "create", + description: "Create a Volume Snapshot", + options: [ + { + name: "--creation-data", + description: + 'Data used when creating a volume snapshot. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "creation-data" }, + isRequired: true, + }, + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + isRequired: true, + }, + { + name: ["--snapshot-name", "--name", "-n"], + description: + "The name of the volume snapshot within the given volume group", + args: { name: "snapshot-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--volume-group-name", "--volume-group", "-v"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a Volume Snapshot", + options: [ + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--snapshot-name", "--name", "-n"], + description: + "The name of the volume snapshot within the given volume group", + args: { name: "snapshot-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--volume-group-name", "--volume-group", "-v"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter", + options: [ + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--volume-group-name", "--volume-group", "-v"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + isRequired: true, + }, + { + name: "--filter", + description: + "Specify $filter='volumeName eq ' to filter on volume", + args: { name: "filter" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get a Volume Snapshot", + options: [ + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--snapshot-name", "--name", "-n"], + description: + "The name of the volume snapshot within the given volume group", + args: { name: "snapshot-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--volume-group-name", "--volume-group", "-v"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--snapshot-name", "--name", "-n"], + description: + "The name of the volume snapshot within the given volume group", + args: { name: "snapshot-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: ["--volume-group-name", "--volume-group", "-v"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "volume-group", + description: "Manage Elastic SAN Volume Group", + subcommands: [ + { + name: "create", + description: "Create a Volume Group", + options: [ + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + isRequired: true, + }, + { + name: ["--volume-group-name", "--name", "-n"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--encryption", + description: "Type of encryption", + args: { + name: "encryption", + suggestions: [ + "EncryptionAtRestWithCustomerManagedKey", + "EncryptionAtRestWithPlatformKey", + ], + }, + }, + { + name: "--encryption-properties", + description: + 'Encryption Properties describing Key Vault and Identity information Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "encryption-properties" }, + }, + { + name: "--identity", + description: + 'The identity of the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--network-acls", + description: + 'A collection of rules governing the accessibility from specific network locations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "network-acls" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--protocol-type", + description: "Type of storage target", + args: { name: "protocol-type", suggestions: ["Iscsi", "None"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a Volume Group", + options: [ + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-group-name", "--name", "-n"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List Volume Groups", + options: [ + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get a Volume Group", + options: [ + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-group-name", "--name", "-n"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Volume Group", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { + name: "--encryption", + description: "Type of encryption", + args: { + name: "encryption", + suggestions: [ + "EncryptionAtRestWithCustomerManagedKey", + "EncryptionAtRestWithPlatformKey", + ], + }, + }, + { + name: "--encryption-properties", + description: + 'Encryption Properties describing Key Vault and Identity information Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "encryption-properties" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + 'The identity of the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-group-name", "--name", "-n"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + }, + { + name: "--network-acls", + description: + 'A collection of rules governing the accessibility from specific network locations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "network-acls" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--protocol-type", + description: "Type of storage target", + args: { name: "protocol-type", suggestions: ["Iscsi", "None"] }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--elastic-san-name", "--elastic-san", "-e"], + description: "The name of the ElasticSan", + args: { name: "elastic-san-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--volume-group-name", "--name", "-n"], + description: "The name of the VolumeGroup", + args: { name: "volume-group-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/elastic.ts b/src/az/2.53.0/elastic.ts new file mode 100644 index 000000000000..dfcabd904e3c --- /dev/null +++ b/src/az/2.53.0/elastic.ts @@ -0,0 +1,1138 @@ +const completion: Fig.Spec = { + name: "elastic", + description: "Manage Microsoft Elastic", + subcommands: [ + { + name: "get-organization-api-key", + description: + "Fetch User API Key from internal database, if it was generated and stored while creating the Elasticsearch Organization", + options: [ + { + name: "--email-id", + description: "The User email Id", + args: { name: "email-id" }, + }, + ], + }, + { + name: "monitor", + description: "Manage monitor with elastic", + subcommands: [ + { + name: "associate-traffic-filter", + description: "Associate traffic filter", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--ruleset-id", + description: "Ruleset Id of the filter", + args: { name: "ruleset-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a monitor resource", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--generate-api-key", + description: + "Flag to determine if User API Key has to be generated and shared", + args: { + name: "generate-api-key", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--location", "-l"], + description: "The location of the monitor resource", + args: { name: "location" }, + }, + { + name: "--monitoring-status", + description: + "Flag specifying if the resource monitoring is enabled or disabled", + args: { + name: "monitoring-status", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--sku", + description: + 'SKU of the monitor resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sku" }, + }, + { + name: "--tags", + description: + 'The tags of the monitor resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--user-info", + description: + 'User information. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-info" }, + }, + { + name: "--version", + description: "Version of elastic of the monitor resource", + args: { name: "version" }, + }, + ], + }, + { + name: "create-and-associate-ip-filter", + description: "Create and associate ip filter", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ips", + description: "List of ips", + args: { name: "ips" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--name", + description: "Name of the traffic filter", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create-and-associate-pl-filter", + description: "Create and associate pl filter", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--name", + description: "Name of the traffic filter", + args: { name: "name" }, + }, + { + name: "--private-endpoint-guid", + description: "Guid of the private endpoint", + args: { name: "private-endpoint-guid" }, + }, + { + name: "--private-endpoint-name", + description: "Name of the private endpoint", + args: { name: "private-endpoint-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create-or-update-external-user", + description: "Create or update external user", + options: [ + { + name: "--email-id", + description: "Email id of the user to be created or updated", + args: { name: "email-id" }, + }, + { + name: "--full-name", + description: "Full name of the user to be created or updated", + args: { name: "full-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--password", + description: "Password of the user to be created or updated", + args: { name: "password" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--roles", + description: + 'Roles to be assigned for created or updated user Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "roles" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--user-name", + description: "Username of the user to be created or updated", + args: { name: "user-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "delete-traffic-filter", + description: "Delete traffic filter", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--ruleset-id", + description: "Ruleset Id of the filter", + args: { name: "ruleset-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "detach-and-delete-traffic-filter", + description: "Detach and delete traffic filter", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--ruleset-id", + description: "Ruleset Id of the filter", + args: { name: "ruleset-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "detach-traffic-filter", + description: "Detach traffic filter", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--ruleset-id", + description: "Ruleset Id of the filter", + args: { name: "ruleset-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all monitors under the specified resource group. And List all monitors under the specified subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-all-traffic-filter", + description: "List all traffic filter", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-associated-traffic-filter", + description: "List associated traffic filter", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-deployment-info", + description: + "Fetch information regarding Elastic cloud deployment corresponding to the Elastic monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-resource", + description: + "List the resources currently being monitored by the Elastic monitor resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-upgradable-version", + description: "List upgradable version", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-vm-host", + description: + "List the vm resources currently being monitored by the Elastic monitor resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the properties of a specific monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Elastic monitor resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "update-vm-collection", + description: + "Update the vm details that will be monitored by the Elastic monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--operation-name", + description: "Operation to be performed for given VM", + args: { name: "operation-name", suggestions: ["Add", "Delete"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-resource-id", + description: "ARM id of the VM resource", + args: { name: "vm-resource-id" }, + }, + ], + }, + { + name: "upgrade", + description: "Upgrade elastic monitor", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--version", + description: + "Version to which the elastic monitor should be upgraded to", + args: { name: "version" }, + }, + ], + }, + { + name: "vm-ingestion-detail", + description: + "List the vm ingestion details that will be monitored by the Elastic monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "tag-rule", + description: "Manage tag rule with elastic", + subcommands: [ + { + name: "create", + description: "Create a tag rule set for a given monitor resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Tag Rule Set resource name", + args: { name: "rule-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--log-rules", + description: + 'Rules for sending logs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "log-rules" }, + }, + ], + }, + { + name: "delete", + description: "Delete a tag rule set for a given monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Tag Rule Set resource name", + args: { name: "rule-set-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the tag rules for a given monitor resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a tag rule set for a given monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Tag Rule Set resource name", + args: { name: "rule-set-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a tag rule set for a given monitor resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--log-rules", + description: + 'Rules for sending logs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "log-rules" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Tag Rule Set resource name", + args: { name: "rule-set-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Tag Rule Set resource name", + args: { name: "rule-set-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/eventgrid.ts b/src/az/2.53.0/eventgrid.ts new file mode 100644 index 000000000000..376adc3313eb --- /dev/null +++ b/src/az/2.53.0/eventgrid.ts @@ -0,0 +1,5258 @@ +const completion: Fig.Spec = { + name: "eventgrid", + description: + "Manage Azure Event Grid topics, domains, domain topics, system topics partner topics, event subscriptions, system topic event subscriptions and partner topic event subscriptions", + subcommands: [ + { + name: "domain", + description: "Manage event domains", + subcommands: [ + { + name: "create", + description: "Create a domain", + options: [ + { + name: ["--name", "-n"], + description: "Name of the domain", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--identity", + description: + "Argument 'identity' has been deprecated and will be removed in a future release. The managed identity type for the resource. Will be deprecated and replaced by --mi-system-assigned-identity in future", + args: { + name: "identity", + suggestions: ["noidentity", "systemassigned"], + }, + }, + { + name: "--inbound-ip-rules", + description: "List of inbound IP rules", + args: { name: "inbound-ip-rules" }, + }, + { + name: "--input-mapping-default-values", + description: + "When input-schema is specified as customeventschema, this parameter can be used to specify input mappings based on default values. You can use this parameter when your custom schema does not include a field that corresponds to one of the three fields supported by this parameter. Specify space separated mappings in 'key=value' format. Allowed key names are 'subject', 'eventtype', 'dataversion'. The corresponding value names should specify the default values to be used for the mapping and they will be used only when the published event doesn't have a valid mapping for a particular field", + args: { name: "input-mapping-default-values" }, + }, + { + name: "--input-mapping-fields", + description: + "When input-schema is specified as customeventschema, this parameter is used to specify input mappings based on field names. Specify space separated mappings in 'key=value' format. Allowed key names are 'id', 'topic', 'eventtime', 'subject', 'eventtype', 'dataversion'. The corresponding value names should specify the names of the fields in the custom input schema. If a mapping for either 'id' or 'eventtime' is not provided, Event Grid will auto-generate a default value for these two fields", + args: { name: "input-mapping-fields" }, + }, + { + name: "--input-schema", + description: + "Schema in which incoming events will be published to this topic/domain. If you specify customeventschema as the value for this parameter, you must also provide values for at least one of --input_mapping_default_values / --input_mapping_fields", + args: { + name: "input-schema", + suggestions: [ + "cloudeventschemav1_0", + "customeventschema", + "eventgridschema", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mi-system-assigned", + description: + "Presence of this param indicates that SystemAssigned managed identity will be used", + args: { name: "mi-system-assigned" }, + }, + { + name: "--mi-user-assigned", + description: + "Add user assigned identities when identityType is user or mixed. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --mi-user-assigned argument", + args: { name: "mi-user-assigned" }, + }, + { + name: "--public-network-access", + description: + "This determines if traffic is allowed over public network. By default it is enabled. You can further restrict to specific IPs by configuring", + args: { + name: "public-network-access", + suggestions: ["disabled", "enabled"], + }, + }, + { + name: "--sku", + description: "The Sku name of the resource", + args: { name: "sku", suggestions: ["basic", "premium"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a domain", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the domain", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List available domains", + options: [ + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a domain", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the domain", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a domain", + options: [ + { + name: "--identity", + description: + "Argument 'identity' has been deprecated and will be removed in a future release. The managed identity type for the resource. Will be deprecated and replaced by --mi-system-assigned-identity in future", + args: { + name: "identity", + suggestions: ["noidentity", "systemassigned"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--inbound-ip-rules", + description: "List of inbound IP rules", + args: { name: "inbound-ip-rules" }, + }, + { + name: "--mi-system-assigned", + description: + "Presence of this param indicates that SystemAssigned managed identity will be used", + args: { name: "mi-system-assigned" }, + }, + { + name: "--mi-user-assigned", + description: + "Add user assigned identities when identityType is user or mixed. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --mi-user-assigned argument", + args: { name: "mi-user-assigned" }, + }, + { + name: ["--name", "-n"], + description: "Name of the domain", + args: { name: "name" }, + }, + { + name: "--public-network-access", + description: + "This determines if traffic is allowed over public network. By default it is enabled. You can further restrict to specific IPs by configuring", + args: { + name: "public-network-access", + suggestions: ["disabled", "enabled"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: "The Sku name of the resource", + args: { name: "sku", suggestions: ["basic", "premium"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "event-subscription", + description: "Manage event subscriptions of domain", + subcommands: [ + { + name: "create", + description: "Create a new event subscription for a domain", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: [ + "--azure-active-directory-application-id-or-uri", + "--aad-app-id", + ], + description: + "The Azure Active Directory Application Id or Uri to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination", + args: { + name: "azure-active-directory-application-id-or-uri", + }, + }, + { + name: [ + "--azure-active-directory-tenant-id", + "--aad-tenant-id", + ], + description: + "The Azure Active Directory Tenant Id to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination", + args: { name: "azure-active-directory-tenant-id" }, + }, + { + name: "--advanced-filter", + description: + "An advanced filter enables filtering of events based on a specific event property", + args: { name: "advanced-filter" }, + }, + { + name: "--deadletter-endpoint", + description: + "The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription", + args: { name: "deadletter-endpoint" }, + }, + { + name: ["--delivery-attribute-mapping", "-d"], + description: + "Add delivery attribute mapping to send additional information via HTTP headers when delivering events. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --delivery-attribute-mapping argument", + args: { name: "delivery-attribute-mapping" }, + }, + { + name: [ + "--enable-advanced-filtering-on-arrays", + "--enable-af-arr", + ], + description: + "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value", + args: { + name: "enable-advanced-filtering-on-arrays", + suggestions: ["false", "true"], + }, + }, + { + name: "--endpoint", + description: + "Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint. It is expected that the destination endpoint to be already created and available for use before executing any Event Grid command", + args: { name: "endpoint" }, + }, + { + name: "--endpoint-type", + description: "The type of the destination endpoint", + args: { + name: "endpoint-type", + suggestions: [ + "azurefunction", + "eventhub", + "hybridconnection", + "servicebusqueue", + "servicebustopic", + "storagequeue", + "webhook", + ], + }, + }, + { + name: "--event-delivery-schema", + description: + "The schema in which events should be delivered for this event subscription. By default, events will be delivered in the same schema in which they are published (based on the corresponding topic's input schema)", + args: { + name: "event-delivery-schema", + suggestions: [ + "cloudeventschemav1_0", + "custominputschema", + "eventgridschema", + ], + }, + }, + { + name: "--event-ttl", + description: + "Event time to live (in minutes). Must be a number between 1 and 1440", + args: { name: "event-ttl" }, + }, + { + name: "--expiration-date", + description: + "Date or datetime (in UTC, e.g. '2018-11-30T11:59:59+00:00' or '2018-11-30') after which the event subscription would expire. By default, there is no expiration for the event subscription", + args: { name: "expiration-date" }, + }, + { + name: "--included-event-types", + description: + "A space-separated list of event types (e.g., Microsoft.Storage.BlobCreated and Microsoft.Storage.BlobDeleted). In order to subscribe to all default event types, do not specify any value for this argument. For event grid topics, event types are customer defined. For Azure events, e.g., Storage Accounts, IoT Hub, etc., you can query their event types using this CLI command 'az eventgrid topic-type list-event-types'", + args: { name: "included-event-types" }, + }, + { + name: "--labels", + description: + "A space-separated list of labels to associate with this event subscription", + args: { name: "labels" }, + }, + { + name: "--max-delivery-attempts", + description: + "Maximum number of delivery attempts. Must be a number between 1 and 30", + args: { name: "max-delivery-attempts" }, + }, + { + name: "--max-events-per-batch", + description: + "Maximum number of events in a batch. Must be a number between 1 and 5000", + args: { name: "max-events-per-batch" }, + }, + { + name: [ + "--preferred-batch-size-in-kilobytes", + "--pref-batch-size-kb", + ], + description: + "Preferred batch size in kilobytes. Must be a number between 1 and 1024", + args: { name: "preferred-batch-size-in-kilobytes" }, + }, + { + name: ["--storage-queue-msg-ttl", "--qttl"], + description: "Storage queue message time to live in seconds", + args: { name: "storage-queue-msg-ttl" }, + }, + { + name: "--subject-begins-with", + description: + "An optional string to filter events for an event subscription based on a prefix. Wildcard characters are not supported", + args: { name: "subject-begins-with" }, + }, + { + name: "--subject-case-sensitive", + description: + "Specify to indicate whether the subject fields should be compared in a case sensitive manner. True if flag present", + }, + { + name: "--subject-ends-with", + description: + "An optional string to filter events for an event subscription based on a suffix. Wildcard characters are not supported", + args: { name: "subject-ends-with" }, + }, + ], + }, + { + name: "delete", + description: "Delete an event subscription of a domain", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List event subscriptions of a specific domain", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of an event subscription of a domain", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--include-full-endpoint-url", "--full-ed-url"], + description: + "Specify to indicate whether the full endpoint URL should be returned. True if flag present", + }, + { + name: [ + "--include-static-delivery-attribute-secret", + "--include-attrib-secret", + ], + description: + "Indicate whether any static delivery attribute secrets should be returned. True if flag present", + }, + ], + }, + { + name: "update", + description: "Update an event subscription of a domain", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--advanced-filter", + description: + "An advanced filter enables filtering of events based on a specific event property", + args: { name: "advanced-filter" }, + }, + { + name: "--deadletter-endpoint", + description: + "The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription", + args: { name: "deadletter-endpoint" }, + }, + { + name: ["--delivery-attribute-mapping", "-d"], + description: + "Add delivery attribute mapping to send additional information via HTTP headers when delivering events. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --delivery-attribute-mapping argument", + args: { name: "delivery-attribute-mapping" }, + }, + { + name: [ + "--enable-advanced-filtering-on-arrays", + "--enable-af-arr", + ], + description: + "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value", + args: { + name: "enable-advanced-filtering-on-arrays", + suggestions: ["false", "true"], + }, + }, + { + name: "--endpoint", + description: + "Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint. It is expected that the destination endpoint to be already created and available for use before executing any Event Grid command", + args: { name: "endpoint" }, + }, + { + name: "--included-event-types", + description: + "A space-separated list of event types (e.g., Microsoft.Storage.BlobCreated and Microsoft.Storage.BlobDeleted). In order to subscribe to all default event types, do not specify any value for this argument. For event grid topics, event types are customer defined. For Azure events, e.g., Storage Accounts, IoT Hub, etc., you can query their event types using this CLI command 'az eventgrid topic-type list-event-types'", + args: { name: "included-event-types" }, + }, + { + name: "--labels", + description: + "A space-separated list of labels to associate with this event subscription", + args: { name: "labels" }, + }, + { + name: ["--storage-queue-msg-ttl", "--qttl"], + description: "Storage queue message time to live in seconds", + args: { name: "storage-queue-msg-ttl" }, + }, + { + name: "--subject-begins-with", + description: + "An optional string to filter events for an event subscription based on a prefix. Wildcard characters are not supported", + args: { name: "subject-begins-with" }, + }, + { + name: "--subject-ends-with", + description: + "An optional string to filter events for an event subscription based on a suffix. Wildcard characters are not supported", + args: { name: "subject-ends-with" }, + }, + { + name: "--update-endpoint-type", + description: "The type of the destination endpoint", + args: { + name: "update-endpoint-type", + suggestions: [ + "azurefunction", + "eventhub", + "hybridconnection", + "servicebusqueue", + "servicebustopic", + "storagequeue", + "webhook", + ], + }, + }, + ], + }, + ], + }, + { + name: "key", + description: "Manage shared access keys of a domain", + subcommands: [ + { + name: "list", + description: "List shared access keys of a domain", + options: [ + { + name: ["--name", "-n"], + description: "Name of the domain", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "regenerate", + description: "Regenerate a shared access key of a domain", + options: [ + { + name: "--key-name", + description: "Key name to regenerate key1 or key2", + args: { name: "key-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the domain", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: + "Manage private endpoint connection resources of a domain", + subcommands: [ + { + name: "approve", + description: + "Approve a private endpoint connection request for a domain", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "Comments for the approval", + args: { name: "description" }, + }, + ], + }, + { + name: "delete", + description: "Delete a private endpoint connection for a domain", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List the properties of all the private endpoint connections for a domain", + options: [ + { + name: ["--name", "-n"], + description: "Name of the domain", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "reject", + description: + "Reject a private endpoint connection request for a domain", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "Comments for the rejection", + args: { name: "description" }, + }, + ], + }, + { + name: "show", + description: + "Display the properties of a private endpoint connection for a domain", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage private link resource of a domain", + subcommands: [ + { + name: "list", + description: + "List the properties of all the private link resources for a domain", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Display the properties of a private link resource for a domain", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private link resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "topic", + description: "Manage event domain topics", + subcommands: [ + { + name: "create", + description: "Create a domain topic under a domain", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the domain topic", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a domain topic under a domain", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the domain topic", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List available topics in a domain", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a domain topic", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the domain topic", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "event-subscription", + description: "Manage event subscriptions of a domain topic", + subcommands: [ + { + name: "create", + description: + "Create a new event subscription for a domain topic", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: "--domain-topic-name", + description: "Name of the domain topic", + args: { name: "domain-topic-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: [ + "--azure-active-directory-application-id-or-uri", + "--aad-app-id", + ], + description: + "The Azure Active Directory Application Id or Uri to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination", + args: { + name: "azure-active-directory-application-id-or-uri", + }, + }, + { + name: [ + "--azure-active-directory-tenant-id", + "--aad-tenant-id", + ], + description: + "The Azure Active Directory Tenant Id to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination", + args: { name: "azure-active-directory-tenant-id" }, + }, + { + name: "--advanced-filter", + description: + "An advanced filter enables filtering of events based on a specific event property", + args: { name: "advanced-filter" }, + }, + { + name: "--deadletter-endpoint", + description: + "The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription", + args: { name: "deadletter-endpoint" }, + }, + { + name: ["--delivery-attribute-mapping", "-d"], + description: + "Add delivery attribute mapping to send additional information via HTTP headers when delivering events. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --delivery-attribute-mapping argument", + args: { name: "delivery-attribute-mapping" }, + }, + { + name: [ + "--enable-advanced-filtering-on-arrays", + "--enable-af-arr", + ], + description: + "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value", + args: { + name: "enable-advanced-filtering-on-arrays", + suggestions: ["false", "true"], + }, + }, + { + name: "--endpoint", + description: + "Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint. It is expected that the destination endpoint to be already created and available for use before executing any Event Grid command", + args: { name: "endpoint" }, + }, + { + name: "--endpoint-type", + description: "The type of the destination endpoint", + args: { + name: "endpoint-type", + suggestions: [ + "azurefunction", + "eventhub", + "hybridconnection", + "servicebusqueue", + "servicebustopic", + "storagequeue", + "webhook", + ], + }, + }, + { + name: "--event-delivery-schema", + description: + "The schema in which events should be delivered for this event subscription. By default, events will be delivered in the same schema in which they are published (based on the corresponding topic's input schema)", + args: { + name: "event-delivery-schema", + suggestions: [ + "cloudeventschemav1_0", + "custominputschema", + "eventgridschema", + ], + }, + }, + { + name: "--event-ttl", + description: + "Event time to live (in minutes). Must be a number between 1 and 1440", + args: { name: "event-ttl" }, + }, + { + name: "--expiration-date", + description: + "Date or datetime (in UTC, e.g. '2018-11-30T11:59:59+00:00' or '2018-11-30') after which the event subscription would expire. By default, there is no expiration for the event subscription", + args: { name: "expiration-date" }, + }, + { + name: "--included-event-types", + description: + "A space-separated list of event types (e.g., Microsoft.Storage.BlobCreated and Microsoft.Storage.BlobDeleted). In order to subscribe to all default event types, do not specify any value for this argument. For event grid topics, event types are customer defined. For Azure events, e.g., Storage Accounts, IoT Hub, etc., you can query their event types using this CLI command 'az eventgrid topic-type list-event-types'", + args: { name: "included-event-types" }, + }, + { + name: "--labels", + description: + "A space-separated list of labels to associate with this event subscription", + args: { name: "labels" }, + }, + { + name: "--max-delivery-attempts", + description: + "Maximum number of delivery attempts. Must be a number between 1 and 30", + args: { name: "max-delivery-attempts" }, + }, + { + name: "--max-events-per-batch", + description: + "Maximum number of events in a batch. Must be a number between 1 and 5000", + args: { name: "max-events-per-batch" }, + }, + { + name: [ + "--preferred-batch-size-in-kilobytes", + "--pref-batch-size-kb", + ], + description: + "Preferred batch size in kilobytes. Must be a number between 1 and 1024", + args: { name: "preferred-batch-size-in-kilobytes" }, + }, + { + name: ["--storage-queue-msg-ttl", "--qttl"], + description: + "Storage queue message time to live in seconds", + args: { name: "storage-queue-msg-ttl" }, + }, + { + name: "--subject-begins-with", + description: + "An optional string to filter events for an event subscription based on a prefix. Wildcard characters are not supported", + args: { name: "subject-begins-with" }, + }, + { + name: "--subject-case-sensitive", + description: + "Specify to indicate whether the subject fields should be compared in a case sensitive manner. True if flag present", + }, + { + name: "--subject-ends-with", + description: + "An optional string to filter events for an event subscription based on a suffix. Wildcard characters are not supported", + args: { name: "subject-ends-with" }, + }, + ], + }, + { + name: "delete", + description: "Delete an event subscription of a domain topic", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: "--domain-topic-name", + description: "Name of the domain topic", + args: { name: "domain-topic-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List event subscriptions of a specific domain topic", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: "--domain-topic-name", + description: "Name of the domain topic", + args: { name: "domain-topic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of an event subscription of a domain topic", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: "--domain-topic-name", + description: "Name of the domain topic", + args: { name: "domain-topic-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--include-full-endpoint-url", "--full-ed-url"], + description: + "Specify to indicate whether the full endpoint URL should be returned. True if flag present", + }, + { + name: [ + "--include-static-delivery-attribute-secret", + "--include-attrib-secret", + ], + description: + "Indicate whether any static delivery attribute secrets should be returned. True if flag present", + }, + ], + }, + { + name: "update", + description: "Update an event subscription of a domain topic", + options: [ + { + name: "--domain-name", + description: "Name of the domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: "--domain-topic-name", + description: "Name of the domain topic", + args: { name: "domain-topic-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--advanced-filter", + description: + "An advanced filter enables filtering of events based on a specific event property", + args: { name: "advanced-filter" }, + }, + { + name: "--deadletter-endpoint", + description: + "The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription", + args: { name: "deadletter-endpoint" }, + }, + { + name: ["--delivery-attribute-mapping", "-d"], + description: + "Add delivery attribute mapping to send additional information via HTTP headers when delivering events. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --delivery-attribute-mapping argument", + args: { name: "delivery-attribute-mapping" }, + }, + { + name: [ + "--enable-advanced-filtering-on-arrays", + "--enable-af-arr", + ], + description: + "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value", + args: { + name: "enable-advanced-filtering-on-arrays", + suggestions: ["false", "true"], + }, + }, + { + name: "--endpoint", + description: + "Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint. It is expected that the destination endpoint to be already created and available for use before executing any Event Grid command", + args: { name: "endpoint" }, + }, + { + name: "--included-event-types", + description: + "A space-separated list of event types (e.g., Microsoft.Storage.BlobCreated and Microsoft.Storage.BlobDeleted). In order to subscribe to all default event types, do not specify any value for this argument. For event grid topics, event types are customer defined. For Azure events, e.g., Storage Accounts, IoT Hub, etc., you can query their event types using this CLI command 'az eventgrid topic-type list-event-types'", + args: { name: "included-event-types" }, + }, + { + name: "--labels", + description: + "A space-separated list of labels to associate with this event subscription", + args: { name: "labels" }, + }, + { + name: ["--storage-queue-msg-ttl", "--qttl"], + description: + "Storage queue message time to live in seconds", + args: { name: "storage-queue-msg-ttl" }, + }, + { + name: "--subject-begins-with", + description: + "An optional string to filter events for an event subscription based on a prefix. Wildcard characters are not supported", + args: { name: "subject-begins-with" }, + }, + { + name: "--subject-ends-with", + description: + "An optional string to filter events for an event subscription based on a suffix. Wildcard characters are not supported", + args: { name: "subject-ends-with" }, + }, + { + name: "--update-endpoint-type", + description: "The type of the destination endpoint", + args: { + name: "update-endpoint-type", + suggestions: [ + "azurefunction", + "eventhub", + "hybridconnection", + "servicebusqueue", + "servicebustopic", + "storagequeue", + "webhook", + ], + }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "event-subscription", + description: + "Manage event subscriptions.\n\n\t\tManage event subscriptions for an Event Grid topic, domain, domain topic, Azure subscription, resource group or for any other Azure resource that supports event notifications", + subcommands: [ + { + name: "create", + description: "Create a new event subscription", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--azure-active-directory-tenant-id", "--aad-tenant-id"], + description: + "The Azure Active Directory Tenant Id to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination", + args: { name: "azure-active-directory-tenant-id" }, + }, + { + name: "--advanced-filter", + description: + "An advanced filter enables filtering of events based on a specific event property", + args: { name: "advanced-filter" }, + }, + { + name: "--azure-active-directory-application-id-or-uri", + description: + "The Azure Active Directory Application Id or Uri to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination", + args: { name: "azure-active-directory-application-id-or-uri" }, + }, + { + name: "--deadletter-endpoint", + description: + "The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription", + args: { name: "deadletter-endpoint" }, + }, + { + name: "--deadletter-identity", + description: + "The identity type of the deadletter destination resource", + args: { + name: "deadletter-identity", + suggestions: ["systemassigned"], + }, + }, + { + name: "--deadletter-identity-endpoint", + description: + "The Azure resource ID of an Azure Storage blob container destination with identity where EventGrid should deadletter undeliverable events for this event subscription", + args: { name: "deadletter-identity-endpoint" }, + }, + { + name: "--delivery-attribute-mapping", + description: + "Add delivery attribute mapping to send additional information via HTTP headers when delivering events. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --delivery-attribute-mapping argument", + args: { name: "delivery-attribute-mapping" }, + }, + { + name: "--delivery-identity", + description: + "The identity type of the delivery destination resource (e.g., storage queue, or eventhub)", + args: { + name: "delivery-identity", + suggestions: ["systemassigned"], + }, + }, + { + name: "--delivery-identity-endpoint", + description: + "Endpoint with identity where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint", + args: { name: "delivery-identity-endpoint" }, + }, + { + name: "--delivery-identity-endpoint-type", + description: + "The type of the destination endpoint with resource identity", + args: { + name: "delivery-identity-endpoint-type", + suggestions: [ + "azurefunction", + "eventhub", + "hybridconnection", + "servicebusqueue", + "servicebustopic", + "storagequeue", + "webhook", + ], + }, + }, + { + name: [ + "--enable-advanced-filtering-on-arrays", + "--enable-af-arr", + ], + description: + "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value", + args: { + name: "enable-advanced-filtering-on-arrays", + suggestions: ["false", "true"], + }, + }, + { + name: "--endpoint", + description: + "Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint. It is expected that the destination endpoint to be already created and available for use before executing any Event Grid command", + args: { name: "endpoint" }, + }, + { + name: "--endpoint-type", + description: "The type of the destination endpoint", + args: { name: "endpoint-type" }, + }, + { + name: "--event-delivery-schema", + description: + "The schema in which events should be delivered for this event subscription. By default, events will be delivered in the same schema in which they are published (based on the corresponding topic's input schema)", + args: { + name: "event-delivery-schema", + suggestions: [ + "cloudeventschemav1_0", + "custominputschema", + "eventgridschema", + ], + }, + }, + { + name: "--event-ttl", + description: + "Event time to live (in minutes). Must be a number between 1 and 1440", + args: { name: "event-ttl" }, + }, + { + name: "--expiration-date", + description: + "Date or datetime (in UTC, e.g. '2018-11-30T11:59:59+00:00' or '2018-11-30') after which the event subscription would expire. By default, there is no expiration for the event subscription", + args: { name: "expiration-date" }, + }, + { + name: "--included-event-types", + description: + "A space-separated list of event types (e.g., Microsoft.Storage.BlobCreated and Microsoft.Storage.BlobDeleted). In order to subscribe to all default event types, do not specify any value for this argument. For event grid topics, event types are customer defined. For Azure events, e.g., Storage Accounts, IoT Hub, etc., you can query their event types using this CLI command 'az eventgrid topic-type list-event-types'", + args: { name: "included-event-types" }, + }, + { + name: "--labels", + description: + "A space-separated list of labels to associate with this event subscription", + args: { name: "labels" }, + }, + { + name: "--max-delivery-attempts", + description: + "Maximum number of delivery attempts. Must be a number between 1 and 30", + args: { name: "max-delivery-attempts" }, + }, + { + name: "--max-events-per-batch", + description: + "Maximum number of events in a batch. Must be a number between 1 and 5000", + args: { name: "max-events-per-batch" }, + }, + { + name: "--preferred-batch-size-in-kilobytes", + description: + "Preferred batch size in kilobytes. Must be a number between 1 and 1024", + args: { name: "preferred-batch-size-in-kilobytes" }, + }, + { + name: ["--storage-queue-msg-ttl", "--qttl"], + description: "Storage queue message time to live in seconds", + args: { name: "storage-queue-msg-ttl" }, + }, + { + name: "--source-resource-id", + description: + "Fully qualified identifier of the Azure resource to which the event subscription needs to be created", + args: { name: "source-resource-id" }, + }, + { + name: "--subject-begins-with", + description: + "An optional string to filter events for an event subscription based on a prefix. Wildcard characters are not supported", + args: { name: "subject-begins-with" }, + }, + { + name: "--subject-case-sensitive", + description: + "Specify to indicate whether the subject fields should be compared in a case sensitive manner. True if flag present", + }, + { + name: "--subject-ends-with", + description: + "An optional string to filter events for an event subscription based on a suffix. Wildcard characters are not supported", + args: { name: "subject-ends-with" }, + }, + ], + }, + { + name: "delete", + description: "Delete an event subscription", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--source-resource-id", + description: + "Fully qualified identifier of the Azure resource whose event subscription needs to be deleted", + args: { name: "source-resource-id" }, + }, + ], + }, + { + name: "list", + description: "List event subscriptions", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--source-resource-id", + description: + "Fully qualified identifier of the Azure resource whose event subscription needs to be listed", + args: { name: "source-resource-id" }, + }, + { + name: "--topic-type-name", + description: + "Name of the topic-type whose event subscriptions need to be listed. When this is specified, you must also specify --location", + args: { name: "topic-type-name" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an event subscription", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: [ + "--include-static-delivery-attribute-secret", + "--include-attrib-secret", + ], + description: + "Indicate whether any static delivery attribute secrets should be returned. True if flag present", + }, + { + name: "--include-full-endpoint-url", + description: + "Specify to indicate whether the full endpoint URL should be returned. True if flag present", + }, + { + name: "--source-resource-id", + description: + "Fully qualified identifier of the Azure resource whose event subscription needs to be shown", + args: { name: "source-resource-id" }, + }, + ], + }, + { + name: "update", + description: "Update an event subscription", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--advanced-filter", + description: + "An advanced filter enables filtering of events based on a specific event property", + args: { name: "advanced-filter" }, + }, + { + name: "--deadletter-endpoint", + description: + "The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription", + args: { name: "deadletter-endpoint" }, + }, + { + name: "--deadletter-identity", + description: + "The identity type of the deadletter destination resource", + args: { + name: "deadletter-identity", + suggestions: ["systemassigned"], + }, + }, + { + name: "--deadletter-identity-endpoint", + description: + "The Azure resource ID of an Azure Storage blob container destination with identity where EventGrid should deadletter undeliverable events for this event subscription", + args: { name: "deadletter-identity-endpoint" }, + }, + { + name: "--delivery-attribute-mapping", + description: + "Add delivery attribute mapping to send additional information via HTTP headers when delivering events. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --delivery-attribute-mapping argument", + args: { name: "delivery-attribute-mapping" }, + }, + { + name: "--delivery-identity", + description: + "The identity type of the delivery destination resource (e.g., storage queue, or eventhub)", + args: { + name: "delivery-identity", + suggestions: ["systemassigned"], + }, + }, + { + name: "--delivery-identity-endpoint", + description: + "Endpoint with identity where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint", + args: { name: "delivery-identity-endpoint" }, + }, + { + name: "--delivery-identity-endpoint-type", + description: + "The type of the destination endpoint with resource identity", + args: { + name: "delivery-identity-endpoint-type", + suggestions: [ + "azurefunction", + "eventhub", + "hybridconnection", + "servicebusqueue", + "servicebustopic", + "storagequeue", + "webhook", + ], + }, + }, + { + name: [ + "--enable-advanced-filtering-on-arrays", + "--enable-af-arr", + ], + description: + "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value", + args: { + name: "enable-advanced-filtering-on-arrays", + suggestions: ["false", "true"], + }, + }, + { + name: "--endpoint", + description: + "Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint. It is expected that the destination endpoint to be already created and available for use before executing any Event Grid command", + args: { name: "endpoint" }, + }, + { + name: "--endpoint-type", + description: "The type of the destination endpoint", + args: { name: "endpoint-type" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--included-event-types", + description: + "A space-separated list of event types (e.g., Microsoft.Storage.BlobCreated and Microsoft.Storage.BlobDeleted). In order to subscribe to all default event types, do not specify any value for this argument. For event grid topics, event types are customer defined. For Azure events, e.g., Storage Accounts, IoT Hub, etc., you can query their event types using this CLI command 'az eventgrid topic-type list-event-types'", + args: { name: "included-event-types" }, + }, + { + name: "--labels", + description: + "A space-separated list of labels to associate with this event subscription", + args: { name: "labels" }, + }, + { + name: ["--storage-queue-msg-ttl", "--qttl"], + description: "Storage queue message time to live in seconds", + args: { name: "storage-queue-msg-ttl" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--source-resource-id", + description: + "Fully qualified identifier of the Azure resource whose event subscription needs to be updated", + args: { name: "source-resource-id" }, + }, + { + name: "--subject-begins-with", + description: + "An optional string to filter events for an event subscription based on a prefix. Wildcard characters are not supported", + args: { name: "subject-begins-with" }, + }, + { + name: "--subject-ends-with", + description: + "An optional string to filter events for an event subscription based on a suffix. Wildcard characters are not supported", + args: { name: "subject-ends-with" }, + }, + ], + }, + ], + }, + { + name: "extension-topic", + description: "Manage Azure Event Grid extension topics", + subcommands: [ + { + name: "show", + description: "Get the details of an extension topic", + options: [ + { + name: "--scope", + description: + "The identifier of the resource to which extension topic is queried. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for Azure resource", + args: { name: "scope" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "partner", + description: "Manage partner resources", + subcommands: [ + { + name: "configuration", + description: "Manage partner configurations", + subcommands: [ + { + name: "authorize", + description: "Authorize a partner configuration", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--authorization-expiration-date", "--auth-exp-date"], + description: + "Date or datetime in UTC ISO 8601 format (e.g., '2022-02-17T01:59:59+00:00' or '2022-02-17') which is the expiration time of the partner authorization. If this timer expires, any request from this partner to create, update or delete resources in subscriber's context will fail. If specified, the allowed values are between 1 to the value of defaultMaximumExpirationTimeInDays specified in PartnerConfiguration. If not specified, the default value will be the value of defaultMaximumExpirationTimeInDays specified in PartnerConfiguration or 7 if this value is not specified", + args: { name: "authorization-expiration-date" }, + }, + { + name: "--partner-name", + description: "Official name of the partner", + args: { name: "partner-name" }, + }, + { + name: ["--partner-registration-immutable-id", "--pr-id"], + description: + "The immutable ID of the corresponding partner registration", + args: { name: "partner-registration-immutable-id" }, + }, + ], + }, + { + name: "create", + description: "Create a partner configuration", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--authorized-partner", + description: + "Add authorized partner information. Multiple authorized partners can be specified by using more than one --authorized-partner argument", + args: { name: "authorized-partner" }, + }, + { + name: [ + "--default-maximum-expiration-time-in-days", + "--max-exp-days", + ], + description: + "Time used to validate the authorization expiration time for each authorized partner. If DefaultMaximumExpirationTimeInDays is not specified, the default is 7 days. Otherwise, allowed values are between 1 and 365 days", + args: { name: "default-maximum-expiration-time-in-days" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a partner configuration", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List available partner configurations", + options: [ + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a partner configuration", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "unauthorize", + description: "Unauthorize a partner configuration", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--authorization-expiration-date", "--auth-exp-date"], + description: + "Date or datetime in UTC ISO 8601 format (e.g., '2022-02-17T01:59:59+00:00' or '2022-02-17') which is the expiration time of the partner authorization. If this timer expires, any request from this partner to create, update or delete resources in subscriber's context will fail. If specified, the allowed values are between 1 to the value of defaultMaximumExpirationTimeInDays specified in PartnerConfiguration. If not specified, the default value will be the value of defaultMaximumExpirationTimeInDays specified in PartnerConfiguration or 7 if this value is not specified", + args: { name: "authorization-expiration-date" }, + }, + { + name: "--partner-name", + description: "Official name of the partner", + args: { name: "partner-name" }, + }, + { + name: ["--partner-registration-immutable-id", "--pr-id"], + description: + "The immutable ID of the corresponding partner registration", + args: { name: "partner-registration-immutable-id" }, + }, + ], + }, + { + name: "update", + description: "Update a partner configuration", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: [ + "--default-maximum-expiration-time-in-days", + "--max-exp-days", + ], + description: + "Time used to validate the authorization expiration time for each authorized partner. If DefaultMaximumExpirationTimeInDays is not specified, the default is 7 days. Otherwise, allowed values are between 1 and 365 days", + args: { name: "default-maximum-expiration-time-in-days" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "destination", + description: "Manage partner destinations", + subcommands: [ + { + name: "activate", + description: "Activate a partner destination", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the partner destination", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a partner destination", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the partner destination", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--activation-expiration-date", "--act-exp-date"], + description: + "Date or datetime in UTC ISO 8601 format (e.g., '2022-02-17T01:59:59+00:00' or '2022-02-17') which is the expiration time of the partner destination. If this timer expires and the partner destination was never activated, the partner destination and corresponding channel are deleted", + args: { name: "activation-expiration-date" }, + }, + { + name: ["--endpoint-service-context", "--ed-serv-cont"], + description: + "Endpoint context associated with this partner destination", + args: { name: "endpoint-service-context" }, + }, + { + name: "--endpoint-base-url", + description: "Endpoint Base URL of the partner destination", + args: { name: "endpoint-base-url" }, + }, + { + name: "--message-for-activation", + description: + "Context or helpful message that can be used during the approval process", + args: { name: "message-for-activation" }, + }, + { + name: ["--partner-registration-immutable-id", "--pr-id"], + description: + "The immutable ID of the corresponding partner registration", + args: { name: "partner-registration-immutable-id" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a partner destination", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the partner destination", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List available partner destinations", + options: [ + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a partner destination", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the partner destination", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the details of a partner destination", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the partner destination", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "namespace", + description: "Manage partner namespaces", + subcommands: [ + { + name: "create", + description: "Create a partner namespace", + options: [ + { + name: ["--name", "-n"], + description: "Name of the partner namespace", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--partner-registration-id", + description: + "The fully qualified ARM Id of the partner registration that should be associated with this partner namespace. This takes the following format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerRegistrations/{partnerRegistrationName}", + args: { name: "partner-registration-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--partner-topic-routing-mode", "--route-mode"], + description: + "This determines if events published to this partner namespace should use the source attribute in the event payload or use the channel name in the header when matching to the partner topic. If none is specified, source attribute routing will be used to match the partner topic", + args: { + name: "partner-topic-routing-mode", + suggestions: ["ChannelNameHeader", "SourceEventAttribute"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a partner namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the partner namespace", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List available partner namespaces", + options: [ + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a partner namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the partner namespace", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "channel", + description: "Manage partner channels", + subcommands: [ + { + name: "create", + description: "Create a new channel for a partner namespace", + options: [ + { + name: "--channel-type", + description: + "The type of the event channel which represents the direction flow of events", + args: { + name: "channel-type", + suggestions: ["PartnerDestination", "PartnerTopic"], + }, + isRequired: true, + }, + { + name: "--destination-rg", + description: + "Azure Resource Group of the subscriber requesting the creation of the channel resource by the publisher. The corresponding partner resource (either partner topic or partner destination) associated with the channel resource will be created under this resource group", + args: { name: "destination-rg" }, + isRequired: true, + }, + { + name: "--destination-sub-id", + description: + "Azure subscription Id of the subscriber requesting the creation of the channel resource by the publisher. The corresponding partner resource (either partner topic or partner destination) associated with the channel resource will be created under this Azure subscription", + args: { name: "destination-sub-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the channel", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--partner-namespace-name", + description: "Name of the partner namespace", + args: { name: "partner-namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: [ + "--azure-active-directory-application-id-or-uri", + "--aad-app-id", + ], + description: + "The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests", + args: { + name: "azure-active-directory-application-id-or-uri", + }, + }, + { + name: [ + "--azure-active-directory-tenant-id", + "--aad-tenant-id", + ], + description: + "The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests", + args: { name: "azure-active-directory-tenant-id" }, + }, + { + name: ["--activation-expiration-date", "--act-exp-date"], + description: + "Date or datetime in UTC ISO 8601 format (e.g., '2022-02-17T01:59:59+00:00' or '2022-02-17') after which the channel and corresponding partner topic would expire and get auto deleted. If this time is not specified, the expiration date is set to seven days by default", + args: { name: "activation-expiration-date" }, + }, + { + name: ["--endpoint-service-context", "--ed-serv-cont"], + description: + "Endpoint context associated with this partner destination", + args: { name: "endpoint-service-context" }, + }, + { + name: "--endpoint-url", + description: + "The URL that represents the endpoint of the partner destination", + args: { name: "endpoint-url" }, + }, + { + name: "--event-type-kind", + description: "The kind of event type used", + args: { + name: "event-type-kind", + suggestions: ["inline"], + }, + }, + { + name: "--inline-event-type", + description: + "Create a channel for an existing partner namespace, either of type partner topic or partner destination. You can also add inline event type info if channel type is partner topic. Multiple attributes can be specified by using more than one --inline-event-type argument", + args: { name: "inline-event-type" }, + }, + { + name: "--message-for-activation", + description: + "Context or helpful message that can be used during the approval process", + args: { name: "message-for-activation" }, + }, + { + name: ["--partner-destination-name", "--pr-dest-n"], + description: "Name of the partner destination", + args: { name: "partner-destination-name" }, + }, + { + name: "--partner-topic-name", + description: "Name of the partner topic", + args: { name: "partner-topic-name" }, + }, + { + name: "--partner-topic-source", + description: + "The identifier of the resource that forms the partner source of the events. This represents a unique resource in the partner's resource model", + args: { name: "partner-topic-source" }, + }, + ], + }, + { + name: "delete", + description: "Delete a partner namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the channel", + args: { name: "name" }, + }, + { + name: "--partner-namespace-name", + description: "Name of the partner namespace", + args: { name: "partner-namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List available partner channels", + options: [ + { + name: "--partner-namespace-name", + description: "Name of the partner namespace", + args: { name: "partner-namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of a channel under a partner namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the channel", + args: { name: "name" }, + }, + { + name: "--partner-namespace-name", + description: "Name of the partner namespace", + args: { name: "partner-namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the details of a channel under a partner namespace", + options: [ + { + name: [ + "--azure-active-directory-application-id-or-uri", + "--aad-app-id", + ], + description: + "The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests", + args: { + name: "azure-active-directory-application-id-or-uri", + }, + }, + { + name: [ + "--azure-active-directory-tenant-id", + "--aad-tenant-id", + ], + description: + "The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests", + args: { name: "azure-active-directory-tenant-id" }, + }, + { + name: ["--activation-expiration-date", "--act-exp-date"], + description: + "Date or datetime in UTC ISO 8601 format (e.g., '2022-02-17T01:59:59+00:00' or '2022-02-17') after which the channel and corresponding partner topic would expire and get auto deleted. If this time is not specified, the expiration date is set to seven days by default", + args: { name: "activation-expiration-date" }, + }, + { + name: "--endpoint-base-url", + description: + "Endpoint Base URL of the partner destination", + args: { name: "endpoint-base-url" }, + }, + { + name: "--endpoint-url", + description: + "The URL that represents the endpoint of the partner destination", + args: { name: "endpoint-url" }, + }, + { + name: "--event-type-kind", + description: "The kind of event type used", + args: { + name: "event-type-kind", + suggestions: ["inline"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--inline-event-type", + description: + "Add inline event type info. Multiple attributes can be specified by using more than one --inline-event-type argument", + args: { name: "inline-event-type" }, + }, + { + name: ["--name", "-n"], + description: "Name of the channel", + args: { name: "name" }, + }, + { + name: "--partner-namespace-name", + description: "Name of the partner namespace", + args: { name: "partner-namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "event-channel", + description: "Manage partner event channels", + subcommands: [ + { + name: "create", + description: + "Create an event channel under a partner namespace", + options: [ + { + name: "--destination-rg", + description: + "Azure Resource Group of the subscriber requesting the creation of the channel resource by the publisher. The corresponding partner resource (either partner topic or partner destination) associated with the channel resource will be created under this resource group", + args: { name: "destination-rg" }, + isRequired: true, + }, + { + name: "--destination-sub-id", + description: + "Azure subscription Id of the subscriber requesting the creation of the channel resource by the publisher. The corresponding partner resource (either partner topic or partner destination) associated with the channel resource will be created under this Azure subscription", + args: { name: "destination-sub-id" }, + isRequired: true, + }, + { + name: "--destination-topic-name", + description: + "Name of the partner topic associated with the event channel", + args: { name: "destination-topic-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the event channel", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--partner-namespace-name", + description: "Name of the partner namespace", + args: { name: "partner-namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--source", + description: + "The identifier of the resource that forms the partner source of the events. This represents a unique resource in the partner's resource model", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--activation-expiration-date", + description: + "Date or datetime in UTC ISO 8601 format (e.g., '2022-02-17T01:59:59+00:00' or '2022-02-17') after which the event channel and corresponding partner topic would expire and get auto deleted. If this time is not specified, the expiration date is set to seven days by default", + args: { name: "activation-expiration-date" }, + }, + { + name: "--partner-topic-description", + description: + "Friendly description of the corresponding partner topic. This will be helpful to remove any ambiguity of the origin of creation of the partner topic for the customer", + args: { name: "partner-topic-description" }, + }, + { + name: "--publisher-filter", + description: + "Argument 'publisher_filter' has been deprecated and will be removed in a future release. A publisher filter that is used to enable filtering of events based on a specific event property. This set of filters that are specified by the publisher in order to determine which events to be received by the subscriber", + args: { name: "publisher-filter" }, + }, + ], + }, + { + name: "delete", + description: "Delete a partner namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the event channel", + args: { name: "name" }, + }, + { + name: "--partner-namespace-name", + description: "Name of the partner namespace", + args: { name: "partner-namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List available partner event-channels", + options: [ + { + name: "--partner-namespace-name", + description: "Name of the partner namespace", + args: { name: "partner-namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of an event channel under a partner namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the event channel", + args: { name: "name" }, + }, + { + name: "--partner-namespace-name", + description: "Name of the partner namespace", + args: { name: "partner-namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "key", + description: "Manage shared access keys of a partner namespace", + subcommands: [ + { + name: "list", + description: "List shared access keys of a partner namespace", + options: [ + { + name: "--partner-namespace-name", + description: "Name of the partner namespace", + args: { name: "partner-namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "regenerate", + description: + "Regenerate a shared access key of a partner namespace", + options: [ + { + name: "--key-name", + description: "Key name to regenerate key1 or key2", + args: { name: "key-name" }, + isRequired: true, + }, + { + name: "--partner-namespace-name", + description: "Name of the partner namespace", + args: { name: "partner-namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "registration", + description: "Manage partner registrations", + subcommands: [ + { + name: "create", + description: "Create a new partner registration", + options: [ + { + name: ["--name", "-n"], + description: "Name of the partner registration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--authorized-subscription-ids", + description: + "A space-separated list of Azure subscription Ids that are authorized to create a partner namespace associated with this partner registration. This is an optional property. Creating partner namespaces is always permitted under the same Azure subscription as the one used for creating the partner registration", + args: { name: "authorized-subscription-ids" }, + }, + { + name: "--customer-service-extension", + description: + "Argument 'customer_service_extension' has been deprecated and will be removed in a future release. The extension of the customer service number of the publisher. Only digits are allowed and number of digits should not exceed 10", + args: { name: "customer-service-extension" }, + }, + { + name: "--customer-service-number", + description: + "Argument 'customer_service_number' has been deprecated and will be removed in a future release. The customer service number of the publisher. The expected phone format should start with a '+' sign followed by the country code. The remaining digits are then followed. Only digits and spaces are allowed and its length cannot exceed 16 digits including country code. Examples of valid phone numbers are: +1 515 123 4567 and +966 7 5115 2471. Examples of invalid phone numbers are: +1 (515) 123-4567, 1 515 123 4567 and +966 121 5115 24 7 551 1234 43", + args: { name: "customer-service-number" }, + }, + { + name: "--customer-service-uri", + description: + "Argument 'customer_service_uri' has been deprecated and will be removed in a future release. The customer service URI of the publisher", + args: { name: "customer-service-uri" }, + }, + { + name: "--description", + description: + "Argument 'description' has been deprecated and will be removed in a future release. Description of the partner topic type", + args: { name: "description" }, + }, + { + name: "--display-name", + description: + "Argument 'display_name' has been deprecated and will be removed in a future release. Display name for the partner topic type", + args: { name: "display-name" }, + }, + { + name: "--logo-uri", + description: + "Argument 'logo_uri' has been deprecated and will be removed in a future release. URI of the partner logo", + args: { name: "logo-uri" }, + }, + { + name: "--long-description", + description: + "Argument 'long_description' has been deprecated and will be removed in a future release. Description of the custom scenarios and integration. Length of this description should not exceed 2048 characters", + args: { name: "long-description" }, + }, + { + name: "--partner-name", + description: + "Argument 'partner_name' has been deprecated and will be removed in a future release. Official name of the partner", + args: { name: "partner-name" }, + }, + { + name: "--resource-type-name", + description: + "Argument 'resource_type_name' has been deprecated and will be removed in a future release. Name of the partner topic resource type. This name should be unique among all partner topic types names", + args: { name: "resource-type-name" }, + }, + { + name: "--setup-uri", + description: + "Argument 'setup_uri' has been deprecated and will be removed in a future release. URI of the partner website that can be used by Azure customers to setup Event Grid integration on an event source", + args: { name: "setup-uri" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a partner registration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the partner registration", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all partner registrations in specific resource group or all under the specified azure subscription", + options: [ + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a partner registration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the partner registration", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "topic", + description: "Manage partner topics", + subcommands: [ + { + name: "activate", + description: "Activate a partner topic", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the partner topic", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "deactivate", + description: "Deactivate a partner topic", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the partner topic", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete a partner topic", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the partner topic", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List available partner topics", + options: [ + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a partner topic", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the partner topic", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "event-subscription", + description: "Manage event subscriptions of partner topic", + subcommands: [ + { + name: "create", + description: + "Create a new event subscription for a partner topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--partner-topic-name", + description: "Name of the partner topic", + args: { name: "partner-topic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: [ + "--azure-active-directory-tenant-id", + "--aad-tenant-id", + ], + description: + "The Azure Active Directory Tenant Id to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination", + args: { name: "azure-active-directory-tenant-id" }, + }, + { + name: "--advanced-filter", + description: + "An advanced filter enables filtering of events based on a specific event property", + args: { name: "advanced-filter" }, + }, + { + name: "--azure-active-directory-application-id-or-uri", + description: + "The Azure Active Directory Application Id or Uri to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination", + args: { + name: "azure-active-directory-application-id-or-uri", + }, + }, + { + name: "--deadletter-endpoint", + description: + "The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription", + args: { name: "deadletter-endpoint" }, + }, + { + name: "--delivery-attribute-mapping", + description: + "Add delivery attribute mapping to send additional information via HTTP headers when delivering events. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --delivery-attribute-mapping argument", + args: { name: "delivery-attribute-mapping" }, + }, + { + name: [ + "--enable-advanced-filtering-on-arrays", + "--enable-af-arr", + ], + description: + "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value", + args: { + name: "enable-advanced-filtering-on-arrays", + suggestions: ["false", "true"], + }, + }, + { + name: "--endpoint", + description: + "Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint. It is expected that the destination endpoint to be already created and available for use before executing any Event Grid command", + args: { name: "endpoint" }, + }, + { + name: "--endpoint-type", + description: "The type of the destination endpoint", + args: { + name: "endpoint-type", + suggestions: [ + "azurefunction", + "eventhub", + "hybridconnection", + "servicebusqueue", + "servicebustopic", + "storagequeue", + "webhook", + ], + }, + }, + { + name: "--event-delivery-schema", + description: + "The schema in which events should be delivered for this event subscription. By default, events will be delivered in the same schema in which they are published (based on the corresponding topic's input schema)", + args: { + name: "event-delivery-schema", + suggestions: [ + "cloudeventschemav1_0", + "custominputschema", + "eventgridschema", + ], + }, + }, + { + name: "--event-ttl", + description: + "Event time to live (in minutes). Must be a number between 1 and 1440", + args: { name: "event-ttl" }, + }, + { + name: "--expiration-date", + description: + "Date or datetime (in UTC, e.g. '2018-11-30T11:59:59+00:00' or '2018-11-30') after which the event subscription would expire. By default, there is no expiration for the event subscription", + args: { name: "expiration-date" }, + }, + { + name: "--included-event-types", + description: + "A space-separated list of event types (e.g., Microsoft.Storage.BlobCreated and Microsoft.Storage.BlobDeleted). In order to subscribe to all default event types, do not specify any value for this argument. For event grid topics, event types are customer defined. For Azure events, e.g., Storage Accounts, IoT Hub, etc., you can query their event types using this CLI command 'az eventgrid topic-type list-event-types'", + args: { name: "included-event-types" }, + }, + { + name: "--labels", + description: + "A space-separated list of labels to associate with this event subscription", + args: { name: "labels" }, + }, + { + name: "--max-delivery-attempts", + description: + "Maximum number of delivery attempts. Must be a number between 1 and 30", + args: { name: "max-delivery-attempts" }, + }, + { + name: "--max-events-per-batch", + description: + "Maximum number of events in a batch. Must be a number between 1 and 5000", + args: { name: "max-events-per-batch" }, + }, + { + name: "--preferred-batch-size-in-kilobytes", + description: + "Preferred batch size in kilobytes. Must be a number between 1 and 1024", + args: { name: "preferred-batch-size-in-kilobytes" }, + }, + { + name: ["--storage-queue-msg-ttl", "--qttl"], + description: + "Storage queue message time to live in seconds", + args: { name: "storage-queue-msg-ttl" }, + }, + { + name: "--subject-begins-with", + description: + "An optional string to filter events for an event subscription based on a prefix. Wildcard characters are not supported", + args: { name: "subject-begins-with" }, + }, + { + name: "--subject-case-sensitive", + description: + "Specify to indicate whether the subject fields should be compared in a case sensitive manner. True if flag present", + }, + { + name: "--subject-ends-with", + description: + "An optional string to filter events for an event subscription based on a suffix. Wildcard characters are not supported", + args: { name: "subject-ends-with" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an event subscription of a partner topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--partner-topic-name", + description: "Name of the partner topic", + args: { name: "partner-topic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List event subscriptions of a specific partner topic", + options: [ + { + name: "--partner-topic-name", + description: "Name of the partner topic", + args: { name: "partner-topic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of an event subscription of a partner topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--partner-topic-name", + description: "Name of the partner topic", + args: { name: "partner-topic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: [ + "--include-static-delivery-attribute-secret", + "--include-attrib-secret", + ], + description: + "Indicate whether any static delivery attribute secrets should be returned. True if flag present", + }, + { + name: "--include-full-endpoint-url", + description: + "Specify to indicate whether the full endpoint URL should be returned. True if flag present", + }, + ], + }, + { + name: "update", + description: + "Update an event subscription of a partner topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--partner-topic-name", + description: "Name of the partner topic", + args: { name: "partner-topic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--advanced-filter", + description: + "An advanced filter enables filtering of events based on a specific event property", + args: { name: "advanced-filter" }, + }, + { + name: "--deadletter-endpoint", + description: + "The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription", + args: { name: "deadletter-endpoint" }, + }, + { + name: "--delivery-attribute-mapping", + description: + "Add delivery attribute mapping to send additional information via HTTP headers when delivering events. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --delivery-attribute-mapping argument", + args: { name: "delivery-attribute-mapping" }, + }, + { + name: [ + "--enable-advanced-filtering-on-arrays", + "--enable-af-arr", + ], + description: + "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value", + args: { + name: "enable-advanced-filtering-on-arrays", + suggestions: ["false", "true"], + }, + }, + { + name: "--endpoint", + description: + "Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint. It is expected that the destination endpoint to be already created and available for use before executing any Event Grid command", + args: { name: "endpoint" }, + }, + { + name: "--endpoint-type", + description: "The type of the destination endpoint", + args: { + name: "endpoint-type", + suggestions: [ + "azurefunction", + "eventhub", + "hybridconnection", + "servicebusqueue", + "servicebustopic", + "storagequeue", + "webhook", + ], + }, + }, + { + name: "--included-event-types", + description: + "A space-separated list of event types (e.g., Microsoft.Storage.BlobCreated and Microsoft.Storage.BlobDeleted). In order to subscribe to all default event types, do not specify any value for this argument. For event grid topics, event types are customer defined. For Azure events, e.g., Storage Accounts, IoT Hub, etc., you can query their event types using this CLI command 'az eventgrid topic-type list-event-types'", + args: { name: "included-event-types" }, + }, + { + name: "--labels", + description: + "A space-separated list of labels to associate with this event subscription", + args: { name: "labels" }, + }, + { + name: ["--storage-queue-msg-ttl", "--qttl"], + description: + "Storage queue message time to live in seconds", + args: { name: "storage-queue-msg-ttl" }, + }, + { + name: "--subject-begins-with", + description: + "An optional string to filter events for an event subscription based on a prefix. Wildcard characters are not supported", + args: { name: "subject-begins-with" }, + }, + { + name: "--subject-ends-with", + description: + "An optional string to filter events for an event subscription based on a suffix. Wildcard characters are not supported", + args: { name: "subject-ends-with" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "verified-partner", + description: "Manage verified partners", + subcommands: [ + { + name: "list", + description: "List available verified partners", + options: [ + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a verified partner", + options: [ + { + name: "--verified-partner-name", + description: "Name of the verified partner", + args: { name: "verified-partner-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "system-topic", + description: "Manage system topics", + subcommands: [ + { + name: "create", + description: "Create a system topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the system topic", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--source", + description: + "The ARM Id for the topic, e.g., /subscriptions/{SubId}/resourceGroups/{RgName}/providers/Microsoft.Storage/storageAccounts/{AccountName}", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--topic-type", + description: "Name of the topic type", + args: { name: "topic-type" }, + isRequired: true, + }, + { + name: "--identity", + description: + "Argument 'identity' has been deprecated and will be removed in a future release. The managed identity type for the resource. Will be deprecated and replaced by --mi-system-assigned-identity in future", + args: { + name: "identity", + suggestions: ["noidentity", "systemassigned"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mi-system-assigned", + description: + "Presence of this param indicates that SystemAssigned managed identity will be used", + args: { name: "mi-system-assigned" }, + }, + { + name: "--mi-user-assigned", + description: + "Add user assigned identities when identityType is user or mixed. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --mi-user-assigned argument", + args: { name: "mi-user-assigned" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a system topic", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the system topic", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List available system topics", + options: [ + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a system topic", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the system topic", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a system topic", + options: [ + { + name: "--identity", + description: + "Argument 'identity' has been deprecated and will be removed in a future release. The managed identity type for the resource. Will be deprecated and replaced by --mi-system-assigned-identity in future", + args: { + name: "identity", + suggestions: ["noidentity", "systemassigned"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mi-system-assigned", + description: + "Presence of this param indicates that SystemAssigned managed identity will be used", + args: { name: "mi-system-assigned" }, + }, + { + name: "--mi-user-assigned", + description: + "Add user assigned identities when identityType is user or mixed. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --mi-user-assigned argument", + args: { name: "mi-user-assigned" }, + }, + { + name: ["--name", "-n"], + description: "Name of the system topic", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "event-subscription", + description: "Manage event subscriptions of system topic", + subcommands: [ + { + name: "create", + description: "Create a new event subscription for a system topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-topic-name", + description: "Name of the system topic", + args: { name: "system-topic-name" }, + isRequired: true, + }, + { + name: [ + "--azure-active-directory-tenant-id", + "--aad-tenant-id", + ], + description: + "The Azure Active Directory Tenant Id to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination", + args: { name: "azure-active-directory-tenant-id" }, + }, + { + name: "--advanced-filter", + description: + "An advanced filter enables filtering of events based on a specific event property", + args: { name: "advanced-filter" }, + }, + { + name: "--azure-active-directory-application-id-or-uri", + description: + "The Azure Active Directory Application Id or Uri to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination", + args: { + name: "azure-active-directory-application-id-or-uri", + }, + }, + { + name: "--deadletter-endpoint", + description: + "The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription", + args: { name: "deadletter-endpoint" }, + }, + { + name: "--delivery-attribute-mapping", + description: + "Add delivery attribute mapping to send additional information via HTTP headers when delivering events. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --delivery-attribute-mapping argument", + args: { name: "delivery-attribute-mapping" }, + }, + { + name: [ + "--enable-advanced-filtering-on-arrays", + "--enable-af-arr", + ], + description: + "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value", + args: { + name: "enable-advanced-filtering-on-arrays", + suggestions: ["false", "true"], + }, + }, + { + name: "--endpoint", + description: + "Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint. It is expected that the destination endpoint to be already created and available for use before executing any Event Grid command", + args: { name: "endpoint" }, + }, + { + name: "--endpoint-type", + description: "The type of the destination endpoint", + args: { + name: "endpoint-type", + suggestions: [ + "azurefunction", + "eventhub", + "hybridconnection", + "servicebusqueue", + "servicebustopic", + "storagequeue", + "webhook", + ], + }, + }, + { + name: "--event-delivery-schema", + description: + "The schema in which events should be delivered for this event subscription. By default, events will be delivered in the same schema in which they are published (based on the corresponding topic's input schema)", + args: { + name: "event-delivery-schema", + suggestions: [ + "cloudeventschemav1_0", + "custominputschema", + "eventgridschema", + ], + }, + }, + { + name: "--event-ttl", + description: + "Event time to live (in minutes). Must be a number between 1 and 1440", + args: { name: "event-ttl" }, + }, + { + name: "--expiration-date", + description: + "Date or datetime (in UTC, e.g. '2018-11-30T11:59:59+00:00' or '2018-11-30') after which the event subscription would expire. By default, there is no expiration for the event subscription", + args: { name: "expiration-date" }, + }, + { + name: "--included-event-types", + description: + "A space-separated list of event types (e.g., Microsoft.Storage.BlobCreated and Microsoft.Storage.BlobDeleted). In order to subscribe to all default event types, do not specify any value for this argument. For event grid topics, event types are customer defined. For Azure events, e.g., Storage Accounts, IoT Hub, etc., you can query their event types using this CLI command 'az eventgrid topic-type list-event-types'", + args: { name: "included-event-types" }, + }, + { + name: "--labels", + description: + "A space-separated list of labels to associate with this event subscription", + args: { name: "labels" }, + }, + { + name: "--max-delivery-attempts", + description: + "Maximum number of delivery attempts. Must be a number between 1 and 30", + args: { name: "max-delivery-attempts" }, + }, + { + name: "--max-events-per-batch", + description: + "Maximum number of events in a batch. Must be a number between 1 and 5000", + args: { name: "max-events-per-batch" }, + }, + { + name: "--preferred-batch-size-in-kilobytes", + description: + "Preferred batch size in kilobytes. Must be a number between 1 and 1024", + args: { name: "preferred-batch-size-in-kilobytes" }, + }, + { + name: ["--storage-queue-msg-ttl", "--qttl"], + description: "Storage queue message time to live in seconds", + args: { name: "storage-queue-msg-ttl" }, + }, + { + name: "--subject-begins-with", + description: + "An optional string to filter events for an event subscription based on a prefix. Wildcard characters are not supported", + args: { name: "subject-begins-with" }, + }, + { + name: "--subject-case-sensitive", + description: + "Specify to indicate whether the subject fields should be compared in a case sensitive manner. True if flag present", + }, + { + name: "--subject-ends-with", + description: + "An optional string to filter events for an event subscription based on a suffix. Wildcard characters are not supported", + args: { name: "subject-ends-with" }, + }, + ], + }, + { + name: "delete", + description: "Delete an event subscription of a system topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-topic-name", + description: "Name of the system topic", + args: { name: "system-topic-name" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List event subscriptions of a specific system topic", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-topic-name", + description: "Name of the system topic", + args: { name: "system-topic-name" }, + isRequired: true, + }, + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of an event subscription of a system topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-topic-name", + description: "Name of the system topic", + args: { name: "system-topic-name" }, + isRequired: true, + }, + { + name: [ + "--include-static-delivery-attribute-secret", + "--include-attrib-secret", + ], + description: + "Indicate whether any static delivery attribute secrets should be returned. True if flag present", + }, + { + name: "--include-full-endpoint-url", + description: + "Specify to indicate whether the full endpoint URL should be returned. True if flag present", + }, + ], + }, + { + name: "update", + description: "Update an event subscription of a system topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-topic-name", + description: "Name of the system topic", + args: { name: "system-topic-name" }, + isRequired: true, + }, + { + name: "--advanced-filter", + description: + "An advanced filter enables filtering of events based on a specific event property", + args: { name: "advanced-filter" }, + }, + { + name: "--deadletter-endpoint", + description: + "The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription", + args: { name: "deadletter-endpoint" }, + }, + { + name: "--delivery-attribute-mapping", + description: + "Add delivery attribute mapping to send additional information via HTTP headers when delivering events. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --delivery-attribute-mapping argument", + args: { name: "delivery-attribute-mapping" }, + }, + { + name: [ + "--enable-advanced-filtering-on-arrays", + "--enable-af-arr", + ], + description: + "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value", + args: { + name: "enable-advanced-filtering-on-arrays", + suggestions: ["false", "true"], + }, + }, + { + name: "--endpoint", + description: + "Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint. It is expected that the destination endpoint to be already created and available for use before executing any Event Grid command", + args: { name: "endpoint" }, + }, + { + name: "--endpoint-type", + description: "The type of the destination endpoint", + args: { + name: "endpoint-type", + suggestions: [ + "azurefunction", + "eventhub", + "hybridconnection", + "servicebusqueue", + "servicebustopic", + "storagequeue", + "webhook", + ], + }, + }, + { + name: "--included-event-types", + description: + "A space-separated list of event types (e.g., Microsoft.Storage.BlobCreated and Microsoft.Storage.BlobDeleted). In order to subscribe to all default event types, do not specify any value for this argument. For event grid topics, event types are customer defined. For Azure events, e.g., Storage Accounts, IoT Hub, etc., you can query their event types using this CLI command 'az eventgrid topic-type list-event-types'", + args: { name: "included-event-types" }, + }, + { + name: "--labels", + description: + "A space-separated list of labels to associate with this event subscription", + args: { name: "labels" }, + }, + { + name: ["--storage-queue-msg-ttl", "--qttl"], + description: "Storage queue message time to live in seconds", + args: { name: "storage-queue-msg-ttl" }, + }, + { + name: "--subject-begins-with", + description: + "An optional string to filter events for an event subscription based on a prefix. Wildcard characters are not supported", + args: { name: "subject-begins-with" }, + }, + { + name: "--subject-ends-with", + description: + "An optional string to filter events for an event subscription based on a suffix. Wildcard characters are not supported", + args: { name: "subject-ends-with" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "topic", + description: "Manage Azure Event Grid topics", + subcommands: [ + { + name: "create", + description: "Create a topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the topic", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--extended-location-name", + description: "The extended location name if kind==azurearc", + args: { name: "extended-location-name" }, + }, + { + name: "--extended-location-type", + description: "The extended location type if kind==azurearc", + args: { + name: "extended-location-type", + suggestions: ["customlocation"], + }, + }, + { + name: "--identity", + description: + "Argument 'identity' has been deprecated and will be removed in a future release. The managed identity type for the resource. Will be deprecated and replaced by --mi-system-assigned-identity in future", + args: { + name: "identity", + suggestions: ["noidentity", "systemassigned"], + }, + }, + { + name: "--inbound-ip-rules", + description: "List of inbound IP rules", + args: { name: "inbound-ip-rules" }, + }, + { + name: "--input-mapping-default-values", + description: + "When input-schema is specified as customeventschema, this parameter can be used to specify input mappings based on default values. You can use this parameter when your custom schema does not include a field that corresponds to one of the three fields supported by this parameter. Specify space separated mappings in 'key=value' format. Allowed key names are 'subject', 'eventtype', 'dataversion'. The corresponding value names should specify the default values to be used for the mapping and they will be used only when the published event doesn't have a valid mapping for a particular field", + args: { name: "input-mapping-default-values" }, + }, + { + name: "--input-mapping-fields", + description: + "When input-schema is specified as customeventschema, this parameter is used to specify input mappings based on field names. Specify space separated mappings in 'key=value' format. Allowed key names are 'id', 'topic', 'eventtime', 'subject', 'eventtype', 'dataversion'. The corresponding value names should specify the names of the fields in the custom input schema. If a mapping for either 'id' or 'eventtime' is not provided, Event Grid will auto-generate a default value for these two fields", + args: { name: "input-mapping-fields" }, + }, + { + name: "--input-schema", + description: + "Schema in which incoming events will be published to this topic/domain. If you specify customeventschema as the value for this parameter, you must also provide values for at least one of --input_mapping_default_values / --input_mapping_fields", + args: { + name: "input-schema", + suggestions: [ + "cloudeventschemav1_0", + "customeventschema", + "eventgridschema", + ], + }, + }, + { + name: "--kind", + description: "The kind of topic resource", + args: { name: "kind", suggestions: ["azure", "azurearc"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mi-system-assigned", + description: + "Presence of this param indicates that SystemAssigned managed identity will be used", + args: { name: "mi-system-assigned" }, + }, + { + name: "--mi-user-assigned", + description: + "Add user assigned identities when identityType is user or mixed. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --mi-user-assigned argument", + args: { name: "mi-user-assigned" }, + }, + { + name: "--public-network-access", + description: + "This determines if traffic is allowed over public network. By default it is enabled. You can further restrict to specific IPs by configuring", + args: { + name: "public-network-access", + suggestions: ["disabled", "enabled"], + }, + }, + { + name: "--sku", + description: "The Sku name of the resource", + args: { name: "sku", suggestions: ["basic", "premium"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a topic", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the topic", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List available topics", + options: [ + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a topic", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the topic", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a topic", + options: [ + { + name: "--identity", + description: + "Argument 'identity' has been deprecated and will be removed in a future release. The managed identity type for the resource. Will be deprecated and replaced by --mi-system-assigned-identity in future", + args: { + name: "identity", + suggestions: ["noidentity", "systemassigned"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--inbound-ip-rules", + description: + "List of inbound IP rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask. Possible values include - Allow", + args: { name: "inbound-ip-rules" }, + }, + { + name: "--mi-system-assigned", + description: + "Presence of this param indicates that SystemAssigned managed identity will be used", + args: { name: "mi-system-assigned" }, + }, + { + name: "--mi-user-assigned", + description: + "Add user assigned identities when identityType is user or mixed. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --mi-user-assigned argument", + args: { name: "mi-user-assigned" }, + }, + { + name: ["--name", "-n"], + description: "Name of the topic", + args: { name: "name" }, + }, + { + name: "--public-network-access", + description: + "This determines if traffic is allowed over public network. By default it is enabled. You can further restrict to specific IPs by configuring", + args: { + name: "public-network-access", + suggestions: ["disabled", "enabled"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: "The Sku name of the resource", + args: { name: "sku", suggestions: ["basic", "premium"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "event-subscription", + description: "Manage event subscriptions of topic", + subcommands: [ + { + name: "create", + description: "Create a new event subscription for a topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "Name of the topic", + args: { name: "topic-name" }, + isRequired: true, + }, + { + name: [ + "--azure-active-directory-application-id-or-uri", + "--aad-app-id", + ], + description: + "The Azure Active Directory Application Id or Uri to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination", + args: { + name: "azure-active-directory-application-id-or-uri", + }, + }, + { + name: [ + "--azure-active-directory-tenant-id", + "--aad-tenant-id", + ], + description: + "The Azure Active Directory Tenant Id to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination", + args: { name: "azure-active-directory-tenant-id" }, + }, + { + name: "--advanced-filter", + description: + "An advanced filter enables filtering of events based on a specific event property", + args: { name: "advanced-filter" }, + }, + { + name: "--deadletter-endpoint", + description: + "The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription", + args: { name: "deadletter-endpoint" }, + }, + { + name: ["--delivery-attribute-mapping", "-d"], + description: + "Add delivery attribute mapping to send additional information via HTTP headers when delivering events. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --delivery-attribute-mapping argument", + args: { name: "delivery-attribute-mapping" }, + }, + { + name: [ + "--enable-advanced-filtering-on-arrays", + "--enable-af-arr", + ], + description: + "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value", + args: { + name: "enable-advanced-filtering-on-arrays", + suggestions: ["false", "true"], + }, + }, + { + name: "--endpoint", + description: + "Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint. It is expected that the destination endpoint to be already created and available for use before executing any Event Grid command", + args: { name: "endpoint" }, + }, + { + name: "--endpoint-type", + description: "The type of the destination endpoint", + args: { + name: "endpoint-type", + suggestions: [ + "azurefunction", + "eventhub", + "hybridconnection", + "servicebusqueue", + "servicebustopic", + "storagequeue", + "webhook", + ], + }, + }, + { + name: "--event-delivery-schema", + description: + "The schema in which events should be delivered for this event subscription. By default, events will be delivered in the same schema in which they are published (based on the corresponding topic's input schema)", + args: { + name: "event-delivery-schema", + suggestions: [ + "cloudeventschemav1_0", + "custominputschema", + "eventgridschema", + ], + }, + }, + { + name: "--event-ttl", + description: + "Event time to live (in minutes). Must be a number between 1 and 1440", + args: { name: "event-ttl" }, + }, + { + name: "--expiration-date", + description: + "Date or datetime (in UTC, e.g. '2018-11-30T11:59:59+00:00' or '2018-11-30') after which the event subscription would expire. By default, there is no expiration for the event subscription", + args: { name: "expiration-date" }, + }, + { + name: "--included-event-types", + description: + "A space-separated list of event types (e.g., Microsoft.Storage.BlobCreated and Microsoft.Storage.BlobDeleted). In order to subscribe to all default event types, do not specify any value for this argument. For event grid topics, event types are customer defined. For Azure events, e.g., Storage Accounts, IoT Hub, etc., you can query their event types using this CLI command 'az eventgrid topic-type list-event-types'", + args: { name: "included-event-types" }, + }, + { + name: "--labels", + description: + "A space-separated list of labels to associate with this event subscription", + args: { name: "labels" }, + }, + { + name: "--max-delivery-attempts", + description: + "Maximum number of delivery attempts. Must be a number between 1 and 30", + args: { name: "max-delivery-attempts" }, + }, + { + name: "--max-events-per-batch", + description: + "Maximum number of events in a batch. Must be a number between 1 and 5000", + args: { name: "max-events-per-batch" }, + }, + { + name: [ + "--preferred-batch-size-in-kilobytes", + "--pref-batch-size-kb", + ], + description: + "Preferred batch size in kilobytes. Must be a number between 1 and 1024", + args: { name: "preferred-batch-size-in-kilobytes" }, + }, + { + name: ["--storage-queue-msg-ttl", "--qttl"], + description: "Storage queue message time to live in seconds", + args: { name: "storage-queue-msg-ttl" }, + }, + { + name: "--subject-begins-with", + description: + "An optional string to filter events for an event subscription based on a prefix. Wildcard characters are not supported", + args: { name: "subject-begins-with" }, + }, + { + name: "--subject-case-sensitive", + description: + "Specify to indicate whether the subject fields should be compared in a case sensitive manner. True if flag present", + }, + { + name: "--subject-ends-with", + description: + "An optional string to filter events for an event subscription based on a suffix. Wildcard characters are not supported", + args: { name: "subject-ends-with" }, + }, + ], + }, + { + name: "delete", + description: "Delete an event subscription of a topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "Name of the topic", + args: { name: "topic-name" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List event subscriptions of a specific topic", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "Name of the topic", + args: { name: "topic-name" }, + isRequired: true, + }, + { + name: "--odata-query", + description: + "The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT", + args: { name: "odata-query" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of an event subscription of a topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "Name of the topic", + args: { name: "topic-name" }, + isRequired: true, + }, + { + name: ["--include-full-endpoint-url", "--full-ed-url"], + description: + "Specify to indicate whether the full endpoint URL should be returned. True if flag present", + }, + { + name: [ + "--include-static-delivery-attribute-secret", + "--include-attrib-secret", + ], + description: + "Indicate whether any static delivery attribute secrets should be returned. True if flag present", + }, + ], + }, + { + name: "update", + description: "Update an event subscription of a topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the event subscription", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "Name of the topic", + args: { name: "topic-name" }, + isRequired: true, + }, + { + name: "--advanced-filter", + description: + "An advanced filter enables filtering of events based on a specific event property", + args: { name: "advanced-filter" }, + }, + { + name: "--deadletter-endpoint", + description: + "The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription", + args: { name: "deadletter-endpoint" }, + }, + { + name: ["--delivery-attribute-mapping", "-d"], + description: + "Add delivery attribute mapping to send additional information via HTTP headers when delivering events. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --delivery-attribute-mapping argument", + args: { name: "delivery-attribute-mapping" }, + }, + { + name: [ + "--enable-advanced-filtering-on-arrays", + "--enable-af-arr", + ], + description: + "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value", + args: { + name: "enable-advanced-filtering-on-arrays", + suggestions: ["false", "true"], + }, + }, + { + name: "--endpoint", + description: + "Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint. It is expected that the destination endpoint to be already created and available for use before executing any Event Grid command", + args: { name: "endpoint" }, + }, + { + name: "--included-event-types", + description: + "A space-separated list of event types (e.g., Microsoft.Storage.BlobCreated and Microsoft.Storage.BlobDeleted). In order to subscribe to all default event types, do not specify any value for this argument. For event grid topics, event types are customer defined. For Azure events, e.g., Storage Accounts, IoT Hub, etc., you can query their event types using this CLI command 'az eventgrid topic-type list-event-types'", + args: { name: "included-event-types" }, + }, + { + name: "--labels", + description: + "A space-separated list of labels to associate with this event subscription", + args: { name: "labels" }, + }, + { + name: ["--storage-queue-msg-ttl", "--qttl"], + description: "Storage queue message time to live in seconds", + args: { name: "storage-queue-msg-ttl" }, + }, + { + name: "--subject-begins-with", + description: + "An optional string to filter events for an event subscription based on a prefix. Wildcard characters are not supported", + args: { name: "subject-begins-with" }, + }, + { + name: "--subject-ends-with", + description: + "An optional string to filter events for an event subscription based on a suffix. Wildcard characters are not supported", + args: { name: "subject-ends-with" }, + }, + { + name: "--update-endpoint-type", + description: "The type of the destination endpoint", + args: { + name: "update-endpoint-type", + suggestions: [ + "azurefunction", + "eventhub", + "hybridconnection", + "servicebusqueue", + "servicebustopic", + "storagequeue", + "webhook", + ], + }, + }, + ], + }, + ], + }, + { + name: "key", + description: "Manage shared access keys of a topic", + subcommands: [ + { + name: "list", + description: "List shared access keys of a topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the topic", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "regenerate", + description: "Regenerate a shared access key of a topic", + options: [ + { + name: "--key-name", + description: "Key name to regenerate key1 or key2", + args: { name: "key-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the topic", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: "Manage private endpoint connections of a topic", + subcommands: [ + { + name: "approve", + description: + "Approve a private endpoint connection request for a topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the private endpoint connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "Name of the topic", + args: { name: "topic-name" }, + isRequired: true, + }, + { + name: "--description", + description: "Comments for the approval", + args: { name: "description" }, + }, + ], + }, + { + name: "delete", + description: "Delete a private endpoint connection for a topic", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--topic-name", + description: "Name of the topic", + args: { name: "topic-name" }, + }, + ], + }, + { + name: "list", + description: + "List the properties of all the private endpoint connections for a topic", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "Name of the topic", + args: { name: "topic-name" }, + isRequired: true, + }, + ], + }, + { + name: "reject", + description: + "Reject a private endpoint connection request for a topic", + options: [ + { + name: ["--name", "-n"], + description: "Name of the private endpoint connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "Name of the topic", + args: { name: "topic-name" }, + isRequired: true, + }, + { + name: "--description", + description: "Comments for the rejection", + args: { name: "description" }, + }, + ], + }, + { + name: "show", + description: + "Display the properties of a private endpoint connection for a topic", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--topic-name", + description: "Name of the topic", + args: { name: "topic-name" }, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage private link resource of a topic", + subcommands: [ + { + name: "list", + description: + "List the properties of all the private link resources for a topic", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "Name of the topic", + args: { name: "topic-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Display the properties of a private link resource for a topic", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private link resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--topic-name", + description: "Name of the topic", + args: { name: "topic-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "topic-type", + description: "Get details for topic types", + subcommands: [ + { + name: "list", + description: "List registered topic types", + }, + { + name: "list-event-types", + description: "List the event types supported by a topic type", + options: [ + { + name: ["--name", "-n"], + description: "Name of the topic type", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details for a topic type", + options: [ + { + name: ["--name", "-n"], + description: "Name of the topic type", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/eventhubs.ts b/src/az/2.53.0/eventhubs.ts new file mode 100644 index 000000000000..fe60fabc6c7a --- /dev/null +++ b/src/az/2.53.0/eventhubs.ts @@ -0,0 +1,4504 @@ +const completion: Fig.Spec = { + name: "eventhubs", + description: "Eventhubs", + subcommands: [ + { + name: "cluster", + description: "Manage Azure EventHubs Clusters", + subcommands: [ + { + name: "available-region", + description: + "List the quantity of available pre-provisioned Event Hubs Clusters, indexed by Azure region", + }, + { + name: "create", + description: "Create an instance of an Event Hubs Cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Event Hubs Cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--capacity", + description: + "The quantity of Event Hubs Cluster Capacity Units contained in this cluster", + args: { name: "capacity" }, + }, + { + name: ["--location", "-l"], + description: + "Resource location. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--provisioning-state", + description: "Provisioning state of the Cluster", + args: { name: "provisioning-state" }, + }, + { + name: "--sku", + description: "Name of this SKU", + args: { name: "sku", suggestions: ["Dedicated"] }, + }, + { + name: "--supports-scaling", + description: + "A value that indicates whether Scaling is Supported", + args: { + name: "supports-scaling", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an existing Event Hubs Cluster. This operation is idempotent", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Event Hubs Cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the available Event Hubs Clusters within an ARM resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get the resource description of the specified Event Hubs Cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Event Hubs Cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an instance of an Event Hubs Cluster", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--capacity", + description: + "The quantity of Event Hubs Cluster Capacity Units contained in this cluster", + args: { name: "capacity" }, + }, + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Event Hubs Cluster", + args: { name: "cluster-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--provisioning-state", + description: "Provisioning state of the Cluster", + args: { name: "provisioning-state" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "Name of this SKU", + args: { name: "sku", suggestions: ["Dedicated"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--supports-scaling", + description: + "A value that indicates whether Scaling is Supported", + args: { + name: "supports-scaling", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Event Hubs Cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "namespace", + description: "List of Namespaces within given Cluster", + subcommands: [ + { + name: "list", + description: + "List all Event Hubs Namespace IDs in an Event Hubs Dedicated Cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Event Hubs Cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "eventhub", + description: "Manage Azure EventHubs eventhub and authorization-rule", + subcommands: [ + { + name: "create", + description: "Creates the EventHubs Eventhub", + options: [ + { + name: ["--name", "-n"], + description: "Name of Eventhub", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--archive-name-format", + description: + "Blob naming convention for archive, e.g. {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order", + args: { name: "archive-name-format" }, + }, + { + name: "--blob-container", + description: "Blob container Name", + args: { name: "blob-container" }, + }, + { + name: "--capture-interval", + description: + "Allows you to set the frequency with which the capture to Azure Blobs will happen, value should between 60 to 900 seconds", + args: { name: "capture-interval" }, + }, + { + name: "--capture-size-limit", + description: + "Defines the amount of data built up in your Event Hub before an capture operation, value should be between 10485760 to 524288000 bytes", + args: { name: "capture-size-limit" }, + }, + { + name: "--cleanup-policy", + description: "Enumerates the possible values for cleanup policy", + args: { + name: "cleanup-policy", + suggestions: ["Compact", "Delete"], + }, + }, + { + name: "--destination-name", + description: + "Name for capture destination, should be EventHubArchive.AzureBlockBlob", + args: { name: "destination-name" }, + }, + { + name: "--enable-capture", + description: + "A boolean value that indicates whether capture is enabled", + args: { name: "enable-capture", suggestions: ["false", "true"] }, + }, + { + name: "--mi-system-assigned", + description: "Enable System Assigned Identity", + }, + { + name: "--mi-user-assigned", + description: "List of User Assigned Identity ids", + args: { name: "mi-user-assigned" }, + }, + { + name: "--partition-count", + description: + "Number of partitions created for the Event Hub. By default, allowed values are 2-32. Lower value of 1 is supported with Kafka enabled namespaces. In presence of a custom quota, the upper limit will match the upper limit of the quota", + args: { name: "partition-count" }, + }, + { + name: ["--retention-time-in-hours", "--retention-time"], + description: + "Number of hours to retain the events for this Event Hub. This value is only used when cleanupPolicy is Delete. If cleanupPolicy is Compaction the returned value of this property is Long.MaxValue", + args: { name: "retention-time-in-hours" }, + }, + { + name: "--skip-empty-archives", + description: + "A boolean value that indicates whether to Skip Empty", + args: { + name: "skip-empty-archives", + suggestions: ["false", "true"], + }, + }, + { + name: "--status", + description: "Status of Eventhub", + args: { + name: "status", + suggestions: ["Active", "Disabled", "SendDisabled"], + }, + }, + { + name: "--storage-account", + description: + "Name (if within same resource group and not of type Classic Storage) or ARM id of the storage account to be used to create the blobs", + args: { name: "storage-account" }, + }, + { + name: ["--tombstone-retention-time-in-hours", "--tombstone-time"], + description: + "Number of hours to retain the tombstone markers of a compacted Event Hub. This value is only used when cleanupPolicy is Compaction. Consumer must complete reading the tombstone marker within this specified amount of time if consumer begins from starting offset to ensure they get a valid snapshot for the specific key described by the tombstone marker within the compacted Event Hub", + args: { name: "tombstone-retention-time-in-hours" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an Event Hub from the specified Namespace and resource group", + options: [ + { + name: ["--event-hub-name", "--name", "-n"], + description: "The Event Hub name", + args: { name: "event-hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all the Event Hubs in a Namespace", + options: [ + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip", + description: + "Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip" }, + }, + { + name: "--top", + description: + "May be used to limit the number of results to the most recent N usageDetails", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Get an Event Hubs description for the specified Event Hub", + options: [ + { + name: ["--event-hub-name", "--name", "-n"], + description: "The Event Hub name", + args: { name: "event-hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a new Event Hub as a nested resource within a Namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--archive-name-format", + description: + "Blob naming convention for archive, e.g. {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order", + args: { name: "archive-name-format" }, + }, + { + name: "--blob-container", + description: "Blob container Name", + args: { name: "blob-container" }, + }, + { + name: "--capture-interval", + description: + "The time window allows you to set the frequency with which the capture to Azure Blobs will happen, value should between 60 to 900 seconds", + args: { name: "capture-interval" }, + }, + { + name: "--capture-size-limit", + description: + "The size window defines the amount of data built up in your Event Hub before an capture operation, value should be between 10485760 to 524288000 bytes", + args: { name: "capture-size-limit" }, + }, + { + name: "--cleanup-policy", + description: "Enumerates the possible values for cleanup policy", + args: { + name: "cleanup-policy", + suggestions: ["Compact", "Delete"], + }, + }, + { + name: "--destination-name", + description: "Name for capture destination", + args: { name: "destination-name" }, + }, + { + name: "--enable-capture", + description: + "A value that indicates whether capture description is enabled", + args: { + name: "enable-capture", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--encoding", + description: + "Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be deprecated in New API Version", + args: { name: "encoding", suggestions: ["Avro", "AvroDeflate"] }, + }, + { + name: ["--event-hub-name", "--name", "-n"], + description: "The Event Hub name", + args: { name: "event-hub-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + 'A value that indicates whether capture description is enabled. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--partition-count", + description: + "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions", + args: { name: "partition-count" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--retention-time-in-hours", "--retention-time"], + description: + "Number of hours to retain the events for this Event Hub. This value is only used when cleanupPolicy is Delete. If cleanupPolicy is Compact the returned value of this property is Long.MaxValue", + args: { name: "retention-time-in-hours" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--skip-empty-archives", + description: + "A value that indicates whether to Skip Empty Archives", + args: { + name: "skip-empty-archives", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--status", + description: + "Enumerates the possible values for the status of the Event Hub", + args: { + name: "status", + suggestions: [ + "Active", + "Creating", + "Deleting", + "Disabled", + "ReceiveDisabled", + "Renaming", + "Restoring", + "SendDisabled", + "Unknown", + ], + }, + }, + { + name: "--storage-account", + description: + "Resource id of the storage account to be used to create the blobs", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--tombstone-retention-time-in-hours", "-t"], + description: + "Number of hours to retain the tombstone markers of a compacted Event Hub. This value is only used when cleanupPolicy is Compact. Consumer must complete reading the tombstone marker within this specified amount of time if consumer begins from starting offset to ensure they get a valid snapshot for the specific key described by the tombstone marker within the compacted Event Hub", + args: { name: "tombstone-retention-time-in-hours" }, + }, + ], + }, + { + name: "authorization-rule", + description: "Eventhub authorization rule", + subcommands: [ + { + name: "create", + description: + "Create an AuthorizationRule for the specified Event Hub. Creation/update of the AuthorizationRule will take a few seconds to take effect", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + isRequired: true, + }, + { + name: "--eventhub-name", + description: "The Event Hub name", + args: { name: "eventhub-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rights", + description: + 'The rights associated with the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Event Hub AuthorizationRule", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--eventhub-name", + description: "The Event Hub name", + args: { name: "eventhub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List the authorization rules for an Event Hub", + options: [ + { + name: "--eventhub-name", + description: "The Event Hub name", + args: { name: "eventhub-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get an AuthorizationRule for an Event Hub by rule name", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--eventhub-name", + description: "The Event Hub name", + args: { name: "eventhub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an AuthorizationRule for the specified Event Hub. Creation/update of the AuthorizationRule will take a few seconds to take effect", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--eventhub-name", + description: "The Event Hub name", + args: { name: "eventhub-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rights", + description: + 'The rights associated with the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "keys", + description: "Authorization-rule keys", + subcommands: [ + { + name: "list", + description: + "Gets the ACS and SAS connection strings for the Event Hub", + options: [ + { + name: ["--authorization-rule-name", "--name"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + isRequired: true, + }, + { + name: "--eventhub-name", + description: "The Event Hub name", + args: { name: "eventhub-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "renew", + description: + "Regenerates the ACS and SAS connection strings for the Event Hub", + options: [ + { + name: "--key", + description: "The access key to regenerate", + args: { + name: "key", + suggestions: ["PrimaryKey", "SecondaryKey"], + }, + isRequired: true, + }, + { + name: ["--authorization-rule-name", "--name"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--eventhub-name", + description: "The Event Hub name", + args: { name: "eventhub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-value", + description: + "Optional, if the key value provided, is set for KeyType or autogenerated Key value set for keyType", + args: { name: "key-value" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "consumer-group", + description: "Manage Azure Event Hubs consumergroup", + subcommands: [ + { + name: "create", + description: + "Create an Event Hubs consumer group as a nested resource within a Namespace", + options: [ + { + name: ["--consumer-group-name", "--name", "-n"], + description: "The consumer group name", + args: { name: "consumer-group-name" }, + isRequired: true, + }, + { + name: "--eventhub-name", + description: "The Event Hub name", + args: { name: "eventhub-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--user-metadata", + description: + "User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be used to store descriptive data, such as list of teams and their contact information also user-defined configuration settings can be stored", + args: { name: "user-metadata" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a consumer group from the specified Event Hub and resource group", + options: [ + { + name: ["--consumer-group-name", "--name", "-n"], + description: "The consumer group name", + args: { name: "consumer-group-name" }, + }, + { + name: "--eventhub-name", + description: "The Event Hub name", + args: { name: "eventhub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all the consumer groups in a Namespace. An empty feed is returned if no consumer group exists in the Namespace", + options: [ + { + name: "--eventhub-name", + description: "The Event Hub name", + args: { name: "eventhub-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip", + description: + "Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip" }, + }, + { + name: "--top", + description: + "May be used to limit the number of results to the most recent N usageDetails", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get a description for the specified consumer group", + options: [ + { + name: ["--consumer-group-name", "--name", "-n"], + description: "The consumer group name", + args: { name: "consumer-group-name" }, + }, + { + name: "--eventhub-name", + description: "The Event Hub name", + args: { name: "eventhub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an Event Hubs consumer group as a nested resource within a Namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--consumer-group-name", "--name", "-n"], + description: "The consumer group name", + args: { name: "consumer-group-name" }, + }, + { + name: "--eventhub-name", + description: "The Event Hub name", + args: { name: "eventhub-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--user-metadata", + description: + "User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be used to store descriptive data, such as list of teams and their contact information also user-defined configuration settings can be stored", + args: { name: "user-metadata" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "georecovery-alias", + description: "Manage Azure EventHubs Geo Recovery configuration Alias", + subcommands: [ + { + name: "break-pair", + description: + "This operation disables the Disaster Recovery and stops replicating changes from primary to secondary namespaces", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a new Alias(Disaster Recovery configuration)", + options: [ + { + name: ["--alias", "--name", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--alternate-name", + description: + "Alternate name specified when alias and namespace names are same", + args: { name: "alternate-name" }, + }, + { + name: "--partner-namespace", + description: + "ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing", + args: { name: "partner-namespace" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Alias(Disaster Recovery configuration)", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "exists", + description: "Check the give Namespace name availability", + options: [ + { + name: ["--alias", "-a"], + description: "Name to check the namespace name availability", + args: { name: "alias" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "fail-over", + description: + "Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all Alias(Disaster Recovery configurations)", + options: [ + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "set", + description: + "Sets a Geo-Disaster Recovery Configuration Alias for the give Namespace", + options: [ + { + name: ["--alias", "-a"], + description: + "Name of the Geo-Disaster Recovery Configuration Alias", + args: { name: "alias" }, + isRequired: true, + }, + { + name: "--partner-namespace", + description: + "Name (if within the same resource group) or ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing", + args: { name: "partner-namespace" }, + isRequired: true, + }, + { + name: "--alternate-name", + description: + "Alternate Name for the Alias, when the Namespace name and Alias name are same", + args: { name: "alternate-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get Alias(Disaster Recovery configuration) for primary or secondary namespace", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a new Event Hub as a nested resource within a Namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--archive-name-format", + description: + "Blob naming convention for archive, e.g. {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order", + args: { name: "archive-name-format" }, + }, + { + name: "--blob-container", + description: "Blob container Name", + args: { name: "blob-container" }, + }, + { + name: "--capture-interval", + description: + "The time window allows you to set the frequency with which the capture to Azure Blobs will happen, value should between 60 to 900 seconds", + args: { name: "capture-interval" }, + }, + { + name: "--capture-size-limit", + description: + "The size window defines the amount of data built up in your Event Hub before an capture operation, value should be between 10485760 to 524288000 bytes", + args: { name: "capture-size-limit" }, + }, + { + name: "--cleanup-policy", + description: "Enumerates the possible values for cleanup policy", + args: { + name: "cleanup-policy", + suggestions: ["Compact", "Delete"], + }, + }, + { + name: "--destination-name", + description: "Name for capture destination", + args: { name: "destination-name" }, + }, + { + name: "--enable-capture", + description: + "A value that indicates whether capture description is enabled", + args: { + name: "enable-capture", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--encoding", + description: + "Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be deprecated in New API Version", + args: { name: "encoding", suggestions: ["Avro", "AvroDeflate"] }, + }, + { + name: ["--event-hub-name", "--name", "-n"], + description: "The Event Hub name", + args: { name: "event-hub-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + 'A value that indicates whether capture description is enabled. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--partition-count", + description: + "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions", + args: { name: "partition-count" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--retention-time-in-hours", "--retention-time"], + description: + "Number of hours to retain the events for this Event Hub. This value is only used when cleanupPolicy is Delete. If cleanupPolicy is Compact the returned value of this property is Long.MaxValue", + args: { name: "retention-time-in-hours" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--skip-empty-archives", + description: + "A value that indicates whether to Skip Empty Archives", + args: { + name: "skip-empty-archives", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--status", + description: + "Enumerates the possible values for the status of the Event Hub", + args: { + name: "status", + suggestions: [ + "Active", + "Creating", + "Deleting", + "Disabled", + "ReceiveDisabled", + "Renaming", + "Restoring", + "SendDisabled", + "Unknown", + ], + }, + }, + { + name: "--storage-account", + description: + "Resource id of the storage account to be used to create the blobs", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--tombstone-retention-time-in-hours", "-t"], + description: + "Number of hours to retain the tombstone markers of a compacted Event Hub. This value is only used when cleanupPolicy is Compact. Consumer must complete reading the tombstone marker within this specified amount of time if consumer begins from starting offset to ensure they get a valid snapshot for the specific key described by the tombstone marker within the compacted Event Hub", + args: { name: "tombstone-retention-time-in-hours" }, + }, + ], + }, + { + name: "authorization-rule", + description: + "Manage Azure EventHubs Authorizationrule for Geo Recovery configuration Alias", + subcommands: [ + { + name: "list", + description: "List a list of authorization rules for a Namespace", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get an AuthorizationRule for a Namespace by rule name", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + }, + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "keys", + description: + "Manage Azure Event Hubs Authorizationrule connection strings for Geo Recovery configuration Alias", + subcommands: [ + { + name: "list", + description: + "Gets the primary and secondary connection strings for the Namespace", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + isRequired: true, + }, + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "namespace", + description: "Eventhub namespace", + subcommands: [ + { + name: "create", + description: "Creates the EventHubs Namespace", + options: [ + { + name: ["--name", "-n"], + description: "Name of Namespace", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--alternate-name", + description: + "Alternate name specified when alias and namespace names are same", + args: { name: "alternate-name" }, + }, + { + name: "--capacity", + description: "Capacity for Sku", + args: { name: "capacity" }, + }, + { + name: "--cluster-arm-id", + description: "Cluster ARM ID of the Namespace", + args: { name: "cluster-arm-id" }, + }, + { + name: "--disable-local-auth", + description: + "A boolean value that indicates whether SAS authentication is enabled/disabled for the Event Hubs", + args: { + name: "disable-local-auth", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-auto-inflate", + description: + "A boolean value that indicates whether AutoInflate is enabled for eventhub namespace", + args: { + name: "enable-auto-inflate", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-kafka", + description: + "A boolean value that indicates whether Kafka is enabled for eventhub namespace", + args: { name: "enable-kafka", suggestions: ["false", "true"] }, + }, + { + name: "--encryption-config", + description: "List of KeyVaultProperties objects", + args: { name: "encryption-config" }, + }, + { + name: "--infra-encryption", + description: + "A boolean value that indicates whether Infrastructure Encryption (Double Encryption) is enabled/disabled", + args: { + name: "infra-encryption", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--maximum-throughput-units", + description: + "Upper limit of throughput units when AutoInflate is enabled, vaule should be within 0 to 20 throughput units. ( 0 if AutoInflateEnabled = true)", + args: { name: "maximum-throughput-units" }, + }, + { + name: "--mi-system-assigned", + description: "Enable System Assigned Identity", + }, + { + name: "--mi-user-assigned", + description: "List of User Assigned Identity ids", + args: { name: "mi-user-assigned" }, + }, + { + name: ["--minimum-tls-version", "--min-tls"], + description: + "The minimum TLS version for the cluster to support, e.g. 1.2", + args: { + name: "minimum-tls-version", + suggestions: ["1.0", "1.1", "1.2"], + }, + }, + { + name: ["--public-network-access", "--public-network"], + description: + "This determines if traffic is allowed over public network. By default it is enabled. If value is SecuredByPerimeter then Inbound and Outbound communication is controlled by the network security perimeter and profile' access rules", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--sku", + description: "Namespace SKU", + args: { + name: "sku", + suggestions: ["Basic", "Premium", "Standard"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--zone-redundant", + description: + "Enabling this property creates a Standard EventHubs Namespace in regions supported availability zones", + args: { name: "zone-redundant", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "delete", + description: + "Delete an existing namespace. This operation also removes all associated resources under the namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--namespace-name", "--name", "-n"], + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "exists", + description: "Check the give Namespace name availability", + options: [ + { + name: "--name", + description: "Name to check the namespace name availability", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List all the available Namespaces within a subscription, irrespective of the resource groups", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the description of the specified namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--namespace-name", "--name", "-n"], + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--alternate-name", + description: + "Alternate name specified when alias and namespace names are same", + args: { name: "alternate-name" }, + }, + { + name: "--capacity", + description: + "The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units", + args: { name: "capacity" }, + }, + { + name: "--cluster-arm-id", + description: "Cluster ARM ID of the Namespace", + args: { name: "cluster-arm-id" }, + }, + { + name: "--disable-local-auth", + description: + "This property disables SAS authentication for the Event Hubs namespace", + args: { + name: "disable-local-auth", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-auto-inflate", + description: + "Value that indicates whether AutoInflate is enabled for eventhub namespace", + args: { + name: "enable-auto-inflate", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--encryption", + description: + 'Properties of BYOK Encryption description Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "encryption" }, + }, + { + name: [ + "--private-endpoint-connections", + "--endpoint-connections", + ], + description: + 'List of private endpoint connections. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "private-endpoint-connections" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + 'Properties of BYOK Identity description Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kafka-enabled", + description: + "Value that indicates whether Kafka is enabled for eventhub namespace", + args: { + name: "kafka-enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--maximum-throughput-units", + description: + "Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 throughput units. ( '0' if AutoInflateEnabled = true)", + args: { name: "maximum-throughput-units" }, + }, + { + name: "--minimum-tls-version", + description: + "The minimum TLS version for the cluster to support, e.g. '1.2'", + args: { + name: "minimum-tls-version", + suggestions: ["1.0", "1.1", "1.2"], + }, + }, + { + name: ["--namespace-name", "--name", "-n"], + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--public-network-access", + description: + "This determines if traffic is allowed over public network. By default it is enabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled", "SecuredByPerimeter"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "Name of this SKU", + args: { + name: "sku", + suggestions: ["Basic", "Premium", "Standard"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--tier", + description: "The billing tier of this particular SKU", + args: { + name: "tier", + suggestions: ["Basic", "Premium", "Standard"], + }, + }, + { + name: "--zone-redundant", + description: + "Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones", + args: { + name: "zone-redundant", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--namespace-name", "--name", "-n"], + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "application-group", + description: + "Manages Application Groups for premium eventhubs namespace", + subcommands: [ + { + name: "create", + description: + "Creates an application group for an EventHub namespace", + options: [ + { + name: [ + "--client-app-group-identifier", + "--client-app-group-id", + ], + description: + "The Unique identifier for application group.Supports SAS(NamespaceSASKeyName=KeyName or EntitySASKeyName=KeyName) or AAD(AADAppID=Guid)", + args: { name: "client-app-group-identifier" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of Application Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--is-enabled", + description: + "Determines if Application Group is allowed to create connection with namespace or not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no new connections will be allowed", + args: { name: "is-enabled", suggestions: ["false", "true"] }, + }, + { + name: [ + "--throttling-policy-config", + "--throttling-policy", + "--policy-config", + ], + description: "List of Throttling Policy Objects", + args: { name: "throttling-policy-config" }, + }, + ], + }, + { + name: "delete", + description: "Delete an ApplicationGroup for a Namespace", + options: [ + { + name: ["--application-group-name", "--name", "-n"], + description: "The Application Group name", + args: { name: "application-group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List a list of application groups for a Namespace", + options: [ + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get an ApplicationGroup for a Namespace", + options: [ + { + name: ["--application-group-name", "--name", "-n"], + description: "The Application Group name", + args: { name: "application-group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an ApplicationGroup for a Namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--application-group-name", "--name", "-n"], + description: "The Application Group name", + args: { name: "application-group-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--is-enabled", + description: + "Determines if Application Group is allowed to create connection with namespace or not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no new connections will be allowed", + args: { + name: "is-enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--policies", + description: + 'List of group policies that define the behavior of application group. The policies can support resource governance scenarios such as limiting ingress or egress traffic. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "policies" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "policy", + description: "Append or Remove application group policies", + subcommands: [ + { + name: "add", + description: + "Appends an application group policy to the existing policy. This cmdlet can be used to append one or more throttling policies", + options: [ + { + name: [ + "--throttling-policy-config", + "--throttling-policy", + "--policy-config", + ], + description: "List of Throttling Policy Objects", + args: { name: "throttling-policy-config" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of Application Group", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: + "Removes an application group policy from the existing policies. This cmdlet can be used to remove one or more throttling policies", + options: [ + { + name: "--policy", + description: "List of Throttling Policy Objects", + args: { name: "policy" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of Application Group", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "authorization-rule", + description: "Eventhub namespace authorization-rule", + subcommands: [ + { + name: "create", + description: "Create an AuthorizationRule for a Namespace", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rights", + description: + 'The rights associated with the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + ], + }, + { + name: "delete", + description: "Delete an AuthorizationRule for a Namespace", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List a list of authorization rules for a Namespace", + options: [ + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get an AuthorizationRule for a Namespace by rule name", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an AuthorizationRule for a Namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rights", + description: + 'The rights associated with the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "keys", + description: "Authorization-rule keys", + subcommands: [ + { + name: "list", + description: + "Gets the primary and secondary connection strings for the Namespace", + options: [ + { + name: ["--authorization-rule-name", "--name"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "renew", + description: + "Regenerates the primary or secondary connection strings for the specified Namespace", + options: [ + { + name: "--key", + description: "The access key to regenerate", + args: { + name: "key", + suggestions: ["PrimaryKey", "SecondaryKey"], + }, + isRequired: true, + }, + { + name: ["--authorization-rule-name", "--name"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-value", + description: + "Optional, if the key value provided, is set for KeyType or autogenerated Key value set for keyType", + args: { name: "key-value" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "encryption", + description: "Manage eventhubs namespace encryption properties", + subcommands: [ + { + name: "add", + description: "Add Encryption properties to a namespace", + options: [ + { + name: "--encryption-config", + description: "List of KeyVaultProperties objects", + args: { name: "encryption-config" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--infra-encryption", + description: + "A boolean value that indicates whether Infrastructure Encryption (Double Encryption) is enabled/disabled", + args: { + name: "infra-encryption", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "remove", + description: + "Remove one or more Encryption properties from a namespace", + options: [ + { + name: "--encryption-config", + description: "List of KeyVaultProperties objects", + args: { name: "encryption-config" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage eventhubs namespace identity", + subcommands: [ + { + name: "assign", + description: + "Assign System or User or System,User assigned identities to a namespace", + options: [ + { + name: "--namespace-name", + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-assigned", + description: "System Assigned Identity", + args: { + name: "system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: "--user-assigned", + description: "User Assigned Identity", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "remove", + description: + "Remove System or User or System,User assigned identities from a namespace", + options: [ + { + name: "--namespace-name", + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-assigned", + description: "System Assigned Identity", + args: { + name: "system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: "--user-assigned", + description: "User Assigned Identity", + args: { name: "user-assigned" }, + }, + ], + }, + ], + }, + { + name: "network-rule-set", + description: "Manage Azure EventHubs networkruleset for namespace", + subcommands: [ + { + name: "create", + description: "Create NetworkRuleSet for a Namespace", + options: [ + { + name: ["--namespace-name", "--name", "-n"], + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--default-action", + description: "Default Action for Network Rule Set", + args: { + name: "default-action", + suggestions: ["Allow", "Deny"], + }, + }, + { + name: ["--enable-trusted-service-access", "-t"], + description: + "Value that indicates whether Trusted Service Access is Enabled or not", + args: { + name: "enable-trusted-service-access", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ip-rules", + description: + 'List of IpRules Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-rules" }, + }, + { + name: "--public-network-access", + description: + "This determines if traffic is allowed over public network. By default it is enabled. If value is SecuredByPerimeter then Inbound and Outbound communication is controlled by the network security perimeter and profile's access rules", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled", "SecuredByPerimeter"], + }, + }, + { + name: "--virtual-network-rules", + description: + 'List VirtualNetwork Rules Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "virtual-network-rules" }, + }, + ], + }, + { + name: "list", + description: "List NetworkRuleSet for a Namespace", + options: [ + { + name: ["--namespace-name", "--name", "-n"], + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get NetworkRuleSet for a Namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--namespace-name", "--name", "-n"], + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update NetworkRuleSet for a Namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--default-action", + description: "Default Action for Network Rule Set", + args: { + name: "default-action", + suggestions: ["Allow", "Deny"], + }, + }, + { + name: ["--enable-trusted-service-access", "-t"], + description: + "Value that indicates whether Trusted Service Access is Enabled or not", + args: { + name: "enable-trusted-service-access", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-rules", + description: + 'List of IpRules Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-rules" }, + }, + { + name: ["--namespace-name", "--name", "-n"], + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--public-network-access", + description: + "This determines if traffic is allowed over public network. By default it is enabled. If value is SecuredByPerimeter then Inbound and Outbound communication is controlled by the network security perimeter and profile's access rules", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled", "SecuredByPerimeter"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--virtual-network-rules", + description: + 'List VirtualNetwork Rules Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "virtual-network-rules" }, + }, + ], + }, + { + name: "ip-rule", + description: + "Manage Azure eventhubs ip-rules in networkruleSet for namespace", + subcommands: [ + { + name: "add", + description: "Add a IP-Rule for network rule of namespace", + options: [ + { + name: ["--namespace-name", "--name", "-n"], + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ip-rule", + description: "List VirtualNetwork Rules", + args: { name: "ip-rule" }, + }, + ], + }, + { + name: "remove", + description: "Remove Ip-Rule from network rule of namespace", + options: [ + { + name: ["--namespace-name", "--name", "-n"], + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ip-rule", + description: "List VirtualNetwork Rules", + args: { name: "ip-rule" }, + }, + ], + }, + ], + }, + { + name: "virtual-network-rule", + description: + "Manage Azure eventhubs subnet-rule in networkruleSet for namespace", + subcommands: [ + { + name: "add", + description: + "Add a Virtual-Network-Rule for network rule of namespace", + options: [ + { + name: ["--namespace-name", "--name", "-n"], + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet", + description: "List VirtualNetwork Rules", + args: { name: "subnet" }, + }, + ], + }, + { + name: "remove", + description: "Remove network rule for a namespace", + options: [ + { + name: ["--namespace-name", "--name", "-n"], + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet", + description: "List VirtualNetwork Rules", + args: { name: "subnet" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: "Manage eventhubs namespace private endpoint connection", + subcommands: [ + { + name: "approve", + description: + "Approve a private endpoint connection request for eventhubs namesapce", + options: [ + { + name: "--description", + description: "Comments for approve operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the EventHubs Namespace. You can get it using az eventhubs namespace show", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the EventHubs Namespace", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The eventhubs namesapce name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified eventhubs namespace", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "create", + description: + "Create PrivateEndpointConnections of service namespace", + options: [ + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The PrivateEndpointConnection name", + args: { name: "private-endpoint-connection-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of the connection state", + args: { name: "description" }, + }, + { + name: "--provisioning-state", + description: + "Provisioning state of the Private Endpoint Connection", + args: { + name: "provisioning-state", + suggestions: [ + "Canceled", + "Creating", + "Deleting", + "Failed", + "Succeeded", + "Updating", + ], + }, + }, + { + name: "--status", + description: "Status of the connection", + args: { + name: "status", + suggestions: [ + "Approved", + "Disconnected", + "Pending", + "Rejected", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete a private endpoint connection request for eventhubs namespace", + options: [ + { + name: "--description", + description: "Comments for delete operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the EventHubs Namespace. You can get it using az eventhubs namespace show", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the EventHubs Namespace", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The eventhubs namesapce name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified eventhubs namespace", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the available PrivateEndpointConnections within a namespace", + options: [ + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "reject", + description: + "Reject a private endpoint connection request for eventhubs namespace", + options: [ + { + name: "--description", + description: "Comments for reject operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the EventHubs Namespace. You can get it using az eventhubs namespace show", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the EventHubs Namespace", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The eventhubs namesapce name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified eventhubs namespace", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get a description for the specified Private Endpoint Connection name", + options: [ + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the EventHubs Namespace. You can get it using az eventhubs namespace show", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The PrivateEndpointConnection name", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update PrivateEndpointConnections of service namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "Description of the connection state", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The PrivateEndpointConnection name", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--provisioning-state", + description: + "Provisioning state of the Private Endpoint Connection", + args: { + name: "provisioning-state", + suggestions: [ + "Canceled", + "Creating", + "Deleting", + "Failed", + "Succeeded", + "Updating", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--status", + description: "Status of the connection", + args: { + name: "status", + suggestions: [ + "Approved", + "Disconnected", + "Pending", + "Rejected", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The PrivateEndpointConnection name", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage eventhubs namespace private link resources", + subcommands: [ + { + name: "show", + description: "List lists of resources that supports Privatelinks", + options: [ + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + ], + }, + { + name: "schema-registry", + description: "Manages eventhubs namespace schema registry", + subcommands: [ + { + name: "create", + description: "Create an EventHub schema group", + options: [ + { + name: ["--schema-group-name", "--name", "-n"], + description: "The Schema Group name", + args: { name: "schema-group-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--group-properties", + description: + 'Dictionary object for SchemaGroup group properties Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "group-properties" }, + }, + { + name: "--schema-compatibility", + description: "Compatibility of Schema", + args: { + name: "schema-compatibility", + suggestions: ["Backward", "Forward", "None"], + }, + }, + { + name: "--schema-type", + description: "Type of Schema", + args: { + name: "schema-type", + suggestions: ["Avro", "Unknown"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an EventHub schema group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--schema-group-name", "--name", "-n"], + description: "The Schema Group name", + args: { name: "schema-group-name" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all the Schema Groups in a Namespace", + options: [ + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip", + description: + "Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip" }, + }, + { + name: "--top", + description: + "May be used to limit the number of results to the most recent N usageDetails", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an EventHub schema group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--schema-group-name", "--name", "-n"], + description: "The Schema Group name", + args: { name: "schema-group-name" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an EventHub schema group", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--group-properties", + description: + 'Dictionary object for SchemaGroup group properties Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "group-properties" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--schema-group-name", "--name", "-n"], + description: "The Schema Group name", + args: { name: "schema-group-name" }, + }, + { + name: "--namespace-name", + description: "The Namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--schema-compatibility", + description: "Compatibility of Schema", + args: { + name: "schema-compatibility", + suggestions: ["Backward", "Forward", "None"], + }, + }, + { + name: "--schema-type", + description: "Type of Schema", + args: { + name: "schema-type", + suggestions: ["Avro", "Unknown"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/extension.ts b/src/az/2.53.0/extension.ts new file mode 100644 index 000000000000..fa3a7e6f6f41 --- /dev/null +++ b/src/az/2.53.0/extension.ts @@ -0,0 +1,127 @@ +const completion: Fig.Spec = { + name: "extension", + description: "Manage and update CLI extensions", + subcommands: [ + { + name: "add", + description: "Add an extension", + options: [ + { + name: ["--name", "-n"], + description: "Name of extension", + args: { name: "name" }, + }, + { + name: "--pip-extra-index-urls", + description: + "Space-separated list of extra URLs of package indexes to use. This should point to a repository compliant with PEP 503 (the simple repository API) or a local directory laid out in the same format", + args: { name: "pip-extra-index-urls" }, + }, + { + name: "--pip-proxy", + description: + "Proxy for pip to use for extension dependencies in the form of [user:passwd@]proxy.server:port", + args: { name: "pip-proxy" }, + }, + { + name: ["--source", "-s"], + description: "Filepath or URL to an extension", + args: { name: "source" }, + }, + { + name: "--system", + description: "Use a system directory for the extension", + args: { name: "system" }, + }, + { + name: "--upgrade", + description: + "Update the extension if already installed, otherwise just install the extension", + args: { name: "upgrade" }, + }, + { + name: "--version", + description: "The specific version of an extension", + args: { name: "version" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { name: "list", description: "List the installed extensions" }, + { + name: "list-available", + description: "List publicly available extensions", + options: [ + { + name: ["--show-details", "-d"], + description: "Show the raw data from the extension index", + }, + ], + }, + { + name: "list-versions", + description: "List available versions for an extension", + options: [ + { + name: ["--name", "-n"], + description: "Name of extension", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove an extension", + options: [ + { + name: ["--name", "-n"], + description: "Name of extension", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show an extension", + options: [ + { + name: ["--name", "-n"], + description: "Name of extension", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an extension", + options: [ + { + name: ["--name", "-n"], + description: "Name of extension", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--pip-extra-index-urls", + description: + "Space-separated list of extra URLs of package indexes to use. This should point to a repository compliant with PEP 503 (the simple repository API) or a local directory laid out in the same format", + args: { name: "pip-extra-index-urls" }, + }, + { + name: "--pip-proxy", + description: + "Proxy for pip to use for extension dependencies in the form of [user:passwd@]proxy.server:port", + args: { name: "pip-proxy" }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/feature.ts b/src/az/2.53.0/feature.ts new file mode 100644 index 000000000000..3f1ea9f0bec3 --- /dev/null +++ b/src/az/2.53.0/feature.ts @@ -0,0 +1,148 @@ +const completion: Fig.Spec = { + name: "feature", + description: "Manage resource provider features", + subcommands: [ + { + name: "list", + description: "List preview features", + options: [ + { + name: "--namespace", + description: "The resource namespace, aka 'provider'", + args: { name: "namespace" }, + }, + ], + }, + { + name: "register", + description: "Register a preview feature", + options: [ + { + name: ["--name", "-n"], + description: "The feature name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "The resource namespace, aka 'provider'", + args: { name: "namespace" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets the preview feature with the specified name", + options: [ + { + name: ["--name", "-n"], + description: "The feature name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "The resource namespace, aka 'provider'", + args: { name: "namespace" }, + isRequired: true, + }, + ], + }, + { + name: "unregister", + description: "Unregister a preview feature", + options: [ + { + name: ["--name", "-n"], + description: "The feature name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "The resource namespace, aka 'provider'", + args: { name: "namespace" }, + isRequired: true, + }, + ], + }, + { + name: "registration", + description: "Manage resource provider feature registrations", + subcommands: [ + { + name: "create", + description: "Create a feature registration", + options: [ + { + name: ["--name", "-n"], + description: "The feature name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "The resource namespace, aka 'provider'", + args: { name: "namespace" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a feature registration", + options: [ + { + name: ["--name", "-n"], + description: "The feature name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "The resource namespace, aka 'provider'", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List feature registrations", + options: [ + { + name: "--namespace", + description: "The resource namespace, aka 'provider'", + args: { name: "namespace" }, + }, + ], + }, + { + name: "show", + description: "Returns a feature registration", + options: [ + { + name: ["--name", "-n"], + description: "The feature name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--provider-namespace", + description: "The provider namespace. Required", + args: { name: "provider-namespace" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/feedback.ts b/src/az/2.53.0/feedback.ts new file mode 100644 index 000000000000..b97c12813f2e --- /dev/null +++ b/src/az/2.53.0/feedback.ts @@ -0,0 +1,6 @@ +const completion: Fig.Spec = { + name: "feedback", + description: "Send feedback to the Azure CLI Team", +}; + +export default completion; diff --git a/src/az/2.53.0/find.ts b/src/az/2.53.0/find.ts new file mode 100644 index 000000000000..65fd69e4745c --- /dev/null +++ b/src/az/2.53.0/find.ts @@ -0,0 +1,13 @@ +const completion: Fig.Spec = { + name: "find", + description: + "I'm an AI robot, my advice is based on our Azure documentation as well as the usage patterns of Azure CLI and Azure ARM users. Using me improves Azure products and documentation", + + args: { + name: "", + description: "An Azure CLI command or group for which you need an example", + isOptional: true, + }, +}; + +export default completion; diff --git a/src/az/2.53.0/fleet.ts b/src/az/2.53.0/fleet.ts new file mode 100644 index 000000000000..ee07f18416c4 --- /dev/null +++ b/src/az/2.53.0/fleet.ts @@ -0,0 +1,920 @@ +const completion: Fig.Spec = { + name: "fleet", + description: "Commands to manage fleet", + subcommands: [ + { + name: "create", + description: "Creates or updates a Fleet", + options: [ + { + name: ["--name", "-n"], + description: "Specify the fleet name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--agent-subnet-id", + description: + "The ID of the subnet which the Fleet hub node will join on startup. If this is not specified, a vnet and subnet will be generated and used", + args: { name: "agent-subnet-id" }, + }, + { + name: "--apiserver-subnet-id", + description: + "The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new Fleet with BYO vnet", + args: { name: "apiserver-subnet-id" }, + }, + { + name: "--assign-identity", + description: + "With --enable-managed-identity, enable user assigned managed identity (MSI) on the Fleet resource. Specify the existing user assigned identity resource", + args: { name: "assign-identity" }, + }, + { + name: ["--dns-name-prefix", "-p"], + description: + "Prefix for hostnames that are created. If not specified, generate a hostname using the managed cluster and resource group names", + args: { name: "dns-name-prefix" }, + }, + { + name: "--enable-hub", + description: "If set, the Fleet will be created with a hub cluster", + }, + { + name: "--enable-managed-identity", + description: + "Enable system assigned managed identity (MSI) on the Fleet resource", + }, + { + name: "--enable-private-cluster", + description: + "Whether to create the Fleet hub as a private cluster or not", + }, + { + name: "--enable-vnet-integration", + description: + "Whether to enable apiserver vnet integration for the Fleet hub or not", + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Fleet", + options: [ + { + name: ["--name", "-n"], + description: "Specify the fleet name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-credentials", + description: "Lists the user credentials of a Fleet", + options: [ + { + name: ["--name", "-n"], + description: "Specify the fleet name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--context", + description: "If specified, overwrite the default context name", + args: { name: "context" }, + }, + { + name: ["--file", "-f"], + description: + 'Kubernetes configuration file to update. Use "-" to print YAML to stdout instead', + args: { name: "file" }, + }, + { + name: "--overwrite-existing", + description: + "Overwrite any existing cluster entry with the same name", + }, + ], + }, + { + name: "list", + description: + "Lists fleets in the specified subscription and resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Gets a Fleet", + options: [ + { + name: ["--name", "-n"], + description: "Specify the fleet name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Patches a fleet resource", + options: [ + { + name: ["--name", "-n"], + description: "Specify the fleet name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--assign-identity", + description: + "With --enable-managed-identity, enable user assigned managed identity (MSI) on the Fleet resource. Specify the existing user assigned identity resource", + args: { name: "assign-identity" }, + }, + { + name: "--enable-managed-identity", + description: + "Enable system assigned managed identity (MSI) on the Fleet resource", + args: { + name: "enable-managed-identity", + suggestions: ["false", "true"], + }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: "Wait for a fleet resource to reach a desired state", + options: [ + { + name: "--fleet-name", + description: "The name of the Fleet resource. Required", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "member", + description: "Commands to manage a fleet member", + subcommands: [ + { + name: "create", + description: "Creates or updates a fleet member", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: "--member-cluster-id", + description: "ID of the managed cluster", + args: { name: "member-cluster-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify the fleet member name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--update-group", + description: "Group of the fleet member", + args: { name: "update-group" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a fleet member", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify the fleet member name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists the members of a fleet", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a Fleet member", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify the fleet member name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a fleet member", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify the fleet member name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--update-group", + description: "Group of the fleet member", + args: { name: "update-group" }, + }, + ], + }, + { + name: "wait", + description: + "Wait for a fleet member resource to reach a desired state", + options: [ + { + name: "--fleet-member-name", + description: "The name of the Fleet member resource. Required", + args: { name: "fleet-member-name" }, + isRequired: true, + }, + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "updaterun", + description: "Commands to manage a fleet update run", + subcommands: [ + { + name: "create", + description: "Creates or updates a fleet update run", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify name for the update run", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--upgrade-type", + description: + "Specify the upgrade type of fleet members. Acceptable values are 'Full' and 'NodeImageOnly'", + args: { + name: "upgrade-type", + suggestions: ["Full", "NodeImageOnly"], + }, + isRequired: true, + }, + { + name: "--kubernetes-version", + description: + "Specify the kubernetes version to upgrade fleet member(s) to, when --upgrade-type is set to 'Full'. Acceptable format is x.x.x (eg. 1.2.3)", + args: { name: "kubernetes-version" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--node-image-selection", + description: + "Node Image Selection is an option that lets you choose how your clusters' nodes are upgraded", + args: { + name: "node-image-selection", + suggestions: ["Consistent", "Latest"], + }, + }, + { + name: "--stages", + description: + "Path to a json file that defines stages to upgrade a fleet. See examples for further reference", + args: { name: "stages" }, + }, + { + name: "--update-strategy-name", + description: + "The name of the update strategy to use for this update run. If not specified, the default update strategy will be used", + args: { name: "update-strategy-name" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a fleet update run", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify name for the update run", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists the update runs of a fleet", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Shows a fleet update run", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify name for the update run", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "start", + description: "Starts a fleet update run", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify name for the update run", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "stop", + description: "Stops a fleet update run", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify name for the update run", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "wait", + description: + "Wait for a fleet updateraun resource to reach a desired state", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--update-run-name", + description: "The name of the UpdateRun resource. Required", + args: { name: "update-run-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "updatestrategy", + description: "Commands to manage a fleet update strategy", + subcommands: [ + { + name: "create", + description: "Creates or updates a update strategy", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify name for the fleet update strategy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--stages", + description: + "Path to a json file that defines the update strategy", + args: { name: "stages" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Deletes a update strategy", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify name for the fleet update strategy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists the fleet's update strategies", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Shows a update strategy", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Specify name for the fleet update strategy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Wait for a fleet updatestrategy resource to reach a desired state", + options: [ + { + name: ["--fleet-name", "-f"], + description: "Specify the fleet name", + args: { name: "fleet-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--update-strategy-name", + description: "The name of the UpdateStrategy resource. Required", + args: { name: "update-strategy-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/fluid-relay.ts b/src/az/2.53.0/fluid-relay.ts new file mode 100644 index 000000000000..6e27b38768f4 --- /dev/null +++ b/src/az/2.53.0/fluid-relay.ts @@ -0,0 +1,347 @@ +const completion: Fig.Spec = { + name: "fluid-relay", + description: "Manage Fluid Relay", + subcommands: [ + { + name: "container", + description: "Manage Fluid Relay Container", + subcommands: [ + { + name: "delete", + description: "Delete a Fluid Relay container", + options: [ + { + name: ["--container-name", "--name", "-n"], + description: "The Fluid Relay container resource name", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--server-name", + description: "The Fluid Relay server resource name", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all Fluid Relay containers which are children of a given Fluid Relay server", + options: [ + { + name: ["--resource-group", "-g"], + description: "The resource group containing the resource", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--server-name", + description: "The Fluid Relay server resource name", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a Fluid Relay container", + options: [ + { + name: ["--container-name", "--name", "-n"], + description: "The Fluid Relay container resource name", + args: { name: "container-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--server-name", + description: "The Fluid Relay server resource name", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "server", + description: "Manage Fluid Relay Server", + subcommands: [ + { + name: "create", + description: "Create a Fluid Relay server", + options: [ + { + name: ["--server-name", "--name", "-n"], + description: "The Fluid Relay server resource name", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--identity", + description: + 'The type of identity used for the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--key-identity", + description: + 'All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "key-identity" }, + }, + { + name: "--key-url", + description: + "Key encryption key Url, with or without a version. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek. Key auto rotation is enabled by providing a key uri without version. Otherwise, customer is responsible for rotating the key. The keyEncryptionKeyIdentity(either SystemAssigned or UserAssigned) should have permission to access this key url", + args: { name: "key-url" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--provisioning-state", + description: "Provision states for FluidRelay RP", + args: { + name: "provisioning-state", + suggestions: ["Canceled", "Failed", "Succeeded"], + }, + }, + { + name: "--sku", + description: "Sku of the storage associated with the resource", + args: { name: "sku", suggestions: ["basic", "standard"] }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Fluid Relay server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--server-name", "--name", "-n"], + description: "The Fluid Relay server resource name", + args: { name: "server-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all Fluid Relay servers", + options: [ + { + name: ["--resource-group", "-g"], + description: "The resource group containing the resource", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-key", + description: "Get primary and secondary key for this server", + options: [ + { + name: ["--resource-group", "-g"], + description: "The resource group containing the resource", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-n"], + description: "The Fluid Relay server resource name", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "regenerate-key", + description: + "Regenerate the primary or secondary key for this server", + options: [ + { + name: "--key-name", + description: "The key to regenerate", + args: { name: "key-name", suggestions: ["key1", "key2"] }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group containing the resource", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-n"], + description: "The Fluid Relay server resource name", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a Fluid Relay server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--server-name", "--name", "-n"], + description: "The Fluid Relay server resource name", + args: { name: "server-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Fluid Relay server", + options: [ + { + name: "--identity", + description: + 'The type of identity used for the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-identity", + description: + 'All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "key-identity" }, + }, + { + name: "--key-url", + description: + "Key encryption key Url, with or without a version. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek. Key auto rotation is enabled by providing a key uri without version. Otherwise, customer is responsible for rotating the key. The keyEncryptionKeyIdentity(either SystemAssigned or UserAssigned) should have permission to access this key url", + args: { name: "key-url" }, + }, + { + name: "--location", + description: "The geo-location where the resource lives", + args: { name: "location" }, + }, + { + name: ["--server-name", "--name", "-n"], + description: "The Fluid Relay server resource name", + args: { name: "server-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/footprint.ts b/src/az/2.53.0/footprint.ts new file mode 100644 index 000000000000..680b86de2c45 --- /dev/null +++ b/src/az/2.53.0/footprint.ts @@ -0,0 +1,923 @@ +const completion: Fig.Spec = { + name: "footprint", + description: "", + subcommands: [ + { + name: "experiment", + description: "Commands to manage experiments under a profile", + subcommands: [ + { + name: "create", + description: + "Creates or updates a Footprint experiment with the specified properties", + options: [ + { + name: ["--experiment-name", "--name", "-n"], + description: "Name of the Footprint experiment resource", + args: { name: "experiment-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "The description of a Footprint experiment", + args: { name: "description" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an existing Footprint experiment", + options: [ + { + name: ["--experiment-name", "--name", "-n"], + description: "Name of the Footprint experiment resource", + args: { name: "experiment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Retrieves the information about all experiments under a Footprint profile", + options: [ + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Retrieves the information about a single Footprint experiment", + options: [ + { + name: ["--experiment-name", "--name", "-n"], + description: "Name of the Footprint experiment resource", + args: { name: "experiment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Creates or updates a Footprint experiment with the specified properties", + options: [ + { + name: "--description", + description: "The description of a Footprint experiment", + args: { name: "description" }, + }, + { + name: ["--experiment-name", "--name", "-n"], + description: "Name of the Footprint experiment resource", + args: { name: "experiment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "measurement-endpoint", + description: "Commands to manage measurement endpoints under a profile", + subcommands: [ + { + name: "create", + description: + "Creates or updates a single measurement endpoint under a Footprint profile with the specified properties", + options: [ + { + name: "--endpoint", + description: "The value of a measurement endpoint", + args: { name: "endpoint" }, + isRequired: true, + }, + { + name: ["--measurement-endpoint-name", "--name", "-n"], + description: + "Name of the Footprint measurement endpoint resource", + args: { name: "measurement-endpoint-name" }, + isRequired: true, + }, + { + name: "--measurement-type", + description: "The type of a measurement endpoint", + args: { name: "measurement-type" }, + isRequired: true, + }, + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--weight", + description: + "The weight of a measurement endpoint, higher weight means higher priority", + args: { name: "weight" }, + isRequired: true, + }, + { + name: "--description", + description: "The description of a measurement endpoint", + args: { name: "description" }, + }, + { + name: "--end-time-utc", + description: + "The end time that a measurement endpoint should be served", + args: { name: "end-time-utc" }, + }, + { + name: "--experiment-id", + description: + "The id of an experiment that a measurement endpoint is part of", + args: { name: "experiment-id" }, + }, + { + name: "--metadata", + description: "The metadata of a measurement endpoint", + args: { name: "metadata" }, + }, + { + name: "--object-path", + description: + "The path of the object that a measurement endpoint points to", + args: { name: "object-path" }, + }, + { + name: "--sample-rate-cold", + description: + "The percentual sampling rate for the cold path logging of a measurement endpoint", + args: { name: "sample-rate-cold" }, + }, + { + name: "--sample-rate-hot", + description: + "The percentual sampling rate for the hot path logging of a measurement endpoint", + args: { name: "sample-rate-hot" }, + }, + { + name: "--sample-rate-warm", + description: + "The percentual sampling rate for the warm path logging of a measurement endpoint", + args: { name: "sample-rate-warm" }, + }, + { + name: "--start-time-utc", + description: + "The start time that a measurement endpoint should be served", + args: { name: "start-time-utc" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes an existing measurement endpoint under a Footprint profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--measurement-endpoint-name", "--name", "-n"], + description: + "Name of the Footprint measurement endpoint resource", + args: { name: "measurement-endpoint-name" }, + }, + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Retrieves the information about all measurement endpoints under a Footprint profile", + options: [ + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Retrieves the information about a single measurement endpoint under a Footprint profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--measurement-endpoint-name", "--name", "-n"], + description: + "Name of the Footprint measurement endpoint resource", + args: { name: "measurement-endpoint-name" }, + }, + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Creates or updates a single measurement endpoint under a Footprint profile with the specified properties", + options: [ + { + name: "--endpoint", + description: "The value of a measurement endpoint", + args: { name: "endpoint" }, + isRequired: true, + }, + { + name: "--measurement-type", + description: "The type of a measurement endpoint", + args: { name: "measurement-type" }, + isRequired: true, + }, + { + name: "--weight", + description: + "The weight of a measurement endpoint, higher weight means higher priority", + args: { name: "weight" }, + isRequired: true, + }, + { + name: "--description", + description: "The description of a measurement endpoint", + args: { name: "description" }, + }, + { + name: "--end-time-utc", + description: + "The end time that a measurement endpoint should be served", + args: { name: "end-time-utc" }, + }, + { + name: "--experiment-id", + description: + "The id of an experiment that a measurement endpoint is part of", + args: { name: "experiment-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--measurement-endpoint-name", "--name", "-n"], + description: + "Name of the Footprint measurement endpoint resource", + args: { name: "measurement-endpoint-name" }, + }, + { + name: "--metadata", + description: "The metadata of a measurement endpoint", + args: { name: "metadata" }, + }, + { + name: "--object-path", + description: + "The path of the object that a measurement endpoint points to", + args: { name: "object-path" }, + }, + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sample-rate-cold", + description: + "The percentual sampling rate for the cold path logging of a measurement endpoint", + args: { name: "sample-rate-cold" }, + }, + { + name: "--sample-rate-hot", + description: + "The percentual sampling rate for the hot path logging of a measurement endpoint", + args: { name: "sample-rate-hot" }, + }, + { + name: "--sample-rate-warm", + description: + "The percentual sampling rate for the warm path logging of a measurement endpoint", + args: { name: "sample-rate-warm" }, + }, + { + name: "--start-time-utc", + description: + "The start time that a measurement endpoint should be served", + args: { name: "start-time-utc" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "measurement-endpoint-condition", + description: + "Commands to manage measurement endpoint conditions under a measurement endpoint", + subcommands: [ + { + name: "create", + description: + "Creates or updates a measurement endpoint condition under a Footprint measurement with the specified properties", + options: [ + { + name: "--constant", + description: + "The constant of a Footprint measurement endpoint condition", + args: { name: "constant" }, + isRequired: true, + }, + { + name: "--endpoint-name", + description: + "Name of the Footprint measurement endpoint resource", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--name", + description: + "Name of the Footprint measurement endpoint condition resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--operator", + description: + "The operator of a Footprint measurement endpoint condition", + args: { + name: "operator", + suggestions: [ + "ContainsValue", + "ContainsValueIgnoreCasing", + "DoesNotContainValue", + "DoesNotContainValueIgnoreCasing", + "IsExactValue", + "MatchValueIgnoreCasing", + ], + }, + isRequired: true, + }, + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--variable", + description: + "The variable of a Footprint measurement endpoint condition", + args: { name: "variable" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Deletes an existing measurement endpoint condition under a Footprint measurement", + options: [ + { + name: "--endpoint-name", + description: + "Name of the Footprint measurement endpoint resource", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: + "Name of the Footprint measurement endpoint condition resource", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Retrieves the information about all measurement endpoint conditions under a Footprint measurement endpoint", + options: [ + { + name: "--endpoint-name", + description: + "Name of the Footprint measurement endpoint resource", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Retrieves the information about a single measurement endpoint condition under a Footprint measurement endpoint", + options: [ + { + name: "--endpoint-name", + description: + "Name of the Footprint measurement endpoint resource", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: + "Name of the Footprint measurement endpoint condition resource", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Creates or updates a measurement endpoint condition under a Footprint measurement with the specified properties", + options: [ + { + name: "--constant", + description: + "The constant of a Footprint measurement endpoint condition", + args: { name: "constant" }, + isRequired: true, + }, + { + name: "--operator", + description: + "The operator of a Footprint measurement endpoint condition", + args: { + name: "operator", + suggestions: [ + "ContainsValue", + "ContainsValueIgnoreCasing", + "DoesNotContainValue", + "DoesNotContainValueIgnoreCasing", + "IsExactValue", + "MatchValueIgnoreCasing", + ], + }, + isRequired: true, + }, + { + name: "--variable", + description: + "The variable of a Footprint measurement endpoint condition", + args: { name: "variable" }, + isRequired: true, + }, + { + name: "--endpoint-name", + description: + "Name of the Footprint measurement endpoint resource", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: + "Name of the Footprint measurement endpoint condition resource", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "profile", + description: "Commands to manage Footprint profiles", + subcommands: [ + { + name: "create", + description: + "Creates or updates a Footprint profile with the specified properties", + options: [ + { + name: "--measurement-count", + description: "The number of measurements to perform", + args: { name: "measurement-count" }, + isRequired: true, + }, + { + name: ["--profile-name", "--name", "-n"], + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--start-delay-ms", + description: + "The delay in milliseconds that the clients should wait for until they start performing measurements", + args: { name: "start-delay-ms" }, + isRequired: true, + }, + { + name: "--description", + description: "The description of the Footprint profile", + args: { name: "description" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--reporting-endpoints", + description: "The endpoints which to upload measurements to", + args: { name: "reporting-endpoints" }, + }, + { + name: "--sample-rate-cold", + description: + "The default sampling percentage for cold path measurement storage", + args: { name: "sample-rate-cold" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an existing Footprint profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--profile-name", "--name", "-n"], + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Retrieves the information about all Footprint profiles under a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Retrieves the information about a single Footprint profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--profile-name", "--name", "-n"], + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates an existing Footprint profile resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--profile-name", "--name", "-n"], + description: "Name of the Footprint profile resource", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/functionapp.ts b/src/az/2.53.0/functionapp.ts new file mode 100644 index 000000000000..edbe0e0c2308 --- /dev/null +++ b/src/az/2.53.0/functionapp.ts @@ -0,0 +1,8669 @@ +const completion: Fig.Spec = { + name: "functionapp", + description: + "Manage function apps. To install the Azure Functions Core tools see https://github.com/Azure/azure-functions-core-tools", + subcommands: [ + { + name: "app", + description: "Commands to manage Azure Functions app", + subcommands: [ + { + name: "up", + description: "Deploy to Azure Functions via GitHub actions", + options: [ + { + name: "--app-name", + description: "FunctionApp name in the subscription", + args: { name: "app-name" }, + }, + { + name: "--branch-name", + description: + "New branch name to be created to check in files and raise a PR", + args: { name: "branch-name" }, + }, + { + name: "--do-not-wait", + description: "Do not wait for workflow completion", + }, + { + name: ["--repository", "-r"], + description: + "GitHub repository URL e.g. https://github.com/azure/azure-cli", + args: { name: "repository" }, + }, + ], + }, + ], + }, + { + name: "config", + description: "Configure a function app", + subcommands: [ + { + name: "set", + description: "Set an existing function app's configuration", + options: [ + { + name: "--always-on", + description: + "Ensure web app gets loaded all the time, rather unloaded after been idle. Recommended when you have continuous web jobs running", + args: { name: "always-on", suggestions: ["false", "true"] }, + }, + { + name: "--auto-heal-enabled", + description: "Enable or disable auto heal", + args: { + name: "auto-heal-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--ftps-state", + description: + "Set the Ftps state value for an app. Default value is 'AllAllowed'", + args: { + name: "ftps-state", + suggestions: ["AllAllowed", "Disabled", "FtpsOnly"], + }, + }, + { + name: "--generic-configurations", + description: + "Provide site configuration list in a format of either key=value pair or @. PowerShell and Windows Command Prompt users should use a JSON file to provide these configurations to avoid compatibility issues with escape characters", + args: { name: "generic-configurations" }, + }, + { + name: "--http20-enabled", + description: + "Configures a web site to allow clients to connect over http2.0", + args: { name: "http20-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--java-container", + description: "The java container, e.g., Tomcat, Jetty", + args: { name: "java-container" }, + }, + { + name: "--java-container-version", + description: + "The version of the java container, e.g., '8.0.23' for Tomcat", + args: { name: "java-container-version" }, + }, + { + name: "--java-version", + description: + "The version used to run your web app if using Java, e.g., '1.7' for Java 7, '1.8' for Java 8", + args: { name: "java-version" }, + }, + { + name: "--linux-fx-version", + description: + 'The runtime stack used for your linux-based webapp, e.g., "RUBY|2.5.5", "NODE|12LTS", "PHP|7.2", "DOTNETCORE|2.1". See https://aka.ms/linux-stacks for more info', + args: { name: "linux-fx-version" }, + }, + { + name: "--min-tls-version", + description: + "The minimum version of TLS required for SSL requests, e.g., '1.0', '1.1', '1.2'", + args: { name: "min-tls-version" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: "--net-framework-version", + description: + "The version used to run your web app if using .NET Framework, e.g., 'v4.0' for .NET 4.6 and 'v3.0' for .NET 3.5", + args: { name: "net-framework-version" }, + }, + { + name: "--number-of-workers", + description: "The number of workers to be allocated", + args: { name: "number-of-workers" }, + }, + { + name: "--php-version", + description: + "The version used to run your web app if using PHP, e.g., 5.5, 5.6, 7.0", + args: { name: "php-version" }, + }, + { + name: "--powershell-version", + description: + "The version used to run your function app if using PowerShell, e.g., 7.2", + args: { name: "powershell-version" }, + }, + { + name: "--prewarmed-instance-count", + description: "Number of pre-warmed instances a function app has", + args: { name: "prewarmed-instance-count" }, + }, + { + name: "--python-version", + description: + "The version used to run your web app if using Python, e.g., 2.7, 3.4", + args: { name: "python-version" }, + }, + { + name: "--remote-debugging-enabled", + description: "Enable or disable remote debugging", + args: { + name: "remote-debugging-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--startup-file", + description: + "The startup file for linux hosted web apps, e.g. 'process.json' for Node.js web", + args: { name: "startup-file" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--use-32bit-worker-process", + description: "Use 32 bits worker process or not", + args: { + name: "use-32bit-worker-process", + suggestions: ["false", "true"], + }, + }, + { + name: "--vnet-route-all-enabled", + description: + "Configure regional VNet integration to route all traffic to the VNet", + args: { + name: "vnet-route-all-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--web-sockets-enabled", + description: "Enable or disable web sockets", + args: { + name: "web-sockets-enabled", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "show", + description: + "Get the details of an existing function app's configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "access-restriction", + description: + "Methods that show, set, add, and remove access restrictions on a functionapp", + subcommands: [ + { + name: "add", + description: "Adds an Access Restriction to the function app", + options: [ + { + name: ["--priority", "-p"], + description: "Priority of the access restriction rule", + args: { name: "priority" }, + isRequired: true, + }, + { + name: "--action", + description: "Allow or deny access", + args: { name: "action", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--description", + description: "Description of the access restriction rule", + args: { name: "description" }, + }, + { + name: "--http-headers", + description: + "Space-separated http headers in a format of =", + args: { name: "http-headers" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--ignore-missing-endpoint", "-i"], + description: + "Create access restriction rule with checking if the subnet has Microsoft.Web service endpoint enabled", + }, + { + name: "--ip-address", + description: + "IP address or CIDR range (optional comma separated list of up to 8 ranges)", + args: { name: "ip-address" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rule-name", "-r"], + description: "Name of the access restriction rule to add", + args: { name: "rule-name" }, + }, + { + name: "--scm-site", + description: + "True if access restrictions is added for scm site", + }, + { + name: "--service-tag", + description: + "Service Tag (optional comma separated list of up to 8 tags)", + args: { name: "service-tag" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subnet", + description: + "Subnet name (requires vNet name) or subnet resource id", + args: { name: "subnet" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "VNet name", + args: { name: "vnet-name" }, + }, + { + name: "--vnet-resource-group", + description: + "Resource group of virtual network (default is web app resource group)", + args: { name: "vnet-resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Removes an Access Restriction from the functionapp", + options: [ + { + name: "--action", + description: "Allow or deny access", + args: { name: "action", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-address", + description: + "IP address or CIDR range (optional comma separated list of up to 8 ranges)", + args: { name: "ip-address" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rule-name", "-r"], + description: "Name of the access restriction to remove", + args: { name: "rule-name" }, + }, + { + name: "--scm-site", + description: + "True if access restriction should be removed from scm site", + }, + { + name: "--service-tag", + description: + "Service Tag (optional comma separated list of up to 8 tags)", + args: { name: "service-tag" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subnet", + description: + "Subnet name (requires vNet name) or subnet resource id", + args: { name: "subnet" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "VNet name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "set", + description: + "Sets if SCM site is using the same restrictions as the main site", + options: [ + { + name: "--use-same-restrictions-for-scm-site", + description: "Use same access restrictions for scm site", + args: { + name: "use-same-restrictions-for-scm-site", + suggestions: ["false", "true"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show Access Restriction settings for functionapp", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "appsettings", + description: "Configure function app settings", + subcommands: [ + { + name: "delete", + description: "Delete a function app's settings", + options: [ + { + name: "--setting-names", + description: "Space-separated app setting names", + args: { name: "setting-names" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Show settings for a function app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "set", + description: "Update a function app's settings", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--settings", + description: + "Space-separated appsettings in KEY=VALUE format. Use @{file} to load from a file", + args: { name: "settings" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--slot-settings", + description: + "Space-separated appsettings in KEY=VALUE format. Use @{file} to load from a file. Given setting are added to the configuration and marked as Deployment slot setting by default", + args: { name: "slot-settings" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "container", + description: "Manage an existing function app's container settings", + subcommands: [ + { + name: "delete", + description: + "Delete an existing function app's container settings", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set", + description: "Set an existing function app's container settings", + options: [ + { + name: "--docker-custom-image-name", + description: + "Option '--docker-custom-image-name' has been deprecated and will be removed in a future release. Use '--image' instead. The container custom image name and optionally the tag name (e.g., /:)", + args: { name: "docker-custom-image-name" }, + }, + { + name: "--docker-registry-server-password", + description: + "Option '--docker-registry-server-password' has been deprecated and will be removed in a future release. Use '--registry-password' instead. The container registry server password", + args: { name: "docker-registry-server-password" }, + }, + { + name: "--docker-registry-server-url", + description: + "Option '--docker-registry-server-url' has been deprecated and will be removed in a future release. Use '--registry-server' instead. The container registry server url", + args: { name: "docker-registry-server-url" }, + }, + { + name: "--docker-registry-server-user", + description: + "Option '--docker-registry-server-user' has been deprecated and will be removed in a future release. Use '--registry-username' instead. The container registry server username", + args: { name: "docker-registry-server-user" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--image", "-c", "-i"], + description: + "The container custom image name and optionally the tag name (e.g., /:)", + args: { name: "image" }, + }, + { + name: "--max-replicas", + description: + "The maximum number of replicas when create funtion app on container app", + args: { name: "max-replicas" }, + }, + { + name: "--min-replicas", + description: + "The minimum number of replicas when create funtion app on container app", + args: { name: "min-replicas" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--registry-password", "-p"], + description: "The container registry server password", + args: { name: "registry-password" }, + }, + { + name: ["--registry-server", "-r"], + description: "The container registry server url", + args: { name: "registry-server" }, + }, + { + name: ["--registry-username", "-u"], + description: "The container registry server username", + args: { name: "registry-username" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get details of a function app's container settings", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "hostname", + description: "Configure hostnames for a function app", + subcommands: [ + { + name: "add", + description: "Bind a hostname to a function app", + options: [ + { + name: "--hostname", + description: + "Hostname assigned to the site, such as custom domains", + args: { name: "hostname" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Unbind a hostname from a function app", + options: [ + { + name: "--hostname", + description: + "Hostname assigned to the site, such as custom domains", + args: { name: "hostname" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-external-ip", + description: + "Get the external-facing IP address for a function app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all hostname bindings for a function app", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--webapp-name", + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "webapp-name" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + ], + }, + { + name: "ssl", + description: "Configure SSL certificates", + subcommands: [ + { + name: "bind", + description: "Bind an SSL certificate to a function app", + options: [ + { + name: "--certificate-thumbprint", + description: "The ssl cert thumbprint", + args: { name: "certificate-thumbprint" }, + isRequired: true, + }, + { + name: "--ssl-type", + description: "The ssl cert type", + args: { name: "ssl-type", suggestions: ["IP", "SNI"] }, + isRequired: true, + }, + { + name: "--hostname", + description: + "The custom domain name. If empty, hostnames will be selected automatically", + args: { name: "hostname" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: + "Create a Managed Certificate for a hostname in a function app", + options: [ + { + name: "--hostname", + description: "The custom domain name", + args: { name: "hostname" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--certificate-name", + description: "The name of the certificate", + args: { name: "certificate-name" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "delete", + description: "Delete an SSL certificate from a function app", + options: [ + { + name: "--certificate-thumbprint", + description: "The ssl cert thumbprint", + args: { name: "certificate-thumbprint" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "import", + description: + "Import an SSL certificate to a function app from Key Vault", + options: [ + { + name: "--key-vault", + description: "The name or resource ID of the Key Vault", + args: { name: "key-vault" }, + isRequired: true, + }, + { + name: "--key-vault-certificate-name", + description: "The name of the certificate in Key Vault", + args: { name: "key-vault-certificate-name" }, + isRequired: true, + }, + { + name: "--certificate-name", + description: "The name of the certificate", + args: { name: "certificate-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List SSL certificates for a function app", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of an SSL certificate for a function app", + options: [ + { + name: "--certificate-name", + description: "The name of the certificate", + args: { name: "certificate-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "unbind", + description: "Unbind an SSL certificate from a function app", + options: [ + { + name: "--certificate-thumbprint", + description: "The ssl cert thumbprint", + args: { name: "certificate-thumbprint" }, + isRequired: true, + }, + { + name: "--hostname", + description: + "The custom domain name. If empty, hostnames will be selected automatically", + args: { name: "hostname" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "upload", + description: "Upload an SSL certificate to a function app", + options: [ + { + name: "--certificate-file", + description: "The filepath for the .pfx file", + args: { name: "certificate-file" }, + isRequired: true, + }, + { + name: "--certificate-password", + description: "The ssl cert password", + args: { name: "certificate-password" }, + isRequired: true, + }, + { + name: "--certificate-name", + description: "The name of the certificate", + args: { name: "certificate-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "connection", + description: "Commands to manage functionapp connections", + subcommands: [ + { + name: "delete", + description: "Delete a functionapp connection", + options: [ + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List connections of a functionapp", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + ], + }, + { + name: "list-configuration", + description: "List source configurations of a functionapp connection", + options: [ + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-support-types", + description: + "List client types and auth types supported by functionapp connections", + options: [ + { + name: ["--target-type", "-t"], + description: "The target resource type", + args: { + name: "target-type", + suggestions: [ + "appconfig", + "confluent-cloud", + "cosmos-cassandra", + "cosmos-gremlin", + "cosmos-mongo", + "cosmos-sql", + "cosmos-table", + "eventhub", + "keyvault", + "mysql", + "mysql-flexible", + "postgres", + "postgres-flexible", + "redis", + "redis-enterprise", + "servicebus", + "signalr", + "sql", + "storage-blob", + "storage-file", + "storage-queue", + "storage-table", + "webpubsub", + ], + }, + }, + ], + }, + { + name: "show", + description: "Get the details of a functionapp connection", + options: [ + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "validate", + description: "Validate a functionapp connection", + options: [ + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the connection is met", + options: [ + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "create", + description: + "Create a connection between a functionapp and a target resource", + subcommands: [ + { + name: "appconfig", + description: "Create a functionapp connection to appconfig", + options: [ + { + name: "--app-config", + description: + "Name of the app configuration. Required if '--target-id' is not specified", + args: { name: "app-config" }, + }, + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--app-config'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the app configuration. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "confluent-cloud", + description: "Create a functionapp connection to confluent-cloud", + options: [ + { + name: "--bootstrap-server", + description: "Kafka bootstrap server url", + args: { name: "bootstrap-server" }, + isRequired: true, + }, + { + name: "--kafka-key", + description: "Kafka API-Key (key)", + args: { name: "kafka-key" }, + isRequired: true, + }, + { + name: "--kafka-secret", + description: "Kafka API-Key (secret)", + args: { name: "kafka-secret" }, + isRequired: true, + }, + { + name: "--schema-key", + description: "Schema registry API-Key (key)", + args: { name: "schema-key" }, + isRequired: true, + }, + { + name: "--schema-registry", + description: "Schema registry url", + args: { name: "schema-registry" }, + isRequired: true, + }, + { + name: "--schema-secret", + description: "Schema registry API-Key (secret)", + args: { name: "schema-secret" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-cassandra", + description: + "Create a functionapp connection to cosmos-cassandra", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--key-space", + description: + "Name of the keyspace. Required if '--target-id' is not specified", + args: { name: "key-space" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--key-space'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-gremlin", + description: "Create a functionapp connection to cosmos-gremlin", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--graph", + description: + "Name of the graph. Required if '--target-id' is not specified", + args: { name: "graph" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database', '--graph'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-mongo", + description: "Create a functionapp connection to cosmos-mongo", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-sql", + description: "Create a functionapp connection to cosmos-sql", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-table", + description: "Create a functionapp connection to cosmos-table", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--table", + description: + "Name of the table. Required if '--target-id' is not specified", + args: { name: "table" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--table'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "eventhub", + description: "Create a functionapp connection to eventhub", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "kafka-springBoot", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--namespace", + description: + "Name of the eventhub namespace. Required if '--target-id' is not specified", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--namespace'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the eventhub. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "keyvault", + description: "Create a functionapp connection to keyvault", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new keyvault when creating the functionapp connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--vault'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the keyvault. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault", + description: + "Name of the keyvault. Required if '--target-id' is not specified", + args: { name: "vault" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql", + description: "Create a functionapp connection to mysql", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the mysql database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the mysql server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the mysql server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql-flexible", + description: "Create a functionapp connection to mysql-flexible", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the mysql flexible database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the mysql flexible server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the mysql flexible server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres", + description: "Create a functionapp connection to postgres", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of postgres database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new postgres when creating the functionapp connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of postgres server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the postgres service. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres-flexible", + description: + "Create a functionapp connection to postgres-flexible", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of postgres flexible database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of postgres flexible server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the flexible postgres service. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis", + description: "Create a functionapp connection to redis", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the redis database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the redis server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the redis server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis-enterprise", + description: + "Create a functionapp connection to redis-enterprise", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the redis enterprise database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the redis enterprise server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the redis server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "servicebus", + description: "Create a functionapp connection to servicebus", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--namespace", + description: + "Name of the servicebus namespace. Required if '--target-id' is not specified", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--namespace'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the servicebus. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "signalr", + description: "Create a functionapp connection to signalr", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: ["dotnet", "none"], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--signalr", + description: + "Name of the signalr service. Required if '--target-id' is not specified", + args: { name: "signalr" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--signalr'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the signalr. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "sql", + description: "Create a functionapp connection to sql", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the sql database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the sql server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the sql server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-blob", + description: "Create a functionapp connection to storage-blob", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new storage-blob when creating the functionapp connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-file", + description: "Create a functionapp connection to storage-file", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-queue", + description: "Create a functionapp connection to storage-queue", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-table", + description: "Create a functionapp connection to storage-table", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "webpubsub", + description: "Create a functionapp connection to webpubsub", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--webpubsub'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the webpubsub. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + { + name: "--webpubsub", + description: + "Name of the webpubsub service. Required if '--target-id' is not specified", + args: { name: "webpubsub" }, + }, + ], + }, + ], + }, + { + name: "update", + description: "Update a functionapp connection", + subcommands: [ + { + name: "appconfig", + description: "Update a functionapp to appconfig connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "confluent-cloud", + description: "Update a functionapp to confluent-cloud connection", + options: [ + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + isRequired: true, + }, + { + name: "--bootstrap-server", + description: "Kafka bootstrap server url", + args: { name: "bootstrap-server" }, + }, + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--kafka-key", + description: "Kafka API-Key (key)", + args: { name: "kafka-key" }, + }, + { + name: "--kafka-secret", + description: "Kafka API-Key (secret)", + args: { name: "kafka-secret" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--schema-key", + description: "Schema registry API-Key (key)", + args: { name: "schema-key" }, + }, + { + name: "--schema-registry", + description: "Schema registry url", + args: { name: "schema-registry" }, + }, + { + name: "--schema-secret", + description: "Schema registry API-Key (secret)", + args: { name: "schema-secret" }, + }, + { + name: "--source-id", + description: + "The resource id of a functionapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-cassandra", + description: + "Update a functionapp to cosmos-cassandra connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-gremlin", + description: "Update a functionapp to cosmos-gremlin connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-mongo", + description: "Update a functionapp to cosmos-mongo connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-sql", + description: "Update a functionapp to cosmos-sql connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-table", + description: "Update a functionapp to cosmos-table connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "eventhub", + description: "Update a functionapp to eventhub connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "kafka-springBoot", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "keyvault", + description: "Update a functionapp to keyvault connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql", + description: "Update a functionapp to mysql connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql-flexible", + description: "Update a functionapp to mysql-flexible connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres", + description: "Update a functionapp to postgres connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres-flexible", + description: + "Update a functionapp to postgres-flexible connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis", + description: "Update a functionapp to redis connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis-enterprise", + description: + "Update a functionapp to redis-enterprise connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "servicebus", + description: "Update a functionapp to servicebus connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "signalr", + description: "Update a functionapp to signalr connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: ["dotnet", "none"], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "sql", + description: "Update a functionapp to sql connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-blob", + description: "Update a functionapp to storage-blob connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-file", + description: "Update a functionapp to storage-file connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-queue", + description: "Update a functionapp to storage-queue connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-table", + description: "Update a functionapp to storage-table connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "webpubsub", + description: "Update a functionapp to webpubsub connection", + options: [ + { + name: "--client-type", + description: "The client type used on the functionapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the functionapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the function app. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the function app. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "cors", + description: "Manage Cross-Origin Resource Sharing (CORS)", + subcommands: [ + { + name: "add", + description: "Add allowed origins", + options: [ + { + name: ["--allowed-origins", "-a"], + description: + 'Space separated origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). To allow all, use "*" and remove all other origins from the list', + args: { name: "allowed-origins" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "credentials", + description: "Enable or disable access-control-allow-credentials", + options: [ + { + name: "--enable", + description: "Enable/disable access-control-allow-credentials", + args: { name: "enable", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: "Remove allowed origins", + options: [ + { + name: ["--allowed-origins", "-a"], + description: + 'Space separated origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). To allow all, use "*" and remove all other origins from the list', + args: { name: "allowed-origins" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show allowed origins", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "create", + description: "Create a function app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the new function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--storage-account", "-s"], + description: + "Provide a string value of a Storage Account in the provided Resource Group. Or Resource ID of a Storage Account in a different Resource Group", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: "--app-insights", + description: + "Name of the existing App Insights project to be added to the function app. Must be in the same resource group", + args: { name: "app-insights" }, + }, + { + name: "--app-insights-key", + description: "Instrumentation key of App Insights to be added", + args: { name: "app-insights-key" }, + }, + { + name: "--assign-identity", + description: + "Accept system or user assigned identities separated by spaces. Use '[system]' to refer system assigned identity, or a resource id to refer user assigned identity. Check out help for more examples", + args: { name: "assign-identity" }, + }, + { + name: ["--consumption-plan-location", "-c"], + description: + "Geographic location where function app will be hosted. Use az functionapp list-consumption-locations to view available locations", + args: { name: "consumption-plan-location" }, + }, + { + name: "--deployment-container-image-name", + description: + "Option '--deployment-container-image-name' has been deprecated and will be removed in a future release. Use '--image' instead. Container image, e.g. publisher/image-name:tag", + args: { name: "deployment-container-image-name" }, + }, + { + name: ["--deployment-local-git", "-l"], + description: "Enable local git", + args: { name: "deployment-local-git" }, + }, + { + name: ["--deployment-source-branch", "-b"], + description: "The branch to deploy", + args: { name: "deployment-source-branch" }, + }, + { + name: ["--deployment-source-url", "-u"], + description: "Git repository URL to link with manual integration", + args: { name: "deployment-source-url" }, + }, + { + name: "--disable-app-insights", + description: + "Disable creating application insights resource during functionapp create. No logs will be available", + args: { + name: "disable-app-insights", + suggestions: ["false", "true"], + }, + }, + { + name: "--docker-registry-server-password", + description: + "Option '--docker-registry-server-password' has been deprecated and will be removed in a future release. Use '--registry-password' instead. The container registry server password. Required for private registries", + args: { name: "docker-registry-server-password" }, + }, + { + name: "--docker-registry-server-user", + description: + "Option '--docker-registry-server-user' has been deprecated and will be removed in a future release. Use '--registry-username' instead. The container registry server username", + args: { name: "docker-registry-server-user" }, + }, + { + name: "--environment", + description: "Name of the container app environment", + args: { name: "environment" }, + }, + { + name: "--functions-version", + description: + "The functions app version. NOTE: This will be required starting the next release cycle", + args: { name: "functions-version", suggestions: ["2", "3", "4"] }, + }, + { + name: "--https-only", + description: + "Redirect all traffic made to an app using HTTP to HTTPS", + }, + { + name: ["--image", "-i"], + description: "Container image, e.g. publisher/image-name:tag", + args: { name: "image" }, + }, + { + name: "--max-replicas", + description: + "The maximum number of replicas when create funtion app on container app", + args: { name: "max-replicas" }, + }, + { + name: "--min-replicas", + description: + "The minimum number of replicas when create funtion app on container app", + args: { name: "min-replicas" }, + }, + { + name: "--os-type", + description: "Set the OS type for the app to be created", + args: { name: "os-type", suggestions: ["Linux", "Windows"] }, + }, + { + name: ["--plan", "-p"], + description: + "Name or resource id of the functionapp app service plan. Use 'appservice plan create' to get one. If using an App Service plan from a different resource group, the full resource id must be used and not the plan name", + args: { name: "plan" }, + }, + { + name: ["--registry-password", "-w"], + description: + "The container registry server password. Required for private registries", + args: { name: "registry-password" }, + }, + { + name: "--registry-server", + description: + "The container registry server hostname, e.g. myregistry.azurecr.io", + args: { name: "registry-server" }, + }, + { + name: ["--registry-username", "-d"], + description: "The container registry server username", + args: { name: "registry-username" }, + }, + { + name: "--role", + description: "Role name or id the system assigned identity will have", + args: { name: "role" }, + }, + { + name: "--runtime", + description: + 'The functions runtime stack. Use "az functionapp list-runtimes" to check supported runtimes and versions', + args: { name: "runtime" }, + }, + { + name: "--runtime-version", + description: + 'The version of the functions runtime stack. The functions runtime stack. Use "az functionapp list-runtimes" to check supported runtimes and versions', + args: { name: "runtime-version" }, + }, + { + name: "--scope", + description: "Scope that the system assigned identity can access", + args: { name: "scope" }, + }, + { + name: "--subnet", + description: + "Name or resource ID of the pre-existing subnet to have the webapp join. The --vnet is argument also needed if specifying subnet by name", + args: { name: "subnet" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vnet", + description: + "Name or resource ID of the regional virtual network. If there are multiple vnets of the same name across different resource groups, use vnet resource id to specify which vnet to use. If vnet name is used, by default, the vnet in the same resource group as the webapp will be used. Must be used with --subnet argument", + args: { name: "vnet" }, + }, + ], + }, + { + name: "delete", + description: "Delete a function app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--keep-empty-plan", + description: "Keep empty app service plan", + args: { name: "keep-empty-plan" }, + }, + { + name: ["--name", "-n"], + description: "The name of the functionapp", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "deploy", + description: "Deploys a provided artifact to Azure functionapp", + options: [ + { + name: "--async", + description: "Asynchronous deployment", + args: { name: "async", suggestions: ["false", "true"] }, + }, + { + name: "--clean", + description: + "If true, cleans the target directory prior to deploying the file(s). Default value is determined based on artifact type", + args: { name: "clean", suggestions: ["false", "true"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ignore-stack", + description: "If true, any stack-specific defaults are ignored", + args: { name: "ignore-stack", suggestions: ["false", "true"] }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app to deploy to", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--restart", + description: + "If true, the web app will be restarted following the deployment, default value is true. Set this to false if you are deploying multiple artifacts and do not want to restart the site on the earlier deployments", + args: { name: "restart", suggestions: ["false", "true"] }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--src-path", + description: + 'Path of the artifact to be deployed. Ex: "myapp.zip" or "/myworkspace/apps/myapp.war"', + args: { name: "src-path" }, + }, + { + name: "--src-url", + description: + 'URL of the artifact. The webapp will pull the artifact from this URL. Ex: "http://mysite.com/files/myapp.war?key=123"', + args: { name: "src-url" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-path", + description: + 'Absolute path that the artifact should be deployed to. Defaults to "home/site/wwwroot/". Ex: "/home/site/deployments/tools/", "/home/site/scripts/startup-script.sh"', + args: { name: "target-path" }, + }, + { + name: "--timeout", + description: "Timeout for the deployment operation in milliseconds", + args: { name: "timeout" }, + }, + { + name: "--type", + description: "Used to override the type of artifact being deployed", + args: { + name: "type", + suggestions: [ + "ear", + "jar", + "lib", + "startup", + "static", + "war", + "zip", + ], + }, + }, + ], + }, + { + name: "list", + description: "List function apps", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-consumption-locations", + description: "List available locations for running function apps", + }, + { + name: "list-runtimes", + description: + "List available built-in stacks which can be used for function apps", + options: [ + { + name: ["--os-type", "--os"], + description: "Limit the output to just windows or linux runtimes", + args: { name: "os-type", suggestions: ["linux", "windows"] }, + }, + ], + }, + { + name: "restart", + description: "Restart a function app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a function app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a function app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop a function app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a function app", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force", + description: + "Required if attempting to migrate functionapp from Premium to Consumption --plan", + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: "--plan", + description: + "The name or resource id of the plan to update the functionapp with", + args: { name: "plan" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "deployment", + description: "Manage function app deployments", + subcommands: [ + { + name: "list-publishing-credentials", + description: + "Get the details for available function app publishing credentials", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-publishing-profiles", + description: + "Get the details for available function app deployment profiles", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--xml", + description: + "Retrieves the publishing profile details in XML format", + }, + ], + }, + { + name: "container", + description: "Manage container-based continuous deployment", + subcommands: [ + { + name: "config", + description: "Configure continuous deployment via containers", + options: [ + { + name: ["--enable-cd", "-e"], + description: "Enable/disable continuous deployment", + args: { name: "enable-cd", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-cd-url", + description: + "Get the URL which can be used to configure webhooks for continuous deployment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "github-actions", + description: "Configure GitHub Actions for a functionapp", + subcommands: [ + { + name: "add", + description: + "Add a GitHub Actions workflow file to the specified repository. The workflow will build and deploy your app to the specified functionapp", + options: [ + { + name: "--repo", + description: + "The GitHub repository to which the workflow file will be added. In the format: https://github.com// or /", + args: { name: "repo" }, + isRequired: true, + }, + { + name: ["--branch", "-b"], + description: + "The branch to which the workflow file will be added", + args: { name: "branch" }, + }, + { + name: "--build-path", + description: + "Path to the build requirements. Ex: package path, POM XML directory", + args: { name: "build-path" }, + }, + { + name: ["--force", "-f"], + description: + "When true, the command will overwrite any workflow file with a conflicting name", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--login-with-github", + description: + "Interactively log in with Github to retrieve the Personal Access Token", + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--runtime", "-r"], + description: + 'The functions runtime stack. Use "az functionapp list-runtimes" to check supported runtimes and versions', + args: { name: "runtime" }, + }, + { + name: ["--runtime-version", "-v"], + description: + 'The version of the functions runtime stack. The functions runtime stack. Use "az functionapp list-runtimes" to check supported runtimes and versions', + args: { name: "runtime-version" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--token", + description: + "A Personal Access Token with write access to the specified repository. For more information: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line", + args: { name: "token" }, + }, + ], + }, + { + name: "remove", + description: + "Remove and disconnect the GitHub Actions workflow file from the specified repository", + options: [ + { + name: "--repo", + description: + "The GitHub repository to which the workflow file will be added. In the format: https://github.com// or /", + args: { name: "repo" }, + isRequired: true, + }, + { + name: ["--branch", "-b"], + description: + "The branch to which the workflow file will be added", + args: { name: "branch" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--login-with-github", + description: + "Interactively log in with Github to retrieve the Personal Access Token", + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--token", + description: + "A Personal Access Token with write access to the specified repository. For more information: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "slot", + description: "Manage function app deployment slots", + subcommands: [ + { + name: "auto-swap", + description: "Configure deployment slot auto swap", + options: [ + { + name: ["--slot", "-s"], + description: "The name of the slot", + args: { name: "slot" }, + isRequired: true, + }, + { + name: "--auto-swap-slot", + description: "Target slot to auto swap", + args: { name: "auto-swap-slot" }, + }, + { + name: "--disable", + description: "Disable auto swap", + args: { name: "disable" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a deployment slot", + options: [ + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: "The name of the slot", + args: { name: "slot" }, + isRequired: true, + }, + { + name: "--configuration-source", + description: + "Source slot to clone configurations from. Use function app's name to refer to the production slot", + args: { name: "configuration-source" }, + }, + { + name: "--deployment-container-image-name", + description: + "Option '--deployment-container-image-name' has been deprecated and will be removed in a future release. Use '--image' instead. Container image, e.g. publisher/image-name:tag", + args: { name: "deployment-container-image-name" }, + }, + { + name: "--docker-registry-server-password", + description: + "Option '--docker-registry-server-password' has been deprecated and will be removed in a future release. Use '--registry-password' instead. The container registry server password", + args: { name: "docker-registry-server-password" }, + }, + { + name: "--docker-registry-server-user", + description: + "Option '--docker-registry-server-user' has been deprecated and will be removed in a future release. Use '--registry-username' instead. The container registry server username", + args: { name: "docker-registry-server-user" }, + }, + { + name: ["--image", "-i"], + description: "Container image, e.g. publisher/image-name:tag", + args: { name: "image" }, + }, + { + name: ["--registry-password", "-d"], + description: "The container registry server password", + args: { name: "registry-password" }, + }, + { + name: ["--registry-username", "-u"], + description: "The container registry server username", + args: { name: "registry-username" }, + }, + ], + }, + { + name: "delete", + description: "Delete a deployment slot", + options: [ + { + name: ["--slot", "-s"], + description: "The name of the slot", + args: { name: "slot" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all deployment slots", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "swap", + description: "Swap deployment slots for a function app", + options: [ + { + name: ["--slot", "-s"], + description: "The name of the slot", + args: { name: "slot" }, + isRequired: true, + }, + { + name: "--action", + description: + "Swap types. use 'preview' to apply target slot's settings on the source slot first; use 'swap' to complete it; use 'reset' to reset the swap", + args: { + name: "action", + suggestions: ["preview", "reset", "swap"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: "--preserve-vnet", + description: + "Preserve Virtual Network to the slot during swap, default to 'true'", + args: { + name: "preserve-vnet", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-slot", + description: "Target slot to swap, default to 'production'", + args: { name: "target-slot" }, + }, + ], + }, + ], + }, + { + name: "source", + description: "Manage function app deployment via source control", + subcommands: [ + { + name: "config", + description: + "Manage deployment from git or Mercurial repositories", + options: [ + { + name: ["--repo-url", "-u"], + description: + "Repository url to pull the latest source from, e.g. https://github.com/foo/foo-web", + args: { name: "repo-url" }, + isRequired: true, + }, + { + name: "--branch", + description: "The branch name of the repository", + args: { name: "branch" }, + }, + { + name: "--git-token", + description: "Git access token required for auto sync", + args: { name: "git-token" }, + }, + { + name: "--github-action", + description: "If using GitHub action, default to False", + args: { name: "github-action" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--manual-integration", + description: + "Disable automatic sync between source control and web", + args: { name: "manual-integration" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: "--repository-type", + description: "Repository type", + args: { + name: "repository-type", + suggestions: [ + "externalgit", + "git", + "github", + "localgit", + "mercurial", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "config-local-git", + description: + "Get a URL for a git repository endpoint to clone and push to for function app deployment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "config-zip", + description: + "Perform deployment using the kudu zip push deployment for a function app", + options: [ + { + name: "--src", + description: "A zip file path for deployment", + args: { name: "src" }, + isRequired: true, + }, + { + name: "--build-remote", + description: "Enable remote build during deployment", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--timeout", "-t"], + description: + "Configurable timeout in seconds for checking the status of deployment", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete", + description: "Delete a source control deployment configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of a source control deployment configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "sync", + description: + "Synchronize from the repository. Only needed under manual integration mode", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update-token", + description: + "Update source control token cached in Azure app service", + options: [ + { + name: "--git-token", + description: "Git access token required for auto sync", + args: { name: "git-token" }, + }, + ], + }, + ], + }, + { + name: "user", + description: "Manage user credentials for deployment", + subcommands: [ + { + name: "set", + description: "Update deployment credentials", + options: [ + { + name: "--user-name", + description: "User name", + args: { name: "user-name" }, + isRequired: true, + }, + { + name: "--password", + description: "Password, will prompt if not specified", + args: { name: "password" }, + }, + ], + }, + { name: "show", description: "Gets publishing user" }, + ], + }, + ], + }, + { + name: "devops-pipeline", + description: + "Azure Function specific integration with Azure DevOps. Please visit https://aka.ms/functions-azure-devops for more information", + subcommands: [ + { + name: "create", + description: "Create an Azure DevOps pipeline for a function app", + options: [ + { + name: "--allow-force-push", + description: + "If Azure DevOps repository is not clean, should it overwrite remote content?", + args: { + name: "allow-force-push", + suggestions: ["false", "true"], + }, + }, + { + name: "--functionapp-name", + description: + "Name of the Azure function app that you want to use", + args: { name: "functionapp-name" }, + }, + { + name: "--github-pat", + description: + "Github personal access token for creating pipeline from Github repository", + args: { name: "github-pat" }, + }, + { + name: "--github-repository", + description: + "Fullname of your Github repository (e.g. Azure/azure-cli)", + args: { name: "github-repository" }, + }, + { + name: "--organization-name", + description: + "Name of the Azure DevOps organization that you want to use", + args: { name: "organization-name" }, + }, + { + name: "--overwrite-yaml", + description: + "If you have an existing yaml, should it be overwritten?", + args: { name: "overwrite-yaml", suggestions: ["false", "true"] }, + }, + { + name: "--project-name", + description: + "Name of the Azure DevOps project that you want to use", + args: { name: "project-name" }, + }, + { + name: "--repository-name", + description: + "Name of the Azure DevOps repository that you want to use", + args: { name: "repository-name" }, + }, + ], + }, + ], + }, + { + name: "function", + description: "Manage function app functions", + subcommands: [ + { + name: "delete", + description: "Delete a function", + options: [ + { + name: "--function-name", + description: "Name of the Function", + args: { name: "function-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List functions in a function app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a function", + options: [ + { + name: "--function-name", + description: "Name of the Function", + args: { name: "function-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "keys", + description: "Manage function keys", + subcommands: [ + { + name: "delete", + description: "Delete a function key", + options: [ + { + name: "--key-name", + description: "Name of the key to set", + args: { name: "key-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--function-name", + description: "Name of the Function", + args: { name: "function-name" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Defaults to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "list", + description: "List all function keys", + options: [ + { + name: "--function-name", + description: "Name of the Function", + args: { name: "function-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Defaults to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "set", + description: "Create or update a function key", + options: [ + { + name: "--function-name", + description: "Name of the Function", + args: { name: "function-name" }, + isRequired: true, + }, + { + name: "--key-name", + description: "Name of the key to set", + args: { name: "key-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--key-value", + description: + "Value of the new key. If not provided, a value will be generated", + args: { name: "key-value" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Defaults to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "hybrid-connection", + description: + "Methods that list, add and remove hybrid-connections from functionapp", + subcommands: [ + { + name: "add", + description: "Add an existing hybrid-connection to a functionapp", + options: [ + { + name: "--hybrid-connection", + description: "Hybrid connection name", + args: { name: "hybrid-connection" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "Hybrid connection namespace", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "list", + description: "List the hybrid-connections on a functionapp", + options: [ + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "remove", + description: "Remove a hybrid-connection from a functionapp", + options: [ + { + name: "--hybrid-connection", + description: "Hybrid connection name", + args: { name: "hybrid-connection" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "Hybrid connection namespace", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage web app's managed identity", + subcommands: [ + { + name: "assign", + description: "Assign managed identity to the web app", + options: [ + { + name: "--identities", + description: + "Space-separated identities to assign. Use '[system]' to refer to the system assigned identity. Default: '[system]'", + args: { name: "identities" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: + "Role name or id the managed identity will be assigned", + args: { name: "role" }, + }, + { + name: "--scope", + description: "The scope the managed identity has access to", + args: { name: "scope" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: "Disable web app's managed identity", + options: [ + { + name: "--identities", + description: + "Space-separated identities to assign. Use '[system]' to refer to the system assigned identity. Default: '[system]'", + args: { name: "identities" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Display web app's managed identity", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "keys", + description: "Manage function app keys", + subcommands: [ + { + name: "delete", + description: "Delete a function app key", + options: [ + { + name: "--key-name", + description: "Name of the key to set", + args: { name: "key-name" }, + isRequired: true, + }, + { + name: "--key-type", + description: "Type of key", + args: { + name: "key-type", + suggestions: ["functionKeys", "masterKey", "systemKeys"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Defaults to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "list", + description: "List all function app keys", + options: [ + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Defaults to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "set", + description: "Create or update a function app key", + options: [ + { + name: "--key-name", + description: "Name of the key to set", + args: { name: "key-name" }, + isRequired: true, + }, + { + name: "--key-type", + description: "Type of key", + args: { + name: "key-type", + suggestions: ["functionKeys", "masterKey", "systemKeys"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--key-value", + description: + "Value of the new key. If not provided, a value will be generated", + args: { name: "key-value" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Defaults to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + ], + }, + { + name: "log", + description: "Manage function app logs", + subcommands: [ + { + name: "deployment", + description: "Manage function app deployment logs", + subcommands: [ + { + name: "list", + description: + "List deployment logs of the deployments associated with function app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "show", + description: + "Show deployment logs of the latest deployment, or a specific deployment if deployment-id is specified", + options: [ + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--deployment-id", + description: + "Deployment ID. If none specified, returns the deployment logs of the latest deployment", + args: { name: "deployment-id" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "plan", + description: "Manage App Service Plans for an Azure Function", + subcommands: [ + { + name: "create", + description: "Create an App Service Plan for an Azure Function", + options: [ + { + name: ["--name", "-n"], + description: "The name of the app service plan", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: + "The SKU of the app service plan. e.g., F1(Free), D1(Shared), B1(Basic Small), B2(Basic Medium), B3(Basic Large), S1(Standard Small), P1V2(Premium V2 Small), I1 (Isolated Small), I2 (Isolated Medium), I3 (Isolated Large), K1 (Kubernetes)", + args: { name: "sku" }, + isRequired: true, + }, + { + name: "--is-linux", + description: "Host function app on Linux worker", + args: { name: "is-linux", suggestions: ["false", "true"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--max-burst", + description: "The maximum number of elastic workers for the plan", + args: { name: "max-burst" }, + }, + { + name: ["--number-of-workers", "--min-instances"], + description: "The number of workers for the app service plan", + args: { name: "number-of-workers" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--zone-redundant", "-z"], + description: + "Enable zone redundancy for high availability. Cannot be changed after plan creation. Minimum instance count is 3", + }, + ], + }, + { + name: "delete", + description: "Delete an App Service Plan", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the app service plan", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List App Service Plans", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get the App Service Plans for a resource group or a set of resource groups", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the app service plan", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an App Service plan for an Azure Function", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--max-burst", + description: "The maximum number of elastic workers for the plan", + args: { name: "max-burst" }, + }, + { + name: ["--number-of-workers", "--min-instances"], + description: "The number of workers for the app service plan", + args: { name: "number-of-workers" }, + }, + { + name: ["--name", "-n"], + description: "The name of the app service plan", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "The SKU of the app service plan", + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "vnet-integration", + description: + "Methods that list, add, and remove virtual networks integrations from a functionapp", + subcommands: [ + { + name: "add", + description: + "Add a regional virtual network integration to a functionapp", + options: [ + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet", + description: "The name or resource ID of the subnet", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--vnet", + description: "The name or resource ID of the Vnet", + args: { name: "vnet" }, + isRequired: true, + }, + { + name: "--skip-delegation-check", + description: + "Skip check if you do not have permission or the VNet is in another subscription", + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "list", + description: "List the virtual network integrations on a functionapp", + options: [ + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "remove", + description: + "Remove a regional virtual network integration from functionapp", + options: [ + { + name: ["--name", "-n"], + description: "Name of the function app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/fzf.ts b/src/az/2.53.0/fzf.ts new file mode 100644 index 000000000000..28e038cb000a --- /dev/null +++ b/src/az/2.53.0/fzf.ts @@ -0,0 +1,73 @@ +const completion: Fig.Spec = { + name: "fzf", + description: + "Commands to select active or default objects via fzf.\n\n\t\tSelect your active subscription or set defaults with an easy selection interface (fzf).\nSearch syntax:\nToken Match type Description\n\nsbtrkt fuzzy-match Items that match sbtrkt\n'wild exact-match (quoted) Items that include wild\n^music prefix-exact-match Items that start with music\n.mp3$ suffix-exact-match Items that end with .mp3\n!fire inverse-exact-match Items that do not include fire\n!^music inverse-prefix-exact-match Items that do not start with music\n!.mp3$ inverse-suffix-exact-match Items that do not end with .mp3\nMore information about search syntax or fzf in general can be found on the fzf project page: https://github.com/junegunn/fzf#search-syntax", + subcommands: [ + { + name: "group", + description: "Select default resource group", + options: [ + { + name: ["--filter", "-f"], + description: "A filter string to pass to fzf", + args: { name: "filter" }, + }, + { + name: ["--no-default", "-d"], + description: + "Don't change the active or default, just return selected item", + }, + ], + }, + { + name: "install", + description: "Download and install the fzf command", + options: [ + { + name: ["--install-dir", "-i"], + description: "Path to the directory where fzf should be installed", + args: { name: "install-dir" }, + }, + { + name: ["--version", "-v"], + description: "Version of fzf to install", + args: { name: "version" }, + }, + ], + }, + { + name: "location", + description: "Select default location", + options: [ + { + name: ["--filter", "-f"], + description: "A filter string to pass to fzf", + args: { name: "filter" }, + }, + { + name: ["--no-default", "-d"], + description: + "Don't change the active or default, just return selected item", + }, + ], + }, + { + name: "subscription", + description: "Select default subscription", + options: [ + { + name: ["--filter", "-f"], + description: "A filter string to pass to fzf", + args: { name: "filter" }, + }, + { + name: ["--no-default", "-d"], + description: + "Don't change the active or default, just return selected item", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/grafana.ts b/src/az/2.53.0/grafana.ts new file mode 100644 index 000000000000..16c9291b30cf --- /dev/null +++ b/src/az/2.53.0/grafana.ts @@ -0,0 +1,1585 @@ +const completion: Fig.Spec = { + name: "grafana", + description: + "Commands to manage Azure Grafana instanced.\n\n\t\tFor optimized experience, not all data plane Apis, documented at https://grafana.com/docs/grafana/latest/http_api/, are exposed. On coverage gap, please reach out to ad4g@microsoft.com", + subcommands: [ + { + name: "api-key", + description: "Commands to manage api keys", + subcommands: [ + { + name: "create", + description: "Create a new api key", + options: [ + { + name: "--key", + description: "Api key name", + args: { name: "key" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--role", "-r"], + description: "Grafana role name", + args: { + name: "role", + suggestions: ["Admin", "Editor", "Viewer"], + }, + }, + { + name: "--time-to-live", + description: + "The API key life duration. For example, 1d if your key is going to last fr one day. Supported units are: s,m,h,d,w,M,y", + args: { name: "time-to-live" }, + }, + ], + }, + { + name: "delete", + description: "Delete an api key", + options: [ + { + name: "--key", + description: "Id or name that identify an api-key to delete", + args: { name: "key" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List existing api keys", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "backup", + description: + "Backup an Azure Managed Grafana instance's content to an achive", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--components", "-c"], + description: "Grafana artifact types to backup", + args: { + name: "components", + suggestions: [ + "annotations", + "dashboards", + "datasources", + "folders", + "snapshots", + ], + }, + }, + { + name: ["--directory", "-d"], + description: "Directory to backup Grafana artifacts", + args: { name: "directory" }, + }, + { + name: ["--folders-to-exclude", "-e"], + description: "Folders to exclude in backup or sync", + args: { name: "folders-to-exclude" }, + }, + { + name: ["--folders-to-include", "-i"], + description: "Folders to include in backup or sync", + args: { name: "folders-to-include" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "create", + description: "Create a Azure Managed Grafana instance", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--principal-ids", + description: + "Space-separated Azure AD object ids for users, groups, etc to be made as Grafana Admins. Once provided, CLI won't make the current logon user as Grafana Admin", + args: { name: "principal-ids" }, + }, + { + name: "--principal-types", + description: + "Space-separated Azure AD principal types to pair with --principal-ids", + args: { + name: "principal-types", + suggestions: ["Group", "ServicePrincipal", "User"], + }, + }, + { + name: "--skip-role-assignments", + description: + "Do not create role assignments for managed identity and the current login user", + }, + { + name: ["--skip-system-assigned-identity", "-s"], + description: "Do not enable system assigned identity", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--zone-redundancy", + description: + "Indicates whether or not zone redundancy should be enabled. Default: Disabled", + args: { + name: "zone-redundancy", + suggestions: ["Disabled", "Enabled"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a Azure Managed Grafana instance", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List Azure Managed Grafana instances", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "restore", + description: "Restore an Azure Managed Grafana instance from an achive", + options: [ + { + name: ["--archive-file", "-a"], + description: "Archive to restore Grafana artifacts from", + args: { name: "archive-file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--components", "-c"], + description: "Grafana artifact types to backup", + args: { + name: "components", + suggestions: [ + "annotations", + "dashboards", + "datasources", + "folders", + "snapshots", + ], + }, + }, + { + name: ["--remap-data-sources", "-r"], + description: + "During restoration, update dashboards to reference data sources defined at the destination workspace through name matching", + args: { name: "remap-data-sources", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of a Azure Managed Grafana instance", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update a Azure Managed Grafana instance", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--service-account", "--api-key"], + description: + "If enabled, you will be able to configur Grafana api keys and service accounts", + args: { + name: "service-account", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--deterministic-outbound-ip", "-i"], + description: + "If enabled, the Grafana workspace will have fixed egress IPs you can use them in the firewall of datasources", + args: { + name: "deterministic-outbound-ip", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--from-address", + description: "Address used when sending out emails", + args: { name: "from-address" }, + }, + { + name: "--from-name", + description: "Name to be used when sending out emails", + args: { name: "from-name" }, + }, + { + name: "--host", + description: "Smtp server url(port included)", + args: { name: "host" }, + }, + { + name: "--password", + description: "Smtp server user password", + args: { name: "password" }, + }, + { + name: ["--public-network-access", "-p"], + description: "Allow public network access", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-verify", + description: "Skip verifying SSL for SMTP server", + args: { name: "skip-verify", suggestions: ["false", "true"] }, + }, + { + name: "--smtp", + description: "Allow Grafana to send email", + args: { name: "smtp", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--start-tls-policy", + description: "TLS policy", + args: { + name: "start-tls-policy", + suggestions: [ + "MandatoryStartTLS", + "NoStartTLS", + "OpportunisticStartTLS", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--user", + description: "Smtp server user name", + args: { name: "user" }, + }, + ], + }, + { + name: "dashboard", + description: "Commands to manage dashboards of an instance", + subcommands: [ + { + name: "create", + description: "Create a new dashboard", + options: [ + { + name: "--definition", + description: + "The complete dashboard model in json string, a path or url to a file with such content", + args: { name: "definition" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: "--folder", + description: + "Id, uid, title which can identify a folder. CLI will search in the order of id, uid, and title, till finds a match", + args: { name: "folder" }, + }, + { + name: "--overwrite", + description: "Overwrite a dashboard with same uid", + args: { name: "overwrite", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--title", + description: "Title of a dashboard", + args: { name: "title" }, + }, + ], + }, + { + name: "delete", + description: "Delete a dashboard", + options: [ + { + name: "--dashboard", + description: "Dashboard uid", + args: { name: "dashboard" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "import", + description: "Import a dashboard", + options: [ + { + name: "--definition", + description: + "The complete dashboard model in json string, Grafana gallery id, a path or url to a file with such content", + args: { name: "definition" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: "--folder", + description: + "Id, uid, title which can identify a folder. CLI will search in the order of id, uid, and title, till finds a match", + args: { name: "folder" }, + }, + { + name: "--overwrite", + description: "Overwrite a dashboard with same uid", + args: { name: "overwrite", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List all dashboards of an instance", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the detail of a dashboard", + options: [ + { + name: "--dashboard", + description: "Dashboard uid", + args: { name: "dashboard" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "sync", + description: + 'Sync Azure Managed Grafana dashboards from one instance to another instance. Note, dashboards with "provisioned" state will be skipped due to being read-only', + options: [ + { + name: ["--destination", "-d"], + description: "Resource id of the destination workspace", + args: { name: "destination" }, + isRequired: true, + }, + { + name: ["--source", "-s"], + description: "Resource id of the source workspace", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--dashboards-to-exclude", + description: + "Space separated titles of dashboards to exclude in sync. Pair with --folders-to-exclude for folders specific", + args: { name: "dashboards-to-exclude" }, + }, + { + name: "--dashboards-to-include", + description: + "Space separated titles of dashboards to include in sync. Pair with --folders-to-include for folders specific", + args: { name: "dashboards-to-include" }, + }, + { + name: "--dry-run", + description: "Preview changes w/o committing", + args: { name: "dry-run", suggestions: ["false", "true"] }, + }, + { + name: ["--folders-to-exclude", "-e"], + description: "Folders to exclude in backup or sync", + args: { name: "folders-to-exclude" }, + }, + { + name: ["--folders-to-include", "-i"], + description: "Folders to include in backup or sync", + args: { name: "folders-to-include" }, + }, + ], + }, + { + name: "update", + description: "Update a dashboard", + options: [ + { + name: "--definition", + description: + "The complete dashboard model in json string, a path or url to a file with such content", + args: { name: "definition" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: "--folder", + description: + "Id, uid, title which can identify a folder. CLI will search in the order of id, uid, and title, till finds a match", + args: { name: "folder" }, + }, + { + name: "--overwrite", + description: "Overwrite a dashboard with same uid", + args: { name: "overwrite", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "data-source", + description: "Commands to manage data sources of an instance", + subcommands: [ + { + name: "create", + description: "Create a data source", + options: [ + { + name: "--definition", + description: + "Json string with data source definition, or a path to a file with such content", + args: { name: "definition" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: "Delete a data source", + options: [ + { + name: "--data-source", + description: + "Name, id, uid which can identify a data source. CLI will search in the order of name, id, and uid, till finds a match", + args: { name: "data-source" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List all data sources of an instance", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "query", + description: "Query a data source having backend implementation", + options: [ + { + name: "--data-source", + description: + "Name, id, uid which can identify a data source. CLI will search in the order of name, id, and uid, till finds a match", + args: { name: "data-source" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: "--conditions", + description: + "Space-separated condition in a format of =", + args: { name: "conditions" }, + }, + { + name: "--from", + description: + "Start time in iso 8601, e.g. '2022-01-02T16:15:00'. Default: 1 hour early", + args: { name: "from" }, + }, + { + name: "--internal-ms", + description: + "The time interval in milliseconds of time series. Default: 1000", + args: { name: "internal-ms" }, + }, + { + name: "--max-data-points", + description: + "Maximum amount of data points that dashboard panel can render. Default: 1000", + args: { name: "max-data-points" }, + }, + { + name: "--query-format", + description: "Format of the resule, e.g. table, time_series", + args: { name: "query-format" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--to", + description: + "End time in iso 8601, e.g. '2022-01-02T17:15:00'. Default: current time", + args: { name: "to" }, + }, + ], + }, + { + name: "show", + description: "Get details of a data source", + options: [ + { + name: "--data-source", + description: + "Name, id, uid which can identify a data source. CLI will search in the order of name, id, and uid, till finds a match", + args: { name: "data-source" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update a data source", + options: [ + { + name: "--data-source", + description: + "Name, id, uid which can identify a data source. CLI will search in the order of name, id, and uid, till finds a match", + args: { name: "data-source" }, + isRequired: true, + }, + { + name: "--definition", + description: + "Json string with data source definition, or a path to a file with such content", + args: { name: "definition" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "folder", + description: "Commands to manage folders of an instance", + subcommands: [ + { + name: "create", + description: "Create a new folder", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--title", + description: "Title of the folder", + args: { name: "title" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: "Delete a folder", + options: [ + { + name: "--folder", + description: + "Id, uid, title which can identify a folder. CLI will search in the order of id, uid, and title, till finds a match", + args: { name: "folder" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List all folders of an instance", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a folder", + options: [ + { + name: "--folder", + description: + "Id, uid, title which can identify a folder. CLI will search in the order of id, uid, and title, till finds a match", + args: { name: "folder" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update a folder", + options: [ + { + name: "--folder", + description: + "Id, uid, title which can identify a folder. CLI will search in the order of id, uid, and title, till finds a match", + args: { name: "folder" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--title", + description: "Title of the folder", + args: { name: "title" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "notification-channel", + description: + "Commands to manage notification channels of an instance.\n\n\t\tAs part of legacy alerting, this command group will be deprecated in a future release", + subcommands: [ + { + name: "create", + description: "Create a notification channel", + options: [ + { + name: "--definition", + description: + "Json string with notification channel definition, or a path to a file with such content", + args: { name: "definition" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: "Delete a notification channel", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--notification-channel", + description: + "Id, uid which can identify a data source. CLI will search in the order of id, and uid, till finds a match", + args: { name: "notification-channel" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List all notification channels of an instance", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--short", + description: "List notification channels in short format", + }, + ], + }, + { + name: "show", + description: "Get details of a notification channel", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--notification-channel", + description: + "Id, uid which can identify a data source. CLI will search in the order of id, and uid, till finds a match", + args: { name: "notification-channel" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "test", + description: "Tests a notification channels", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--notification-channel", + description: + "Id, uid which can identify a data source. CLI will search in the order of id, and uid, till finds a match", + args: { name: "notification-channel" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update a notification channel", + options: [ + { + name: "--definition", + description: + "Json string with notification channel definition, or a path to a file with such content", + args: { name: "definition" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--notification-channel", + description: + "Id, uid which can identify a data source. CLI will search in the order of id, and uid, till finds a match", + args: { name: "notification-channel" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "service-account", + description: "Commands to manage service accounts", + subcommands: [ + { + name: "create", + description: "Create a new service account", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--service-account", + description: "Service account name", + args: { name: "service-account" }, + isRequired: true, + }, + { + name: "--is-disabled", + description: "Disable the service account. default: false", + args: { name: "is-disabled", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--role", "-r"], + description: "Grafana role name", + args: { + name: "role", + suggestions: ["Admin", "Editor", "Viewer"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a service account", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--service-account", + description: "Id or name which can identify a service account", + args: { name: "service-account" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List existing service accounts", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of a service account", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--service-account", + description: "Id or name which can identify a service account", + args: { name: "service-account" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update a service account", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--service-account", + description: "Id or name which can identify a service account", + args: { name: "service-account" }, + isRequired: true, + }, + { + name: "--is-disabled", + description: "Disable the service account. default: false", + args: { name: "is-disabled", suggestions: ["false", "true"] }, + }, + { + name: "--new-name", + description: "New name of the service account", + args: { name: "new-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--role", "-r"], + description: "Grafana role name", + args: { + name: "role", + suggestions: ["Admin", "Editor", "Viewer"], + }, + }, + ], + }, + { + name: "token", + description: "Commands to manage service account tokens", + subcommands: [ + { + name: "create", + description: "Create a new service account token", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--service-account", + description: + "Id or name which can identify a service account", + args: { name: "service-account" }, + isRequired: true, + }, + { + name: "--token", + description: "Name of the new service account token", + args: { name: "token" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--time-to-live", + description: + "The life duration. For example, 1d if your key is going to last fr one day. Supported units are: s,m,h,d,w,M,y", + args: { name: "time-to-live" }, + }, + ], + }, + { + name: "delete", + description: "Delete a service account token", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--service-account", + description: + "Id or name which can identify a service account", + args: { name: "service-account" }, + isRequired: true, + }, + { + name: "--token", + description: + "Id or name which can identify a service account token", + args: { name: "token" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List existing service account tokens", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--service-account", + description: + "Id or name which can identify a service account", + args: { name: "service-account" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "user", + description: "Commands to manage users of an instance", + subcommands: [ + { + name: "actual-user", + description: "Show details of current user", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List users", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show detail of a user", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Managed Grafana", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--user", + description: "User login name or email", + args: { name: "user" }, + isRequired: true, + }, + { + name: ["--api-key", "--token", "-t"], + description: + "Api key or service account token, a randomly generated string used to interact with Grafana endpoint; if missing, CLI will use logon user's credentials", + args: { name: "api-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/graph-services.ts b/src/az/2.53.0/graph-services.ts new file mode 100644 index 000000000000..bea4d3fb7a1f --- /dev/null +++ b/src/az/2.53.0/graph-services.ts @@ -0,0 +1,302 @@ +const completion: Fig.Spec = { + name: "graph-services", + description: "Make operations on Microsoft.GraphServices resource types", + subcommands: [ + { + name: "account", + description: "Make operations on Microsoft.GraphServices/Accounts", + subcommands: [ + { + name: "create", + description: + "Create account resource. Enables billing for the provided application", + options: [ + { + name: "--app-id", + description: "Customer owned application ID", + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--resource-name", "--name", "-n"], + description: "The name of the resource", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of an Azure resource group in your subscription", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an account resource. Disables billing on the associated application", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: "The name of the resource", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of an Azure resource group in your subscription", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List of accounts belonging to a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of an Azure resource group in your subscription", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get an account resource given its name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: "The name of the resource", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of an Azure resource group in your subscription", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an account resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: "The name of the resource", + args: { name: "resource-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of an Azure resource group in your subscription", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: "The name of the resource", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of an Azure resource group in your subscription", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/graph.ts b/src/az/2.53.0/graph.ts new file mode 100644 index 000000000000..d66dd30da388 --- /dev/null +++ b/src/az/2.53.0/graph.ts @@ -0,0 +1,149 @@ +const completion: Fig.Spec = { + name: "graph", + description: + "Query the resources managed by Azure Resource Manager.\n\n\t\tRun 'az graph query --help' for detailed help", + subcommands: [ + { + name: "query", + description: "Query the resources managed by Azure Resource Manager", + options: [ + { + name: ["--graph-query", "--q", "-q"], + description: "Resource Graph query to execute", + args: { name: "graph-query" }, + isRequired: true, + }, + { + name: ["--allow-partial-scopes", "-a"], + description: + "Indicates if query should succeed when only partial number of subscription underneath can be processed by server", + }, + { + name: "--first", + description: + "The maximum number of objects to return. Accepted range: 1-1000", + args: { name: "first" }, + }, + { + name: ["--management-groups", "-m"], + description: "List of management groups to run query against", + args: { name: "management-groups" }, + }, + { + name: "--skip", + description: + "Ignores the first N objects and then gets the remaining objects", + args: { name: "skip" }, + }, + { + name: "--skip-token", + description: + "Skip token to get the next page of the query if applicable", + args: { name: "skip-token" }, + }, + { + name: ["--subscriptions", "-s"], + description: + "List of subscriptions to run query against. By default all accessible subscriptions are queried", + args: { name: "subscriptions" }, + }, + ], + }, + { + name: "shared-query", + description: "Manage shared query of Azure resource graph", + subcommands: [ + { + name: "create", + description: "Create a shared query", + options: [ + { + name: ["--description", "-d"], + description: "Description of the graph shared query", + args: { name: "description" }, + isRequired: true, + }, + { + name: ["--graph-query", "--q", "-q"], + description: "Resource Graph query to execute", + args: { name: "graph-query" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the graph shared query", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a shared query", + options: [ + { + name: ["--name", "-n"], + description: "Name of the graph shared query", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all shared query in a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the properties of a shared query", + options: [ + { + name: ["--name", "-n"], + description: "Name of the graph shared query", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/group.ts b/src/az/2.53.0/group.ts new file mode 100644 index 000000000000..78ff00e49b15 --- /dev/null +++ b/src/az/2.53.0/group.ts @@ -0,0 +1,700 @@ +const completion: Fig.Spec = { + name: "group", + description: "Manage resource groups and template deployments", + subcommands: [ + { + name: "create", + description: "Create a new resource group", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "--name", "-g", "-n"], + description: "Name of the new resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--managed-by", + description: + "The ID of the resource that manages this resource group", + args: { name: "managed-by" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a resource group", + options: [ + { + name: ["--resource-group", "--name", "-g", "-n"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--force-deletion-types", "-f"], + description: "The resource types you want to force delete", + args: { + name: "force-deletion-types", + suggestions: [ + "Microsoft.Compute/virtualMachineScaleSets", + "Microsoft.Compute/virtualMachines", + ], + }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: "Check if a resource group exists", + options: [ + { + name: ["--resource-group", "--name", "-g", "-n"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "export", + description: "Captures a resource group as a template", + options: [ + { + name: ["--resource-group", "--name", "-g", "-n"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--include-comments", + description: "Export template with comments", + }, + { + name: "--include-parameter-default-value", + description: "Export template parameter with default value", + }, + { + name: "--resource-ids", + description: + 'Space-separated resource ids to filter the export by. To export all resources, do not specify this argument or supply "*"', + args: { name: "resource-ids" }, + }, + { + name: "--skip-all-params", + description: + "Export template parameter and skip all parameterization", + }, + { + name: "--skip-resource-name-params", + description: + "Export template and skip resource name parameterization", + }, + ], + }, + { + name: "list", + description: "List resource groups", + options: [ + { + name: "--tag", + description: + "A single tag in 'key[=value]' format. Use \"\" to clear existing tags", + args: { name: "tag" }, + }, + ], + }, + { + name: "show", + description: "Gets a resource group", + options: [ + { + name: ["--resource-group", "--name", "-g", "-n"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a resource group", + options: [ + { + name: ["--resource-group", "--name", "-g", "-n"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the resource group is met", + options: [ + { + name: ["--resource-group", "--name", "-g", "-n"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "deployment", + description: "Manage Azure Resource Manager deployments", + subcommands: [ + { + name: "cancel", + description: "Cancels a currently running template deployment", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Start a deployment", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aux-subs", + description: + "Option '--aux-subs' has been deprecated and will be removed in a future release. Use '--aux-tenants' instead. Auxiliary subscriptions which will be used during deployment across tenants", + args: { name: "aux-subs" }, + }, + { + name: "--aux-tenants", + description: + "Auxiliary tenants which will be used during deployment across tenants", + args: { name: "aux-tenants" }, + }, + { + name: ["--handle-extended-json-format", "-j"], + description: + "Option '--handle-extended-json-format/-j' has been deprecated and will be removed in a future release. Support to handle extended template content including multiline and comments in deployment", + args: { name: "handle-extended-json-format" }, + }, + { + name: "--mode", + description: + "Incremental (only add resources to resource group) or Complete (remove extra resources from resource group)", + args: { name: "mode", suggestions: ["Complete", "Incremental"] }, + }, + { + name: ["--name", "-n"], + description: + "The deployment name. Default to template file base name", + args: { name: "name" }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: "--rollback-on-error", + description: + "The name of a deployment to roll back to on error, or use as a flag to roll back to the last successful deployment", + args: { name: "rollback-on-error" }, + }, + { + name: ["--template-file", "-f"], + description: + "A path to a template file or Bicep file in the file system", + args: { name: "template-file" }, + }, + { + name: ["--template-uri", "-u"], + description: "A uri to a remote template file", + args: { name: "template-uri" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a deployment from the deployment history", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "export", + description: "Export the template used for a deployment", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "Get all the deployments for a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: + "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'. Default value is None", + args: { name: "filter" }, + }, + { + name: "--top", + description: + "The number of results to get. If null is passed, returns all deployments. Default value is None", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Gets a deployment", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "validate", + description: "Validate whether a template is syntactically correct", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--handle-extended-json-format", "-j"], + description: + "Option '--handle-extended-json-format/-j' has been deprecated and will be removed in a future release. Support to handle extended template content including multiline and comments in deployment", + args: { name: "handle-extended-json-format" }, + }, + { + name: "--mode", + description: + "Incremental (only add resources to resource group) or Complete (remove extra resources from resource group)", + args: { name: "mode", suggestions: ["Complete", "Incremental"] }, + }, + { + name: "--no-prompt", + description: + "The option to disable the prompt of missing parameters for ARM template. When the value is true, the prompt requiring users to provide missing parameter will be ignored. The default value is false", + }, + { + name: ["--parameters", "-p"], + description: "Supply deployment parameter values", + args: { name: "parameters" }, + }, + { + name: "--rollback-on-error", + description: + "The name of a deployment to roll back to on error, or use as a flag to roll back to the last successful deployment", + args: { name: "rollback-on-error" }, + }, + { + name: ["--template-file", "-f"], + description: + "A path to a template file or Bicep file in the file system", + args: { name: "template-file" }, + }, + { + name: ["--template-uri", "-u"], + description: "A uri to a remote template file", + args: { name: "template-uri" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a deployment condition is met", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "operation", + description: "Manage deployment operations", + subcommands: [ + { + name: "list", + description: "Gets all deployments operations for a deployment", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--top", + description: + "The number of results to return. Default value is None", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get a deployment's operation", + options: [ + { + name: ["--name", "-n"], + description: "The deployment name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--operation-ids", + description: "A list of operation ids to show", + args: { name: "operation-ids" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "lock", + description: "Manage Azure resource group locks", + subcommands: [ + { + name: "create", + description: "Create a resource group lock", + options: [ + { + name: ["--lock-type", "-t"], + description: "The type of lock restriction", + args: { + name: "lock-type", + suggestions: ["CanNotDelete", "ReadOnly"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--notes", + description: "Notes about this lock", + args: { name: "notes" }, + }, + ], + }, + { + name: "delete", + description: "Delete a resource group lock", + options: [ + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List lock information in the resource-group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter-string", + description: "A query filter to use to restrict the results", + args: { name: "filter-string" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a resource group lock", + options: [ + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update a resource group lock", + options: [ + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--lock-type", "-t"], + description: "The type of lock restriction", + args: { + name: "lock-type", + suggestions: ["CanNotDelete", "ReadOnly"], + }, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + }, + { + name: "--notes", + description: "Notes about this lock", + args: { name: "notes" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/guestconfig.ts b/src/az/2.53.0/guestconfig.ts new file mode 100644 index 000000000000..bf3ba0b17a66 --- /dev/null +++ b/src/az/2.53.0/guestconfig.ts @@ -0,0 +1,800 @@ +const completion: Fig.Spec = { + name: "guestconfig", + description: "Manage Guest Configuration", + subcommands: [ + { + name: "guest-configuration-assignment", + description: "Guestconfig guest-configuration-assignment", + subcommands: [ + { + name: "create", + description: + "Creates an association between a VM and guest configuration", + options: [ + { + name: "--guest-configuration-assignment-name", + description: "Name of the guest configuration assignment", + args: { name: "guest-configuration-assignment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--context", + description: + "The source which initiated the guest configuration assignment. Ex: Azure Policy", + args: { name: "context" }, + }, + { + name: "--guest-configuration-configuration-parameter", + description: + "The configuration parameters for the guest configuration", + args: { name: "guest-configuration-configuration-parameter" }, + }, + { + name: "--guest-configuration-configuration-setting", + description: + "The configuration setting for the guest configuration", + args: { name: "guest-configuration-configuration-setting" }, + }, + { + name: "--guest-configuration-name", + description: "Name of the guest configuration", + args: { name: "guest-configuration-name" }, + }, + { + name: "--guest-configuration-version", + description: "Version of the guest configuration", + args: { name: "guest-configuration-version" }, + }, + { + name: "--latest-assignment-report-assignment", + description: + "Configuration details of the guest configuration assignment. Expected value: json-string/@json-file", + args: { name: "latest-assignment-report-assignment" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--name", + description: "Name of the guest configuration assignment", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a guest configuration assignment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the guest configuration assignment", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "list", + description: + "List all guest configuration assignments for a virtual machine", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get information about a guest configuration assignment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The guest configuration assignment name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "update", + description: + "Creates an association between a VM and guest configuration", + options: [ + { + name: "--context", + description: + "The source which initiated the guest configuration assignment. Ex: Azure Policy", + args: { name: "context" }, + }, + { + name: "--guest-configuration-assignment-name", + description: "Name of the guest configuration assignment", + args: { name: "guest-configuration-assignment-name" }, + }, + { + name: "--guest-configuration-configuration-parameter", + description: + "The configuration parameters for the guest configuration", + args: { name: "guest-configuration-configuration-parameter" }, + }, + { + name: "--guest-configuration-configuration-setting", + description: + "The configuration setting for the guest configuration", + args: { name: "guest-configuration-configuration-setting" }, + }, + { + name: "--guest-configuration-name", + description: "Name of the guest configuration", + args: { name: "guest-configuration-name" }, + }, + { + name: "--guest-configuration-version", + description: "Version of the guest configuration", + args: { name: "guest-configuration-version" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--latest-assignment-report-assignment", + description: + "Configuration details of the guest configuration assignment. Expected value: json-string/@json-file", + args: { name: "latest-assignment-report-assignment" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--name", + description: "Name of the guest configuration assignment", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the guestconfig guest-configuration-assignment is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The guest configuration assignment name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + ], + }, + ], + }, + { + name: "guest-configuration-assignment-report", + description: "Guestconfig guest-configuration-assignment-report", + subcommands: [ + { + name: "list", + description: + "List all reports for the guest configuration assignment, latest report first", + options: [ + { + name: "--guest-configuration-assignment-name", + description: "The guest configuration assignment name", + args: { name: "guest-configuration-assignment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get a report for the guest configuration assignment, by reportId", + options: [ + { + name: "--guest-configuration-assignment-name", + description: "The guest configuration assignment name", + args: { name: "guest-configuration-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--report-id", + description: + "The GUID for the guest configuration assignment report", + args: { name: "report-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + ], + }, + ], + }, + { + name: "guest-configuration-hcrp-assignment", + description: "Guestconfig guest-configuration-hcrp-assignment", + subcommands: [ + { + name: "create", + description: + "Creates an association between a ARC machine and guest configuration", + options: [ + { + name: "--guest-configuration-assignment-name", + description: "Name of the guest configuration assignment", + args: { name: "guest-configuration-assignment-name" }, + isRequired: true, + }, + { + name: "--machine-name", + description: "The name of the ARC machine", + args: { name: "machine-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--context", + description: + "The source which initiated the guest configuration assignment. Ex: Azure Policy", + args: { name: "context" }, + }, + { + name: "--guest-configuration-configuration-parameter", + description: + "The configuration parameters for the guest configuration", + args: { name: "guest-configuration-configuration-parameter" }, + }, + { + name: "--guest-configuration-configuration-setting", + description: + "The configuration setting for the guest configuration", + args: { name: "guest-configuration-configuration-setting" }, + }, + { + name: "--guest-configuration-name", + description: "Name of the guest configuration", + args: { name: "guest-configuration-name" }, + }, + { + name: "--guest-configuration-version", + description: "Version of the guest configuration", + args: { name: "guest-configuration-version" }, + }, + { + name: "--latest-assignment-report-assignment", + description: + "Configuration details of the guest configuration assignment. Expected value: json-string/@json-file", + args: { name: "latest-assignment-report-assignment" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--name", + description: "Name of the guest configuration assignment", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a guest configuration assignment", + options: [ + { + name: "--guest-configuration-assignment-name", + description: "Name of the guest configuration assignment", + args: { name: "guest-configuration-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--machine-name", + description: "The name of the ARC machine", + args: { name: "machine-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all guest configuration assignments for an ARC machine", + options: [ + { + name: "--machine-name", + description: "The name of the ARC machine", + args: { name: "machine-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get information about a guest configuration assignment", + options: [ + { + name: "--guest-configuration-assignment-name", + description: "The guest configuration assignment name", + args: { name: "guest-configuration-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--machine-name", + description: "The name of the ARC machine", + args: { name: "machine-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Creates an association between a ARC machine and guest configuration", + options: [ + { + name: "--context", + description: + "The source which initiated the guest configuration assignment. Ex: Azure Policy", + args: { name: "context" }, + }, + { + name: "--guest-configuration-assignment-name", + description: "Name of the guest configuration assignment", + args: { name: "guest-configuration-assignment-name" }, + }, + { + name: "--guest-configuration-configuration-parameter", + description: + "The configuration parameters for the guest configuration", + args: { name: "guest-configuration-configuration-parameter" }, + }, + { + name: "--guest-configuration-configuration-setting", + description: + "The configuration setting for the guest configuration", + args: { name: "guest-configuration-configuration-setting" }, + }, + { + name: "--guest-configuration-name", + description: "Name of the guest configuration", + args: { name: "guest-configuration-name" }, + }, + { + name: "--guest-configuration-version", + description: "Version of the guest configuration", + args: { name: "guest-configuration-version" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--latest-assignment-report-assignment", + description: + "Configuration details of the guest configuration assignment. Expected value: json-string/@json-file", + args: { name: "latest-assignment-report-assignment" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--machine-name", + description: "The name of the ARC machine", + args: { name: "machine-name" }, + }, + { + name: "--name", + description: "Name of the guest configuration assignment", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the guestconfig guest-configuration-hcrp-assignment is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--guest-configuration-assignment-name", + description: "The guest configuration assignment name", + args: { name: "guest-configuration-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--machine-name", + description: "The name of the ARC machine", + args: { name: "machine-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "guest-configuration-hcrp-assignment-report", + description: "Guestconfig guest-configuration-hcrp-assignment-report", + subcommands: [ + { + name: "list", + description: + "List all reports for the guest configuration assignment, latest report first", + options: [ + { + name: "--guest-configuration-assignment-name", + description: "The guest configuration assignment name", + args: { name: "guest-configuration-assignment-name" }, + isRequired: true, + }, + { + name: "--machine-name", + description: "The name of the ARC machine", + args: { name: "machine-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get a report for the guest configuration assignment, by reportId", + options: [ + { + name: "--guest-configuration-assignment-name", + description: "The guest configuration assignment name", + args: { name: "guest-configuration-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--machine-name", + description: "The name of the ARC machine", + args: { name: "machine-name" }, + }, + { + name: "--report-id", + description: + "The GUID for the guest configuration assignment report", + args: { name: "report-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/hack.ts b/src/az/2.53.0/hack.ts new file mode 100644 index 000000000000..4709b32e39fb --- /dev/null +++ b/src/az/2.53.0/hack.ts @@ -0,0 +1,61 @@ +const completion: Fig.Spec = { + name: "hack", + description: "Commands to manage resources commonly used for student hacks", + subcommands: [ + { + name: "create", + description: + "Create resources commonly used for a student hack, including a website, database, and artificial intelligence", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Base name of resources; random charagers will be appended", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--runtime", "-r"], + description: "Runtime", + args: { + name: "runtime", + suggestions: ["aspnet", "jetty", "node", "php", "python", "tomcat"], + }, + isRequired: true, + }, + { + name: "--ai", + description: "Enable Azure Cognitive Services", + args: { name: "ai" }, + }, + { + name: ["--database", "-d"], + description: "Database type - { sql | mysql | cosmosdb }", + args: { name: "database", suggestions: ["cosmosdb", "mysql", "sql"] }, + }, + ], + }, + { + name: "show", + description: + "Display settings for created resources, including database name and password, Git url, and website url", + options: [ + { + name: ["--name", "-n"], + description: "Name of the application", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/hanainstance.ts b/src/az/2.53.0/hanainstance.ts new file mode 100644 index 000000000000..3772ff33b3d1 --- /dev/null +++ b/src/az/2.53.0/hanainstance.ts @@ -0,0 +1,272 @@ +const completion: Fig.Spec = { + name: "hanainstance", + description: "(PREVIEW) Manage Azure SAP HANA Instance", + subcommands: [ + { + name: "create", + description: "Create a new SAP HANA Instance", + options: [ + { + name: ["--instance-name", "-n"], + description: "The name of the SAP HANA instance", + args: { name: "instance-name" }, + isRequired: true, + }, + { + name: "--ip-address", + description: "IP address to connect to the SAP HANA instance", + args: { name: "ip-address" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location of the SAP HANA instance. Default is the location of target resource group", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--os-computer-name", + description: "OS computer name of the SAP HANA instance", + args: { name: "os-computer-name" }, + isRequired: true, + }, + { + name: "--partner-node-id", + description: + "ARM ID of a HANA Instance on the network to connect the SAP HANA instance", + args: { name: "partner-node-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ssh-public-key", + description: "SSH public key to connect to the SAP HANA instance", + args: { name: "ssh-public-key" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a SAP HANA Instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--instance-name", "-n"], + description: "The name of the SAP HANA instance", + args: { name: "instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List SAP HANA Instances", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "restart", + description: "Restart a SAP HANA Instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--instance-name", "-n"], + description: "The name of the SAP HANA instance", + args: { name: "instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a SAP HANA Instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--instance-name", "-n"], + description: "The name of the SAP HANA instance", + args: { name: "instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "shutdown", + description: "Shutdown a SAP HANA Instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--instance-name", "-n"], + description: "The name of the SAP HANA instance", + args: { name: "instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a SAP HANA Instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--instance-name", "-n"], + description: "The name of the SAP HANA instance", + args: { name: "instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Tags field of a SAP HANA Instance", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--instance-name", "-n"], + description: "The name of the SAP HANA instance", + args: { name: "instance-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/hdinsight.ts b/src/az/2.53.0/hdinsight.ts new file mode 100644 index 000000000000..19ce347fd04b --- /dev/null +++ b/src/az/2.53.0/hdinsight.ts @@ -0,0 +1,1716 @@ +const completion: Fig.Spec = { + name: "hdinsight", + description: "Manage HDInsight resources", + subcommands: [ + { + name: "application", + description: "Manage HDInsight applications", + subcommands: [ + { + name: "create", + description: "Create an application for a HDInsight cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The constant value for the application name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--script-action-name", + description: "The name of the script action", + args: { name: "script-action-name" }, + isRequired: true, + }, + { + name: "--script-uri", + description: "The URI to the script", + args: { name: "script-uri" }, + isRequired: true, + }, + { + name: "--access-mode", + description: "The access mode for the application", + args: { name: "access-mode" }, + }, + { + name: "--destination-port", + description: "The destination port to connect to", + args: { name: "destination-port" }, + }, + { + name: "--disable-gateway-auth", + description: + "Indicates whether to disable gateway authentication. Default is to enable gateway authentication. Default: false", + args: { + name: "disable-gateway-auth", + suggestions: ["false", "true"], + }, + }, + { + name: "--edgenode-size", + description: + "The size of the node. See also: https://docs.microsoft.com/azure/hdinsight/hdinsight-hadoop-provision-linux-clusters#configure-cluster-size", + args: { name: "edgenode-size" }, + }, + { + name: "--marketplace-id", + description: "The marketplace identifier", + args: { name: "marketplace-id" }, + }, + { + name: "--no-validation-timeout", + description: + "Permit timeout error during argument validation phase. If omitted, validation timeout error will be permitted", + }, + { + name: "--script-parameters", + description: "The parameters for the script", + args: { name: "script-parameters" }, + }, + { + name: ["--ssh-password", "-P"], + description: "SSH password for the cluster nodes", + args: { name: "ssh-password" }, + }, + { + name: ["--ssh-public-key", "-K"], + description: "SSH public key for the cluster nodes", + args: { name: "ssh-public-key" }, + }, + { + name: ["--ssh-user", "-U"], + description: "SSH username for the cluster nodes", + args: { name: "ssh-user" }, + }, + { + name: "--sub-domain-suffix", + description: "The subdomain suffix of the application", + args: { name: "sub-domain-suffix" }, + }, + { + name: "--subnet", + description: + "The name or ID of subnet. If name is supplied, --vnet-name must be supplied", + args: { name: "subnet" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--type", "-t"], + description: "The application type", + args: { + name: "type", + suggestions: ["CustomApplication", "RServer"], + }, + }, + { + name: "--vnet-name", + description: "The name of a virtual network", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes the specified application on the HDInsight cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The constant value for the application name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all of the applications for the HDInsight cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets properties of the specified application", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The constant value for the application name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until an operation is complete", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The constant value for the application name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "autoscale", + description: "Manage HDInsight cluster's Autoscale configuration", + subcommands: [ + { + name: "create", + description: "Enable Autoscale for a running cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--type", + description: "The autoscale type", + args: { name: "type", suggestions: ["Load", "Schedule"] }, + isRequired: true, + }, + { + name: "--days", + description: "A space-delimited list of schedule day", + args: { + name: "days", + suggestions: [ + "Friday", + "Monday", + "Saturday", + "Sunday", + "Thursday", + "Tuesday", + "Wednesday", + ], + }, + }, + { + name: "--max-workernode-count", + description: "The max workernode count for Load-based atuoscale", + args: { name: "max-workernode-count" }, + }, + { + name: "--min-workernode-count", + description: + "The minimal workernode count for Load-based atuoscale", + args: { name: "min-workernode-count" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--time", + description: "The 24-hour time in the form xx:xx in days", + args: { name: "time" }, + }, + { + name: "--timezone", + description: + "The timezone for schedule autoscale type. Values from az hdinsight autoscale list-timezones", + args: { name: "timezone" }, + }, + { + name: "--workernode-count", + description: "The schedule workernode count", + args: { name: "workernode-count" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "delete", + description: "Disable Autoscale for a running cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list-timezones", + description: + "List the available timezone name when enabling Schedule-based Autoscale", + }, + { + name: "show", + description: "Get the Autoscale configuration of a specified cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update the Autoscale configuration", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-workernode-count", + description: "The max workernode count for Load-based atuoscale", + args: { name: "max-workernode-count" }, + }, + { + name: "--min-workernode-count", + description: + "The minimal workernode count for Load-based atuoscale", + args: { name: "min-workernode-count" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--timezone", + description: + "The timezone for schedule autoscale type. Values from az hdinsight autoscale list-timezones", + args: { name: "timezone" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until an operation is complete", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "condition", + description: + "Manage schedule condition of the HDInsight cluster which enabled Schedule-based Autoscale", + subcommands: [ + { + name: "create", + description: "Add a new schedule condition", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--days", + description: "A space-delimited list of schedule day", + args: { + name: "days", + suggestions: [ + "Friday", + "Monday", + "Saturday", + "Sunday", + "Thursday", + "Tuesday", + "Wednesday", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--time", + description: "The 24-hour time in the form xx:xx in days", + args: { name: "time" }, + isRequired: true, + }, + { + name: "--workernode-count", + description: "The schedule workernode count", + args: { name: "workernode-count" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete schedule condition", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--index", + description: + "The Space-separated list of condition indices which starts with 0 to delete", + args: { name: "index" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all schedule conditions", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a schedule condition", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--index", + description: + "The schedule condition index which starts with 0", + args: { name: "index" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--days", + description: "A space-delimited list of schedule day", + args: { + name: "days", + suggestions: [ + "Friday", + "Monday", + "Saturday", + "Sunday", + "Thursday", + "Tuesday", + "Wednesday", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--time", + description: "The 24-hour time in the form xx:xx in days", + args: { name: "time" }, + }, + { + name: "--workernode-count", + description: "The schedule workernode count", + args: { name: "workernode-count" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until an operation is complete", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "azure-monitor", + description: + "Manage Azure Monitor logs integration on an HDInsight cluster", + subcommands: [ + { + name: "disable", + description: + "Disable the Azure Monitor logs integration on an HDInsight cluster", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "enable", + description: + "Enable the Azure Monitor logs integration on an HDInsight cluster", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace", + description: + "The name, resource ID or workspace ID of Log Analytics workspace", + args: { name: "workspace" }, + isRequired: true, + }, + { + name: "--no-validation-timeout", + description: + "Permit timeout error during argument validation phase. If omitted, validation timeout error will be permitted", + }, + { + name: "--primary-key", + description: + "The certificate for the Log Analytics workspace. Required when workspace ID is provided", + args: { name: "primary-key" }, + }, + ], + }, + { + name: "show", + description: + "Get the status of Azure Monitor logs integration on an HDInsight cluster", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "create", + description: "Create a new cluster", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--type", "-t"], + description: + "Type of HDInsight cluster, like: hadoop, interactivehive, hbase, kafka, storm, spark, rserver, mlservices. See also: https://docs.microsoft.com/azure/hdinsight/hdinsight-hadoop-provision-linux-clusters#cluster-types", + args: { name: "type" }, + isRequired: true, + }, + { + name: "--assign-identity", + description: "The name or ID of user assigned identity", + args: { name: "assign-identity" }, + }, + { + name: ["--autoscale-workernode-count", "--autoscale-count"], + description: "The scheduled workernode count", + args: { name: "autoscale-workernode-count" }, + }, + { + name: ["--autoscale-max-workernode-count", "--autoscale-max-count"], + description: "The max workernode count for Load-based atuoscale", + args: { name: "autoscale-max-workernode-count" }, + }, + { + name: ["--autoscale-min-workernode-count", "--autoscale-min-count"], + description: "The minimal workernode count for Load-based atuoscale", + args: { name: "autoscale-min-workernode-count" }, + }, + { + name: "--autoscale-type", + description: "The autoscale type", + args: { name: "autoscale-type", suggestions: ["Load", "Schedule"] }, + }, + { + name: "--cluster-admin-account", + description: + "The domain user account that will have admin privileges on the cluster. Required only when create cluster with Enterprise Security Package", + args: { name: "cluster-admin-account" }, + }, + { + name: "--cluster-admin-password", + description: + "The domain admin password. Required only when create cluster with Enterprise Security Package", + args: { name: "cluster-admin-password" }, + }, + { + name: "--cluster-configurations", + description: + "Extra configurations of various components. Configurations may be supplied from a file using the @{path} syntax or a JSON string. See also: https://docs.microsoft.com/azure/hdinsight/hdinsight-hadoop-customize-cluster-bootstrap", + args: { name: "cluster-configurations" }, + }, + { + name: "--cluster-tier", + description: "The tier of the cluster", + args: { name: "cluster-tier", suggestions: ["Premium", "Standard"] }, + }, + { + name: "--cluster-users-group-dns", + description: + "A space-delimited list of Distinguished Names for cluster user groups. Required only when create cluster with Enterprise Security Package", + args: { name: "cluster-users-group-dns" }, + }, + { + name: "--component-version", + description: + "The versions of various Hadoop components, in space-separated versions in 'component=version' format. Example: Spark=2.0 Hadoop=2.7.3 See also: https://docs.microsoft.com/azure/hdinsight/hdinsight-component-versioning#hadoop-components-available-with-different-hdinsight-versions", + args: { name: "component-version" }, + }, + { + name: ["--enable-compute-isolation", "--compute-isolation"], + description: "Indicate whether enable compute isolation or not", + args: { + name: "enable-compute-isolation", + suggestions: ["false", "true"], + }, + }, + { + name: "--days", + description: "A space-delimited list of schedule day", + args: { + name: "days", + suggestions: [ + "Friday", + "Monday", + "Saturday", + "Sunday", + "Thursday", + "Tuesday", + "Wednesday", + ], + }, + }, + { + name: "--domain", + description: + "The name or resource ID of the user's Azure Active Directory Domain Service. Required only when create cluster with Enterprise Security Package", + args: { name: "domain" }, + }, + { + name: "--edgenode-size", + description: + "The size of the node. See also: https://docs.microsoft.com/azure/hdinsight/hdinsight-hadoop-provision-linux-clusters#configure-cluster-size", + args: { name: "edgenode-size" }, + }, + { + name: "--enable-private-link", + description: "Indicate whether enable the private link or not", + args: { name: "enable-private-link", suggestions: ["false", "true"] }, + }, + { + name: "--encryption-algorithm", + description: "Algorithm identifier for encryption", + args: { + name: "encryption-algorithm", + suggestions: ["RSA-OAEP", "RSA-OAEP-256", "RSA1_5"], + }, + }, + { + name: "--encryption-at-host", + description: "Indicates whether enable encryption at host or not", + args: { name: "encryption-at-host", suggestions: ["false", "true"] }, + }, + { + name: "--encryption-in-transit", + description: "Indicates whether enable encryption in transit", + args: { + name: "encryption-in-transit", + suggestions: ["false", "true"], + }, + }, + { + name: "--encryption-key-name", + description: "Key name that is used for enabling disk encryption", + args: { name: "encryption-key-name" }, + }, + { + name: "--encryption-key-version", + description: "Key version that is used for enabling disk encryption", + args: { name: "encryption-key-version" }, + }, + { + name: "--encryption-vault-uri", + description: + "Base key vault URI where the customers key is located eg. https://myvault.vault.azure.net", + args: { name: "encryption-vault-uri" }, + }, + { + name: "--esp", + description: + "Specify to create cluster with Enterprise Security Package. If omitted, creating cluster with Enterprise Security Package will not not allowed", + }, + { + name: "--headnode-size", + description: + "The size of the node. See also: https://docs.microsoft.com/azure/hdinsight/hdinsight-hadoop-provision-linux-clusters#configure-cluster-size", + args: { name: "headnode-size" }, + }, + { + name: "--host-sku", + description: "The dedicated host sku of compute isolation", + args: { name: "host-sku" }, + }, + { + name: ["--http-password", "-p"], + description: + "HTTP password for the cluster. Will prompt if not given", + args: { name: "http-password" }, + }, + { + name: ["--http-user", "-u"], + description: "HTTP username for the cluster. Default: admin", + args: { name: "http-user" }, + }, + { + name: "--idbroker", + description: + "Specify to create ESP cluster with HDInsight ID Broker. If omitted, creating ESP cluster with HDInsight ID Broker will not not allowed", + }, + { + name: "--kafka-client-group-id", + description: "The client AAD security group id for Kafka Rest Proxy", + args: { name: "kafka-client-group-id" }, + }, + { + name: "--kafka-client-group-name", + description: + "The client AAD security group name for Kafka Rest Proxy", + args: { name: "kafka-client-group-name" }, + }, + { + name: "--kafka-management-node-count", + description: "The number of kafka management node in the cluster", + args: { name: "kafka-management-node-count" }, + }, + { + name: "--kafka-management-node-size", + description: + "The size of the node. See also: https://docs.microsoft.com/azure/hdinsight/hdinsight-hadoop-provision-linux-clusters#configure-cluster-size", + args: { name: "kafka-management-node-size" }, + }, + { + name: "--ldaps-urls", + description: + "A space-delimited list of LDAPS protocol URLs to communicate with the Active Directory. Required only when create cluster with Enterprise Security Package", + args: { name: "ldaps-urls" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--minimal-tls-version", + description: "The minimal supported TLS version", + args: { name: "minimal-tls-version", suggestions: ["1.2"] }, + }, + { + name: "--no-validation-timeout", + description: + "Permit timeout error during argument validation phase. If omitted, validation timeout error will be permitted", + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--private-link-configurations", "--private-link-config"], + description: + "The private link configurations when creating cluster. Private Link Configurations may be supplied from a file using the @{path} syntax or a JSON string. Please see https://github.com/Azure/azure-cli/blob/dev/src/azure-cli/azure/cli/command_modules/hdinsight/tests/latest/privatelinkconfigurations.json", + args: { name: "private-link-configurations" }, + }, + { + name: ["--resource-provider-connection", "--rp-connection"], + description: "The resource provider connection type", + args: { + name: "resource-provider-connection", + suggestions: ["Inbound", "Outbound"], + }, + }, + { + name: ["--ssh-password", "-P"], + description: + "SSH password for the cluster nodes. If none specified, uses the HTTP password", + args: { name: "ssh-password" }, + }, + { + name: ["--ssh-public-key", "-K"], + description: "SSH public key for the cluster nodes", + args: { name: "ssh-public-key" }, + }, + { + name: ["--ssh-user", "-U"], + description: "SSH username for the cluster nodes", + args: { name: "ssh-user" }, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--storage-account-key", + description: + "The storage account key. A key can be retrieved automatically if the user has access to the storage account", + args: { name: "storage-account-key" }, + }, + { + name: "--storage-account-managed-identity", + description: + "User-assigned managed identity with access to the storage account filesystem. Only required when storage account type is Azure Data Lake Storage Gen2", + args: { name: "storage-account-managed-identity" }, + }, + { + name: "--storage-container", + description: + "The storage container the cluster will use. Uses the cluster name if none was specified. (WASB only)", + args: { name: "storage-container" }, + }, + { + name: "--storage-filesystem", + description: + "The storage filesystem the cluster will use. Uses the cluster name if none was specified. (DFS only)", + args: { name: "storage-filesystem" }, + }, + { + name: "--subnet", + description: + "The name or ID of subnet. If name is supplied, --vnet-name must be supplied", + args: { name: "subnet" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--time", + description: "The 24-hour time in the form of xx:xx in days", + args: { name: "time" }, + }, + { + name: "--timezone", + description: + "The timezone for schedule autoscale type. Values from az hdinsight autoscale list-timezones", + args: { name: "timezone" }, + }, + { + name: ["--version", "-v"], + description: + "The HDInsight cluster version. See also: https://docs.microsoft.com/azure/hdinsight/hdinsight-component-versioning#supported-hdinsight-versions", + args: { name: "version" }, + }, + { + name: "--vnet-name", + description: "The name of a virtual network", + args: { name: "vnet-name" }, + }, + { + name: ["--workernode-count", "-c"], + description: "The number of worker nodes in the cluster", + args: { name: "workernode-count" }, + }, + { + name: "--workernode-data-disk-size", + description: "The size of the data disk in GB, e.g. 1023", + args: { name: "workernode-data-disk-size" }, + }, + { + name: "--workernode-data-disk-storage-account-type", + description: + "The type of storage account that will be used for the data disks: standard_lrs or premium_lrs", + args: { + name: "workernode-data-disk-storage-account-type", + suggestions: ["premium_lrs", "standard_lrs"], + }, + }, + { + name: "--workernode-data-disks-per-node", + description: "The number of data disks to use per worker node", + args: { name: "workernode-data-disks-per-node" }, + }, + { + name: "--workernode-size", + description: + "The size of the node. See also: https://docs.microsoft.com/azure/hdinsight/hdinsight-hadoop-provision-linux-clusters#configure-cluster-size", + args: { name: "workernode-size" }, + }, + { + name: "--zones", + description: + "A space-delimited list of availability zones where cluster will be created", + args: { name: "zones" }, + }, + { + name: "--zookeepernode-size", + description: + "The size of the node. See also: https://docs.microsoft.com/azure/hdinsight/hdinsight-hadoop-provision-linux-clusters#configure-cluster-size", + args: { name: "zookeepernode-size" }, + }, + ], + }, + { + name: "delete", + description: "Deletes the specified HDInsight cluster", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List HDInsight clusters in a resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-usage", + description: "Lists the usages for the specified location", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "resize", + description: + "Resize the specified HDInsight cluster to the specified size", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workernode-count", "-c"], + description: + "The target worker node instance count for the operation", + args: { name: "workernode-count" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "rotate-disk-encryption-key", + description: + "Rotate the disk encryption key of the specified HDInsight cluster", + options: [ + { + name: "--encryption-key-name", + description: "Key name that is used for enabling disk encryption", + args: { name: "encryption-key-name" }, + isRequired: true, + }, + { + name: "--encryption-key-version", + description: "Key version that is used for enabling disk encryption", + args: { name: "encryption-key-version" }, + isRequired: true, + }, + { + name: "--encryption-vault-uri", + description: + "Base key vault URI where the customers key is located eg. https://myvault.vault.azure.net", + args: { name: "encryption-vault-uri" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: "Gets the specified cluster", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update the tags of the specified HDInsight cluster", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until an operation is complete", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "host", + description: "Manage HDInsight cluster's virtual hosts", + subcommands: [ + { + name: "list", + description: "List the hosts of the specified HDInsight cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "restart", + description: + "Restart the specific hosts of the specified HDInsight cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--host-names", + description: + "A space-delimited list of host names that need to be restarted", + args: { name: "host-names" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "monitor", + description: + "Manage Classic Azure Monitor logs integration on an HDInsight cluster", + subcommands: [ + { + name: "disable", + description: + "Disable the Classic Azure Monitor logs integration on an HDInsight cluster", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "enable", + description: + "Enable the Classic Azure Monitor logs integration on an HDInsight cluster", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace", + description: + "The name, resource ID or workspace ID of Log Analytics workspace", + args: { name: "workspace" }, + isRequired: true, + }, + { + name: "--no-validation-timeout", + description: + "Permit timeout error during argument validation phase. If omitted, validation timeout error will be permitted", + }, + { + name: "--primary-key", + description: + "The certificate for the Log Analytics workspace. Required when workspace ID is provided", + args: { name: "primary-key" }, + }, + ], + }, + { + name: "show", + description: + "Get the status of Classic Azure Monitor logs integration on an HDInsight cluster", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "script-action", + description: "Manage HDInsight script actions", + subcommands: [ + { + name: "delete", + description: + "Deletes a specified persisted script action of the cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the script", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "execute", + description: + "Execute script actions on the specified HDInsight cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the script action", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--roles", + description: + "A space-delimited list of roles (nodes) where the script will be executed. Valid roles are headnode, workernode, zookeepernode, edgenode", + args: { name: "roles" }, + isRequired: true, + }, + { + name: "--script-uri", + description: "The URI to the script", + args: { name: "script-uri" }, + isRequired: true, + }, + { + name: "--persist-on-success", + description: "If the scripts needs to be persisted", + }, + { + name: "--script-parameters", + description: "The parameters for the script", + args: { name: "script-parameters" }, + }, + ], + }, + { + name: "list", + description: + "Lists all the persisted script actions for the specified cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-execution-history", + description: + "Lists all scripts' execution history for the specified cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "promote", + description: + "Promotes the specified ad-hoc script execution to a persisted script", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--execution-id", + description: "The script execution id", + args: { name: "execution-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show-execution-details", + description: + "Gets the script execution detail for the given script execution ID", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--execution-id", + description: "The script execution id", + args: { name: "execution-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/healthbot.ts b/src/az/2.53.0/healthbot.ts new file mode 100644 index 000000000000..c559fca797e5 --- /dev/null +++ b/src/az/2.53.0/healthbot.ts @@ -0,0 +1,226 @@ +const completion: Fig.Spec = { + name: "healthbot", + description: "Manage bot with healthbot", + subcommands: [ + { + name: "create", + description: "Create a new HealthBot", + options: [ + { + name: ["--bot-name", "--name", "-n"], + description: "The name of the Bot resource", + args: { name: "bot-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: "The name of the HealthBot SKU", + args: { name: "sku", suggestions: ["C0", "F0", "S1"] }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a HealthBot", + options: [ + { + name: ["--bot-name", "--name", "-n"], + description: "The name of the Bot resource", + args: { name: "bot-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Returns all the resources of a particular type belonging to a resource group And Returns all the resources of a particular type belonging to a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a HealthBot", + options: [ + { + name: ["--bot-name", "--name", "-n"], + description: "The name of the Bot resource", + args: { name: "bot-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Patch a HealthBot", + options: [ + { + name: ["--bot-name", "--name", "-n"], + description: "The name of the Bot resource", + args: { name: "bot-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: "The name of the HealthBot SKU", + args: { name: "sku", suggestions: ["C0", "F0", "S1"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the healthbot is met", + options: [ + { + name: ["--bot-name", "--name", "-n"], + description: "The name of the Bot resource", + args: { name: "bot-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/healthcareapis.ts b/src/az/2.53.0/healthcareapis.ts new file mode 100644 index 000000000000..99a3b2291666 --- /dev/null +++ b/src/az/2.53.0/healthcareapis.ts @@ -0,0 +1,2799 @@ +const completion: Fig.Spec = { + name: "healthcareapis", + description: "Manage Healthcare Apis", + subcommands: [ + { + name: "acr", + description: "Healthcareapis acr", + subcommands: [ + { + name: "add", + description: + "Add a list of registries to the service, repeated ones will be ignored", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--login-servers", + description: + "The list of login servers that shallbe added to the service instance", + args: { name: "login-servers" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Lists all container registries associated with the service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a list of registries from the service, non-existing ones will be ignored", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--login-servers", + description: + "The list of login servers that shallbe removed from the service instance", + args: { name: "login-servers" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reset", + description: + "Reset the container registries associated with the service to a new list", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--login-servers", + description: + "The list of login servers to substitute for the existing one", + args: { name: "login-servers" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "operation-result", + description: "Healthcareapis operation-result", + subcommands: [ + { + name: "show", + description: "Get the operation result for a long running operation", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--location-name", + description: "The location of the operation", + args: { name: "location-name" }, + }, + { + name: "--operation-result-id", + description: "The ID of the operation result to get", + args: { name: "operation-result-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: "Healthcareapis private-endpoint-connection", + subcommands: [ + { + name: "create", + description: + "Update the state of the specified private endpoint connection associated with the service", + options: [ + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: + "The name of the private endpoint connection associated with the Azure resource", + args: { name: "private-endpoint-connection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--private-link-service-connection-state", "-s"], + description: + "A collection of information about the state of the connection between service consumer and provider", + args: { name: "private-link-service-connection-state" }, + }, + { + name: "--private-link-service-connection-state-actions-required", + description: + "Argument 'private_link_service_connection_state_actions_required' has been deprecated and will be removed in a future release. Use '--private-link-service-connection-state' instead. A message indicating if changes on the service provider require any updates on the consumer", + args: { + name: "private-link-service-connection-state-actions-required", + }, + }, + { + name: "--private-link-service-connection-state-description", + description: + "Argument 'private_link_service_connection_state_description' has been deprecated and will be removed in a future release. Use '--private-link-service-connection-state' instead. The reason for approval/rejection of the connection", + args: { + name: "private-link-service-connection-state-description", + }, + }, + { + name: "--private-link-service-connection-state-status", + description: + "Argument 'private_link_service_connection_state_status' has been deprecated and will be removed in a future release. Use '--private-link-service-connection-state' instead. Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service", + args: { + name: "private-link-service-connection-state-status", + suggestions: ["Approved", "Pending", "Rejected"], + }, + }, + ], + }, + { + name: "delete", + description: "Deletes a private endpoint connection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: + "The name of the private endpoint connection associated with the Azure resource", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all private endpoint connections for a service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets the specified private endpoint connection associated with the service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: + "The name of the private endpoint connection associated with the Azure resource", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the state of the specified private endpoint connection associated with the service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: + "The name of the private endpoint connection associated with the Azure resource", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--private-link-service-connection-state", "-s"], + description: + "A collection of information about the state of the connection between service consumer and provider", + args: { name: "private-link-service-connection-state" }, + }, + { + name: "--private-link-service-connection-state-actions-required", + description: + "Argument 'private_link_service_connection_state_actions_required' has been deprecated and will be removed in a future release. Use '--private-link-service-connection-state' instead. A message indicating if changes on the service provider require any updates on the consumer", + args: { + name: "private-link-service-connection-state-actions-required", + }, + }, + { + name: "--private-link-service-connection-state-description", + description: + "Argument 'private_link_service_connection_state_description' has been deprecated and will be removed in a future release. Use '--private-link-service-connection-state' instead. The reason for approval/rejection of the connection", + args: { + name: "private-link-service-connection-state-description", + }, + }, + { + name: "--private-link-service-connection-state-status", + description: + "Argument 'private_link_service_connection_state_status' has been deprecated and will be removed in a future release. Use '--private-link-service-connection-state' instead. Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service", + args: { + name: "private-link-service-connection-state-status", + suggestions: ["Approved", "Pending", "Rejected"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the healthcareapis private-endpoint-connection is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: + "The name of the private endpoint connection associated with the Azure resource", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Healthcareapis private-link-resource", + subcommands: [ + { + name: "list", + description: + "Gets the private link resources that need to be created for a service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets a private link resource that need to be created for a service", + options: [ + { + name: "--group-name", + description: "The name of the private link resource group", + args: { name: "group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "service", + description: "Healthcareapis service", + subcommands: [ + { + name: "create", + description: "Create the metadata of a service instance", + options: [ + { + name: "--kind", + description: "The kind of the service", + args: { + name: "kind", + suggestions: ["fhir", "fhir-R4", "fhir-Stu3"], + }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--access-policies", + description: "The access policies of the service instance", + args: { name: "access-policies" }, + }, + { + name: ["--authentication-configuration", "-c"], + description: + "The authentication configuration for the service instance", + args: { name: "authentication-configuration" }, + }, + { + name: "--cors-configuration", + description: + "The settings for the CORS configuration of the service instance", + args: { name: "cors-configuration" }, + }, + { + name: "--cosmos-db-configuration", + description: + "The settings for the Cosmos DB database backing the service", + args: { name: "cosmos-db-configuration" }, + }, + { + name: "--etag", + description: + "An etag associated with the resource, used for optimistic concurrency when editing it", + args: { name: "etag" }, + }, + { + name: ["--export-configuration-storage-account-name", "-s"], + description: "The name of the default export storage account", + args: { name: "export-configuration-storage-account-name" }, + }, + { + name: "--identity-type", + description: + "Type of identity being specified, currently SystemAssigned and None are allowed", + args: { + name: "identity-type", + suggestions: ["None", "SystemAssigned"], + }, + }, + { + name: "--login-servers", + description: + "The list of login servers that shallbe added to the service instance", + args: { name: "login-servers" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--oci-artifacts", + description: + "The list of Open Container Initiative (OCI) artifacts", + args: { name: "oci-artifacts" }, + }, + { + name: "--private-endpoint-connections", + description: + "The list of private endpoint connections that are set up for this resource", + args: { name: "private-endpoint-connections" }, + }, + { + name: "--public-network-access", + description: + "Control permission for data plane traffic coming from public networks while private endpoint is enabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a service instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Get all the service instances in a resource group. And Get all the service instances in a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the metadata of a service instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the metadata of a service instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--public-network-access", + description: + "Control permission for data plane traffic coming from public networks while private endpoint is enabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the healthcareapis service is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "The name of the service instance", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "workspace", + description: "Manage workspace with healthcareapis", + subcommands: [ + { + name: "create", + description: + "Create a workspace resource with the specified parameters", + options: [ + { + name: ["--workspace-name", "--name", "-n"], + description: "The name of workspace resource", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--etag", + description: + "An etag associated with the resource, used for optimistic concurrency when editing it", + args: { name: "etag" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--public-network-access", + description: + "Control permission for data plane traffic coming from public networks while private endpoint is enabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a specified workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--workspace-name", "--name", "-n"], + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all the available workspaces under the specified resource group. And Lists all the available workspaces under the specified subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Gets the properties of the specified workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--workspace-name", "--name", "-n"], + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Patch workspace details", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--workspace-name", "--name", "-n"], + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the healthcareapis workspace is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--workspace-name", "--name", "-n"], + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "dicom-service", + description: "Manage dicom service with healthcareapis", + subcommands: [ + { + name: "create", + description: + "Create a DICOM Service resource with the specified parameters", + options: [ + { + name: ["--dicom-service-name", "--name", "-n"], + description: "The name of DICOM Service resource", + args: { name: "dicom-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--etag", + description: + "An etag associated with the resource, used for optimistic concurrency when editing it", + args: { name: "etag" }, + }, + { + name: "--identity-type", + description: + "Type of identity being specified, currently SystemAssigned and None are allowed", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--public-network-access", + description: + "Control permission for data plane traffic coming from public networks while private endpoint is enabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identities", "-i"], + description: + "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Expected value: json-string/json-file/@json-file", + args: { name: "user-assigned-identities" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a DICOM Service", + options: [ + { + name: ["--dicom-service-name", "--name", "-n"], + description: "The name of DICOM Service resource", + args: { name: "dicom-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all DICOM Services for the given workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets the properties of the specified DICOM Service", + options: [ + { + name: ["--dicom-service-name", "--name", "-n"], + description: "The name of DICOM Service resource", + args: { name: "dicom-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Patch DICOM Service details", + options: [ + { + name: ["--dicom-service-name", "--name", "-n"], + description: "The name of DICOM Service resource", + args: { name: "dicom-service-name" }, + }, + { + name: "--identity-type", + description: + "Type of identity being specified, currently SystemAssigned and None are allowed", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identities", "-i"], + description: + "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Expected value: json-string/json-file/@json-file", + args: { name: "user-assigned-identities" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the healthcareapis workspace dicom-service is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--dicom-service-name", "--name", "-n"], + description: "The name of DICOM Service resource", + args: { name: "dicom-service-name" }, + }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "fhir-service", + description: "Manage fhir service with healthcareapis", + subcommands: [ + { + name: "create", + description: + "Create a FHIR Service resource with the specified parameters", + options: [ + { + name: ["--fhir-service-name", "--name", "-n"], + description: "The name of FHIR Service resource", + args: { name: "fhir-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--access-policies", + description: "Fhir Service access policies", + args: { name: "access-policies" }, + }, + { + name: ["--authentication-configuration", "-c"], + description: "Fhir Service authentication configuration", + args: { name: "authentication-configuration" }, + }, + { + name: "--cors-configuration", + description: "Fhir Service Cors configuration", + args: { name: "cors-configuration" }, + }, + { + name: "--default", + description: + "The default value for tracking history across all resources", + args: { + name: "default", + suggestions: [ + "no-version", + "versioned", + "versioned-update", + ], + }, + }, + { + name: "--etag", + description: + "An etag associated with the resource, used for optimistic concurrency when editing it", + args: { name: "etag" }, + }, + { + name: ["--export-configuration-storage-account-name", "-s"], + description: "The name of the default export storage account", + args: { name: "export-configuration-storage-account-name" }, + }, + { + name: "--identity-type", + description: + "Type of identity being specified, currently SystemAssigned and None are allowed", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--kind", + description: "The kind of the service", + args: { name: "kind", suggestions: ["fhir-R4", "fhir-Stu3"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--login-servers", + description: + "The list of the Azure container registry login servers", + args: { name: "login-servers" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--oci-artifacts", + description: + "The list of Open Container Initiative (OCI) artifacts", + args: { name: "oci-artifacts" }, + }, + { + name: "--public-network-access", + description: + "Control permission for data plane traffic coming from public networks while private endpoint is enabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--resource-type-overrides", "-r"], + description: + "A list of FHIR Resources and their version policy overrides. Expect value: KEY1=VALUE1 KEY2=VALUE2", + args: { name: "resource-type-overrides" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identities", "-i"], + description: + "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Expected value: json-string/json-file/@json-file", + args: { name: "user-assigned-identities" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a FHIR Service", + options: [ + { + name: ["--fhir-service-name", "--name", "-n"], + description: "The name of FHIR Service resource", + args: { name: "fhir-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all FHIR Services for the given workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets the properties of the specified FHIR Service", + options: [ + { + name: ["--fhir-service-name", "--name", "-n"], + description: "The name of FHIR Service resource", + args: { name: "fhir-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Patch FHIR Service details", + options: [ + { + name: ["--fhir-service-name", "--name", "-n"], + description: "The name of FHIR Service resource", + args: { name: "fhir-service-name" }, + }, + { + name: "--identity-type", + description: + "Type of identity being specified, currently SystemAssigned and None are allowed", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identities", "-i"], + description: + "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Expected value: json-string/json-file/@json-file", + args: { name: "user-assigned-identities" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the healthcareapis workspace fhir-service is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: ["--fhir-service-name", "--name", "-n"], + description: "The name of FHIR Service resource", + args: { name: "fhir-service-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "iot-connector", + description: "Manage iot connector with healthcareapis", + subcommands: [ + { + name: "create", + description: + "Create an IoT Connector resource with the specified parameters", + options: [ + { + name: ["--iot-connector-name", "--name", "-n"], + description: "The name of IoT Connector resource", + args: { name: "iot-connector-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--content", + description: + "The mapping. Expected value: json-string/json-file/@json-file", + args: { name: "content" }, + }, + { + name: "--etag", + description: + "An etag associated with the resource, used for optimistic concurrency when editing it", + args: { name: "etag" }, + }, + { + name: "--identity-type", + description: + "Type of identity being specified, currently SystemAssigned and None are allowed", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: ["--ingestion-endpoint-configuration", "-c"], + description: "Source configuration", + args: { name: "ingestion-endpoint-configuration" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identities", "-i"], + description: + "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Expected value: json-string/json-file/@json-file", + args: { name: "user-assigned-identities" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an IoT Connector", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--iot-connector-name", "--name", "-n"], + description: "The name of IoT Connector resource", + args: { name: "iot-connector-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all IoT Connectors for the given workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets the properties of the specified IoT Connector", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--iot-connector-name", "--name", "-n"], + description: "The name of IoT Connector resource", + args: { name: "iot-connector-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Patch an IoT Connector", + options: [ + { + name: "--identity-type", + description: + "Type of identity being specified, currently SystemAssigned and None are allowed", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--iot-connector-name", "--name", "-n"], + description: "The name of IoT Connector resource", + args: { name: "iot-connector-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identities", "-i"], + description: + "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Expected value: json-string/json-file/@json-file", + args: { name: "user-assigned-identities" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the healthcareapis workspace iot-connector is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--iot-connector-name", "--name", "-n"], + description: "The name of IoT Connector resource", + args: { name: "iot-connector-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "fhir-destination", + description: + "Manage iot connector fhir destination with healthcareapis", + subcommands: [ + { + name: "create", + description: + "Create an IoT Connector FHIR destination resource with the specified parameters", + options: [ + { + name: "--fhir-destination-name", + description: + "The name of IoT Connector FHIR destination resource", + args: { name: "fhir-destination-name" }, + isRequired: true, + }, + { + name: ["--fhir-service-resource-id", "-r"], + description: + "Fully qualified resource id of the FHIR service to connect to", + args: { name: "fhir-service-resource-id" }, + isRequired: true, + }, + { + name: "--iot-connector-name", + description: "The name of IoT Connector resource", + args: { name: "iot-connector-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--resource-identity-resolution-type", "-t"], + description: + "Determines how resource identity is resolved on the destination", + args: { + name: "resource-identity-resolution-type", + suggestions: ["Create", "Lookup"], + }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--content", + description: + "The mapping. Expected value: json-string/json-file/@json-file", + args: { name: "content" }, + }, + { + name: "--etag", + description: + "An etag associated with the resource, used for optimistic concurrency when editing it", + args: { name: "etag" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Deletes an IoT Connector FHIR destination", + options: [ + { + name: "--fhir-destination-name", + description: + "The name of IoT Connector FHIR destination resource", + args: { name: "fhir-destination-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--iot-connector-name", + description: "The name of IoT Connector resource", + args: { name: "iot-connector-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all FHIR destinations for the given IoT Connector", + options: [ + { + name: "--iot-connector-name", + description: "The name of IoT Connector resource", + args: { name: "iot-connector-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets the properties of the specified Iot Connector FHIR destination", + options: [ + { + name: "--fhir-destination-name", + description: + "The name of IoT Connector FHIR destination resource", + args: { name: "fhir-destination-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--iot-connector-name", + description: "The name of IoT Connector resource", + args: { name: "iot-connector-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: + "Update an IoT Connector FHIR destination resource with the specified parameters", + options: [ + { + name: ["--fhir-service-resource-id", "-r"], + description: + "Fully qualified resource id of the FHIR service to connect to", + args: { name: "fhir-service-resource-id" }, + isRequired: true, + }, + { + name: ["--resource-identity-resolution-type", "-t"], + description: + "Determines how resource identity is resolved on the destination", + args: { + name: "resource-identity-resolution-type", + suggestions: ["Create", "Lookup"], + }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--content", + description: + "The mapping. Expected value: json-string/json-file/@json-file", + args: { name: "content" }, + }, + { + name: "--etag", + description: + "An etag associated with the resource, used for optimistic concurrency when editing it", + args: { name: "etag" }, + }, + { + name: "--fhir-destination-name", + description: + "The name of IoT Connector FHIR destination resource", + args: { name: "fhir-destination-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--iot-connector-name", + description: "The name of IoT Connector resource", + args: { name: "iot-connector-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the healthcareapis workspace iot-connector fhir-destination is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--fhir-destination-name", + description: + "The name of IoT Connector FHIR destination resource", + args: { name: "fhir-destination-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--iot-connector-name", + description: "The name of IoT Connector resource", + args: { name: "iot-connector-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: + "Manage workspace private endpoint connection with healthcareapis", + subcommands: [ + { + name: "create", + description: + "Update the state of the specified private endpoint connection associated with the workspace", + options: [ + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: + "The name of the private endpoint connection associated with the Azure resource", + args: { name: "private-endpoint-connection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--private-link-service-connection-state", "-s"], + description: + "A collection of information about the state of the connection between service consumer and provider", + args: { name: "private-link-service-connection-state" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a private endpoint connection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: + "The name of the private endpoint connection associated with the Azure resource", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all private endpoint connections for a workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets the specified private endpoint connection associated with the workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: + "The name of the private endpoint connection associated with the Azure resource", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: + "Update the state of the specified private endpoint connection associated with the workspace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: + "The name of the private endpoint connection associated with the Azure resource", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--private-link-service-connection-state", "-s"], + description: + "A collection of information about the state of the connection between service consumer and provider", + args: { name: "private-link-service-connection-state" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the healthcareapis workspace private-endpoint-connection is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: + "The name of the private endpoint connection associated with the Azure resource", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: + "Manage workspace private link resource with healthcareapis", + subcommands: [ + { + name: "list", + description: + "Gets the private link resources that need to be created for a workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets a private link resource that need to be created for a workspace", + options: [ + { + name: "--group-name", + description: "The name of the private link resource group", + args: { name: "group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of workspace resource", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/hpc-cache.ts b/src/az/2.53.0/hpc-cache.ts new file mode 100644 index 000000000000..46e4e82799d5 --- /dev/null +++ b/src/az/2.53.0/hpc-cache.ts @@ -0,0 +1,564 @@ +const completion: Fig.Spec = { + name: "hpc-cache", + description: "Commands to manage hpc cache", + subcommands: [ + { + name: "blob-storage-target", + description: "Commands to create hpc cache blob storage target", + subcommands: [ + { + name: "add", + description: + "Create or update a blob Storage Target. This operation is allowed at any time, but if the Cache is down or unhealthy, the actual creation/modification of the Storage Target may be delayed until the Cache is healthy again", + options: [ + { + name: "--cache-name", + description: "Name of Cache", + args: { name: "cache-name" }, + isRequired: true, + }, + { + name: "--container-name", + description: "Name of target storage container", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the Storage Target", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-account", + description: "Resource ID or Name of target storage account", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: ["--virtual-namespace-path", "-v"], + description: + "Path to create for this storage target in the client-facing virtual filesystem", + args: { name: "virtual-namespace-path" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Create or update a blob Storage Target. This operation is allowed at any time, but if the Cache is down or unhealthy, the actual creation/modification of the Storage Target may be delayed until the Cache is healthy again", + options: [ + { + name: "--cache-name", + description: "Name of Cache", + args: { name: "cache-name" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the Storage Target", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--container-name", + description: "Name of target storage container", + args: { name: "container-name" }, + }, + { + name: "--storage-account", + description: "Resource ID or Name of target storage account", + args: { name: "storage-account" }, + }, + { + name: ["--virtual-namespace-path", "-v"], + description: + "Path to create for this storage target in the client-facing virtual filesystem", + args: { name: "virtual-namespace-path" }, + }, + ], + }, + ], + }, + { + name: "create", + description: "Create or update a Cache", + options: [ + { + name: "--cache-size-gb", + description: "The size of this Cache, in GB", + args: { name: "cache-size-gb" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of Cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku-name", + description: "SKU name for this Cache", + args: { name: "sku-name" }, + isRequired: true, + }, + { + name: "--subnet", + description: "Subnet used for the Cache", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Schedule a Cache for deletion", + options: [ + { + name: "--name", + description: "Name of Cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "flush", + description: + "Tell a Cache to write all dirty data to the Storage Target(s). During the flush, clients will see errors returned until the flush is complete", + options: [ + { + name: "--name", + description: "Name of Cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Return all Caches the user has access to under a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Return a Cache", + options: [ + { + name: "--name", + description: "Name of Cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "start", + description: "Tell a Stopped state Cache to transition to Active state", + options: [ + { + name: "--name", + description: "Name of Cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "stop", + description: "Tell an Active Cache to transition to Stopped state", + options: [ + { + name: "--name", + description: "Name of Cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "update", + description: "Update a Cache", + options: [ + { + name: "--name", + description: "Name of Cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "upgrade-firmware", + description: + "Upgrade a Cache's firmware if a new version is available. Otherwise, this operation has no effect", + options: [ + { + name: "--name", + description: "Name of Cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: "Wait a hpc Cache to specified state", + options: [ + { + name: ["--name", "-n"], + description: "Name of Cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "nfs-storage-target", + description: "Commands to create hpc cache nfs storage target", + subcommands: [ + { + name: "add", + description: + "Create or update a nfs Storage Target. This operation is allowed at any time, but if the Cache is down or unhealthy, the actual creation/modification of the Storage Target may be delayed until the Cache is healthy again", + options: [ + { + name: "--cache-name", + description: "Name of Cache", + args: { name: "cache-name" }, + isRequired: true, + }, + { + name: "--junction", + description: + "List of Cache namespace junctions to target for namespace associations.The sub parameters contains: (1) --namespace-path: Namespace path on a Cache for a Storage Target (2) --nfs-export: NFS export where targetPath exists (3) --target-path(Optional): Path in Storage Target to which namespacePath points", + args: { name: "junction" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the Storage Target", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--nfs3-target", + description: + "IP address or host name of an NFSv3 host (e.g., 10.0.44.44)", + args: { name: "nfs3-target" }, + isRequired: true, + }, + { + name: "--nfs3-usage-model", + description: + "Identify the primary usage model to be used for this Storage Target. You can use command az hpc-cache usage-model list to see the names of usage models. For more details about usage models, please refer to https://docs.microsoft.com/azure/hpc-cache/hpc-cache-add-storage?tabs=azure-cli#choose-a-usage-model", + args: { name: "nfs3-usage-model" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Create or update a nfs Storage Target. This operation is allowed at any time, but if the Cache is down or unhealthy, the actual creation/modification of the Storage Target may be delayed until the Cache is healthy again", + options: [ + { + name: "--cache-name", + description: "Name of Cache", + args: { name: "cache-name" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the Storage Target", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--junction", + description: + "List of Cache namespace junctions to target for namespace associations.The sub parameters contains: (1) --namespace-path: Namespace path on a Cache for a Storage Target (2) --nfs-export: NFS export where targetPath exists (3) --target-path(Optional): Path in Storage Target to which namespacePath points", + args: { name: "junction" }, + }, + { + name: "--nfs3-target", + description: + "IP address or host name of an NFSv3 host (e.g., 10.0.44.44)", + args: { name: "nfs3-target" }, + }, + { + name: "--nfs3-usage-model", + description: + "Identify the primary usage model to be used for this Storage Target. You can use command az hpc-cache usage-model list to see the names of usage models. For more details about usage models, please refer to https://docs.microsoft.com/azure/hpc-cache/hpc-cache-add-storage?tabs=azure-cli#choose-a-usage-model", + args: { name: "nfs3-usage-model" }, + }, + ], + }, + ], + }, + { + name: "skus", + description: "Commands to manage hpc cache skus", + subcommands: [ + { + name: "list", + description: + "Get the list of StorageCache.Cache SKUs available to this subscription", + }, + ], + }, + { + name: "storage-target", + description: "Commands to manage hpc cache storage target", + subcommands: [ + { + name: "list", + description: + "Return a list of Storage Targets for the specified Cache", + options: [ + { + name: "--cache-name", + description: "Name of Cache", + args: { name: "cache-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a Storage Target from a Cache. This operation is allowed at any time, but if the Cache is down or unhealthy, the actual removal of the Storage Target may be delayed until the Cache is healthy again. Note that if the Cache has data to flush to the Storage Target, the data will be flushed before the Storage Target will be deleted", + options: [ + { + name: "--cache-name", + description: "Name of Cache", + args: { name: "cache-name" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the Storage Target", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Return a Storage Target from a Cache", + options: [ + { + name: "--cache-name", + description: "Name of Cache", + args: { name: "cache-name" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the Storage Target", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "usage-model", + description: "Commands to manage hpc cache usage model", + subcommands: [ + { + name: "list", + description: + "Get the list of Cache Usage Models available to this subscription", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/hybridaks.ts b/src/az/2.53.0/hybridaks.ts new file mode 100644 index 000000000000..08d37c8e4d69 --- /dev/null +++ b/src/az/2.53.0/hybridaks.ts @@ -0,0 +1,689 @@ +const completion: Fig.Spec = { + name: "hybridaks", + description: "Manage hybridaks provisioned clusters", + subcommands: [ + { + name: "create", + description: "Creates the Hybrid AKS provisioned cluster", + options: [ + { + name: "--custom-location", + description: + "Name or ID of the custom location to use for the provisioned cluster", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the provisioned cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--aad-admin-group-object-ids", "-i"], + description: + "Comma-separated list of aad group object IDs that will be set as cluster admin on the provisioned cluster", + args: { name: "aad-admin-group-object-ids" }, + }, + { + name: ["--addon", "-a"], + description: + "Enable addon. Multiple addons can be added by specifying this flag. Usage: --addon name=addon-name [config_key=config_value ...]", + args: { name: "addon" }, + }, + { + name: "--arc-agent-auto-upgrade", + description: "Arc Agent Auto Upgrade", + args: { name: "arc-agent-auto-upgrade" }, + }, + { + name: "--arc-agent-version", + description: "Arc Agent Version", + args: { name: "arc-agent-version" }, + }, + { + name: "--control-plane-count", + description: "Number of control plane nodes", + args: { name: "control-plane-count" }, + }, + { + name: "--control-plane-ip", + description: "API server IP Address for the control plane", + args: { name: "control-plane-ip" }, + }, + { + name: "--control-plane-vm-size", + description: "VM Size of control plane", + args: { name: "control-plane-vm-size" }, + }, + { + name: "--generate-ssh-keys", + description: "Generate ssh key-pair if not present", + }, + { + name: ["--kubernetes-version", "-k"], + description: "The kubernetes version of the provisioned cluster", + args: { name: "kubernetes-version" }, + }, + { + name: "--load-balancer-count", + description: "Number of load balancer nodes", + args: { name: "load-balancer-count" }, + }, + { + name: "--load-balancer-sku", + description: + 'Type of load balancer. Options: "unstacked-haproxy" | "stacked-kube-vip" | "stacked-metallb" | "unmanaged"', + args: { name: "load-balancer-sku" }, + }, + { + name: "--load-balancer-vm-size", + description: "VM Size of load balancer", + args: { name: "load-balancer-vm-size" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--no-ssh-key", "-x"], + description: "Do not use inject any public ssh key", + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--node-count", "-c"], + description: "Number of nodes to be created in the nodepool", + args: { name: "node-count" }, + }, + { + name: "--node-vm-size", + description: "VM Size of the nodes in the nodepool", + args: { name: "node-vm-size" }, + }, + { + name: "--pod-cidr", + description: + "The CIDR notation IP ranges from which to assign pod IPs", + args: { name: "pod-cidr" }, + }, + { + name: "--service-cidr", + description: + "A CIDR notation IP range from which to assign service cluster IPs", + args: { name: "service-cidr" }, + }, + { + name: "--ssh-key-value", + description: + "Path to the ssh public key to be injected into the control plane", + args: { name: "ssh-key-value" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vnet-ids", + description: "ARM resource ID(s) of the HybridAKS VNets", + args: { name: "vnet-ids" }, + }, + { + name: ["--zones", "-z"], + description: + "Comma-separated list of availability zones where control plane nodes will be placed", + args: { name: "zones" }, + }, + ], + }, + { + name: "delete", + description: "Deletes the Hybrid AKS provisioned cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the provisioned cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-upgrades", + description: + "Get the upgrade versions available for the Hybrid AKS provisioned cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the provisioned cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Lists the Hybrid AKS provisioned cluster in a resource group or in a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "notice", + description: "Output NOTICE file to user specified filepath", + options: [ + { + name: "--output-filepath", + description: "Output filepath for NOTICE file", + args: { name: "output-filepath" }, + isRequired: true, + }, + ], + }, + { + name: "proxy", + description: "Gets access to a connected Hybrid AKS provisioned cluster", + options: [ + { + name: ["--file", "-f"], + description: + "Kubernetes configuration file to update. If not provided, updates the file '~/.kube/config'. Use '-' to print YAML to stdout instead", + args: { name: "file" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kube-context", + description: "If specified, overwrite the default context name", + args: { name: "kube-context" }, + }, + { + name: ["--name", "-n"], + description: "The name of the hybrid AKS provisioned cluster", + args: { name: "name" }, + }, + { + name: "--port", + description: "Port used for accessing connected cluster", + args: { name: "port" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--token", + description: + "Service account token to use to authenticate to the kubernetes cluster", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Gets the Hybrid AKS provisioned cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the provisioned cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Updates the Hybrid AKS provisioned cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the provisioned cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--aad-admin-group-object-ids", "-i"], + description: + "Comma-separated list of aad group object IDs that will be set as cluster admin on the provisioned cluster", + args: { name: "aad-admin-group-object-ids" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "upgrade", + description: "Upgrades the Hybrid AKS provisioned cluster", + options: [ + { + name: ["--name", "-n"], + description: "Name of the provisioned cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--kubernetes-version", "-k"], + description: "The kubernetes version of the provisioned cluster", + args: { name: "kubernetes-version" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--node-image-only", + description: "Flag to upgrade only the node image", + }, + { name: "--yes", description: "Flag to disable confirmation prompts" }, + ], + }, + { + name: "nodepool", + description: "Manage nodepools in a hybridaks provisioned cluster", + subcommands: [ + { + name: "add", + description: "Adds a nodepool in the Hybrid AKS provisioned cluster", + options: [ + { + name: "--cluster-name", + description: "Name of the provisioned cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the nodepool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--node-count", "-c"], + description: "Number of nodes to be created in the nodepool", + args: { name: "node-count" }, + }, + { + name: "--node-vm-size", + description: "VM Size of the nodes in the nodepool", + args: { name: "node-vm-size" }, + }, + { + name: "--os-type", + description: + 'OS Type for the nodes in the nodepool. Options: "Linux" | "Windows"', + args: { name: "os-type" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--zones", "-z"], + description: + "Comma-separated list of availability zones where agent nodes will be placed", + args: { name: "zones" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes the nodepool in the Hybrid AKS provisioned cluster", + options: [ + { + name: "--cluster-name", + description: "Name of the provisioned cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the nodepool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all the nodepools in the Hybrid AKS provisioned cluster", + options: [ + { + name: "--cluster-name", + description: "Name of the provisioned cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "scale", + description: + "Scales the nodepool in the Hybrid AKS provisioned cluster", + options: [ + { + name: "--cluster-name", + description: "Name of the provisioned cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the nodepool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--node-count", "-c"], + description: "Number of nodes to scale to in the nodepool", + args: { name: "node-count" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Gets the nodepool in the Hybrid AKS provisioned cluster", + options: [ + { + name: "--cluster-name", + description: "Name of the provisioned cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the nodepool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "vnet", + description: "Manage virtual networks for hybridaks", + subcommands: [ + { + name: "create", + description: "Creates the Hybrid AKS virtual network", + options: [ + { + name: "--custom-location", + description: + "Name or ID of the custom location to use for the virtual network", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual network", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aods-vnet-id", + description: "ID of the network for AODS Infrastructure", + args: { name: "aods-vnet-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--moc-group", + description: + "Name of the MOC group containing the MOC network for HCI Infrastructure", + args: { name: "moc-group" }, + }, + { + name: "--moc-location", + description: + "Name of the MOC location containing the MOC group with the network for HCI Infrastructure", + args: { name: "moc-location" }, + }, + { + name: "--moc-vnet-name", + description: "Name of the MOC network for HCI Infrastructure", + args: { name: "moc-vnet-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vsphere-segment-name", + description: + "Name of the VSphere segment for VMware Infrastructure", + args: { name: "vsphere-segment-name" }, + }, + ], + }, + { + name: "delete", + description: "Deletes the Hybrid AKS virtual network", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual network", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists the Hybrid AKS virtual networks by resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Gets the Hybrid AKS virtual network", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual network", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/identity.ts b/src/az/2.53.0/identity.ts new file mode 100644 index 000000000000..ef59dc982033 --- /dev/null +++ b/src/az/2.53.0/identity.ts @@ -0,0 +1,318 @@ +const completion: Fig.Spec = { + name: "identity", + description: "Managed Identities", + subcommands: [ + { + name: "create", + description: "Create Identities", + options: [ + { + name: ["--name", "-n"], + description: "The name of the identity resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes the identity", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the identity resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Managed Identities", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-operations", + description: + "List available operations for the Managed Identity provider", + }, + { + name: "list-resources", + description: "List the associated resources for the identity", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the identity resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Gets the identity", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the identity resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "federated-credential", + description: + "Manage federated identity credentials under user assigned identities", + subcommands: [ + { + name: "create", + description: + "Create a federated identity credential under an existing user assigned identity", + options: [ + { + name: "--identity-name", + description: "The name of the identity resource", + args: { name: "identity-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the federated identity credential resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--audiences", + description: + "The aud value in the token sent to Azure for getting the user-assigned managed identity token. The value configured in the federated credential and the one in the incoming token must exactly match for Azure to issue the access token", + args: { name: "audiences" }, + }, + { + name: "--issuer", + description: + "The openId connect metadata URL of the issuer of the identity provider that Azure AD would use in the token exchange protocol for validating tokens before issuing a token as the user-assigned managed identity", + args: { name: "issuer" }, + }, + { + name: "--subject", + description: + "The sub value in the token sent to Azure AD for getting the user-assigned managed identity token. The value configured in the federated credential and the one in the incoming token must exactly match for Azure AD to issue the access token", + args: { name: "subject" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a federated identity credential under an existing user assigned identity", + options: [ + { + name: "--identity-name", + description: "The name of the identity resource", + args: { name: "identity-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the federated identity credential resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all federated identity credentials under an existing user assigned identity", + options: [ + { + name: "--identity-name", + description: "The name of the identity resource", + args: { name: "identity-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show a federated identity credential under an existing user assigned identity", + options: [ + { + name: "--identity-name", + description: "The name of the identity resource", + args: { name: "identity-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the federated identity credential resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update a federated identity credential under an existing user assigned identity", + options: [ + { + name: "--identity-name", + description: "The name of the identity resource", + args: { name: "identity-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the federated identity credential resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--audiences", + description: + "The aud value in the token sent to Azure for getting the user-assigned managed identity token. The value configured in the federated credential and the one in the incoming token must exactly match for Azure to issue the access token", + args: { name: "audiences" }, + }, + { + name: "--issuer", + description: + "The openId connect metadata URL of the issuer of the identity provider that Azure AD would use in the token exchange protocol for validating tokens before issuing a token as the user-assigned managed identity", + args: { name: "issuer" }, + }, + { + name: "--subject", + description: + "The sub value in the token sent to Azure AD for getting the user-assigned managed identity token. The value configured in the federated credential and the one in the incoming token must exactly match for Azure AD to issue the access token", + args: { name: "subject" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/image.ts b/src/az/2.53.0/image.ts new file mode 100644 index 000000000000..3293e4ef5ed1 --- /dev/null +++ b/src/az/2.53.0/image.ts @@ -0,0 +1,2039 @@ +const completion: Fig.Spec = { + name: "image", + description: "Manage custom virtual machine images", + subcommands: [ + { + name: "builder", + description: "Manage and build image builder templates", + subcommands: [ + { + name: "cancel", + description: + "Cancel the long running image build based on the image template", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create an image builder template", + options: [ + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--build-timeout", + description: + "The Maximum duration to wait while building the image template, in minutes. Default is 60", + args: { name: "build-timeout" }, + }, + { + name: "--build-vm-identities", + description: + "Optional configuration of the virtual network to use to deploy the build virtual machine in. Omit if no specific virtual network needs to be used", + args: { name: "build-vm-identities" }, + }, + { + name: "--checksum", + description: "The SHA256 checksum of the Red Hat ISO image", + args: { name: "checksum" }, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--identity", + description: + "List of user assigned identities (name or ID, space delimited) of the image template", + args: { name: "identity" }, + }, + { + name: ["--image-source", "-i"], + description: + "The base image to customize. Must be a valid platform image URN, platform image alias, Red Hat ISO image URI, managed image name/ID, or shared image version ID. value from: az vm image list, az vm image show", + args: { name: "image-source" }, + }, + { + name: "--image-template", + description: + "Local path or URL to an image template file. When using --image-template, all other parameters are ignored except -g and -n. Reference: https://docs.microsoft.com/azure/virtual-machines/linux/image-builder-json", + args: { name: "image-template" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--managed-image-destinations", + description: + 'Managed image output distributor information. Space-separated list of key-value pairs. E.g "image_1=westus2 image_2=westus". Each key is the name or resource ID of the managed image to be created. Each value is the location of the image', + args: { name: "managed-image-destinations" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--os-disk-size", + description: + "Size of the OS disk in GB. Omit or specify 0 to use Azure's default OS disk size", + args: { name: "os-disk-size" }, + }, + { + name: "--proxy-vm-size", + description: + "Size of the virtual machine used to build, customize and capture images (Standard_D1_v2 for Gen1 images and Standard_D2ds_v4 for Gen2 images)", + args: { name: "proxy-vm-size" }, + }, + { + name: "--scripts", + description: + "Space-separated list of shell or powershell scripts to customize the image with. Each script must be a publicly accessible URL. Infers type of script from file extension ('.sh' or'.ps1') or from source type. More more customizer options and flexibility, see: 'az image template customizer add'", + args: { name: "scripts" }, + }, + { + name: "--shared-image-destinations", + description: + 'Shared image gallery (sig) output distributor information. Space-separated list of key-value pairs. E.g "my_gallery_1/image_def_1=eastus,westus my_gallery_2/image_def_2=uksouth,canadaeast,francesouth." Each key is the sig image definition ID or sig gallery name and sig image definition delimited by a "/". Each value is a comma-delimited list of replica locations', + args: { name: "shared-image-destinations" }, + }, + { + name: "--staging-resource-group", + description: + "The staging resource group id in the same subscription as the image template that will be used to build the image", + args: { name: "staging-resource-group" }, + }, + { + name: "--subnet", + description: + "Name or ID of subnet to deploy the build virtual machine", + args: { name: "subnet" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--validator", + description: + 'The type of validation you want to use on the Image. For example, "Shell" can be shell validation', + args: { name: "validator" }, + }, + { + name: "--vm-size", + description: + "Size of the virtual machine used to build, customize and capture images. Omit or specify empty string to use the default (Standard_D1_v2)", + args: { name: "vm-size" }, + }, + { + name: "--vnet", + description: + "Name of VNET to deploy the build virtual machine. You should only specify it when subnet is a name", + args: { name: "vnet" }, + }, + ], + }, + { + name: "delete", + description: "Delete image builder template", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List image builder templates", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "run", + description: "Build an image builder template", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show an image builder template", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-runs", + description: "Show an image builder template's run outputs", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: "--output-name", + description: "Name of the image builder run output", + args: { name: "output-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an image builder template", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the template is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "customizer", + description: "Manage image builder template customizers", + subcommands: [ + { + name: "add", + description: + "Add an image builder customizer to an image builder template", + options: [ + { + name: "--customizer-name", + description: "Name of the customizer", + args: { name: "customizer-name" }, + isRequired: true, + }, + { + name: ["--type", "-t"], + description: + "Type of customizer to be added to the image template", + args: { + name: "type", + suggestions: [ + "file", + "powershell", + "shell", + "windows-restart", + "windows-update", + ], + }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--dest-path", + description: + "The absolute destination path where the file specified in --file-source will be downloaded to in the image", + args: { name: "dest-path" }, + }, + { + name: ["--exit-codes", "-e"], + description: + "Space-separated list of valid exit codes, as integers", + args: { name: "exit-codes" }, + }, + { + name: "--file-source", + description: + "The URI of the file to be downloaded into the image. It can be a github link, SAS URI for Azure Storage, etc", + args: { name: "file-source" }, + }, + { + name: "--filters", + description: + "Space delimited filters to select updates to apply. Omit or specify empty array to use the default (no filter)", + args: { name: "filters" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--inline-script", + description: + "Space-separated list of inline script lines to customize the image with", + args: { name: "inline-script" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--restart-check-command", + description: "Command to verify that restart succeeded", + args: { name: "restart-check-command" }, + }, + { + name: "--restart-command", + description: "Command to execute the restart operation", + args: { name: "restart-command" }, + }, + { + name: "--restart-timeout", + description: + "Restart timeout specified as a string consisting of a magnitude and unit, e.g. '5m' (5 minutes) or '2h' (2 hours)", + args: { name: "restart-timeout" }, + }, + { + name: "--script-url", + description: + "URL of script to customize the image with. The URL must be publicly accessible", + args: { name: "script-url" }, + }, + { + name: "--search-criteria", + description: + "Criteria to search updates. Omit or specify empty string to use the default (search all). Refer to above link for examples and detailed description of this field", + args: { name: "search-criteria" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--update-limit", + description: + "Maximum number of updates to apply at a time. Omit or specify 0 to use the default (1000)", + args: { name: "update-limit" }, + }, + ], + }, + { + name: "clear", + description: + "Remove all image builder customizers from an image builder template", + options: [ + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: + "Remove an image builder customizer from an image builder template", + options: [ + { + name: "--customizer-name", + description: "Name of the customizer", + args: { name: "customizer-name" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage identities of an image builder template", + subcommands: [ + { + name: "assign", + description: + "Add managed identities to an existing image builder template. Currently, only one user identity is supported", + options: [ + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--user-assigned", + description: + "Specify one user assigned identity (name or ID, space delimited) of the image template", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "remove", + description: + "Remove managed identities from an existing image builder template", + options: [ + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--user-assigned", + description: + "Specify one user assigned identity (name or ID, space delimited) of the image template", + args: { name: "user-assigned" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Display managed identities of a image builder template", + options: [ + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "optimizer", + description: "Manage image builder template optimizer", + subcommands: [ + { + name: "add", + description: + "Add optimizer to an existing image builder template", + options: [ + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--enable-vm-boot", + description: + "If this parameter is set to true, VM boot time will be improved by optimizing the final customized image output", + args: { + name: "enable-vm-boot", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: + "Remove optimizer from an existing image builder template", + options: [ + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show optimizer of an existing image builder template", + options: [ + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an optimizer from an existing image builder template", + options: [ + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--enable-vm-boot", + description: + "If this parameter is set to true, VM boot time will be improved by optimizing the final customized image output", + args: { + name: "enable-vm-boot", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "output", + description: + "Manage image builder template output distributors.\n\n\t\tA customized image can be distributed as a managed image, a shared image in a shared image gallery (SIG), or as a VHD blob", + subcommands: [ + { + name: "add", + description: + "Add an image builder output distributor to an image builder template", + options: [ + { + name: "--artifact-tags", + description: + 'Tags that will be applied to the output artifact once it has been created by the distributor. space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "artifact-tags" }, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--gallery-image-definition", + description: + "Name or ID of the existing SIG image definition to create the customized image version with", + args: { name: "gallery-image-definition" }, + }, + { + name: "--gallery-name", + description: + "Shared image gallery name, if image definition name and not ID was provided", + args: { name: "gallery-name" }, + }, + { + name: "--gallery-replication-regions", + description: + "Space-separated list of regions to replicate the image version into. Defaults to resource group's location", + args: { name: "gallery-replication-regions" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--is-vhd", + description: "The output is a VHD distributor", + args: { name: "is-vhd" }, + }, + { + name: "--managed-image", + description: + "Name or ID of the customized managed image to be created", + args: { name: "managed-image" }, + }, + { + name: "--managed-image-location", + description: + "Location where the customized image will be created. Defaults to resource group's location", + args: { name: "managed-image-location" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: "--output-name", + description: + "Name of the image builder run output. Defaults to the name of the managed image or sig image definition", + args: { name: "output-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--versioning", + description: + "Describe how to generate new x.y.z version number for distribution", + args: { + name: "versioning", + suggestions: ["Latest", "Source"], + }, + }, + { + name: "--vhd-uri", + description: + "Optional Azure Storage URI for the distributed VHD blob. Omit to use the default (empty string) in which case VHD would be published to the storage account in the staging resource group", + args: { name: "vhd-uri" }, + }, + ], + }, + { + name: "clear", + description: + "Remove all image builder output distributors from an image builder template", + options: [ + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: + "Remove an image builder output distributor from an image builder template", + options: [ + { + name: "--output-name", + description: "Name of the image builder run output", + args: { name: "output-name" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "versioning", + description: + "Manage image builder template output versioner.\n\n\t\tDescribe how to generate new x.y.z version number for distribution", + subcommands: [ + { + name: "remove", + description: + "Remove all versioning options on specified outputs", + options: [ + { + name: "--output-name", + description: "Name of the image builder run output", + args: { name: "output-name" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set", + description: + "Set the image builder output versioner of an image builder template", + options: [ + { + name: "--output-name", + description: "Name of the image builder run output", + args: { name: "output-name" }, + isRequired: true, + }, + { + name: "--scheme", + description: "Version numbering scheme to be used", + args: { + name: "scheme", + suggestions: ["Latest", "Source"], + }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--major", + description: + 'Major version for the generated version number. Determine what is "latest" based on versions with this value as the major version. -1 is equivalent to leaving it unset', + args: { name: "major" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show versioning options on specified outputs", + options: [ + { + name: "--output-name", + description: "Name of the image builder run output", + args: { name: "output-name" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "trigger", + description: "Manage image builder template trigger", + subcommands: [ + { + name: "create", + description: + "Create a trigger for the specified virtual machine image template", + options: [ + { + name: "--image-template-name", + description: "The name of the image Template", + args: { name: "image-template-name" }, + isRequired: true, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The name of the trigger", + args: { name: "trigger-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--kind", + description: "The kind of trigger", + args: { name: "kind", suggestions: ["SourceImage"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete a trigger for the specified virtual machine image template", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--image-template-name", + description: "The name of the image Template", + args: { name: "image-template-name" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The name of the trigger", + args: { name: "trigger-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all triggers for the specified Image Template resource", + options: [ + { + name: "--image-template-name", + description: "The name of the image Template", + args: { name: "image-template-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the specified trigger for the specified image template resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--image-template-name", + description: "The name of the image Template", + args: { name: "image-template-name" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The name of the trigger", + args: { name: "trigger-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--image-template-name", + description: "The name of the image Template", + args: { name: "image-template-name" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--trigger-name", "--name", "-n"], + description: "The name of the trigger", + args: { name: "trigger-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "validator", + description: "Manage image builder template validate", + subcommands: [ + { + name: "add", + description: "Add validate to an existing image builder template", + options: [ + { + name: [ + "--continue-distribute-on-failure", + "--dis-on-failure", + ], + description: + "If validation fails and this parameter is set to false, output image(s) will not be distributed", + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--source-validation-only", + description: + "If this parameter is set to true, the image specified in the 'source' section will directly be validated. No separate build will be run to generate and then validate a customized image", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: + "Remove validate from an existing image builder template", + options: [ + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show validate of an existing image builder template", + options: [ + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image template", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "copy", + description: + "Copy a managed image (or vm) to other regions. It requires the source disk to be available", + options: [ + { + name: "--source-object-name", + description: "The name of the image or vm resource", + args: { name: "source-object-name" }, + isRequired: true, + }, + { + name: "--source-resource-group", + description: "Name of the resource group of the source resource", + args: { name: "source-resource-group" }, + isRequired: true, + }, + { + name: "--target-location", + description: + "Space separated location list to create the image in (e.g. westeurope etc.)", + args: { name: "target-location" }, + isRequired: true, + }, + { + name: "--target-resource-group", + description: "Name of the resource group to create images in", + args: { name: "target-resource-group" }, + isRequired: true, + }, + { + name: "--cleanup", + description: + "Include this switch to delete temporary resources upon completion", + }, + { + name: "--export-as-snapshot", + description: + "Include this switch to export the copies as snapshots instead of images", + }, + { + name: "--parallel-degree", + description: "Number of parallel copy operations", + args: { name: "parallel-degree" }, + }, + { + name: "--source-type", + description: "Image or vm", + args: { name: "source-type", suggestions: ["image", "vm"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--target-name", + description: "Name of the final image that will be created", + args: { name: "target-name" }, + }, + { + name: "--target-subscription", + description: + "Name or ID of the subscription where the final image should be created", + args: { name: "target-subscription" }, + }, + { + name: "--temporary-resource-group-name", + description: + "Resource Group name where temporary storage account will be created", + args: { name: "temporary-resource-group-name" }, + }, + { + name: "--timeout", + description: + "Time in seconds for the copy operation to finish. Increase this time if you are going to copy large images (disks) like 512GB or more", + args: { name: "timeout" }, + }, + ], + }, + { + name: "create", + description: + "Create a custom Virtual Machine Image from managed disks or snapshots", + options: [ + { + name: ["--name", "-n"], + description: "New image name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--source", + description: + "OS disk source from the same region, including a virtual machine ID or name, OS disk blob URI, managed OS disk ID or name, or OS snapshot ID or name", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--data-disk-caching", + description: "Storage caching type for the image's data disk", + args: { + name: "data-disk-caching", + suggestions: ["None", "ReadOnly", "ReadWrite"], + }, + }, + { + name: "--data-disk-sources", + description: + "Space-separated list of data disk sources, including unmanaged blob URI, managed disk ID or name, or snapshot ID or name", + args: { name: "data-disk-sources" }, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: "--hyper-v-generation", + description: + "The hypervisor generation of the Virtual Machine created from the image", + args: { name: "hyper-v-generation", suggestions: ["V1", "V2"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--os-disk-caching", + description: "Storage caching type for the image's OS disk", + args: { + name: "os-disk-caching", + suggestions: ["None", "ReadOnly", "ReadWrite"], + }, + }, + { + name: "--os-type", + description: "", + args: { name: "os-type", suggestions: ["Linux", "Windows"] }, + }, + { + name: "--storage-sku", + description: + "The SKU of the storage account with which to create the VM image. Unused if source VM is specified", + args: { + name: "storage-sku", + suggestions: [ + "PremiumV2_LRS", + "Premium_LRS", + "Premium_ZRS", + "StandardSSD_LRS", + "StandardSSD_ZRS", + "Standard_LRS", + "UltraSSD_LRS", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--zone-resilient", + description: + "Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage", + args: { name: "zone-resilient", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "delete", + description: "Delete an Image", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--image-name", "--name", "-n"], + description: "The name of the image", + args: { name: "image-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List the list of images under a resource group", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get an image", + options: [ + { + name: "--expand", + description: "The expand expression to apply on the operation", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--image-name", "--name", "-n"], + description: "The name of the image", + args: { name: "image-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update custom VM images", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the image. Required", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: "The expand expression to apply on the operation", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--image-name", "--name", "-n"], + description: "The name of the image", + args: { name: "image-name" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/import-export.ts b/src/az/2.53.0/import-export.ts new file mode 100644 index 000000000000..9ec3eecc45e6 --- /dev/null +++ b/src/az/2.53.0/import-export.ts @@ -0,0 +1,317 @@ +const completion: Fig.Spec = { + name: "import-export", + description: "Manage Import Export", + subcommands: [ + { + name: "bit-locker-key", + description: "Import-export bit-locker-key", + subcommands: [ + { + name: "list", + description: + "Returns the BitLocker Keys for all drives in the specified job", + options: [ + { + name: "--job-name", + description: "The name of the import/export job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "create", + description: + "Creates a new job or updates an existing job in the specified subscription", + options: [ + { + name: ["--name", "-n"], + description: "The name of the import/export job", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--backup-drive-manifest", + description: + "Default value is false. Indicates whether the manifest files on the drives should be copied to block blobs", + args: { + name: "backup-drive-manifest", + suggestions: ["false", "true"], + }, + }, + { + name: "--cancel-requested", + description: + "Indicates whether a request has been submitted to cancel the job", + args: { name: "cancel-requested", suggestions: ["false", "true"] }, + }, + { + name: "--client-tenant-id", + description: "The tenant ID of the client making the request", + args: { name: "client-tenant-id" }, + }, + { + name: "--delivery-package", + description: + "Contains information about the package being shipped by the customer to the Microsoft data center", + args: { name: "delivery-package" }, + }, + { + name: "--diagnostics-path", + description: + "The virtual blob directory to which the copy logs and backups of drive manifest files (if enabled) will be stored", + args: { name: "diagnostics-path" }, + }, + { + name: "--drive-list", + description: + "List of up to ten drives that comprise the job. The drive list is a required element for an import job; it is not specified for export jobs", + args: { name: "drive-list" }, + }, + { + name: "--export", + description: + "A property containing information about the blobs to be exported for an export job. This property is required for export jobs, but must not be specified for import jobs", + args: { name: "export" }, + }, + { + name: "--incomplete-blob-list-uri", + description: + "A blob path that points to a block blob containing a list of blob names that were not exported due to insufficient drive space. If all blobs were exported successfully, then this element is not included in the response", + args: { name: "incomplete-blob-list-uri" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--log-level", + description: + "Default value is Error. Indicates whether error logging or verbose logging will be enabled", + args: { name: "log-level" }, + }, + { + name: "--percent-complete", + description: "Overall percentage completed for the job", + args: { name: "percent-complete" }, + }, + { + name: "--return-address", + description: "Specifies the return address information for the job", + args: { name: "return-address" }, + }, + { + name: "--return-package", + description: + "Contains information about the package being shipped by the customer to the Microsoft data center", + args: { name: "return-package" }, + }, + { + name: "--return-shipping", + description: + "Specifies the return carrier and customer's account with the carrier", + args: { name: "return-shipping" }, + }, + { + name: "--shipping-information", + description: + "Contains information about the Microsoft datacenter to which the drives should be shipped", + args: { name: "shipping-information" }, + }, + { + name: "--state", + description: "Current state of the job", + args: { name: "state" }, + }, + { + name: "--storage-account", + description: + "Name or ID of the storage account where data will be imported to or exported from", + args: { name: "storage-account" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--type", + description: "The type of job", + args: { name: "type" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes an existing job. Only jobs in the Creating or Completed states can be deleted", + options: [ + { + name: ["--name", "-n"], + description: "The name of the import/export job", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "Returns all active and completed jobs in a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Gets information about an existing job", + options: [ + { + name: ["--name", "-n"], + description: "The name of the import/export job", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Updates specific properties of a job. You can call this operation to notify the Import/Export service that the hard drives comprising the import or export job have been shipped to the Microsoft data center. It can also be used to cancel an existing job", + options: [ + { + name: ["--name", "-n"], + description: "The name of the import/export job", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--backup-drive-manifest", + description: + "Indicates whether the manifest files on the drives should be copied to block blobs", + args: { + name: "backup-drive-manifest", + suggestions: ["false", "true"], + }, + }, + { + name: "--cancel-requested", + description: + "If specified, the value must be true. The service will attempt to cancel the job", + args: { name: "cancel-requested", suggestions: ["false", "true"] }, + }, + { + name: "--delivery-package", + description: + "Contains information about the package being shipped by the customer to the Microsoft data center", + args: { name: "delivery-package" }, + }, + { + name: "--drive-list", + description: "List of drives that comprise the job", + args: { name: "drive-list" }, + }, + { + name: "--log-level", + description: + "Indicates whether error logging or verbose logging is enabled", + args: { name: "log-level" }, + }, + { + name: "--return-address", + description: "Specifies the return address information for the job", + args: { name: "return-address" }, + }, + { + name: "--return-shipping", + description: + "Specifies the return carrier and customer's account with the carrier", + args: { name: "return-shipping" }, + }, + { + name: "--state", + description: + "If specified, the value must be Shipping, which tells the Import/Export service that the package for the job has been shipped. The ReturnAddress and DeliveryPackage properties must have been set either in this request or in a previous request, otherwise the request will fail", + args: { name: "state" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "location", + description: "Import-export location", + subcommands: [ + { + name: "list", + description: + "Returns a list of locations to which you can ship the disks associated with an import or export job. A location is a Microsoft data center region", + }, + { + name: "show", + description: + "Returns the details about a location to which you can ship the disks associated with an import or export job. A location is an Azure region", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az import-export location list", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/init.ts b/src/az/2.53.0/init.ts new file mode 100644 index 000000000000..fb3d4d31e0f7 --- /dev/null +++ b/src/az/2.53.0/init.ts @@ -0,0 +1,6 @@ +const completion: Fig.Spec = { + name: "init", + description: "It's an effortless setting up tool for configs", +}; + +export default completion; diff --git a/src/az/2.53.0/interactive.ts b/src/az/2.53.0/interactive.ts new file mode 100644 index 000000000000..df1bc52579df --- /dev/null +++ b/src/az/2.53.0/interactive.ts @@ -0,0 +1,35 @@ +const completion: Fig.Spec = { + name: "interactive", + description: + "Start interactive mode. Installs the Interactive extension if not installed already", + options: [ + { + name: ["--style", "-s"], + description: "The colors of the shell", + args: { + name: "style", + suggestions: [ + "bg", + "br", + "contrast", + "default", + "grey", + "halloween", + "neon", + "none", + "pastel", + "primary", + "purple", + "quiet", + ], + }, + }, + { + name: "--update", + description: "Update the Interactive extension to the latest available", + args: { name: "update" }, + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/internet-analyzer.ts b/src/az/2.53.0/internet-analyzer.ts new file mode 100644 index 000000000000..11444e7f0ca7 --- /dev/null +++ b/src/az/2.53.0/internet-analyzer.ts @@ -0,0 +1,505 @@ +const completion: Fig.Spec = { + name: "internet-analyzer", + description: "Commands to manage internet analyzer", + subcommands: [ + { + name: "preconfigured-endpoint", + description: "Commands to manage preconfigured endpoints", + subcommands: [ + { + name: "list", + description: "List preconfigured endpoints", + options: [ + { + name: "--profile-name", + description: + "The name of the Internet Analyzer profile for which to list preconfigured endpoints", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "profile", + description: "Commands to manage internet analyzer profile", + subcommands: [ + { + name: "create", + description: "Create internet analyzer profile", + options: [ + { + name: "--name", + description: + "The name of the Internet Analyzer profile to be created", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--enabled-state", + description: "The state of the Experiment", + args: { + name: "enabled-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete internet analyzer profile", + options: [ + { + name: "--name", + description: + "The name of the Internet Analyzer profile to be deleted", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List internet analyzer profiles", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show internet analyzer profile", + options: [ + { + name: "--name", + description: "The name of the Internet Analyzer profile to show", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update internet analyzer profile", + options: [ + { + name: "--name", + description: + "The name of the Internet Analyzer profile to be updated", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--enabled-state", + description: "The state of the Experiment", + args: { + name: "enabled-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "show-scorecard", + description: "Show latency scorecard for a test", + options: [ + { + name: "--aggregation-interval", + description: "The aggregation interval of the Latency Scorecard", + args: { name: "aggregation-interval" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "The name of the Internet Analyzer profile under which the test exists", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--test-name", + description: "The name of the Internet Analyzer test", + args: { name: "test-name" }, + isRequired: true, + }, + { + name: "--country", + description: + "The country associated with the Latency Scorecard. Values are country ISO codes as specified here - https://www.iso.org/iso-3166-country-codes.html", + args: { name: "country" }, + }, + { + name: "--end-date-time-utc", + description: "The end DateTime of the Latency Scorecard in UTC", + args: { name: "end-date-time-utc" }, + }, + ], + }, + { + name: "show-timeseries", + description: "Show timeseries for a test", + options: [ + { + name: "--aggregation-interval", + description: "The aggregation interval of the Timeseries", + args: { name: "aggregation-interval" }, + isRequired: true, + }, + { + name: "--end-date-time-utc", + description: "The end DateTime of the Timeseries in UTC", + args: { name: "end-date-time-utc" }, + isRequired: true, + }, + { + name: "--endpoint", + description: "The specific endpoint", + args: { name: "endpoint" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "The name of the Internet Analyzer profile under which the test exists", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--start-date-time-utc", + description: "The start DateTime of the Timeseries in UTC", + args: { name: "start-date-time-utc" }, + isRequired: true, + }, + { + name: "--test-name", + description: "The name of the Internet Analyzer test", + args: { name: "test-name" }, + isRequired: true, + }, + { + name: "--timeseries-type", + description: "The type of Timeseries", + args: { name: "timeseries-type" }, + isRequired: true, + }, + { + name: "--country", + description: + "The country associated with the Latency Scorecard. Values are country ISO codes as specified here - https://www.iso.org/iso-3166-country-codes.html", + args: { name: "country" }, + }, + ], + }, + { + name: "test", + description: "Commands to manage tests", + subcommands: [ + { + name: "create", + description: "Create test", + options: [ + { + name: "--name", + description: + "The name of the Internet Analyzer test to be created", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "The name of the Internet Analyzer profile under which the new test should be created", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: + "The description of the details or intents of the test", + args: { name: "description" }, + }, + { + name: "--enabled-state", + description: "The initial of the test", + args: { + name: "enabled-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--endpoint-a-endpoint", + description: + 'The URL of the control endpoint in [/] format (e.g., www.contoso.com or www.contoso.com/some/path/to/trans.gif). Must support HTTPS. If an object path isn\'t specified explicitly, Internet Analyzer will use "/apc/trans.gif" as the object path by default, which is where the preconfigured endpoints are hosting the one-pixel image', + args: { name: "endpoint-a-endpoint" }, + }, + { + name: "--endpoint-a-name", + description: "The name of the control endpoint", + args: { name: "endpoint-a-name" }, + }, + { + name: "--endpoint-b-endpoint", + description: + 'The URL of the other endpoint in [/] format (e.g., www.contoso.com or www.contoso.com/some/path/to/trans.gif). Must support HTTPS. If an object path isn\'t specified explicitly, Internet Analyzer will use "/apc/trans.gif" as the object path by default, which is where the preconfigured endpoints are hosting the one-pixel image', + args: { name: "endpoint-b-endpoint" }, + }, + { + name: "--endpoint-b-name", + description: "The name of the other endpoint", + args: { name: "endpoint-b-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete test", + options: [ + { + name: "--name", + description: "The name of the Internet Analyzer test to delete", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "The name of the Internet Analyzer profile under which the test exists", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List tests", + options: [ + { + name: "--profile-name", + description: + "The name of the Internet Analyzer profile for which to list tests", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show test", + options: [ + { + name: "--name", + description: "The name of the Internet Analyzer test to show", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "The name of the Internet Analyzer profile under which the test exists", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update test", + options: [ + { + name: "--name", + description: + "The name of the Internet Analyzer test to be updated", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: + "The name of the Internet Analyzer profile under which the test exists", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: + "The description of the details or intents of the test", + args: { name: "description" }, + }, + { + name: "--enabled-state", + description: "The state of the Experiment", + args: { + name: "enabled-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--endpoint-a-endpoint", + description: + 'The URL of the control endpoint in [/] format (e.g., www.contoso.com or www.contoso.com/some/path/to/trans.gif). Must support HTTPS. If an object path isn\'t specified explicitly, Internet Analyzer will use "/apc/trans.gif" as the object path by default, which is where the preconfigured endpoints are hosting the one-pixel image', + args: { name: "endpoint-a-endpoint" }, + }, + { + name: "--endpoint-a-name", + description: "The name of the control endpoint", + args: { name: "endpoint-a-name" }, + }, + { + name: "--endpoint-b-endpoint", + description: + 'The URL of the other endpoint in [/] format (e.g., www.contoso.com or www.contoso.com/some/path/to/trans.gif). Must support HTTPS. If an object path isn\'t specified explicitly, Internet Analyzer will use "/apc/trans.gif" as the object path by default, which is where the preconfigured endpoints are hosting the one-pixel image', + args: { name: "endpoint-b-endpoint" }, + }, + { + name: "--endpoint-b-name", + description: "The name of the other endpoint", + args: { name: "endpoint-b-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/iot.ts b/src/az/2.53.0/iot.ts new file mode 100644 index 000000000000..207a1d4ba668 --- /dev/null +++ b/src/az/2.53.0/iot.ts @@ -0,0 +1,17831 @@ +const completion: Fig.Spec = { + name: "iot", + description: "Manage Internet of Things (IoT) assets", + subcommands: [ + { + name: "central", + description: + "Manage IoT Central resources.\n\n\t\tIoT Central is an IoT application platform that reduces the burden and cost of developing, managing, and maintaining enterprise-grade IoT solutions. Choosing to build with IoT Central gives you the opportunity to focus time, money, and energy on transforming your business with IoT data, rather than just maintaining and updating a complex and continually evolving IoT infrastructure.\nIoT Central documentation is available at https://aka.ms/iotcentral-documentation\nComprehensive IoT Central data-plane functionality is available in the Azure IoT CLI Extension. For more info on how to install visit https://github.com/Azure/azure-iot-cli-extension", + subcommands: [ + { + name: "query", + description: + "Query device telemetry or property data with IoT Central Query Language", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--query-string", "--qs"], + description: + "Query clause to retrieve telemetry or property data", + args: { name: "query-string" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "api-token", + description: + "Manage API tokens for your IoT Central application.\n\n\t\tIoT Central allows you to generate and manage API tokens to be used to access the IoT Central API. More information about APIs can be found at https://aka.ms/iotcentraldocsapi", + subcommands: [ + { + name: "create", + description: + "Generate an API token associated with your IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--role", "-r"], + description: + "The role that will be associated with this token or user. You can specify one of the built-in roles, or specify the role ID of a custom role. See more at https://aka.ms/iotcentral-customrolesdocs", + args: { name: "role" }, + isRequired: true, + }, + { + name: ["--token-id", "--tkid"], + description: + "The IoT Central ID associated with this token, [0-9a-zA-Z-] allowed, max length limit to 40. Specify an ID that you'll then use when modifying or deleting this token later via the CLI or API", + args: { name: "token-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--organization-id", "--org-id"], + description: + "The ID of the organization for the token role assignment. Only available for api-version == 1.1-preview", + args: { name: "organization-id" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an API token associated with your IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--token-id", "--tkid"], + description: + "The IoT Central ID associated with this token, [0-9a-zA-Z-] allowed, max length limit to 40. Specify an ID that you'll then use when modifying or deleting this token later via the CLI or API", + args: { name: "token-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list", + description: + "Get the list of API tokens associated with your IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: + "Get details for an API token associated with your IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--token-id", "--tkid"], + description: + "The IoT Central ID associated with this token, [0-9a-zA-Z-] allowed, max length limit to 40. Specify an ID that you'll then use when modifying or deleting this token later via the CLI or API", + args: { name: "token-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "app", + description: + "Manage IoT Central applications.\n\n\t\tCreate, delete, view, and update your IoT Central apps", + subcommands: [ + { + name: "create", + description: "Create an IoT Central application", + options: [ + { + name: ["--name", "-n"], + description: + "Give your IoT Central app a unique name so you can find it later.This will be used as the resource name in the Azure portal and CLI.Avoid special characters - instead, use lower case letters (a-z), numbers (0-9), and dashes (-)", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--subdomain", "-s"], + description: + "Enter a unique URL. Your app will be accessible via https://.azureiotcentral.com/. Avoid special characters - instead, use lower case letters (a-z), numbers (0-9), and dashes (-)", + args: { name: "subdomain" }, + isRequired: true, + }, + { + name: ["--display-name", "-d"], + description: + "Custom display name for the IoT Central app. This will be used in the IoT Central application manager to help you identify your app. Default value is the resource name", + args: { name: "display-name" }, + }, + { + name: ["--location", "-l"], + description: + "Where your app's info and resources are stored. We will default to the location of the target resource group. See documentation for a full list of supported locations", + args: { name: "location" }, + }, + { + name: "--mi-system-assigned", + description: + "Provide this flag to use system assigned identity", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--sku", "-p"], + description: "Pricing plan for IoT Central application", + args: { name: "sku", suggestions: ["ST0", "ST1", "ST2"] }, + }, + { + name: ["--template", "-t"], + description: + 'IoT Central application template name. Default is "Custom application". See documentation for a list of available templates', + args: { name: "template" }, + }, + ], + }, + { + name: "delete", + description: "Delete an IoT Central application", + options: [ + { + name: ["--name", "-n"], + description: "IoT Central application name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List IoT Central applications", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an IoT Central application", + options: [ + { + name: ["--name", "-n"], + description: "IoT Central application name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update metadata for an IoT Central application", + options: [ + { + name: ["--name", "-n"], + description: "IoT Central application name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "identity", + description: + "Manage IoT Central application identities.\n\n\t\tAssign, remove, and show your IoT Central application identities", + subcommands: [ + { + name: "assign", + description: + "Assign managed identities to an IoT Central application", + options: [ + { + name: ["--name", "-n"], + description: "IoT Central application name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--system-assigned", + description: + "Provide this flag to refer to the system-assigned identity", + }, + ], + }, + { + name: "remove", + description: + "Remove managed identities from an IoT Central application", + options: [ + { + name: ["--name", "-n"], + description: "IoT Central application name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--system-assigned", + description: + "Provide this flag to refer to the system-assigned identity", + }, + ], + }, + { + name: "show", + description: + "Show the identity properties of an IoT Central application", + options: [ + { + name: ["--name", "-n"], + description: "IoT Central application name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: + "Manage private endpoint connection of IoT Central application", + subcommands: [ + { + name: "approve", + description: + "Approve a private endpoint connection request for an IoT Central application", + options: [ + { + name: "--account-name", + description: + "Name of the IoT Central application. Required if --id is not specified", + args: { name: "account-name" }, + }, + { + name: "--description", + description: "Comments for the approve operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the IoT Central application. If --account-name --resource-group/-g and --name/-n are specified, this should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with IoT Central application. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified IoT Central application. Required if --id is not specified", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a private endpoint connection for an IoT Central application", + options: [ + { + name: "--account-name", + description: + "Name of the IoT Central application. Required if --id is not specified", + args: { name: "account-name" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the IoT Central application. If --account-name --resource-group/-g and --name/-n are specified, this should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with IoT Central application. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified IoT Central application. Required if --id is not specified", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all of the private endpoint connections for an IoT Central application", + options: [ + { + name: "--account-name", + description: + "Name of the IoT Central application. Required if --id is not specified", + args: { name: "account-name" }, + }, + { + name: "--id", + description: "ID of the resource", + args: { name: "id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. If provided, --name must be provided too", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "reject", + description: + "Reject a private endpoint connection request for an IoT Central application", + options: [ + { + name: "--account-name", + description: + "Name of the IoT Central application. Required if --id is not specified", + args: { name: "account-name" }, + }, + { + name: "--description", + description: "Comments for the reject operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the IoT Central application. If --account-name --resource-group/-g and --name/-n are specified, this should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with IoT Central application. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified IoT Central application. Required if --id is not specified", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a private endpoint connection request for an IoT Central application", + options: [ + { + name: "--account-name", + description: + "Name of the IoT Central application. Required if --id is not specified", + args: { name: "account-name" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the IoT Central application. If --account-name --resource-group/-g and --name/-n are specified, this should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with IoT Central application. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified IoT Central application. Required if --id is not specified", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: + "Manage an IoT Central application private link resources", + subcommands: [ + { + name: "list", + description: + "List all of the IoT Central application private link resources in the specified account", + options: [ + { + name: "--id", + description: "ID of the resource", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "IoT Central application name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. If provided, --name and --type must be provided too", + args: { name: "resource-group" }, + }, + { + name: "--type", + description: + "Type of the resource. If provided, --name and --resource-group must be provided too", + args: { name: "type" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a private link resource in the specified IoT Central application", + options: [ + { + name: "--group-id", + description: + "Name of the private link resource. If provided, --name and --type must be provided too", + args: { name: "group-id" }, + }, + { + name: "--id", + description: "ID of the resource", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the resource. If provided, --type and --resource-group must be provided too", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. If provided, --name and --type must be provided too", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "device", + description: "Manage and configure IoT Central devices", + subcommands: [ + { + name: "compute-device-key", + description: "Generate a derived device SAS key", + options: [ + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--primary-key", "--pk"], + description: + "The primary symmetric shared access key stored in base64 format", + args: { name: "primary-key" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create a device in IoT Central", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "Unique identifier for the device. A case-sensitive string (up to 128 characters long) of ASCII 7-bit alphanumeric characters plus certain special characters: - . + % _ # * ? ! ( ) , : = @ $ '", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--device-name", + description: "Human readable device name. Example: Fridge", + args: { name: "device-name" }, + }, + { + name: ["--organizations", "--orgs"], + description: + "Assign the device to the specified organizations. Comma separated list of organization ids. Minimum supported version: 1.1-preview", + args: { name: "organizations" }, + }, + { + name: "--simulated", + description: + "Add this flag if you would like IoT Central to set this up as a simulated device. --template is required if this is true", + }, + { + name: "--template", + description: + "Central template id. Example: dtmi:ojpkindbz:modelDefinition:iild3tm_uo", + args: { name: "template" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "delete", + description: "Delete a device from IoT Central", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list", + description: + "Get the list of devices for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--edge-only", "-e"], + description: "Only list IoT Edge devices", + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list-components", + description: "List the components present in a device", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--module-name", "--mn"], + description: "The name of the device module", + args: { name: "module-name" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list-modules", + description: "List the modules present in a device", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "manual-failback", + description: + "Reverts the previously executed failover command by moving the device back to it's original IoT Hub", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "manual-failover", + description: + "Execute a manual failover of device across multiple IoT Hubs to validate device firmware's ability to reconnect using DPS to a different IoT Hub", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + { + name: ["--ttl-minutes", "--ttl"], + description: + "A positive integer. TTL in minutes to move device back to the original hub.Has default value in backend. See documentation on what the latest backend default time to live valueby visiting https://github.com/iot-for-all/iot-central-high-availability-clients#readme", + args: { name: "ttl-minutes" }, + }, + ], + }, + { + name: "registration-info", + description: + "Get registration info on device(s) from IoT Central", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Get a device from IoT Central", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show-credentials", + description: "Get device credentials from IoT Central", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "update", + description: "Update a device in IoT Central", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--device-name", + description: "Human readable device name. Example: Fridge", + args: { name: "device-name" }, + }, + { + name: "--enable", + description: + "Add this flag if you would like IoT Central to enable or disable the device", + args: { name: "enable", suggestions: ["false", "true"] }, + }, + { + name: ["--organizations", "--orgs"], + description: + "Assign the device to the specified organizations. Comma separated list of organization ids. Minimum supported version: 1.1-preview", + args: { name: "organizations" }, + }, + { + name: "--simulated", + description: + "Add this flag if you would like IoT Central to set this up as a simulated device. --template is required if this is true", + args: { name: "simulated", suggestions: ["false", "true"] }, + }, + { + name: "--template", + description: + "Central template id. Example: dtmi:ojpkindbz:modelDefinition:iild3tm_uo", + args: { name: "template" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "attestation", + description: + "Manage and configure IoT Central device attestation", + subcommands: [ + { + name: "create", + description: "Create an individual device attestation", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--content", "-k"], + description: + "Configuration for request. Provide path to JSON file or raw stringified JSON. [File Path Example: ./path/to/file.json] [Stringified JSON Example: {'a': 'b'}]", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "delete", + description: "Remove an individual device attestation", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Get device attestation", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "update", + description: + "Update an individual device attestation via patch", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--content", "-k"], + description: + "Configuration for request. Provide path to JSON file or raw stringified JSON. [File Path Example: ./path/to/file.json] [Stringified JSON Example: {'a': 'b'}]", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "c2d-message", + description: "Run device cloud-to-device messaging commands", + subcommands: [ + { + name: "purge", + description: + "Purges the cloud-to-device message queue for the target device", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "command", + description: "Run device commands", + subcommands: [ + { + name: "history", + description: + "Get the details for the latest command request and response sent to the device", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--command-name", "--cn"], + description: + "The command name as specified in the device template. Command name could be different from the Display Name of the command", + args: { name: "command-name" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--component-name", "--co"], + description: "The name of the device component", + args: { name: "component-name" }, + }, + { + name: ["--interface-id", "-i"], + description: + "The name of the interface/component as specified in the device template.You can find it by navigating to Device Template and view the interface/component identity under the corresponding device capability", + args: { name: "interface-id" }, + }, + { + name: ["--module-name", "--mn"], + description: "The name of the device module", + args: { name: "module-name" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "run", + description: + "Run a command on a device and view associated response. Does NOT monitor property updates that the command may perform", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--command-name", "--cn"], + description: + "The command name as specified in the device template. Command name could be different from the Display Name of the command", + args: { name: "command-name" }, + isRequired: true, + }, + { + name: ["--content", "-k"], + description: + "Configuration for request. Provide path to JSON file or raw stringified JSON. [File Path Example: ./path/to/file.json] [Stringified JSON Example: {'a': 'b'}]", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--component-name", "--co"], + description: "The name of the device component", + args: { name: "component-name" }, + }, + { + name: ["--interface-id", "-i"], + description: + "The name of the interface/component as specified in the device template.You can find it by navigating to Device Template and view the interface/component identity under the corresponding device capability", + args: { name: "interface-id" }, + }, + { + name: ["--module-name", "--mn"], + description: "The name of the device module", + args: { name: "module-name" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "edge", + description: "Manage and configure IoT Central edge devices", + subcommands: [ + { + name: "children", + description: "Manage IoT Edge device children devices", + subcommands: [ + { + name: "add", + description: + "Add devices as children to a target edge device", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: "--children-ids", + description: + "Space-separated list of children device ids", + args: { name: "children-ids" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list", + description: + "Get the list of children of an IoT Edge device", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "remove", + description: + "Remove child devices from a target edge device", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: "--children-ids", + description: + "Space-separated list of children device ids", + args: { name: "children-ids" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "manifest", + description: "Manage IoT Edge device manifests", + subcommands: [ + { + name: "show", + description: + "Get the deployment manifest associated to the specified IoT Edge device", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "module", + description: "Manage IoT Edge device modules", + subcommands: [ + { + name: "list", + description: + "Get the list of modules in an IoT Edge device", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "restart", + description: "Restart a module in an IoT Edge device", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--module-id", "-m"], + description: "The module ID of the target module", + args: { name: "module-id" }, + isRequired: true, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Get a module in an IoT Edge device", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--module-id", "-m"], + description: "The module ID of the target module", + args: { name: "module-id" }, + isRequired: true, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "telemetry", + description: "Query IoT Central device last telemetry value", + subcommands: [ + { + name: "show", + description: "Get the last telemetry value from a device", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--telemetry-name--tn", + description: "The name of the device telemetry", + args: { name: "telemetry-name--tn" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--component-name", "--co"], + description: "The name of the device component", + args: { name: "component-name" }, + }, + { + name: ["--module-name", "--mn"], + description: "The name of the device module", + args: { name: "module-name" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "twin", + description: "Manage IoT Central device twins", + subcommands: [ + { + name: "replace", + description: + "Replace writable property values of a device, a device component or a device module or a device module component", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--content", "-k"], + description: + "Configuration for request. Provide path to JSON file or raw stringified JSON. [File Path Example: ./path/to/file.json] [Stringified JSON Example: {'a': 'b'}]", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--component-name", "--co"], + description: "The name of the device component", + args: { name: "component-name" }, + }, + { + name: ["--module-name", "--mn"], + description: "The name of the device module", + args: { name: "module-name" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: + "Get all property values of a device, a device component, a device module or a device module component", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--component-name", "--co"], + description: "The name of the device component", + args: { name: "component-name" }, + }, + { + name: ["--module-name", "--mn"], + description: "The name of the device module", + args: { name: "module-name" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "update", + description: + "Update writable property values of a device, a device component, a device module or a device module component", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--content", "-k"], + description: + "Configuration for request. Provide path to JSON file or raw stringified JSON. [File Path Example: ./path/to/file.json] [Stringified JSON Example: {'a': 'b'}]", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--component-name", "--co"], + description: "The name of the device component", + args: { name: "component-name" }, + }, + { + name: ["--module-name", "--mn"], + description: "The name of the device module", + args: { name: "module-name" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "device-group", + description: "Manage and configure IoT Central device groups", + subcommands: [ + { + name: "create", + description: "Create a device group", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: "--device-group-id", + description: "Unique ID of the device group", + args: { name: "device-group-id" }, + isRequired: true, + }, + { + name: "--display-name", + description: "Display name of the device group", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--filter", + description: + 'Query defining which devices should be in this group.[Query filter Example: SELECT * FROM devices WHERE $template = "dtmi:modelDefinition:dtdlv2"]', + args: { name: "filter" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--description", + description: "Short summary of device group", + args: { name: "description" }, + }, + { + name: "--organizations", + description: "List of organization IDs of the device group", + args: { name: "organizations" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "delete", + description: "Delete a device group", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: "--device-group-id", + description: "Unique ID of the device group", + args: { name: "device-group-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list", + description: + "Get the list of device groups for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Get the device group by ID", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: "--device-group-id", + description: "Unique ID of the device group", + args: { name: "device-group-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "update", + description: "Update an existing device group", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: "--device-group-id", + description: "Unique ID of the device group", + args: { name: "device-group-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--description", + description: "Short summary of device group", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of the device group", + args: { name: "display-name" }, + }, + { + name: "--filter", + description: + 'Query defining which devices should be in this group.[Query filter Example: SELECT * FROM devices WHERE $template = "dtmi:modelDefinition:dtdlv2"]', + args: { name: "filter" }, + }, + { + name: "--organizations", + description: "List of organization IDs of the device group", + args: { name: "organizations" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "device-template", + description: "Manage and configure IoT Central device templates", + subcommands: [ + { + name: "create", + description: "Create a device template in IoT Central", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--content", "-k"], + description: + "The device template definition. Provide path to JSON file or raw stringified JSON. [File Path Example: ./path/to/file.json] [Example of stringified JSON: {}]. The request body must contain CapabilityModel", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--device-template-id", "--dtid"], + description: + "Digital Twin Model Identifier of the device template. Learn more at https://aka.ms/iotcentraldtmi", + args: { name: "device-template-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "delete", + description: "Delete a device template from IoT Central", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-template-id", "--dtid"], + description: + "The ID of the target device template. Example: somedevicetemplate", + args: { name: "device-template-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list", + description: + "Get the list of device templates for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--compact", "-c"], + description: + "Show templates in compact mode. For each template will only display id, name and model types", + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Get a device template from IoT Central", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-template-id", "--dtid"], + description: + "The ID of the target device template. Example: somedevicetemplate", + args: { name: "device-template-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "update", + description: "Update a device template in IoT Central", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--content", "-k"], + description: + "The device template definition. Provide path to JSON file or raw stringified JSON. [File Path Example: ./path/to/file.json] [Example of stringified JSON: {}]. The request body must contain CapabilityModel", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--device-template-id", "--dtid"], + description: + "The ID of the target device template. Example: somedevicetemplate", + args: { name: "device-template-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "diagnostics", + description: "Perform application and device level diagnostics", + subcommands: [ + { + name: "monitor-events", + description: + "View device telemetry messages sent to the IoT Central app", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--consumer-group", "--cg", "-c"], + description: + "Specify the consumer group to use when connecting to event hub endpoint", + args: { name: "consumer-group" }, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + }, + { + name: ["--enqueued-time", "--et", "-e"], + description: + 'Indicates the time that should be used as a starting point to read messages from the partitions. Units are milliseconds since unix epoch. If no time is indicated "now" is used', + args: { name: "enqueued-time" }, + }, + { + name: ["--module-id", "-m"], + description: + "The IoT Edge Module ID if the device type is IoT Edge", + args: { name: "module-id" }, + }, + { + name: ["--properties", "--props", "-p"], + description: + "Indicate key message properties to output. sys = system properties, app = application properties, anno = annotations", + args: { + name: "properties", + suggestions: ["all", "anno", "app", "sys"], + }, + }, + { + name: ["--repair", "-r"], + description: + "Reinstall uamqp dependency compatible with extension version. Default: false", + }, + { + name: ["--timeout", "--to", "-t"], + description: + "Maximum seconds to maintain connection without receiving message. Use 0 for infinity", + args: { name: "timeout" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + { + name: "monitor-properties", + description: + "View desired and reported properties sent to/from the IoT Central app", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "registration-summary", + description: + "View the registration summary of all the devices in an app", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "validate-messages", + description: + "Validate messages sent to the IoT Hub for an IoT Central app", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--consumer-group", "--cg", "-c"], + description: + "Specify the consumer group to use when connecting to event hub endpoint", + args: { name: "consumer-group" }, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + }, + { + name: ["--duration", "--dr"], + description: + "Maximum duration to receive messages from target device before terminating connection.Use 0 for infinity", + args: { name: "duration" }, + }, + { + name: ["--enqueued-time", "--et", "-e"], + description: + 'Indicates the time that should be used as a starting point to read messages from the partitions. Units are milliseconds since unix epoch. If no time is indicated "now" is used', + args: { name: "enqueued-time" }, + }, + { + name: ["--max-messages", "--mm"], + description: + "Maximum number of messages to recieve from target device before terminating connection.Use 0 for infinity", + args: { name: "max-messages" }, + }, + { + name: "--minimum-severity", + description: + "Minimum severity of issue required for reporting", + args: { + name: "minimum-severity", + suggestions: ["error", "info", "warning"], + }, + }, + { + name: ["--module-id", "-m"], + description: + "The IoT Edge Module ID if the device type is IoT Edge", + args: { name: "module-id" }, + }, + { + name: ["--properties", "--props", "-p"], + description: + "Indicate key message properties to output. sys = system properties, app = application properties, anno = annotations", + args: { + name: "properties", + suggestions: ["all", "anno", "app", "sys"], + }, + }, + { + name: ["--repair", "-r"], + description: + "Reinstall uamqp dependency compatible with extension version. Default: false", + }, + { + name: "--style", + description: + "Indicate output stylescroll = deliver errors as they arrive, json = summarize results as json, csv = summarize results as csv", + args: { + name: "style", + suggestions: ["csv", "json", "scroll"], + }, + }, + { + name: ["--timeout", "--to", "-t"], + description: + "Maximum seconds to maintain connection without receiving message. Use 0 for infinity", + args: { name: "timeout" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + { + name: "validate-properties", + description: + "Validate reported properties sent to the IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: + "The device ID of the target device.You can find the device ID by, clicking on the Connect button on the Device Details page", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--minimum-severity", + description: + "Minimum severity of issue required for reporting", + args: { + name: "minimum-severity", + suggestions: ["error", "info", "warning"], + }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "enrollment-group", + description: "Manage and configure IoT Central enrollment group", + subcommands: [ + { + name: "create", + description: "Create an enrollment group", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--attestation-type", "--at"], + description: + "The attestation mechanism for the enrollment group. Only 'x509' or 'symmetricKey' are allowed.By default 'symmetricKey' will be used for attestation", + args: { + name: "attestation-type", + suggestions: ["symmetricKey", "x509"], + }, + isRequired: true, + }, + { + name: "--display-name", + description: "Display name of the enrollment group", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: ["--group-id", "--id"], + description: "Unique identifier for the enrollment group", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: "--type", + description: "Type of devices that connect through the group", + args: { name: "type" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--certificate-path", "--cp"], + description: + "The path to the file containing the primary certificate", + args: { name: "certificate-path" }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--primary-key", "--pk"], + description: + "The primary symmetric shared access key stored in base64 format", + args: { name: "primary-key" }, + }, + { + name: ["--provisioning-status", "--ps"], + description: + "Whether the devices using the group are allowed to connect to IoT Central. True or False", + args: { + name: "provisioning-status", + suggestions: ["disabled", "enabled"], + }, + }, + { + name: ["--secondary-certificate-path", "--scp"], + description: + "The path to the file containing the secondary certificate", + args: { name: "secondary-certificate-path" }, + }, + { + name: ["--secondary-key", "--sk"], + description: + "The secondary symmetric shared access key stored in base64 format", + args: { name: "secondary-key" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "delete", + description: "Delete an enrollment group by ID", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--group-id", "--id"], + description: "Unique identifier for the enrollment group", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "generate-verification-code", + description: + "Generate a verification code for the primary or secondary x509 certificate of an enrollment group", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--group-id", "--id"], + description: "Unique identifier for the enrollment group", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--certificate-entry", "--entry"], + description: + "Entry type of the x509 certificate which only allows 'primary' and 'secondary'", + args: { + name: "certificate-entry", + suggestions: ["primary", "secondary"], + }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list", + description: + "Get the list of enrollment groups in an application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Get details about an enrollment group by ID", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--group-id", "--id"], + description: "Unique identifier for the enrollment group", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--certificate-entry", "--entry"], + description: + "Entry type of the x509 certificate which only allows 'primary' and 'secondary'", + args: { + name: "certificate-entry", + suggestions: ["primary", "secondary"], + }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "update", + description: "Update an enrollment group", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--group-id", "--id"], + description: "Unique identifier for the enrollment group", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--certificate-entry", "--entry"], + description: + "Entry type of the x509 certificate which only allows 'primary' and 'secondary'", + args: { + name: "certificate-entry", + suggestions: ["primary", "secondary"], + }, + }, + { + name: ["--certificate-path", "--cp"], + description: + "The path to the file containing the primary certificate", + args: { name: "certificate-path" }, + }, + { + name: "--display-name", + description: "Display name of the enrollment group", + args: { name: "display-name" }, + }, + { + name: "--etag", + description: + "ETag used to prevent conflict in enrollment group updates", + args: { name: "etag" }, + }, + { + name: ["--provisioning-status", "--ps"], + description: + "Whether the devices using the group are allowed to connect to IoT Central. True or False", + args: { + name: "provisioning-status", + suggestions: ["disabled", "enabled"], + }, + }, + { + name: "--remove-x509", + description: + "Whether the x509 certificate should be removed from the group. True or False", + args: { name: "remove-x509", suggestions: ["false", "true"] }, + }, + { + name: ["--secondary-certificate-path", "--scp"], + description: + "The path to the file containing the secondary certificate", + args: { name: "secondary-certificate-path" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + { + name: "--type", + description: "Type of devices that connect through the group", + args: { name: "type" }, + }, + ], + }, + { + name: "verify-certificate", + description: + "Verify the primary or secondary x509 certificate of an enrollment group", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--group-id", "--id"], + description: "Unique identifier for the enrollment group", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--certificate-path", "--cp"], + description: + "The path to the file containing the primary certificate", + args: { name: "certificate-path" }, + }, + { + name: ["--secondary-certificate-path", "--scp"], + description: + "The path to the file containing the secondary certificate", + args: { name: "secondary-certificate-path" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "export", + description: "Manage and configure IoT Central data exports", + subcommands: [ + { + name: "create", + description: "Create an export for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--destinations", "--dests"], + description: "The list of destinations with transform", + args: { name: "destinations" }, + isRequired: true, + }, + { + name: ["--display-name", "--name"], + description: "The data export display name", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: ["--export-id", "--id"], + description: "Unique identifier for the export", + args: { name: "export-id" }, + isRequired: true, + }, + { + name: ["--source", "-s"], + description: "The data export source", + args: { + name: "source", + suggestions: [ + "deviceConnectivity", + "deviceLifecycle", + "deviceTemplateLifecycle", + "properties", + "telemetry", + ], + }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--enrichments", "--en"], + description: "The data export enrichment", + args: { name: "enrichments" }, + }, + { + name: ["--enabled", "-e"], + description: + "The enabled status for data export, True or False", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--filter", "-f"], + description: + "IoT Central Query Language based filter, more details from: aka.ms/iotcquery", + args: { name: "filter" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "delete", + description: "Delete an export for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--export-id", "--id"], + description: "Unique identifier for the export", + args: { name: "export-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list", + description: + "Get the full list of exports for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Get an export details", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--export-id", "--id"], + description: "Unique identifier for the export", + args: { name: "export-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "update", + description: "Update an export for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--content", "-k"], + description: + "The partial export definition. Provide path to JSON file or raw stringified JSON. [File Path Example:./path/to/file.json] [Example of stringified JSON:{}]. The request body must contain partial content of Export", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--export-id", "--id"], + description: "Unique identifier for the export", + args: { name: "export-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "destination", + description: + "Manage and configure IoT Central export destinations", + subcommands: [ + { + name: "create", + description: + "Create an export destination for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: "--dest-id", + description: + "Unique identifier for the export destination", + args: { name: "dest-id" }, + isRequired: true, + }, + { + name: ["--display-name", "--name"], + description: "The destination display name", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: ["--type", "-t"], + description: "The destination type", + args: { + name: "type", + suggestions: [ + "blobstorage@v1", + "dataexplorer@v1", + "eventhubs@v1", + "servicebusqueue@v1", + "servicebustopic@v1", + "webhook@v1", + ], + }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview"], + }, + }, + { + name: ["--authorization", "--au"], + description: "The authorization config in json", + args: { name: "authorization" }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--cluster-url", "--cu"], + description: "The azure data explorer cluster url", + args: { name: "cluster-url" }, + }, + { + name: "--database", + description: "The azure data explorer database", + args: { name: "database" }, + }, + { + name: "--header", + description: + "The webhook destination custimized header collection in json", + args: { name: "header" }, + }, + { + name: "--table", + description: "The azure data explorer table", + args: { name: "table" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + { + name: "--url", + description: "The webhook url", + args: { name: "url" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an export destination for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: "--dest-id", + description: + "Unique identifier for the export destination", + args: { name: "dest-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list", + description: + "Get the full list of export destinations for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Get an export destination details", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: "--dest-id", + description: + "Unique identifier for the export destination", + args: { name: "dest-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "update", + description: + "Update an export destination for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--content", "-k"], + description: + "The partial destination definition. Provide path to JSON file or raw stringified JSON. [File Path Example:./path/to/file.json] [Example of stringified JSON:{}]. The request body must contain partial content of Destination", + args: { name: "content" }, + isRequired: true, + }, + { + name: "--dest-id", + description: + "Unique identifier for the export destination", + args: { name: "dest-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "file-upload-config", + description: "Manage and configure IoT Central file upload", + subcommands: [ + { + name: "create", + description: "Create file upload storage account configuration", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--connection-string", "-s"], + description: + "The connection string used to configure the storage account", + args: { name: "connection-string" }, + isRequired: true, + }, + { + name: ["--container", "-c"], + description: + "The name of the container inside the storage account", + args: { name: "container" }, + isRequired: true, + }, + { + name: ["--account", "-a"], + description: + "The storage account name where to upload the file to", + args: { name: "account" }, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--sas-ttl", + description: + "The amount of time the device’s request to upload a file is valid before it expires. ISO 8601 duration standard. Default: 1h", + args: { name: "sas-ttl" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "delete", + description: "Delete file upload storage account configuration", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of file upload storage account configuration", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "update", + description: "Update file upload storage account configuration", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--account", "-a"], + description: + "The storage account name where to upload the file to", + args: { name: "account" }, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--connection-string", "-s"], + description: + "The connection string used to configure the storage account", + args: { name: "connection-string" }, + }, + { + name: ["--container", "-c"], + description: + "The name of the container inside the storage account", + args: { name: "container" }, + }, + { + name: "--sas-ttl", + description: + "The amount of time the device’s request to upload a file is valid before it expires. ISO 8601 duration standard. Default: 1h", + args: { name: "sas-ttl" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "job", + description: + "Manage and configure jobs for an IoT Central application", + subcommands: [ + { + name: "create", + description: "Create and execute a job via its job definition", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--content", "-k"], + description: + "The job data definition. Provide path to JSON file or raw stringified JSON. [File Path Example:./path/to/file.json] [Example of stringified JSON:[{}]. The request body must contain array of JobData", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--group-id", "-g"], + description: + "The ID of the device group on which to execute the job", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--job-id", "-j"], + description: "Unique identifier for the job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--batch", "-b"], + description: + "The number or percentage of devices on which batching is done", + args: { name: "batch" }, + }, + { + name: ["--batch-type", "--bt"], + description: + "Specify if batching is done on a number of devices or a percentage of the total", + args: { + name: "batch-type", + suggestions: ["number", "percentage"], + }, + }, + { + name: ["--cancellation-threshold", "--cth"], + description: + "The number or percentage of devices on which the cancellation threshold is applied", + args: { name: "cancellation-threshold" }, + }, + { + name: ["--cancellation-threshold-batch", "--ctb"], + description: + "Whether the cancellation threshold applies per-batch or to the overall job", + args: { name: "cancellation-threshold-batch" }, + }, + { + name: ["--cancellation-threshold-type", "--ctt"], + description: + "Specify if cancellation threshold applies for a number of devices or a percentage of the total", + args: { + name: "cancellation-threshold-type", + suggestions: ["number", "percentage"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--description", "--desc"], + description: "Detailed description of the job", + args: { name: "description" }, + }, + { + name: "--job-name", + description: "Display name of the job", + args: { name: "job-name" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "get-devices", + description: "Get job device statuses", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--job-id", "-j"], + description: "Unique identifier for the job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list", + description: + "Get the list of jobs for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "rerun", + description: "Re-run a job on all failed devices", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--job-id", "-j"], + description: "Unique identifier for the job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--rerun-id", + description: "Unique identifier for the rerun", + args: { name: "rerun-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "resume", + description: "Resume a stopped job", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--job-id", "-j"], + description: "Unique identifier for the job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a job by ID", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--job-id", "-j"], + description: "Unique identifier for the job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "stop", + description: "Stop a running job", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--job-id", "-j"], + description: "Unique identifier for the job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "organization", + description: + "Manage and configure organizations for an IoT Central application", + subcommands: [ + { + name: "create", + description: "Create an organization in the application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: "--org-id", + description: "Unique identifier for the organization", + args: { name: "org-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--org-name", + description: "Display name of the organization", + args: { name: "org-name" }, + }, + { + name: "--parent-id", + description: "The ID of the parent of the organization", + args: { name: "parent-id" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "delete", + description: "Delete an organization by ID", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: "--org-id", + description: "Unique identifier for the organization", + args: { name: "org-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list", + description: + "Get the list of organizations for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a organization by ID", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: "--org-id", + description: "Unique identifier for the organization", + args: { name: "org-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "update", + description: "Update an organization in the application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: "--org-id", + description: "Unique identifier for the organization", + args: { name: "org-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. The API version for the requested operation", + args: { name: "api-version", suggestions: ["2022-07-31"] }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--org-name", + description: "Display name of the organization", + args: { name: "org-name" }, + }, + { + name: "--parent-id", + description: "The ID of the parent of the organization", + args: { name: "parent-id" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "role", + description: + "Manage and configure roles for an IoT Central application", + subcommands: [ + { + name: "list", + description: + "Get the list of roles for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a role by ID", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--role-id", "-r"], + description: "Unique identifier for the role", + args: { name: "role-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "scheduled-job", + description: "Manage and configure IoT Central schedule job", + subcommands: [ + { + name: "create", + description: "Create a scheduled job by ID", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--content", "-k"], + description: + "The job data definition. Provide path to JSON file or raw stringified JSON. The request body must contain array of JobData", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--group-id", "-g"], + description: + "The ID of the device group on which to execute the job", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--job-id", "--id"], + description: "Unique identifier for the scheduled job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--schedule", + description: + "The schedule at which to execute the job. Provide path to JSON file or raw stringified JSON", + args: { name: "schedule" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--batch", "-b"], + description: + "The number or percentage of devices on which batching is done", + args: { name: "batch" }, + }, + { + name: ["--batch-type", "--bt"], + description: + "Specify if batching is done on a number of devices or a percentage of the total", + args: { + name: "batch-type", + suggestions: ["number", "percentage"], + }, + }, + { + name: ["--cancellation-threshold", "--cth"], + description: + "The number or percentage of devices on which the cancellation threshold is applied", + args: { name: "cancellation-threshold" }, + }, + { + name: ["--cancellation-threshold-batch", "--ctb"], + description: + "Whether the cancellation threshold applies per-batch or to the overall job", + args: { name: "cancellation-threshold-batch" }, + }, + { + name: ["--cancellation-threshold-type", "--ctt"], + description: + "Specify if cancellation threshold applies for a number of devices or a percentage of the total", + args: { + name: "cancellation-threshold-type", + suggestions: ["number", "percentage"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--description", "--desc"], + description: "Detailed description of the job", + args: { name: "description" }, + }, + { + name: "--job-name", + description: "Display name of the job", + args: { name: "job-name" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "delete", + description: "Delete an existing scheduled job by ID", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--job-id", "--id"], + description: "Unique identifier for the scheduled job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list", + description: + "Get the list of scheduled job definitions in an application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list-runs", + description: + "Get the list of job instances for a scheduled job definition", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--job-id", "--id"], + description: "Unique identifier for the scheduled job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Get details about a scheduled job by ID", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--job-id", "--id"], + description: "Unique identifier for the scheduled job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "update", + description: "Update a scheduled job by ID", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--job-id", "--id"], + description: "Unique identifier for the scheduled job", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--batch", "-b"], + description: + "The number or percentage of devices on which batching is done", + args: { name: "batch" }, + }, + { + name: ["--batch-type", "--bt"], + description: + "Specify if batching is done on a number of devices or a percentage of the total", + args: { + name: "batch-type", + suggestions: ["number", "percentage"], + }, + }, + { + name: ["--cancellation-threshold", "--cth"], + description: + "The number or percentage of devices on which the cancellation threshold is applied", + args: { name: "cancellation-threshold" }, + }, + { + name: ["--cancellation-threshold-batch", "--ctb"], + description: + "Whether the cancellation threshold applies per-batch or to the overall job", + args: { name: "cancellation-threshold-batch" }, + }, + { + name: ["--cancellation-threshold-type", "--ctt"], + description: + "Specify if cancellation threshold applies for a number of devices or a percentage of the total", + args: { + name: "cancellation-threshold-type", + suggestions: ["number", "percentage"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: ["--content", "-k"], + description: + "The job data definition. Provide path to JSON file or raw stringified JSON. The request body must contain array of JobData", + args: { name: "content" }, + }, + { + name: ["--description", "--desc"], + description: "Detailed description of the job", + args: { name: "description" }, + }, + { + name: ["--group-id", "-g"], + description: + "The ID of the device group on which to execute the job", + args: { name: "group-id" }, + }, + { + name: "--job-name", + description: "Display name of the job", + args: { name: "job-name" }, + }, + { + name: "--schedule", + description: + "The schedule at which to execute the job. Provide path to JSON file or raw stringified JSON", + args: { name: "schedule" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "user", + description: "Manage and configure IoT Central users", + subcommands: [ + { + name: "create", + description: "Add a user to the application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--assignee", "--user-id"], + description: "ID associated with the user", + args: { name: "assignee" }, + isRequired: true, + }, + { + name: ["--role", "-r"], + description: + "The role that will be associated with this token or user. You can specify one of the built-in roles, or specify the role ID of a custom role. See more at https://aka.ms/iotcentral-customrolesdocs", + args: { name: "role" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--email", + description: + "Email address of user to be added to the app. If this is specified, service principal parameters (tenant_id and object_id) will be ignored", + args: { name: "email" }, + }, + { + name: ["--object-id", "--oid"], + description: + 'Object ID for service principal to be added to the app. Tenant ID must also be specified. If email is specified this gets ignored and the user will not be a service principal user but a standard "email" user', + args: { name: "object-id" }, + }, + { + name: ["--organization-id", "--org-id"], + description: + "The ID of the organization for the user role assignment. Only available for api-version == 1.1-preview", + args: { name: "organization-id" }, + }, + { + name: ["--tenant-id", "--tnid"], + description: + 'Tenant ID for service principal to be added to the app. Object ID must also be specified. If email is specified this gets ignored and the user will not be a service principal user but a standard "email" user', + args: { name: "tenant-id" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "delete", + description: "Delete a user from the application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--assignee", "--user-id"], + description: "ID associated with the user", + args: { name: "assignee" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "list", + description: "Get list of users for an IoT Central application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a user by ID", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--assignee", "--user-id"], + description: "ID associated with the user", + args: { name: "assignee" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + { + name: "update", + description: "Update roles for a user in the application", + options: [ + { + name: ["--app-id", "-n"], + description: + 'The App ID of the IoT Central app you want to manage. You can find the App ID in the "About" page for your application under the help menu', + args: { name: "app-id" }, + isRequired: true, + }, + { + name: ["--assignee", "--user-id"], + description: "ID associated with the user", + args: { name: "assignee" }, + isRequired: true, + }, + { + name: ["--api-version", "--av"], + description: + "Argument 'api_version' has been deprecated and will be removed in a future release. This command parameter has been deprecated and will be ignored.In the future release, we will only support IoT Central APIs from latest GA version.If any API is not GA yet, we will call latest preview version", + args: { + name: "api-version", + suggestions: ["2022-06-30-preview", "2022-07-31"], + }, + }, + { + name: ["--central-dns-suffix", "--central-api-uri"], + description: + "The IoT Central DNS suffix associated with your application", + args: { name: "central-dns-suffix" }, + }, + { + name: "--email", + description: + "Email address of user to be added to the app. If this is specified, service principal parameters (tenant_id and object_id) will be ignored", + args: { name: "email" }, + }, + { + name: ["--object-id", "--oid"], + description: + 'Object ID for service principal to be added to the app. Tenant ID must also be specified. If email is specified this gets ignored and the user will not be a service principal user but a standard "email" user', + args: { name: "object-id" }, + }, + { + name: "--roles", + description: + 'Comma-separated list of roles that will be associated with this user. You can specify one of the built-in roles, or specify the role ID of a custom role. See more at https://aka.ms/iotcentral-customrolesdocs. Organizations can be specified alongside roles when running with API version == 1.1-preview. E.g. "organization_id\\role"', + args: { name: "roles" }, + }, + { + name: ["--tenant-id", "--tnid"], + description: + 'Tenant ID for service principal to be added to the app. Object ID must also be specified. If email is specified this gets ignored and the user will not be a service principal user but a standard "email" user', + args: { name: "tenant-id" }, + }, + { + name: "--token", + description: + "If you'd prefer to submit your request without authenticating against the Azure CLI, you can specify a valid user token to authenticate your request. You must specify the type of key as part of the request. Learn more at https://aka.ms/iotcentraldocsapi", + args: { name: "token" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "device", + description: + "Leverage device simulation and other device-centric operations such as device-to-cloud or cloud-to-device messaging capabilities", + subcommands: [ + { + name: "send-d2c-message", + description: "Send an mqtt device-to-cloud message", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--certificate-file-path", "--cp"], + description: "Path to certificate file", + args: { name: "certificate-file-path" }, + }, + { + name: ["--data", "--da"], + description: "Message body. Provide text or raw json", + args: { name: "data" }, + }, + { + name: ["--data-file-path", "--dfp"], + description: + "Provide path to file for message body payload. Please note when the payload needs to be sent in binary format, set the content type to application/octet-stream", + args: { name: "data-file-path" }, + }, + { + name: ["--model-id", "--dtmi"], + description: + "The Digital Twin Model Id the device will report when connecting to the hub. See https://docs.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play for more details", + args: { name: "model-id" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--symmetric-key", "--key"], + description: + "Symmetric key to use for the device. If the symmetric key and other device authentication arguments are provided, symmetric key takes priority", + args: { name: "symmetric-key" }, + }, + { + name: ["--key-file-path", "--kp"], + description: "Path to key file", + args: { name: "key-file-path" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--msg-count", "--mc"], + description: "Number of device messages to send to IoT Hub", + args: { name: "msg-count" }, + }, + { + name: ["--passphrase", "--pass"], + description: "Passphrase for key file", + args: { name: "passphrase" }, + }, + { + name: ["--properties", "--props", "-p"], + description: + "Message property bag in key-value pairs with the following format: a=b;c=d. For mqtt messaging - you are able to send system properties using $.=value. For instance $.cid=12345 sets the system correlation Id property. Other system property identifier examples include $.ct for content type, $.mid for message Id and $.ce for content encoding", + args: { name: "properties" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "simulate", + description: "Simulate a device in an Azure IoT Hub", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--certificate-file-path", "--cp"], + description: "Path to certificate file", + args: { name: "certificate-file-path" }, + }, + { + name: ["--data", "--da"], + description: "Message body. Provide text or raw json", + args: { name: "data" }, + }, + { + name: ["--model-id", "--dtmi"], + description: + "The Digital Twin Model Id the device will report when connecting to the hub. See https://docs.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play for more details", + args: { name: "model-id" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--init-reported-properties", "--irp"], + description: + "Initial state of twin reported properties for the target device when the simulator is run. Optional param, only supported for mqtt", + args: { name: "init-reported-properties" }, + }, + { + name: ["--symmetric-key", "--key"], + description: + "Symmetric key to use for the device. If the symmetric key and other device authentication arguments are provided, symmetric key takes priority", + args: { name: "symmetric-key" }, + }, + { + name: ["--key-file-path", "--kp"], + description: "Path to key file", + args: { name: "key-file-path" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--msg-count", "--mc"], + description: "Number of device messages to send to IoT Hub", + args: { name: "msg-count" }, + }, + { + name: ["--method-response-code", "--mrc"], + description: + "Status code to be returned when direct method is executed on device. Optional param, only supported for mqtt", + args: { name: "method-response-code" }, + }, + { + name: ["--method-response-payload", "--mrp"], + description: + "Payload to be returned when direct method is executed on device. Provide file path or raw json. Optional param, only supported for mqtt", + args: { name: "method-response-payload" }, + }, + { + name: ["--msg-interval", "--mi"], + description: "Delay in seconds between device-to-cloud messages", + args: { name: "msg-interval" }, + }, + { + name: ["--passphrase", "--pass"], + description: "Passphrase for key file", + args: { name: "passphrase" }, + }, + { + name: ["--properties", "--props", "-p"], + description: + "Message property bag in key-value pairs with the following format: a=b;c=d. For mqtt messaging - you are able to send system properties using $.=value. For instance $.cid=12345 sets the system correlation Id property. Other system property identifier examples include $.ct for content type, $.mid for message Id and $.ce for content encoding. For http messaging - application properties are sent using iothub-app-=value, for instance iothub-app-myprop=myvalue. System properties are generally prefixed with iothub- like iothub-correlationid but there are exceptions such as content-type and content-encoding", + args: { name: "properties" }, + }, + { + name: ["--protocol", "--proto"], + description: "Indicates device-to-cloud message protocol", + args: { name: "protocol", suggestions: ["http", "mqtt"] }, + }, + { + name: ["--receive-settle", "--rs"], + description: + "Indicates how to settle received cloud-to-device messages. Supported with HTTP only", + args: { + name: "receive-settle", + suggestions: ["abandon", "complete", "reject"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "upload-file", + description: + "Upload a local file as a device to a pre-configured blob storage container", + options: [ + { + name: ["--content-type", "--ct"], + description: "MIME Type of file", + args: { name: "content-type" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--file-path", "--fp"], + description: "Path to file for upload", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "c2d-message", + description: "Cloud-to-device messaging commands", + subcommands: [ + { + name: "abandon", + description: "Abandon a cloud-to-device message", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "complete", + description: "Complete a cloud-to-device message", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "purge", + description: + "Purge cloud-to-device message queue for a target device", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "receive", + description: "Receive a cloud-to-device message", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--abandon", + description: + "Abandon the cloud-to-device message after receipt", + }, + { + name: "--complete", + description: + "Complete the cloud-to-device message after receipt", + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--lock-timeout", "--lt"], + description: + "Specifies the amount of time a message will be invisible to other receive calls", + args: { name: "lock-timeout" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: "--reject", + description: + "Reject the cloud-to-device message after receipt", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "reject", + description: "Reject or deadletter a cloud-to-device message", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "send", + description: "Send a cloud-to-device message", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--ack", + description: + "Request the delivery of per-message feedback regarding the final state of that message. The description of ack values is as follows. Positive: If the c2d message reaches the Completed state, IoT Hub generates a feedback message. Negative: If the c2d message reaches the Dead lettered state, IoT Hub generates a feedback message. Full: IoT Hub generates a feedback message in either case. By default, no ack is requested", + args: { + name: "ack", + suggestions: ["full", "negative", "positive"], + }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--content-encoding", "--ce"], + description: "The encoding for the C2D message body", + args: { name: "content-encoding" }, + }, + { + name: ["--correlation-id", "--cid"], + description: + "The correlation Id associated with the C2D message", + args: { name: "correlation-id" }, + }, + { + name: ["--content-type", "--ct"], + description: "The content type for the C2D message body", + args: { name: "content-type" }, + }, + { + name: ["--data", "--da"], + description: "Message body. Provide text or raw json", + args: { name: "data" }, + }, + { + name: ["--data-file-path", "--dfp"], + description: + "Provide path to file for message body payload. Please note when the payload needs to be sent in binary format, set the content type to application/octet-stream", + args: { name: "data-file-path" }, + }, + { + name: ["--expiry-time-utc", "--expiry"], + description: + "Units are milliseconds since unix epoch. If no time is indicated the default IoT Hub C2D message TTL is used", + args: { name: "expiry-time-utc" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--message-id", "--mid"], + description: + "The C2D message Id. If no message Id is provided a UUID will be generated", + args: { name: "message-id" }, + }, + { + name: ["--properties", "--props", "-p"], + description: + "Message property bag in key-value pairs with the following format: a=b;c=d", + args: { name: "properties" }, + }, + { + name: ["--repair", "-r"], + description: + "Reinstall uamqp dependency compatible with extension version. Default: false", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--user-id", "--uid"], + description: "The C2D message, user Id property", + args: { name: "user-id" }, + }, + { + name: ["--wait", "-w"], + description: + "If set the c2d send operation will block until device feedback has been received", + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + ], + }, + { + name: "registration", + description: + "Manage IoT device registrations for the IoT Device Provisioning Service.\n\n\t\tUse az iot dps enrollment registration or az iot dps enrollment-group registration to view and delete registrations", + subcommands: [ + { + name: "create", + description: + "Register an IoT device with the IoT Device Provisioning Service", + options: [ + { + name: ["--registration-id", "--rid"], + description: + "Device registration ID or individual enrollment ID", + args: { name: "registration-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--certificate-file-path", "--cp"], + description: + "Path to certificate PEM file. Required for x509 registrations", + args: { name: "certificate-file-path" }, + }, + { + name: ["--compute-key", "--ck"], + description: + "Flag to indicate that the symmetric key for the device registration should be computed from the given key with --symmetric-key", + }, + { + name: ["--dps-name", "-n"], + description: + "Name of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided or authenticaton arguments and --id-scope are not provided", + args: { name: "dps-name" }, + }, + { + name: ["--enrollment-group-id", "--group-id", "--gid"], + description: + "Enrollment group ID. Only needed to retrieve authentication arguments", + args: { name: "enrollment-group-id" }, + }, + { + name: ["--provisioning-host", "--host"], + description: + "Endpoint pointing to the provisioning host to use", + args: { name: "provisioning-host" }, + }, + { + name: ["--id-scope", "--scope"], + description: + "Id Scope of the Azure IoT Hub Device Provisioning Service. If provided with authentication arguments, will avoid session login", + args: { name: "id-scope" }, + }, + { + name: ["--symmetric-key", "--key"], + description: + "The symmetric shared access key for the device registration", + args: { name: "symmetric-key" }, + }, + { + name: ["--key-file-path", "--kp"], + description: + "Path to key PEM file. Required for x509 registrations", + args: { name: "key-file-path" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided or authenticaton arguments and --id-scope are not provided', + args: { name: "login" }, + }, + { + name: ["--passphrase", "--pass"], + description: "Passphrase for the certificate", + args: { name: "passphrase" }, + }, + { + name: "--payload", + description: + "Custom allocation payload as JSON. Specifically for use with custom allocation policies using Azure Functions", + args: { name: "payload" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "dps", + description: "Manage Azure IoT Hub Device Provisioning Service", + subcommands: [ + { + name: "compute-device-key", + description: "Generate a derived device SAS key", + options: [ + { + name: "--registration-id", + description: "ID of device registration", + args: { name: "registration-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--enrollment-id", "--group-id", "--eid", "--gid"], + description: "Enrollment group ID", + args: { name: "enrollment-id" }, + }, + { + name: ["--symmetric-key", "--key"], + description: + "The symmetric shared access key for the enrollment group. This bypasses the Device Provisioning Service registry and generates the SAS token directly from the supplied symmetric key without further validation. All other command parameters aside from registration ID will be ignored", + args: { name: "symmetric-key" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "create", + description: + "Create an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: ["--name", "-n"], + description: "IoT Hub Device Provisioning Service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--enforce-data-residency", "--edr"], + description: + "Enforce data residency for this IoT Hub Device Provisioning Service by disabling cross geo-pair disaster recovery. This property is immutable once set on the resource. Only available in select regions. Learn more at https://aka.ms/dpsdr", + args: { + name: "enforce-data-residency", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location of your IoT Hub Device Provisioning Service. Default is the location of target resource group", + args: { name: "location" }, + }, + { + name: "--sku", + description: + "Pricing tier for the IoT Hub Device Provisioning Service", + args: { name: "sku", suggestions: ["S1"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--unit", + description: "Units in your IoT Hub Device Provisioning Service", + args: { name: "unit" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub Device Provisioning Service name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List Azure IoT Hub Device Provisioning Service instances", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub Device Provisioning Service name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub Device Provisioning Service name", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "certificate", + description: + "Manage certificates for an Azure IoT Hub Device Provisioning Service instance", + subcommands: [ + { + name: "create", + description: + "Create/upload a certficate to an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: ["--certificate-name", "--name", "-n"], + description: "A friendly name for the certificate", + args: { name: "certificate-name" }, + isRequired: true, + }, + { + name: "--dps-name", + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "The path to the file containing the certificate", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--verified", "-v"], + description: + "A boolean indicating whether or not the certificate is verified", + args: { name: "verified", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "delete", + description: + "Delete a certificate in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: ["--certificate-name", "--name", "-n"], + description: "A friendly name for the certificate", + args: { name: "certificate-name" }, + isRequired: true, + }, + { + name: "--dps-name", + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: ["--etag", "-e"], + description: "Entity Tag (etag) of the object", + args: { name: "etag" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "generate-verification-code", + description: + "Generate a verification code for a certificate in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: ["--certificate-name", "--name", "-n"], + description: "A friendly name for the certificate", + args: { name: "certificate-name" }, + isRequired: true, + }, + { + name: "--dps-name", + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: ["--etag", "-e"], + description: "Entity Tag (etag) of the object", + args: { name: "etag" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List all certificates contained within an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: "--dps-name", + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show information about a particular certificate in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: ["--certificate-name", "--name", "-n"], + description: "A friendly name for the certificate", + args: { name: "certificate-name" }, + isRequired: true, + }, + { + name: "--dps-name", + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update a certificate in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: ["--certificate-name", "--name", "-n"], + description: "A friendly name for the certificate", + args: { name: "certificate-name" }, + isRequired: true, + }, + { + name: "--dps-name", + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: ["--etag", "-e"], + description: "Entity Tag (etag) of the object", + args: { name: "etag" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "The path to the file containing the certificate", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--verified", "-v"], + description: + "A boolean indicating whether or not the certificate is verified", + args: { name: "verified", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "verify", + description: + "Verify a certificate in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: ["--certificate-name", "--name", "-n"], + description: "A friendly name for the certificate", + args: { name: "certificate-name" }, + isRequired: true, + }, + { + name: "--dps-name", + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: ["--etag", "-e"], + description: "Entity Tag (etag) of the object", + args: { name: "etag" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "The path to the file containing the certificate", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "connection-string", + description: + "Manage connection strings for an Azure IoT Hub Device Provisioning Service instance", + subcommands: [ + { + name: "show", + description: + "Show the connection strings for the specified Device Provisioning Services using the given policy name and key", + options: [ + { + name: ["--show-all", "--all"], + description: + "Show all shared access policies for the respective DPS", + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--key-type", "--kt"], + description: + "Shared access policy key type for authentication", + args: { + name: "key-type", + suggestions: ["primary", "secondary"], + }, + }, + { + name: ["--policy-name", "--pn"], + description: "Shared access policy to use for authentication", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "enrollment", + description: + "Manage individual device enrollments in an Azure IoT Hub Device Provisioning Service", + subcommands: [ + { + name: "create", + description: + "Create an individual device enrollment in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--attestation-type", "--at"], + description: + "Attestation Mechanism used for authentication to the DPS", + args: { + name: "attestation-type", + suggestions: ["symmetricKey", "tpm", "x509"], + }, + isRequired: true, + }, + { + name: ["--enrollment-id", "--eid"], + description: "Individual device enrollment ID", + args: { name: "enrollment-id" }, + isRequired: true, + }, + { + name: ["--allocation-policy", "--ap"], + description: + "Type of allocation policy to determine how a device is assigned to an IoT Hub. If not provided, the allocation policy will be the current allocation policy default set for the Device Provisioning Service instance", + args: { + name: "allocation-policy", + suggestions: ["custom", "geoLatency", "hashed", "static"], + }, + }, + { + name: ["--api-version", "--av"], + description: + "The API version of the provisioning service types sent in the custom allocation request. Minimum supported version: 2018-09-01-preview", + args: { name: "api-version" }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--certificate-path", "--cp"], + description: + "The path to the file containing the primary certificate. Required when choosing x509 as attestation type and the secondary certificate path is not provided", + args: { name: "certificate-path" }, + }, + { + name: ["--device-id", "-d"], + description: "Device ID registered in the IoT Hub", + args: { name: "device-id" }, + }, + { + name: ["--device-information", "--info"], + description: "Optional device information", + args: { name: "device-information" }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--edge-enabled", "--ee"], + description: "Flag indicating edge enablement", + }, + { + name: ["--endorsement-key", "--ek"], + description: + "TPM endorsement key for a TPM device. When choosing tpm as attestation type, endorsement key is required", + args: { name: "endorsement-key" }, + }, + { + name: ["--iot-hubs", "--ih"], + description: + "Host name of target IoT Hub associated with the allocation policy. Use space-separated list for multiple IoT Hubs", + args: { name: "iot-hubs" }, + }, + { + name: ["--initial-twin-properties", "--props"], + description: "Initial device twin properties", + args: { name: "initial-twin-properties" }, + }, + { + name: ["--initial-twin-tags", "--tags"], + description: "Initial device twin tags", + args: { name: "initial-twin-tags" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--primary-key", "--pk"], + description: + "The primary symmetric shared access key stored in base64 format", + args: { name: "primary-key" }, + }, + { + name: ["--provisioning-status", "--ps"], + description: "Enable or disable enrollment entry", + args: { + name: "provisioning-status", + suggestions: ["disabled", "enabled"], + }, + }, + { + name: ["--reprovision-policy", "--rp"], + description: + "Policy to determine how device data should be handled on re-provision to a different IoT Hub", + args: { + name: "reprovision-policy", + suggestions: [ + "never", + "reprovisionandmigratedata", + "reprovisionandresetdata", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--secondary-certificate-path", "--scp"], + description: + "The path to the file containing the secondary certificate. Required when choosing x509 as attestation type and the primary certificate path is not provided", + args: { name: "secondary-certificate-path" }, + }, + { + name: ["--secondary-key", "--sk"], + description: + "The secondary symmetric shared access key stored in base64 format", + args: { name: "secondary-key" }, + }, + { + name: ["--webhook-url", "--wh"], + description: + "The Azure Function webhook URL used for custom allocation requests", + args: { name: "webhook-url" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an individual device enrollment in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--enrollment-id", "--eid"], + description: "Individual device enrollment ID", + args: { name: "enrollment-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List individual device enrollments in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: + "Maximum number of elements to return. Use -1 for unlimited", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Get individual device enrollment details in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--enrollment-id", "--eid"], + description: "Individual device enrollment ID", + args: { name: "enrollment-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--show-keys", "--keys"], + description: + "Include attestation keys and information in enrollment results", + args: { name: "show-keys", suggestions: ["false", "true"] }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update an individual device enrollment in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--enrollment-id", "--eid"], + description: "Individual device enrollment ID", + args: { name: "enrollment-id" }, + isRequired: true, + }, + { + name: ["--allocation-policy", "--ap"], + description: + "Type of allocation policy to determine how a device is assigned to an IoT Hub. If not provided, the allocation policy will be the current allocation policy default set for the Device Provisioning Service instance", + args: { + name: "allocation-policy", + suggestions: ["custom", "geoLatency", "hashed", "static"], + }, + }, + { + name: ["--api-version", "--av"], + description: + "The API version of the provisioning service types sent in the custom allocation request. Minimum supported version: 2018-09-01-preview", + args: { name: "api-version" }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--certificate-path", "--cp"], + description: + "The path to the file containing the primary certificate", + args: { name: "certificate-path" }, + }, + { + name: ["--device-id", "-d"], + description: "Device ID registered in the IoT Hub", + args: { name: "device-id" }, + }, + { + name: ["--device-information", "--info"], + description: "Optional device information", + args: { name: "device-information" }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--edge-enabled", "--ee"], + description: "Flag indicating edge enablement", + args: { + name: "edge-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: ["--endorsement-key", "--ek"], + description: "TPM endorsement key for a TPM device", + args: { name: "endorsement-key" }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--iot-hubs", "--ih"], + description: + "Host name of target IoT Hub associated with the allocation policy. Use space-separated list for multiple IoT Hubs", + args: { name: "iot-hubs" }, + }, + { + name: ["--initial-twin-properties", "--props"], + description: "Initial device twin properties", + args: { name: "initial-twin-properties" }, + }, + { + name: ["--initial-twin-tags", "--tags"], + description: "Initial device twin tags", + args: { name: "initial-twin-tags" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--primary-key", "--pk"], + description: + "The primary symmetric shared access key stored in base64 format", + args: { name: "primary-key" }, + }, + { + name: ["--provisioning-status", "--ps"], + description: "Enable or disable enrollment entry", + args: { + name: "provisioning-status", + suggestions: ["disabled", "enabled"], + }, + }, + { + name: ["--remove-certificate", "--rc"], + description: "Flag to remove current primary certificate", + args: { + name: "remove-certificate", + suggestions: ["false", "true"], + }, + }, + { + name: ["--remove-secondary-certificate", "--rsc"], + description: "Flag to remove current secondary certificate", + args: { + name: "remove-secondary-certificate", + suggestions: ["false", "true"], + }, + }, + { + name: ["--reprovision-policy", "--rp"], + description: + "Policy to determine how device data should be handled on re-provision to a different IoT Hub", + args: { + name: "reprovision-policy", + suggestions: [ + "never", + "reprovisionandmigratedata", + "reprovisionandresetdata", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--secondary-certificate-path", "--scp"], + description: + "The path to the file containing the secondary certificate", + args: { name: "secondary-certificate-path" }, + }, + { + name: ["--secondary-key", "--sk"], + description: + "The secondary symmetric shared access key stored in base64 format", + args: { name: "secondary-key" }, + }, + { + name: ["--webhook-url", "--wh"], + description: + "The Azure Function webhook URL used for custom allocation requests", + args: { name: "webhook-url" }, + }, + ], + }, + { + name: "registration", + description: + "Manage service-side device registrations for an individual enrollment in an Azure IoT Hub Device Provisioning Service.\n\n\t\tUse az iot device registration create to simulate device registration", + subcommands: [ + { + name: "delete", + description: + "Delete a device registration for an individual enrollment in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--enrollment-id", "--eid"], + description: "Individual device enrollment ID", + args: { name: "enrollment-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { + name: "auth-type", + suggestions: ["key", "login"], + }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get a device registration for an individual enrollment in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--enrollment-id", "--eid"], + description: "Individual device enrollment ID", + args: { name: "enrollment-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { + name: "auth-type", + suggestions: ["key", "login"], + }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "enrollment-group", + description: + "Manage enrollment groups in an Azure IoT Hub Device Provisioning Service", + subcommands: [ + { + name: "compute-device-key", + description: + "Generate a derived device SAS key for an enrollment group in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--registration-id", "--rid"], + description: "ID of device registration", + args: { name: "registration-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--enrollment-id", "--group-id", "--eid", "--gid"], + description: "Enrollment group ID", + args: { name: "enrollment-id" }, + }, + { + name: ["--symmetric-key", "--key"], + description: + "The symmetric shared access key for the enrollment group. This bypasses the Device Provisioning Service registry and generates the SAS token directly from the supplied symmetric key without further validation. All other command parameters aside from registration ID will be ignored", + args: { name: "symmetric-key" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "create", + description: + "Create an enrollment group in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--enrollment-id", "--group-id", "--eid", "--gid"], + description: "Enrollment group ID", + args: { name: "enrollment-id" }, + isRequired: true, + }, + { + name: ["--allocation-policy", "--ap"], + description: + "Type of allocation policy to determine how a device is assigned to an IoT Hub. If not provided, the allocation policy will be the current allocation policy default set for the Device Provisioning Service instance", + args: { + name: "allocation-policy", + suggestions: ["custom", "geoLatency", "hashed", "static"], + }, + }, + { + name: ["--api-version", "--av"], + description: + "The API version of the provisioning service types sent in the custom allocation request. Minimum supported version: 2018-09-01-preview", + args: { name: "api-version" }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--root-ca-name", "--ca-name", "--cn"], + description: + "The name of the primary root CA certificate. If attestation with a root CA certificate is desired then a root ca name must be provided", + args: { name: "root-ca-name" }, + }, + { + name: ["--certificate-path", "--cp"], + description: + "The path to the file containing the primary certificate. If attestation with an intermediate certificate is desired then a certificate path must be provided", + args: { name: "certificate-path" }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--edge-enabled", "--ee"], + description: "Flag indicating edge enablement", + }, + { + name: ["--iot-hubs", "--ih"], + description: + "Host name of target IoT Hub associated with the allocation policy. Use space-separated list for multiple IoT Hubs", + args: { name: "iot-hubs" }, + }, + { + name: ["--initial-twin-properties", "--props"], + description: "Initial device twin properties", + args: { name: "initial-twin-properties" }, + }, + { + name: ["--initial-twin-tags", "--tags"], + description: "Initial device twin tags", + args: { name: "initial-twin-tags" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--primary-key", "--pk"], + description: + "The primary symmetric shared access key stored in base64 format", + args: { name: "primary-key" }, + }, + { + name: ["--provisioning-status", "--ps"], + description: "Enable or disable enrollment entry", + args: { + name: "provisioning-status", + suggestions: ["disabled", "enabled"], + }, + }, + { + name: ["--reprovision-policy", "--rp"], + description: + "Policy to determine how device data should be handled on re-provision to a different IoT Hub", + args: { + name: "reprovision-policy", + suggestions: [ + "never", + "reprovisionandmigratedata", + "reprovisionandresetdata", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: [ + "--secondary-root-ca-name", + "--secondary-ca-name", + "--scn", + ], + description: + "The name of the secondary root CA certificate. If attestation with a root CA certificate is desired then a root ca name must be provided", + args: { name: "secondary-root-ca-name" }, + }, + { + name: ["--secondary-certificate-path", "--scp"], + description: + "The path to the file containing the secondary certificate. If attestation with an intermediate certificate is desired then a certificate path must be provided", + args: { name: "secondary-certificate-path" }, + }, + { + name: ["--secondary-key", "--sk"], + description: + "The secondary symmetric shared access key stored in base64 format", + args: { name: "secondary-key" }, + }, + { + name: ["--webhook-url", "--wh"], + description: + "The Azure Function webhook URL used for custom allocation requests", + args: { name: "webhook-url" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an enrollment group in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--enrollment-id", "--group-id", "--eid", "--gid"], + description: "Enrollment group ID", + args: { name: "enrollment-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List enrollments groups in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: + "Maximum number of elements to return. Use -1 for unlimited", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Get an enrollment group's details in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--enrollment-id", "--group-id", "--eid", "--gid"], + description: "Enrollment group ID", + args: { name: "enrollment-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--show-keys", "--keys"], + description: + "Include attestation keys and information in enrollment group results", + args: { name: "show-keys", suggestions: ["false", "true"] }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update an enrollment group in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--enrollment-id", "--group-id", "--eid", "--gid"], + description: "Enrollment group ID", + args: { name: "enrollment-id" }, + isRequired: true, + }, + { + name: ["--allocation-policy", "--ap"], + description: + "Type of allocation policy to determine how a device is assigned to an IoT Hub. If not provided, the allocation policy will be the current allocation policy default set for the Device Provisioning Service instance", + args: { + name: "allocation-policy", + suggestions: ["custom", "geoLatency", "hashed", "static"], + }, + }, + { + name: ["--api-version", "--av"], + description: + "The API version of the provisioning service types sent in the custom allocation request. Minimum supported version: 2018-09-01-preview", + args: { name: "api-version" }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--root-ca-name", "--ca-name", "--cn"], + description: + "The name of the primary root CA certificate. If attestation with a root CA certificate is desired then a root ca name must be provided", + args: { name: "root-ca-name" }, + }, + { + name: ["--certificate-path", "--cp"], + description: + "The path to the file containing the primary certificate. If attestation with an intermediate certificate is desired then a certificate path must be provided", + args: { name: "certificate-path" }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--edge-enabled", "--ee"], + description: "Flag indicating edge enablement", + args: { + name: "edge-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--iot-hubs", "--ih"], + description: + "Host name of target IoT Hub associated with the allocation policy. Use space-separated list for multiple IoT Hubs", + args: { name: "iot-hubs" }, + }, + { + name: ["--initial-twin-properties", "--props"], + description: "Initial device twin properties", + args: { name: "initial-twin-properties" }, + }, + { + name: ["--initial-twin-tags", "--tags"], + description: "Initial device twin tags", + args: { name: "initial-twin-tags" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--primary-key", "--pk"], + description: + "The primary symmetric shared access key stored in base64 format", + args: { name: "primary-key" }, + }, + { + name: ["--provisioning-status", "--ps"], + description: "Enable or disable enrollment entry", + args: { + name: "provisioning-status", + suggestions: ["disabled", "enabled"], + }, + }, + { + name: ["--remove-certificate", "--rc"], + description: "Flag to remove current primary certificate", + args: { + name: "remove-certificate", + suggestions: ["false", "true"], + }, + }, + { + name: ["--remove-secondary-certificate", "--rsc"], + description: "Flag to remove current secondary certificate", + args: { + name: "remove-secondary-certificate", + suggestions: ["false", "true"], + }, + }, + { + name: ["--reprovision-policy", "--rp"], + description: + "Policy to determine how device data should be handled on re-provision to a different IoT Hub", + args: { + name: "reprovision-policy", + suggestions: [ + "never", + "reprovisionandmigratedata", + "reprovisionandresetdata", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: [ + "--secondary-root-ca-name", + "--secondary-ca-name", + "--scn", + ], + description: + "The name of the secondary root CA certificate. If attestation with a root CA certificate is desired then a root ca name must be provided", + args: { name: "secondary-root-ca-name" }, + }, + { + name: ["--secondary-certificate-path", "--scp"], + description: + "The path to the file containing the secondary certificate. If attestation with an intermediate certificate is desired then a certificate path must be provided", + args: { name: "secondary-certificate-path" }, + }, + { + name: ["--secondary-key", "--sk"], + description: + "The secondary symmetric shared access key stored in base64 format", + args: { name: "secondary-key" }, + }, + { + name: ["--webhook-url", "--wh"], + description: + "The Azure Function webhook URL used for custom allocation requests", + args: { name: "webhook-url" }, + }, + ], + }, + { + name: "registration", + description: + "Manage service-side device registrations for an enrollment group in an Azure IoT Hub Device Provisioning Service.\n\n\t\tUse az iot device registration create to simulate device registration", + subcommands: [ + { + name: "delete", + description: + "Delete a device registration for an enrollment group in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--registration-id", "--rid"], + description: "ID of device registration", + args: { name: "registration-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { + name: "auth-type", + suggestions: ["key", "login"], + }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List device registrations for an enrollment group in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--enrollment-id", "--group-id", "--eid", "--gid"], + description: "Enrollment group ID", + args: { name: "enrollment-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { + name: "auth-type", + suggestions: ["key", "login"], + }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get a device registration for an enrollment group in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--registration-id", "--rid"], + description: "ID of device registration", + args: { name: "registration-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { + name: "auth-type", + suggestions: ["key", "login"], + }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "linked-hub", + description: + "Manage linked IoT Hubs in an Azure IoT Hub Device Provisioning Service instance", + subcommands: [ + { + name: "create", + description: + "Create a linked IoT hub in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: "--dps-name", + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: "--allocation-weight", + description: "Allocation weight of the IoT hub", + args: { name: "allocation-weight" }, + }, + { + name: "--apply-allocation-policy", + description: + "A boolean indicating whether to apply allocation policy to the IoT hub", + args: { + name: "apply-allocation-policy", + suggestions: ["false", "true"], + }, + }, + { + name: "--connection-string", + description: + "Connection string of the IoT hub. Required if hub name is not provided using --hub-name", + args: { name: "connection-string" }, + }, + { + name: ["--hub-name", "--hn"], + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: ["--hub-resource-group", "--hrg"], + description: "IoT Hub resource group name", + args: { name: "hub-resource-group" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Update a linked IoT hub in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: "--dps-name", + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: "--linked-hub", + description: "Host name of linked IoT Hub", + args: { name: "linked-hub" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List all linked IoT hubs in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: "--dps-name", + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a linked IoT hub in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: "--dps-name", + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: "--linked-hub", + description: "Host name of linked IoT Hub", + args: { name: "linked-hub" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update a linked IoT hub in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: "--dps-name", + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: "--linked-hub", + description: "Host name of linked IoT Hub", + args: { name: "linked-hub" }, + isRequired: true, + }, + { + name: "--allocation-weight", + description: "Allocation weight of the IoT hub", + args: { name: "allocation-weight" }, + }, + { + name: "--apply-allocation-policy", + description: + "A boolean indicating whether to apply allocation policy to the Iot hub", + args: { + name: "apply-allocation-policy", + suggestions: ["false", "true"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "policy", + description: + "Manage shared access policies for an Azure IoT Hub Device Provisioning Service instance", + subcommands: [ + { + name: "create", + description: + "Create a new shared access policy in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: ["--dps-name", "-n"], + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: ["--policy-name", "--pn"], + description: "A friendly name for DPS access policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--rights", "-r"], + description: + "Access rights for the IoT Hub Device Provisioning Service. Use space-separated list for multiple rights", + args: { + name: "rights", + suggestions: [ + "DeviceConnect", + "EnrollmentRead", + "EnrollmentWrite", + "RegistrationStatusRead", + "RegistrationStatusWrite", + "ServiceConfig", + ], + }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--primary-key", + description: "Primary SAS key value", + args: { name: "primary-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secondary-key", + description: "Secondary SAS key value", + args: { name: "secondary-key" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a shared access policies in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: ["--dps-name", "-n"], + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: ["--policy-name", "--pn"], + description: "A friendly name for DPS access policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List all shared access policies in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: ["--dps-name", "-n"], + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a shared access policies in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: ["--dps-name", "-n"], + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: ["--policy-name", "--pn"], + description: "A friendly name for DPS access policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update a shared access policy in an Azure IoT Hub Device Provisioning Service instance", + options: [ + { + name: ["--dps-name", "-n"], + description: "IoT Hub Device Provisioning Service name", + args: { name: "dps-name" }, + isRequired: true, + }, + { + name: ["--policy-name", "--pn"], + description: "A friendly name for DPS access policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--primary-key", + description: "Primary SAS key value", + args: { name: "primary-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rights", "-r"], + description: + "Access rights for the IoT Hub Device Provisioning Service. Use space-separated list for multiple rights", + args: { + name: "rights", + suggestions: [ + "DeviceConnect", + "EnrollmentRead", + "EnrollmentWrite", + "RegistrationStatusRead", + "RegistrationStatusWrite", + "ServiceConfig", + ], + }, + }, + { + name: "--secondary-key", + description: "Secondary SAS key value", + args: { name: "secondary-key" }, + }, + ], + }, + ], + }, + { + name: "registration", + description: + "Manage device registrations for an enrollment group in an Azure IoT Hub Device Provisioning Service", + subcommands: [ + { + name: "delete", + description: + "Delete a device registration in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: "--registration-id", + description: "ID of device registration", + args: { name: "registration-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List device registrations for an enrollment group in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: ["--enrollment-id", "--group-id", "--eid", "--gid"], + description: "Enrollment group ID", + args: { name: "enrollment-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get a device registration for an enrollment group in an Azure IoT Hub Device Provisioning Service", + options: [ + { + name: "--registration-id", + description: "ID of device registration", + args: { name: "registration-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iotdps-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--dps-name", "-n"], + description: + "Name or hostname of the Azure IoT Hub Device Provisioning Service. Required if --login is not provided", + args: { name: "dps-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --dps-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "du", + description: + "Device Update for IoT Hub is a service that enables you to deploy over-the-air updates (OTA) for your IoT devices.\n\n\t\tAs organizations look to further enable productivity and operational efficiency, Internet of Things (IoT) solutions continue to be adopted at increasing rates. This makes it essential that the devices forming these solutions are built on a foundation of reliability and security and are easy to connect and manage at scale. Device Update for IoT Hub is an end-to-end platform that customers can use to publish, distribute, and manage over-the-air updates for everything from tiny sensors to gateway-level devices.\nTo learn more about the Device Update for IoT Hub service visit https://docs.microsoft.com/en-us/azure/iot-hub-device-update/", + subcommands: [ + { + name: "account", + description: "Device Update account management", + subcommands: [ + { + name: "create", + description: "Create a Device Update account", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--assign-identity", + description: + "Accepts system or user assigned identities separated by spaces. Use '[system]' to refer to the system assigned identity, or a resource Id to refer to a user assigned identity. Check out help for examples", + args: { name: "assign-identity" }, + }, + { + name: ["--location", "-l"], + description: + "Device Update account location. If no location is provided the resource group location is used. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--public-network-access", "--pna"], + description: + "Indicates if the Device Update account can be accessed from a public network", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--role", + description: + "Role name or Id the system assigned identity will have", + args: { name: "role" }, + }, + { + name: "--scopes", + description: + "Space-separated scopes the system assigned identity can access. Cannot be used with --no-wait", + args: { name: "scopes" }, + }, + { + name: "--sku", + description: "Device Update account SKU", + args: { name: "sku", suggestions: ["Free", "Standard"] }, + }, + { + name: "--tags", + description: + "Resource tags. Property bag in key-value pairs with the following format: a=b c=d", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Device Update account", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + { + name: "list", + description: + "List all Device Update accounts in a subscription or resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a Device Update account", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update a Device Update account", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Block until a desired account resource state has been met", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "private-endpoint-connection", + description: + "Device Update account private endpoint connection management", + subcommands: [ + { + name: "delete", + description: + "Delete a private endpoint connection associated with a Device Update account", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--conn-name", "--cn"], + description: "Private endpoint connection name", + args: { name: "conn-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + { + name: "list", + description: + "List private endpoint connections associated with a Device Update account", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "set", + description: + "Set the state of a private endpoint connection associated with a Device Update account", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--conn-name", "--cn"], + description: "Private endpoint connection name", + args: { name: "conn-name" }, + isRequired: true, + }, + { + name: "--status", + description: + "The status of the private endpoint connection", + args: { + name: "status", + suggestions: ["Approved", "Pending", "Rejected"], + }, + isRequired: true, + }, + { + name: "--desc", + description: + "The reason for approval/rejection of the connection", + args: { name: "desc" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show a private endpoint connection associated with a Device Update account", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--conn-name", "--cn"], + description: "Private endpoint connection name", + args: { name: "conn-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: + "Device Update account private link resource management", + subcommands: [ + { + name: "list", + description: + "List private link resources supported by the account", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "device", + description: "Device Update device management", + subcommands: [ + { + name: "import", + description: + "Import devices and modules to the Device Update instance from a linked IoT Hub", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--import-type", "--it"], + description: "The types of devices to import from IoT Hub", + args: { + name: "import-type", + suggestions: ["All", "Devices", "Modules"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List device identities contained within an instance", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: "--filter", + description: + "Restricts the set of devices returned. You can filter on groupId, deviceClassId, or groupId and deploymentStatus", + args: { name: "filter" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show a device identity contained within an instance", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "class", + description: + "Device class and device class subgroup management.\n\n\t\tA device class describes a set of devices which share a common set of attributes across groups while a device class subgroup is a subset of devices in a group that share the same device class id. Device classes are created automatically when Device Update-enabled devices are connected to the hub", + subcommands: [ + { + name: "delete", + description: "Delete a device class or device class subgroup", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--class-id", "--cid"], + description: + "Device class Id. This is generated from the model Id and the compat properties reported by the device update agent in the Device Update PnP interface in IoT Hub. It is a hex-encoded SHA1 hash", + args: { name: "class-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--group-id", "--gid"], + description: + "Device group Id. This is created from the value of the ADUGroup tag in the connected IoT Hub's device/module twin or $default for devices with no tag", + args: { name: "group-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + { + name: "list", + description: "List device classes or device class subgroups", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: "--filter", + description: + "If provided with --group-id, supports filtering based on device class compat property names and values. For example \"compatProperties/manufacturer eq 'Contoso'\". Otherwise supports filtering by class friendly name", + args: { name: "filter" }, + }, + { + name: ["--group-id", "--gid"], + description: + "Device group Id. This is created from the value of the ADUGroup tag in the connected IoT Hub's device/module twin or $default for devices with no tag", + args: { name: "group-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details about a device class or device class subgroup including installable updates, the best update and update compliance", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--class-id", "--cid"], + description: + "Device class Id. This is generated from the model Id and the compat properties reported by the device update agent in the Device Update PnP interface in IoT Hub. It is a hex-encoded SHA1 hash", + args: { name: "class-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: "--best-update", + description: + "Flag indicating the command should fetch the best available update for the device class subgroup including a count of how many devices need the update. Group Id is required for this flag. A best update is the latest update that meets all compatibility specifications of a device class", + args: { + name: "best-update", + suggestions: ["false", "true"], + }, + }, + { + name: ["--group-id", "--gid"], + description: + "Device group Id. This is created from the value of the ADUGroup tag in the connected IoT Hub's device/module twin or $default for devices with no tag", + args: { name: "group-id" }, + }, + { + name: "--installable-updates", + description: + "Flag indicating the command should fetch installable updates for the device class", + args: { + name: "installable-updates", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: "--update-compliance", + description: + "Flag indicating the command should fetch device class subgroup update compliance information, such as how many devices are on their latest update, how many need new updates, and how many are in progress on receiving a new update. Group Id is required for this flag", + args: { + name: "update-compliance", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "update", + description: "Update a device class", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--class-id", "--cid"], + description: + "Device class Id. This is generated from the model Id and the compat properties reported by the device update agent in the Device Update PnP interface in IoT Hub. It is a hex-encoded SHA1 hash", + args: { name: "class-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: "--friendly-name", + description: + "The device class friendly name. The friendly name must be 1 - 100 characters and supports alphanumeric, dot and dash values", + args: { name: "friendly-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "compliance", + description: "Instance-view device compliance utilities", + subcommands: [ + { + name: "show", + description: + "Gets the breakdown of how many devices are on their latest update, have new updates available, or are in progress receiving new updates", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "deployment", + description: + "Device deployment management.\n\n\t\tDeployments will apply a desired compatible update against a target device group distributing the update across device classes within the group. Cloud-initiated rollback policy can be optionally configured", + subcommands: [ + { + name: "cancel", + description: "Cancel a device class subgroup deployment", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--class-id", "--cid"], + description: + "Device class Id. This is generated from the model Id and the compat properties reported by the device update agent in the Device Update PnP interface in IoT Hub. It is a hex-encoded SHA1 hash", + args: { name: "class-id" }, + isRequired: true, + }, + { + name: ["--deployment-id", "--did"], + description: + "The caller-provided deployment Id. This cannot be longer than 73 characters, must be all lower-case, and cannot contain '&', '^', '[', ']', '{', '}', '|', '<', '>', forward slash, backslash, or double quote", + args: { name: "deployment-id" }, + isRequired: true, + }, + { + name: ["--group-id", "--gid"], + description: + "Device group Id. This is created from the value of the ADUGroup tag in the connected IoT Hub's device/module twin or $default for devices with no tag", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "create", + description: + "Create a deployment for a device group. The deployment will be multi-cast against every device class subgroup within the target group", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--deployment-id", "--did"], + description: + "The caller-provided deployment Id. This cannot be longer than 73 characters, must be all lower-case, and cannot contain '&', '^', '[', ']', '{', '}', '|', '<', '>', forward slash, backslash, or double quote", + args: { name: "deployment-id" }, + isRequired: true, + }, + { + name: ["--group-id", "--gid"], + description: + "Device group Id. This is created from the value of the ADUGroup tag in the connected IoT Hub's device/module twin or $default for devices with no tag", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--update-name", "--un"], + description: "The update name", + args: { name: "update-name" }, + isRequired: true, + }, + { + name: ["--update-provider", "--up"], + description: "The update provider", + args: { name: "update-provider" }, + isRequired: true, + }, + { + name: ["--update-version", "--uv"], + description: "The update version", + args: { name: "update-version" }, + isRequired: true, + }, + { + name: ["--failed-count", "--fc"], + description: + "Integer representing the number of failed devices in a deployment before a cloud initated rollback occurs. Required when defining rollback policy", + args: { name: "failed-count" }, + }, + { + name: ["--failed-percentage", "--fp"], + description: + "Integer representing the percentage of failed devices in a deployment before a cloud initated rollback occurs. Required when defining rollback policy", + args: { name: "failed-percentage" }, + }, + { + name: ["--rollback-update-name", "--rbun"], + description: "The rollback update name", + args: { name: "rollback-update-name" }, + }, + { + name: ["--rollback-update-provider", "--rbup"], + description: "The rollback update provider", + args: { name: "rollback-update-provider" }, + }, + { + name: ["--rollback-update-version", "--rbuv"], + description: "The rollback update version", + args: { name: "rollback-update-version" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: "--start-time", + description: + "The iso-8601 compliant start time for deployment. If no value is provided the corresponding value for UTC 'now' will be used", + args: { name: "start-time" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a deployment by device group or device class subgroup", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--deployment-id", "--did"], + description: + "The caller-provided deployment Id. This cannot be longer than 73 characters, must be all lower-case, and cannot contain '&', '^', '[', ']', '{', '}', '|', '<', '>', forward slash, backslash, or double quote", + args: { name: "deployment-id" }, + isRequired: true, + }, + { + name: ["--group-id", "--gid"], + description: + "Device group Id. This is created from the value of the ADUGroup tag in the connected IoT Hub's device/module twin or $default for devices with no tag", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--class-id", "--cid"], + description: + "Device class Id. This is generated from the model Id and the compat properties reported by the device update agent in the Device Update PnP interface in IoT Hub. It is a hex-encoded SHA1 hash", + args: { name: "class-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + { + name: "list", + description: + "List deployments for a device group or device class subgroup", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--group-id", "--gid"], + description: + "Device group Id. This is created from the value of the ADUGroup tag in the connected IoT Hub's device/module twin or $default for devices with no tag", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--class-id", "--cid"], + description: + "Device class Id. This is generated from the model Id and the compat properties reported by the device update agent in the Device Update PnP interface in IoT Hub. It is a hex-encoded SHA1 hash", + args: { name: "class-id" }, + }, + { + name: "--order-by", + description: + "Orders the set of deployments returned. You can order by startDateTime [desc/asc]", + args: { name: "order-by" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-devices", + description: + "List devices in a device class subgroup deployment along with their state. Useful for getting a list of failed devices", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--class-id", "--cid"], + description: + "Device class Id. This is generated from the model Id and the compat properties reported by the device update agent in the Device Update PnP interface in IoT Hub. It is a hex-encoded SHA1 hash", + args: { name: "class-id" }, + isRequired: true, + }, + { + name: ["--deployment-id", "--did"], + description: + "The caller-provided deployment Id. This cannot be longer than 73 characters, must be all lower-case, and cannot contain '&', '^', '[', ']', '{', '}', '|', '<', '>', forward slash, backslash, or double quote", + args: { name: "deployment-id" }, + isRequired: true, + }, + { + name: ["--group-id", "--gid"], + description: + "Device group Id. This is created from the value of the ADUGroup tag in the connected IoT Hub's device/module twin or $default for devices with no tag", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: "--filter", + description: + "Restricts the set of deployment device states returned. You can filter on deviceId and moduleId and/or deviceState", + args: { name: "filter" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "retry", + description: "Retry a device class subgroup deployment", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--class-id", "--cid"], + description: + "Device class Id. This is generated from the model Id and the compat properties reported by the device update agent in the Device Update PnP interface in IoT Hub. It is a hex-encoded SHA1 hash", + args: { name: "class-id" }, + isRequired: true, + }, + { + name: ["--deployment-id", "--did"], + description: + "The caller-provided deployment Id. This cannot be longer than 73 characters, must be all lower-case, and cannot contain '&', '^', '[', ']', '{', '}', '|', '<', '>', forward slash, backslash, or double quote", + args: { name: "deployment-id" }, + isRequired: true, + }, + { + name: ["--group-id", "--gid"], + description: + "Device group Id. This is created from the value of the ADUGroup tag in the connected IoT Hub's device/module twin or $default for devices with no tag", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show a deployment for a device group or device class subgroup including status which details a breakdown of how many devices in the deployment are in progress, completed, or failed", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--deployment-id", "--did"], + description: + "The caller-provided deployment Id. This cannot be longer than 73 characters, must be all lower-case, and cannot contain '&', '^', '[', ']', '{', '}', '|', '<', '>', forward slash, backslash, or double quote", + args: { name: "deployment-id" }, + isRequired: true, + }, + { + name: ["--group-id", "--gid"], + description: + "Device group Id. This is created from the value of the ADUGroup tag in the connected IoT Hub's device/module twin or $default for devices with no tag", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--class-id", "--cid"], + description: + "Device class Id. This is generated from the model Id and the compat properties reported by the device update agent in the Device Update PnP interface in IoT Hub. It is a hex-encoded SHA1 hash", + args: { name: "class-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: "--status", + description: + "Gets the status of a deployment including a breakdown of how many devices in the deployment are in progress, completed, or failed", + args: { name: "status", suggestions: ["false", "true"] }, + }, + ], + }, + ], + }, + { + name: "group", + description: + "Device group management.\n\n\t\tA device group is a collection of devices. Device groups provide a way to scale deployments to many devices. Each device belongs to exactly one device group at a time. A device group is automatically created when a Device Update-enabled device is connected to the hub and reports its properties", + subcommands: [ + { + name: "delete", + description: "Delete a device group", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--group-id", "--gid"], + description: + "Device group Id. This is created from the value of the ADUGroup tag in the connected IoT Hub's device/module twin or $default for devices with no tag", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + { + name: "list", + description: "List device groups within an instance", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: "--order-by", + description: + "Orders the set of groups returned. You can order by groupId, deviceCount, createdDateTime, subgroupsWithNewUpdatesAvailableCount, subgroupsWithUpdatesInProgressCount or subgroupsWithOnLatestUpdateCount", + args: { name: "order-by" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details about a device group including the best update and update compliance", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--group-id", "--gid"], + description: + "Device group Id. This is created from the value of the ADUGroup tag in the connected IoT Hub's device/module twin or $default for devices with no tag", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: "--best-updates", + description: + "Flag indicating the command should fetch the best available updates for the device group including a count of how many devices need each update. A best update is the latest update that meets all compatibility specifications of a device class", + args: { + name: "best-updates", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: "--update-compliance", + description: + "Flag indicating the command should fetch device group update compliance information such as how many devices are on their latest update, how many need new updates, and how many are in progress on receiving a new update", + args: { + name: "update-compliance", + suggestions: ["false", "true"], + }, + }, + ], + }, + ], + }, + { + name: "health", + description: "Device health-check utilities", + subcommands: [ + { + name: "list", + description: + "List device health with respect to a target filter", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: "--filter", + description: + "Device health filter. Supports the properties of state or deviceId. If deviceId is provided moduleId can be optionally specified", + args: { name: "filter" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "log", + description: "Instance log collection management", + subcommands: [ + { + name: "collect", + description: + "Configure a device diagnostics log collection operation on specified devices", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: "--agent-id", + description: + "Space-separated key=value pairs corresponding to device update agent identifier properties. The key of deviceId is required, while moduleId is optional. --agent-id can be used 1 or more times", + args: { name: "agent-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--log-collection-id", "--lcid"], + description: "Log collection Id", + args: { name: "log-collection-id" }, + isRequired: true, + }, + { + name: "--description", + description: + "Description for the log collection operation", + args: { name: "description" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List instance diagnostic log collection operations", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show a specific instance diagnostic log collection operation", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--log-collection-id", "--lcid"], + description: "Log collection Id", + args: { name: "log-collection-id" }, + isRequired: true, + }, + { + name: "--detailed", + description: + "Flag indicating whether the command should fetch the detailed status of a log collection operation", + args: { + name: "detailed", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "module", + description: "Device module management", + subcommands: [ + { + name: "show", + description: + "Show a device module identity imported to the instance", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--module-id", "-m"], + description: "Target Module Id", + args: { name: "module-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "instance", + description: "Device Update instance management", + subcommands: [ + { + name: "create", + description: "Create a Device Update instance", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: "--iothub-ids", + description: "Space-separated IoT Hub resource Ids", + args: { name: "iothub-ids" }, + isRequired: true, + }, + { + name: "--diagnostics-storage-id", + description: + "User provided storage account resource Id for use in diagnostic logs collection", + args: { name: "diagnostics-storage-id" }, + }, + { + name: "--enable-diagnostics", + description: "Enables diagnostic logs collection", + args: { + name: "enable-diagnostics", + suggestions: ["false", "true"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: "--tags", + description: + "Resource tags. Property bag in key-value pairs with the following format: a=b c=d", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Device Update instance", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + { + name: "list", + description: "List Device Update instances", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show a Device Update instance", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update a Device Update instance", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Block until a desired instance resource state has been met", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "update", + description: "Device Update update management", + subcommands: [ + { + name: "calculate-hash", + description: + "Calculate the base64 hashed representation of a file", + options: [ + { + name: ["--file-path", "-f"], + description: + "Local path to target file for hash calculation. --file-path can be used 1 or more times", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: "--hash-algo", + description: "Cryptographic algorithm to use for hashing", + args: { name: "hash-algo", suggestions: ["sha256"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a specific update version", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--update-name", "--un"], + description: "The update name", + args: { name: "update-name" }, + isRequired: true, + }, + { + name: ["--update-provider", "--up"], + description: "The update provider", + args: { name: "update-provider" }, + isRequired: true, + }, + { + name: ["--update-version", "--uv"], + description: "The update version", + args: { name: "update-version" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + { + name: "import", + description: + "Import a new update version into the Device Update instance", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: "--url", + description: + "Routable location from which the import manifest can be downloaded by Device Update for IoT Hub. This is typically a read-only SAS-protected blob URL with an expiration set to at least 3 hours", + args: { name: "url" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--file", + description: + "Space-separated key=value pairs corresponding to import manifest metadata file properties. Required keys include filename and url. --file can be used 1 or more times", + args: { name: "file" }, + }, + { + name: "--friendly-name", + description: + "Friendly name associated with the update definition", + args: { name: "friendly-name" }, + }, + { + name: "--hashes", + description: + "Space-separated key=value pairs where the key is the hash algorithm used and the value is the base64 encoded import manifest file hash. At least a sha256 entry is required. If not provided it will by calculated from the provided url", + args: { name: "hashes" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: "--size", + description: + "File size in number of bytes. If not provided it will by calculated from the provided url", + args: { name: "size" }, + }, + ], + }, + { + name: "list", + description: + "List updates that have been imported to the Device Update instance", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: "--by-provider", + description: + "Flag indicating the result set should be constrained to update providers", + args: { name: "by-provider", suggestions: ["false", "true"] }, + }, + { + name: "--filter", + description: + "Restricts the set of updates returned by property values. Supported when listing updates with no constraints or when listing by version", + args: { name: "filter" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: "--search", + description: + "Request updates matching a free-text search expression. Supported when listing updates with no constraints", + args: { name: "search" }, + }, + { + name: ["--update-name", "--un"], + description: "The update name", + args: { name: "update-name" }, + }, + { + name: ["--update-provider", "--up"], + description: "The update provider", + args: { name: "update-provider" }, + }, + ], + }, + { + name: "show", + description: "Show a specific update version", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--update-name", "--un"], + description: "The update name", + args: { name: "update-name" }, + isRequired: true, + }, + { + name: ["--update-provider", "--up"], + description: "The update provider", + args: { name: "update-provider" }, + isRequired: true, + }, + { + name: ["--update-version", "--uv"], + description: "The update version", + args: { name: "update-version" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "stage", + description: "Stage an update for import to a target instance", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: "--manifest-path", + description: + "Local file path to the import manifest that should be staged. Can be used 1 or more times", + args: { name: "manifest-path" }, + isRequired: true, + }, + { + name: "--storage-account", + description: + "Desired storage account name to stage import manifest artifacts", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: "--storage-container", + description: + "Desired storage container name to stage import manifest artifacts", + args: { name: "storage-container" }, + isRequired: true, + }, + { + name: "--friendly-name", + description: + "Friendly name associated with the update definition", + args: { name: "friendly-name" }, + }, + { + name: "--overwrite", + description: + "Flag indicating whether existing blobs should be overwritten if a conflict exists", + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-subscription", + description: + "Desired storage account subscription to stage import manifest artifacts. Applicable when the storage and device update accounts are in different subscriptions", + args: { name: "storage-subscription" }, + }, + { + name: "--then-import", + description: + "Flag indicating whether the update should be imported after staging", + args: { name: "then-import", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "file", + description: "Update file operations", + subcommands: [ + { + name: "list", + description: + "List update file Ids with respect to update provider, name and version", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--update-name", "--un"], + description: "The update name", + args: { name: "update-name" }, + isRequired: true, + }, + { + name: ["--update-provider", "--up"], + description: "The update provider", + args: { name: "update-provider" }, + isRequired: true, + }, + { + name: ["--update-version", "--uv"], + description: "The update version", + args: { name: "update-version" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show the details of a specific update file with respect to update provider, name and version", + options: [ + { + name: ["--account", "-n"], + description: + "Device Update account name. You can configure the default account name using az config set defaults.adu_account=", + args: { name: "account" }, + isRequired: true, + }, + { + name: ["--instance", "-i"], + description: + "Device Update instance name. You can configure the default instance name using az config set defaults.adu_instance=", + args: { name: "instance" }, + isRequired: true, + }, + { + name: ["--update-file-id", "--ufid"], + description: "The update file Id", + args: { name: "update-file-id" }, + isRequired: true, + }, + { + name: ["--update-name", "--un"], + description: "The update name", + args: { name: "update-name" }, + isRequired: true, + }, + { + name: ["--update-provider", "--up"], + description: "The update provider", + args: { name: "update-provider" }, + isRequired: true, + }, + { + name: ["--update-version", "--uv"], + description: "The update version", + args: { name: "update-version" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Device Update account resource group name. You can configure the default group using az config set defaults.adu_group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "init", + description: "Utility for import manifest initialization", + subcommands: [ + { + name: "v5", + description: + "Initialize a v5 import manifest with the desired state", + options: [ + { + name: "--compat", + description: + "Space-separated key=value pairs corresponding to properties of a device this update is compatible with. Typically used for defining properties such as manufacturer and model. --compat can be used 1 or more times", + args: { name: "compat" }, + isRequired: true, + }, + { + name: "--step", + description: + "Space-separated key=value pairs corresponding to 'instructions.steps' element properties. The client will determine if a step is an inline or reference step based on the provided key value pairs. If either inline or reference step can be satisfied, the reference step will be prioritized. Usage of --file will be associated with the nearest inline --step entry, deriving the value for 'files'. The following reference step keys are supported: updateId.provider, updateId.name, updateId.version and description. The following inline step keys are supported: handler (ex: 'microsoft/script:1' or 'microsoft/swupdate:1' or 'microsoft/apt:1'), properties (in-line json object the agent will pass to the handler), and description. --step can be used 1 or more times", + args: { name: "step" }, + isRequired: true, + }, + { + name: "--update-name", + description: "The update name as a component of updateId", + args: { name: "update-name" }, + isRequired: true, + }, + { + name: "--update-provider", + description: + "The update provider as a component of updateId", + args: { name: "update-provider" }, + isRequired: true, + }, + { + name: "--update-version", + description: + "The update version as a component of updateId", + args: { name: "update-version" }, + isRequired: true, + }, + { + name: "--description", + description: "Description for the import manifest", + args: { name: "description" }, + }, + { + name: "--file", + description: + "Space-separated key=value pairs corresponding to 'files' element properties. A --file entry can include the closest --related-file entries if provided. The following keys are supported: path [required] local file path to update file, downloadHandler (ex: 'microsoft/delta:1') handler for utilizing related files to download payload file, properties (in-line json object the agent will pass to the handler). --file can be used 1 or more times", + args: { name: "file" }, + }, + { + name: "--is-deployable", + description: + "Indicates whether the update is independently deployable", + args: { + name: "is-deployable", + suggestions: ["false", "true"], + }, + }, + { + name: "--no-validation", + description: + "Disables client-side json schema validation of the import manifest content", + args: { + name: "no-validation", + suggestions: ["false", "true"], + }, + }, + { + name: "--related-file", + description: + "Space-separated key=value pairs corresponding to 'files[*].relatedFiles' element properties. A --related-file entry will be associated to the closest --file entry if it exists. The following keys are supported: path [required] local file path to related update file, properties (in-line json object passed to the download handler). --related-file can be used 1 or more times", + args: { name: "related-file" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "edge", + description: "Manage IoT solutions on the Edge", + subcommands: [ + { + name: "export-modules", + description: + "Export the edge modules' configuration on a single edge device", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "set-modules", + description: "Set edge modules on a single device", + options: [ + { + name: ["--content", "-k"], + description: + "IoT Edge deployment content. Provide file path or raw json", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "deployment", + description: "Manage IoT Edge deployments at scale", + subcommands: [ + { + name: "create", + description: "Create an IoT Edge deployment in a target IoT Hub", + options: [ + { + name: ["--content", "-k"], + description: + "IoT Edge deployment content. Provide file path or raw json", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--deployment-id", "-d"], + description: + "Target deployment name. Lowercase and the following special characters are allowed: [-+%_*!']", + args: { name: "deployment-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--custom-labels", "--cl"], + description: + 'An alternative input style (space separated key=value pairs) for --labels and intended to replace it in the future. Format example: key1=value1 key2="this is my value"', + args: { name: "custom-labels" }, + }, + { + name: ["--custom-metric-queries", "--cmq"], + description: + 'An alternative input style (space separated key=value pairs) for --metrics and intended to replace it in the future. Format example: metric1="select deviceId from devices where tags.location=\'US\'" metric2="select *"', + args: { name: "custom-metric-queries" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--labels", "--lab"], + description: + 'Map of labels to be applied to target deployment. Use the following format: \'{"key0":"value0", "key1":"value1"}\'. Using --custom-labels instead of --labels is recommended', + args: { name: "labels" }, + }, + { + name: "--layered", + description: + "Layered deployments allow you to define desired properties in $edgeAgent, $edgeHub and user modules that will layer on top of a base deployment. The properties specified in a layered deployment will merge with properties of the base deployment. Properties with the same path will be overwritten based on deployment priority. This option is an alias for --no-validation", + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--metrics", "-m"], + description: + 'IoT Edge deployment user metric definitions. Provide file path or raw json. User metrics are in the form of {"queries":{...}} or {"metrics":{"queries":{...}}}. Using --custom-metric-queries instead of --metrics is recommended', + args: { name: "metrics" }, + }, + { + name: "--no-validation", + description: + "Disables client side schema validation for edge deployment creation", + }, + { + name: ["--priority", "--pri"], + description: + "Weight of deployment in case of competing rules (highest wins)", + args: { name: "priority" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--target-condition", "--tc", "-t"], + description: + "Target condition in which an edge deployment applies to. Deployments with no target condition will target no device. Use the following format: \"tags.environment='test'\"", + args: { name: "target-condition" }, + }, + ], + }, + { + name: "delete", + description: "Delete an IoT Edge deployment", + options: [ + { + name: ["--deployment-id", "-d"], + description: + "Target deployment name. Lowercase and the following special characters are allowed: [-+%_*!']", + args: { name: "deployment-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List IoT Edge deployments in an IoT Hub", + options: [ + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: + "Maximum number of deployments to return. By default all deployments are returned", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an IoT Edge deployment", + options: [ + { + name: ["--deployment-id", "-d"], + description: + "Target deployment name. Lowercase and the following special characters are allowed: [-+%_*!']", + args: { name: "deployment-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show-metric", + description: + "Evaluate a target system metric defined in an IoT Edge deployment", + options: [ + { + name: ["--deployment-id", "-d"], + description: + "Target deployment name. Lowercase and the following special characters are allowed: [-+%_*!']", + args: { name: "deployment-id" }, + isRequired: true, + }, + { + name: ["--metric-id", "-m"], + description: "Target metric for evaluation", + args: { name: "metric-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--metric-type", "--mt"], + description: + "Indicates which metric collection should be used to lookup a metric", + args: { + name: "metric-type", + suggestions: ["system", "user"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update specified properties of an IoT Edge deployment", + options: [ + { + name: ["--deployment-id", "-d"], + description: + "Target deployment name. Lowercase and the following special characters are allowed: [-+%_*!']", + args: { name: "deployment-id" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + { + name: "devices", + description: "Commands to manage IoT Edge devices", + subcommands: [ + { + name: "create", + description: + "Create and configure multiple edge devices in an IoT Hub", + options: [ + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--config-file", "--config", "--cfg"], + description: + "Path to devices configuration file. Sample configuration file: https://aka.ms/aziotcli-edge-devices-config", + args: { name: "config-file" }, + }, + { + name: ["--clean", "-c"], + description: + "Deletes all devices in target hub before creating new devices", + }, + { + name: ["--device-config-template", "--dct"], + description: + "Path to IoT Edge config.toml file to use as a basis for edge device configs", + args: { name: "device-config-template" }, + }, + { + name: ["--default-edge-agent", "--default-agent", "--dea"], + description: + "Default edge agent for created Edge devices if not specified individually", + args: { name: "default-edge-agent" }, + }, + { + name: ["--device", "-d"], + description: + "Space-separated key=value pairs corresponding to properties of the edge device to create. The following key values are supported: id (device_id), deployment (inline json or path to file), hostname, parent (device_id), edge_agent (image URL), and container_auth (inline json or path to file). --device can be used 1 or more times. Review help examples for full parameter usage - these parameters also refer to their corresponding values in our sample configuration file: https://aka.ms/aziotcli-edge-devices-config", + args: { name: "device" }, + }, + { + name: ["--device-auth-type", "--device-auth"], + description: "Device to hub authorization mechanism", + args: { + name: "device-auth-type", + suggestions: ["shared_private_key", "x509_thumbprint"], + }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--output-path", "--out"], + description: + "Directory path to output device configuration bundles. If this value is not specified, no file output will be created", + args: { name: "output-path" }, + }, + { + name: ["--root-cert", "--rc"], + description: + "Path to root public key certificate to sign nested edge device certs", + args: { name: "root-cert" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--root-key", "--rk"], + description: + "Path to root private key to sign nested edge device certs", + args: { name: "root-key" }, + }, + { + name: ["--root-pass", "--rp"], + description: "Root key password", + args: { name: "root-pass" }, + }, + { + name: ["--visualize", "--vis", "-v"], + description: + "Shows visualizations of devices and progress of various tasks (device creation, setting parents, updating configs, etc)", + }, + { + name: ["--yes", "-y"], + description: + "Do not prompt for confirmation when --clean switch is used to delete existing hub devices", + }, + ], + }, + ], + }, + ], + }, + { + name: "hub", + description: "Manage Azure IoT hubs", + subcommands: [ + { + name: "create", + description: "Create an Azure IoT hub", + options: [ + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--c2d-max-delivery-count", "--cdd"], + description: + "The number of times the IoT hub will attempt to deliver a cloud-to-device message to a device, between 1 and 100", + args: { name: "c2d-max-delivery-count" }, + }, + { + name: ["--c2d-ttl", "--ct"], + description: + "The amount of time a message is available for the device to consume before it is expired by IoT Hub, between 1 and 48 hours", + args: { name: "c2d-ttl" }, + }, + { + name: ["--disable-device-sas", "--dds"], + description: + "A boolean indicating whether or not to disable all device (including Edge devices but excluding modules) scoped SAS keys for authentication", + args: { + name: "disable-device-sas", + suggestions: ["false", "true"], + }, + }, + { + name: ["--disable-local-auth", "--dla"], + description: + "A boolean indicating whether or not to disable IoT hub scoped SAS keys for authentication", + args: { + name: "disable-local-auth", + suggestions: ["false", "true"], + }, + }, + { + name: ["--disable-module-sas", "--dms"], + description: + "A boolean indicating whether or not to disable module-scoped SAS keys for authentication", + args: { + name: "disable-module-sas", + suggestions: ["false", "true"], + }, + }, + { + name: ["--enforce-data-residency", "--edr"], + description: + "Enforce data residency for this IoT Hub by disabling cross-region disaster recovery. This property is immutable once set on the resource. Only available in select regions. Learn more at https://aka.ms/iothubdisabledr", + args: { + name: "enforce-data-residency", + suggestions: ["false", "true"], + }, + }, + { + name: ["--fileupload-storage-container-name", "--fc"], + description: + "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified", + args: { name: "fileupload-storage-container-name" }, + }, + { + name: ["--fileupload-storage-connectionstring", "--fcs"], + description: + "The connection string for the Azure Storage account to which files are uploaded", + args: { name: "fileupload-storage-connectionstring" }, + }, + { + name: ["--feedback-max-delivery-count", "--fd"], + description: + "The number of times the IoT hub attempts to deliver a message on the feedback queue, between 1 and 100", + args: { name: "feedback-max-delivery-count" }, + }, + { + name: ["--feedback-lock-duration", "--fld"], + description: + "The lock duration for the feedback queue, between 5 and 300 seconds", + args: { name: "feedback-lock-duration" }, + }, + { + name: ["--feedback-ttl", "--ft"], + description: + "The period of time for which the IoT hub will maintain the feedback for expiration or delivery of cloud-to-device messages, between 1 and 48 hours", + args: { name: "feedback-ttl" }, + }, + { + name: ["--fileupload-notification-lock-duration", "--fnld"], + description: + "The lock duration for the file upload notifications queue, between 5 and 300 seconds", + args: { name: "fileupload-notification-lock-duration" }, + }, + { + name: ["--fileupload-notification-max-delivery-count", "--fnd"], + description: + "The number of times the IoT hub will attempt to deliver a file notification message, between 1 and 100", + args: { name: "fileupload-notification-max-delivery-count" }, + }, + { + name: ["--fileupload-notification-ttl", "--fnt"], + description: + "The amount of time a file upload notification is available for the service to consume before it is expired by IoT Hub, between 1 and 48 hours", + args: { name: "fileupload-notification-ttl" }, + }, + { + name: ["--fileupload-notifications", "--fn"], + description: + "A boolean indicating whether to log information about uploaded files to the messages/servicebound/filenotifications IoT Hub endpoint", + }, + { + name: ["--fileupload-sas-ttl", "--fst"], + description: + "The amount of time a SAS URI generated by IoT Hub is valid before it expires, between 1 and 24 hours", + args: { name: "fileupload-sas-ttl" }, + }, + { + name: ["--fileupload-storage-auth-type", "--fsa"], + description: + "The authentication type for the Azure Storage account to which files are uploaded", + args: { + name: "fileupload-storage-auth-type", + suggestions: ["identityBased", "keyBased"], + }, + }, + { + name: ["--fileupload-storage-identity", "--fsi"], + description: + "The managed identity to use for file upload authentication. Use '[system]' to refer to the system-assigned managed identity or a resource ID to refer to a user-assigned managed identity", + args: { name: "fileupload-storage-identity" }, + }, + { + name: ["--location", "-l"], + description: + "Location of your IoT Hub. Default is the location of target resource group", + args: { name: "location" }, + }, + { + name: "--mi-system-assigned", + description: + "Enable system-assigned managed identity for this hub", + args: { + name: "mi-system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: "--mi-user-assigned", + description: + "Enable user-assigned managed identities for this hub. Accept space-separated list of identity resource IDs", + args: { name: "mi-user-assigned" }, + }, + { + name: ["--min-tls-version", "--mintls"], + description: + 'Specify the minimum TLS version to support for this hub. Can be set to "1.2" to have clients that use a TLS version below 1.2 to be rejected', + args: { name: "min-tls-version" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--partition-count", + description: + "The number of partitions of the backing Event Hub for device-to-cloud messages", + args: { name: "partition-count" }, + }, + { + name: ["--retention-day", "--rd"], + description: + "Specifies how long this IoT hub will maintain device-to-cloud events, between 1 and 7 days", + args: { name: "retention-day" }, + }, + { + name: "--role", + description: + "Role to assign to the hub's system-assigned managed identity", + args: { name: "role" }, + }, + { + name: "--scopes", + description: + "Space separated list of scopes to assign the role (--role) for the system-assigned managed identity", + args: { name: "scopes" }, + }, + { + name: "--sku", + description: + "Pricing tier for Azure IoT Hub. Note that only one free IoT hub instance (F1) is allowed in each subscription. Exception will be thrown if free instances exceed one", + args: { + name: "sku", + suggestions: ["B1", "B2", "B3", "F1", "S1", "S2", "S3"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--unit", + description: "Units in your IoT Hub", + args: { name: "unit" }, + }, + ], + }, + { + name: "delete", + description: "Delete an IoT hub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "generate-sas-token", + description: + "Generate a SAS token for a target IoT Hub, device or module", + options: [ + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--connection-string", "--cs"], + description: + "Target connection string. This bypasses the IoT Hub registry and generates the SAS token directly from the supplied symmetric key without further validation. All other command parameters aside from duration will be ignored. Supported connection string types: Iot Hub, Device, Module", + args: { name: "connection-string" }, + }, + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + }, + { + name: ["--duration", "--du"], + description: "Valid token duration in seconds", + args: { name: "duration" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--key-type", "--kt"], + description: "Shared access policy key type for authentication", + args: { name: "key-type", suggestions: ["primary", "secondary"] }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--module-id", "-m"], + description: "Target Module Id", + args: { name: "module-id" }, + }, + { + name: ["--policy-name", "--pn"], + description: + "Shared access policy with operation permissions for target IoT Hub entity", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "invoke-device-method", + description: "Invoke a device method", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--method-name", "--mn"], + description: "Target method for invocation", + args: { name: "method-name" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--method-payload", "--mp"], + description: + "Json payload to be passed to method. Must be file path or raw json", + args: { name: "method-payload" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--timeout", "--to"], + description: + "Maximum number of seconds to wait for the device method result", + args: { name: "timeout" }, + }, + ], + }, + { + name: "invoke-module-method", + description: "Invoke a module method", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--method-name", "--mn"], + description: "Target method for invocation", + args: { name: "method-name" }, + isRequired: true, + }, + { + name: ["--module-id", "-m"], + description: "Target Module Id", + args: { name: "module-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--method-payload", "--mp"], + description: + "Json payload to be passed to method. Must be file path or raw json", + args: { name: "method-payload" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--timeout", "--to"], + description: + "Maximum number of seconds to wait for the module method result", + args: { name: "timeout" }, + }, + ], + }, + { + name: "list", + description: "List IoT hubs", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-skus", + description: "List available pricing tiers", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "manual-failover", + description: + "Initiate a manual failover for the IoT Hub to the geo-paired disaster recovery region", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "monitor-events", + description: "Monitor device telemetry & messages sent to an IoT Hub", + options: [ + { + name: ["--consumer-group", "--cg", "-c"], + description: + "Specify the consumer group to use when connecting to event hub endpoint", + args: { name: "consumer-group" }, + }, + { + name: ["--content-type", "--ct"], + description: + "Specify the Content-Type of the message payload to automatically format the output to that type", + args: { name: "content-type" }, + }, + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + }, + { + name: ["--device-query", "-q"], + description: "Specify a custom query to filter devices", + args: { name: "device-query" }, + }, + { + name: ["--enqueued-time", "--et", "-e"], + description: + 'Indicates the time that should be used as a starting point to read messages from the partitions. Units are milliseconds since unix epoch. If no time is indicated "now" is used', + args: { name: "enqueued-time" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--interface", "-i"], + description: + "Target interface identifier to filter on. For example: dtmi:com:example:TemperatureController;1", + args: { name: "interface" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--message-count", "--mc"], + description: + "Number of telemetry messages to capture before the monitor is terminated. If not specified, monitor keeps running until meeting the timeout threshold of not receiving messages from hub", + args: { name: "message-count" }, + }, + { + name: ["--module-id", "-m"], + description: "Target Module Id", + args: { name: "module-id" }, + }, + { + name: ["--properties", "--props", "-p"], + description: + "Indicate key message properties to output. sys = system properties, app = application properties, anno = annotations", + args: { + name: "properties", + suggestions: ["all", "anno", "app", "sys"], + }, + }, + { + name: ["--repair", "-r"], + description: + "Reinstall uamqp dependency compatible with extension version. Default: false", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--timeout", "--to", "-t"], + description: + "Maximum seconds to maintain connection without receiving message. Use 0 for infinity", + args: { name: "timeout" }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + { + name: "monitor-feedback", + description: + "Monitor feedback sent by devices to acknowledge cloud-to-device (C2D) messages", + options: [ + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--repair", "-r"], + description: + "Reinstall uamqp dependency compatible with extension version. Default: false", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--wait-on-msg", "-w"], + description: + "Feedback monitor will block until a message with specific id (uuid) is received", + args: { name: "wait-on-msg" }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + { + name: "query", + description: "Query an IoT Hub using a powerful SQL-like language", + options: [ + { + name: ["--query-command", "-q"], + description: "User query to be executed", + args: { name: "query-command" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: + "Maximum number of elements to return. By default query has no cap", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an IoT hub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-connection-string", + description: "Show the connection strings for an IoT hub", + options: [ + { + name: "--all", + description: "Allow to show all shared access policies", + }, + { + name: ["--hub-name", "--name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key", + description: "The key to use", + args: { name: "key", suggestions: ["primary", "secondary"] }, + }, + { + name: "--policy-name", + description: "Shared access policy to use", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-quota-metrics", + description: "Get the quota metrics for an IoT hub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-stats", + description: "Get the statistics for an IoT hub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update metadata for an IoT hub", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--c2d-max-delivery-count", "--cdd"], + description: + "The number of times the IoT hub will attempt to deliver a cloud-to-device message to a device, between 1 and 100", + args: { name: "c2d-max-delivery-count" }, + }, + { + name: ["--c2d-ttl", "--ct"], + description: + "The amount of time a message is available for the device to consume before it is expired by IoT Hub, between 1 and 48 hours", + args: { name: "c2d-ttl" }, + }, + { + name: ["--disable-device-sas", "--dds"], + description: + "A boolean indicating whether or not to disable all device (including Edge devices but excluding modules) scoped SAS keys for authentication", + args: { + name: "disable-device-sas", + suggestions: ["false", "true"], + }, + }, + { + name: ["--disable-local-auth", "--dla"], + description: + "A boolean indicating whether or not to disable IoT hub scoped SAS keys for authentication", + args: { + name: "disable-local-auth", + suggestions: ["false", "true"], + }, + }, + { + name: ["--disable-module-sas", "--dms"], + description: + "A boolean indicating whether or not to disable module-scoped SAS keys for authentication", + args: { + name: "disable-module-sas", + suggestions: ["false", "true"], + }, + }, + { + name: ["--fileupload-storage-container-name", "--fc"], + description: + "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified", + args: { name: "fileupload-storage-container-name" }, + }, + { + name: ["--fileupload-storage-connectionstring", "--fcs"], + description: + "The connection string for the Azure Storage account to which files are uploaded", + args: { name: "fileupload-storage-connectionstring" }, + }, + { + name: ["--feedback-max-delivery-count", "--fd"], + description: + "The number of times the IoT hub attempts to deliver a message on the feedback queue, between 1 and 100", + args: { name: "feedback-max-delivery-count" }, + }, + { + name: ["--feedback-lock-duration", "--fld"], + description: + "The lock duration for the feedback queue, between 5 and 300 seconds", + args: { name: "feedback-lock-duration" }, + }, + { + name: ["--feedback-ttl", "--ft"], + description: + "The period of time for which the IoT hub will maintain the feedback for expiration or delivery of cloud-to-device messages, between 1 and 48 hours", + args: { name: "feedback-ttl" }, + }, + { + name: ["--fileupload-notification-lock-duration", "--fnld"], + description: + "The lock duration for the file upload notifications queue, between 5 and 300 seconds", + args: { name: "fileupload-notification-lock-duration" }, + }, + { + name: ["--fileupload-notification-max-delivery-count", "--fnd"], + description: + "The number of times the IoT hub will attempt to deliver a file notification message, between 1 and 100", + args: { name: "fileupload-notification-max-delivery-count" }, + }, + { + name: ["--fileupload-notification-ttl", "--fnt"], + description: + "The amount of time a file upload notification is available for the service to consume before it is expired by IoT Hub, between 1 and 48 hours", + args: { name: "fileupload-notification-ttl" }, + }, + { + name: ["--fileupload-notifications", "--fn"], + description: + "A boolean indicating whether to log information about uploaded files to the messages/servicebound/filenotifications IoT Hub endpoint", + args: { + name: "fileupload-notifications", + suggestions: ["false", "true"], + }, + }, + { + name: ["--fileupload-sas-ttl", "--fst"], + description: + "The amount of time a SAS URI generated by IoT Hub is valid before it expires, between 1 and 24 hours", + args: { name: "fileupload-sas-ttl" }, + }, + { + name: ["--fileupload-storage-auth-type", "--fsa"], + description: + "The authentication type for the Azure Storage account to which files are uploaded", + args: { + name: "fileupload-storage-auth-type", + suggestions: ["identityBased", "keyBased"], + }, + }, + { + name: ["--fileupload-storage-identity", "--fsi"], + description: + "The managed identity to use for file upload authentication. Use '[system]' to refer to the system-assigned managed identity or a resource ID to refer to a user-assigned managed identity", + args: { name: "fileupload-storage-identity" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: ["--retention-day", "--rd"], + description: + "Specifies how long this IoT hub will maintain device-to-cloud events, between 1 and 7 days", + args: { name: "retention-day" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: + "Pricing tier for Azure IoT Hub. Note that only one free IoT hub instance (F1) is allowed in each subscription. Exception will be thrown if free instances exceed one", + args: { + name: "sku", + suggestions: ["B1", "B2", "B3", "F1", "S1", "S2", "S3"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--unit", + description: "Units in your IoT Hub", + args: { name: "unit" }, + }, + ], + }, + { + name: "wait", + description: + "Wait until an operation on an IoT Hub instance is complete", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "certificate", + description: "Manage IoT Hub certificates", + subcommands: [ + { + name: "create", + description: "Create/upload an Azure IoT Hub certificate", + options: [ + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "A friendly name for the certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "The path to the file containing the certificate", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--verified", "-v"], + description: + "A boolean indicating whether or not the certificate is verified", + args: { name: "verified", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "delete", + description: "Deletes an Azure IoT Hub certificate", + options: [ + { + name: ["--etag", "-e"], + description: "Entity Tag (etag) of the object", + args: { name: "etag" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "A friendly name for the certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "generate-verification-code", + description: + "Generates a verification code for an Azure IoT Hub certificate", + options: [ + { + name: ["--etag", "-e"], + description: "Entity Tag (etag) of the object", + args: { name: "etag" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "A friendly name for the certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Lists all certificates contained within an Azure IoT Hub", + options: [ + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Shows information about a particular Azure IoT Hub certificate", + options: [ + { + name: ["--name", "-n"], + description: "A friendly name for the certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Azure IoT Hub certificate", + options: [ + { + name: ["--etag", "-e"], + description: "Entity Tag (etag) of the object", + args: { name: "etag" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "A friendly name for the certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "The path to the file containing the certificate", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--verified", "-v"], + description: + "A boolean indicating whether or not the certificate is verified", + args: { name: "verified", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "verify", + description: "Verifies an Azure IoT Hub certificate", + options: [ + { + name: ["--etag", "-e"], + description: "Entity Tag (etag) of the object", + args: { name: "etag" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "A friendly name for the certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "The path to the file containing the certificate", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "root-authority", + description: + "Manage the certificate root-authority for an IoT Hub instance", + subcommands: [ + { + name: "set", + description: + "Set the certificate root-authority for an IoT Hub instance to a specific version", + options: [ + { + name: ["--certificate-authority", "--cav"], + description: + "Certificate Root Authority version. The v1 represents Baltimore CA and v2 represents Digicert CA", + args: { + name: "certificate-authority", + suggestions: ["v1", "v2"], + }, + isRequired: true, + }, + { + name: "--hub-name", + description: + "IoT Hub name. Required if --login is not provided", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + { + name: "show", + description: + "Show the current certificate root-authority for an IoT Hub instance", + options: [ + { + name: "--hub-name", + description: + "IoT Hub name. Required if --login is not provided", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "configuration", + description: + "Manage IoT automatic device management configuration at scale", + subcommands: [ + { + name: "create", + description: + "Create an IoT automatic device management configuration in a target IoT Hub", + options: [ + { + name: ["--config-id", "-c"], + description: + "Target device configuration name. Lowercase and the following special characters are allowed: [-+%_*!']", + args: { name: "config-id" }, + isRequired: true, + }, + { + name: ["--content", "-k"], + description: + "Device configuration content. Provide file path or raw json", + args: { name: "content" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--custom-labels", "--cl"], + description: + 'An alternative input style (space separated key=value pairs) for --labels and intended to replace it in the future. Format example: key1=value1 key2="this is my value"', + args: { name: "custom-labels" }, + }, + { + name: ["--custom-metric-queries", "--cmq"], + description: + 'An alternative input style (space separated key=value pairs) for --metrics and intended to replace it in the future. Format example: metric1="select deviceId from devices where tags.location=\'US\'" metric2="select *"', + args: { name: "custom-metric-queries" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--labels", "--lab"], + description: + 'Map of labels to be applied to target configuration. Using --custom-labels instead of --labels is recommended.Format example: {"key0":"value0", "key1":"value1"}', + args: { name: "labels" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--metrics", "-m"], + description: + "Device configuration metric definitions. Provide file path or raw json.Using --custom-metric-queries instead of --metrics is recommended", + args: { name: "metrics" }, + }, + { + name: ["--priority", "--pri"], + description: + "Weight of the device configuration in case of competing rules (highest wins)", + args: { name: "priority" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--target-condition", "--tc", "-t"], + description: + "Target condition in which a device or module configuration applies to. Configurations with no target condition will target no device or module. Use the following format: \"tags.environment='test'\"", + args: { name: "target-condition" }, + }, + ], + }, + { + name: "delete", + description: "Delete an IoT device configuration", + options: [ + { + name: ["--config-id", "-c"], + description: + "Target device configuration name. Lowercase and the following special characters are allowed: [-+%_*!']", + args: { name: "config-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List IoT automatic device management configurations in an IoT Hub", + options: [ + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: + "Maximum number of configurations to return. By default all configurations are returned", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of an IoT automatic device management configuration", + options: [ + { + name: ["--config-id", "-c"], + description: + "Target device configuration name. Lowercase and the following special characters are allowed: [-+%_*!']", + args: { name: "config-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show-metric", + description: + "Evaluate a target user or system metric defined in an IoT device configuration", + options: [ + { + name: ["--config-id", "-c"], + description: + "Target device configuration name. Lowercase and the following special characters are allowed: [-+%_*!']", + args: { name: "config-id" }, + isRequired: true, + }, + { + name: ["--metric-id", "-m"], + description: "Target metric for evaluation", + args: { name: "metric-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--metric-type", "--mt"], + description: + "Indicates which metric collection should be used to lookup a metric", + args: { + name: "metric-type", + suggestions: ["system", "user"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update specified properties of an IoT automatic device management configuration", + options: [ + { + name: ["--config-id", "-c"], + description: + "Target device configuration name. Lowercase and the following special characters are allowed: [-+%_*!']", + args: { name: "config-id" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + { + name: "connection-string", + description: "Manage IoT Hub connection strings", + subcommands: [ + { + name: "show", + description: + "Show the connection strings for the specified IoT Hubs using the given policy name and key", + options: [ + { + name: ["--show-all", "--all"], + description: + "Show all shared access policies for the respective IoT Hub", + }, + { + name: ["--default-eventhub", "--eh"], + description: + "Flag indicating the connection string returned is for the default EventHub endpoint. Default: false", + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--key-type", "--kt"], + description: + "Shared access policy key type for authentication", + args: { + name: "key-type", + suggestions: ["primary", "secondary"], + }, + }, + { + name: ["--policy-name", "--pn"], + description: + "Shared access policy with operation permissions for target IoT Hub entity", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "consumer-group", + description: "Manage the event hub consumer groups of an IoT hub", + subcommands: [ + { + name: "create", + description: "Create an event hub consumer group", + options: [ + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Event hub consumer group name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--event-hub-name", + description: "Event hub endpoint name", + args: { name: "event-hub-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: "Delete an event hub consumer group", + options: [ + { + name: "--event-hub-name", + description: "Event hub endpoint name", + args: { name: "event-hub-name" }, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Event hub consumer group name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List event hub consumer groups", + options: [ + { + name: "--event-hub-name", + description: "Event hub endpoint name", + args: { name: "event-hub-name" }, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details for an event hub consumer group", + options: [ + { + name: "--event-hub-name", + description: "Event hub endpoint name", + args: { name: "event-hub-name" }, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Event hub consumer group name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "device-identity", + description: "Manage IoT devices", + subcommands: [ + { + name: "create", + description: "Create a device in an IoT Hub", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--auth-method", "--am"], + description: + "The authorization method an entity is to be created with", + args: { + name: "auth-method", + suggestions: [ + "shared_private_key", + "x509_ca", + "x509_thumbprint", + ], + }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: "--device-scope", + description: + "The scope of the device. For edge devices, this is auto-generated and immutable. For leaf devices, set this to create child/parent relationship", + args: { name: "device-scope" }, + }, + { + name: ["--edge-enabled", "--ee"], + description: "Flag indicating edge enablement", + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--output-dir", "--od"], + description: + "Generate self-signed cert and use its thumbprint. Output to specified target directory", + args: { name: "output-dir" }, + }, + { + name: ["--primary-key", "--pk"], + description: + "The primary symmetric shared access key stored in base64 format", + args: { name: "primary-key" }, + }, + { + name: ["--primary-thumbprint", "--ptp"], + description: + "Self-signed certificate thumbprint to use for the primary thumbprint", + args: { name: "primary-thumbprint" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--secondary-key", "--sk"], + description: + "The secondary symmetric shared access key stored in base64 format", + args: { name: "secondary-key" }, + }, + { + name: ["--secondary-thumbprint", "--stp"], + description: + "Self-signed certificate thumbprint to use for the secondary thumbprint", + args: { name: "secondary-thumbprint" }, + }, + { + name: ["--status", "--sta"], + description: "Set device status upon creation", + args: { + name: "status", + suggestions: ["disabled", "enabled"], + }, + }, + { + name: ["--status-reason", "--star"], + description: "Description for device status", + args: { name: "status-reason" }, + }, + { + name: ["--valid-days", "--vd"], + description: + "Generate self-signed cert and use its thumbprint. Valid for specified number of days. Default: 365", + args: { name: "valid-days" }, + }, + ], + }, + { + name: "delete", + description: "Delete an IoT Hub device", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "export", + description: + "Export all device identities from an IoT Hub to an Azure Storage blob container", + options: [ + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--blob-container", "--bc"], + description: + "This blob container is used to output the status of the device identity import job and the results. Parameter is ignored when blob_container_uri is provided. Write, read and delete access is required for this blob container", + args: { name: "blob-container" }, + }, + { + name: ["--blob-container-uri", "--bcu"], + description: + "Blob Shared Access Signature URI with write, read, and delete access to a blob container. This is used to output the status of the job and the results. Note: when using Identity-based authentication an https:// URI is still required - but no SAS token is necessary. Input for this argument can be inline or from a file path", + args: { name: "blob-container-uri" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: "--identity", + description: + "Managed identity type to determine if system assigned managed identity or user assigned managed identity is used. For system assigned managed identity, use [system]. For user assigned managed identity, provide the user assigned managed identity resource id. This identity requires a Storage Blob Data Contributor roles for the Storage Account", + args: { name: "identity" }, + }, + { + name: ["--include-keys", "--ik"], + description: + "If set, keys are exported normally. Otherwise, keys are set to null in export output", + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--storage-account", "--sa"], + description: + "Name of Azure Storage account containing the output blob container.Parameter is ignored when blob_container_uri is provided. Write, read and delete access is required", + args: { name: "storage-account" }, + }, + ], + }, + { + name: "import", + description: + "Import device identities to an IoT Hub from a storage container blob", + options: [ + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--input-blob-container", "--ibc"], + description: + "This blob container stores the file which defines operations to be performed on the identity registry. Parameter is ignored when input_blob_container_uri is provided. Read access is required for this blob container", + args: { name: "input-blob-container" }, + }, + { + name: ["--input-blob-container-uri", "--ibcu"], + description: + "Blob Shared Access Signature URI with read access to a blob container. This blob contains the operations to be performed on the identity registry. Note: when using Identity-based authentication an https:// URI is still required - but no SAS token is necessary. Input for this argument can be inline or from a file path", + args: { name: "input-blob-container-uri" }, + }, + { + name: "--identity", + description: + "Managed identity type to determine if system assigned managed identity or user assigned managed identity is used. For system assigned managed identity, use [system]. For user assigned managed identity, provide the user assigned managed identity resource id. This identity requires a Storage Blob Data Contributor role for the target Storage Account and Contributor role for the IoT Hub", + args: { name: "identity" }, + }, + { + name: ["--input-storage-account", "--isa"], + description: + "Name of Azure Storage account containing the input blob container.Only required when input_blob_container_uri is not provided. Read access is required", + args: { name: "input-storage-account" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--output-blob-container", "--obc"], + description: + "This blob container is used to output the status of the device identity import job and the results. Only required when input_blob_container_uri is not provided. Write access is required for this blob container", + args: { name: "output-blob-container" }, + }, + { + name: ["--output-blob-container-uri", "--obcu"], + description: + "Blob Shared Access Signature URI with write access to a blob container. This is used to output the status of the job and the results. Note: when using Identity-based authentication an https:// URI without the SAS token is still required. Input for this argument can be inline or from a file path", + args: { name: "output-blob-container-uri" }, + }, + { + name: ["--output-storage-account", "--osa"], + description: + "Name of Azure Storage account containing the output blob container.Parameter is ignored when output_blob_container_uri is provided. Write access is required", + args: { name: "output-storage-account" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List devices in an IoT Hub", + options: [ + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--edge-enabled", "--ee"], + description: "Flag indicating edge enablement", + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: + "Maximum number of elements to return. Use -1 for unlimited", + args: { name: "top" }, + }, + ], + }, + { + name: "renew-key", + description: + "Renew target keys of an IoT Hub device with sas authentication", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--key-type", "--kt"], + description: "Target key type to regenerate", + args: { + name: "key-type", + suggestions: ["primary", "secondary", "swap"], + }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an IoT Hub device", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update an IoT Hub device", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--auth-method", "--am"], + description: + "The authorization method an entity is to be created with", + args: { + name: "auth-method", + suggestions: [ + "shared_private_key", + "x509_ca", + "x509_thumbprint", + ], + }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--edge-enabled", "--ee"], + description: "Flag indicating edge enablement", + args: { + name: "edge-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--primary-key", "--pk"], + description: + "The primary symmetric shared access key stored in base64 format", + args: { name: "primary-key" }, + }, + { + name: ["--primary-thumbprint", "--ptp"], + description: + "Self-signed certificate thumbprint to use for the primary thumbprint", + args: { name: "primary-thumbprint" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--secondary-key", "--sk"], + description: + "The secondary symmetric shared access key stored in base64 format", + args: { name: "secondary-key" }, + }, + { + name: ["--secondary-thumbprint", "--stp"], + description: + "Self-signed certificate thumbprint to use for the secondary thumbprint", + args: { name: "secondary-thumbprint" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: ["--status", "--sta"], + description: "Set device status upon creation", + args: { + name: "status", + suggestions: ["disabled", "enabled"], + }, + }, + { + name: ["--status-reason", "--star"], + description: "Description for device status", + args: { name: "status-reason" }, + }, + ], + }, + { + name: "children", + description: + "Manage children device relationships for IoT edge devices", + subcommands: [ + { + name: "add", + description: + "Add devices as children to a target edge device", + options: [ + { + name: ["--child-list", "--cl"], + description: "Child device list (space separated)", + args: { name: "child-list" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: "Id of edge device", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { + name: "auth-type", + suggestions: ["key", "login"], + }, + }, + { + name: ["--force", "-f"], + description: + "Overwrites the child device's parent device", + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "Outputs the collection of assigned child devices", + options: [ + { + name: ["--device-id", "-d"], + description: "Id of edge device", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { + name: "auth-type", + suggestions: ["key", "login"], + }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Remove child devices from a target edge device", + options: [ + { + name: ["--device-id", "-d"], + description: "Id of edge device", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { + name: "auth-type", + suggestions: ["key", "login"], + }, + }, + { + name: ["--child-list", "--cl"], + description: "Child device list (space separated)", + args: { name: "child-list" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--remove-all", "-a"], + description: "To remove all children", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "connection-string", + description: "Manage IoT device's connection string", + subcommands: [ + { + name: "show", + description: "Show a given IoT Hub device connection string", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { + name: "auth-type", + suggestions: ["key", "login"], + }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--key-type", "--kt"], + description: + "Shared access policy key type for authentication", + args: { + name: "key-type", + suggestions: ["primary", "secondary"], + }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "parent", + description: "Manage parent device relationships for IoT devices", + subcommands: [ + { + name: "set", + description: "Set the parent device of a target device", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--parent-device-id", "--pd"], + description: "Id of edge device", + args: { name: "parent-device-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { + name: "auth-type", + suggestions: ["key", "login"], + }, + }, + { + name: ["--force", "-f"], + description: "Overwrites the device's parent device", + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the parent device of a target device", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { + name: "auth-type", + suggestions: ["key", "login"], + }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "device-twin", + description: "Manage IoT device twin configuration", + subcommands: [ + { + name: "list", + description: "List device twins in an IoT Hub", + options: [ + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--edge-enabled", "--ee"], + description: "Flag indicating edge enablement", + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: + "Maximum number of elements to return. Use -1 for unlimited", + args: { name: "top" }, + }, + ], + }, + { + name: "replace", + description: "Replace device twin definition with target json", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--json", "-j"], + description: + "Json to replace existing twin with. Provide file path or raw json", + args: { name: "json" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a device twin definition", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update device twin desired properties and tags", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: "--desired", + description: "Twin desired properties", + args: { name: "desired" }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--tags", + description: "Twin tags", + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "devicestream", + description: "Manage device streams of an IoT hub", + subcommands: [ + { + name: "show", + description: "Get IoT Hub's device streams endpoints", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "digital-twin", + description: + "Manipulate and interact with the digital twin of an IoT Hub device", + subcommands: [ + { + name: "invoke-command", + description: + "Invoke a root or component level command of a digital twin device", + options: [ + { + name: ["--command-name", "--cn"], + description: "Digital twin command name", + args: { name: "command-name" }, + isRequired: true, + }, + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--component-path", + description: + "Digital twin component path. For example: thermostat1", + args: { name: "component-path" }, + }, + { + name: ["--connect-timeout", "--cto"], + description: + "Maximum interval of time, in seconds, that IoT Hub will attempt to connect to the device", + args: { name: "connect-timeout" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: "--payload", + description: + "JSON payload input for command. Provide file path or inline JSON", + args: { name: "payload" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--response-timeout", "--rto"], + description: + "Maximum interval of time, in seconds, that the digital twin command will wait for the result", + args: { name: "response-timeout" }, + }, + ], + }, + { + name: "show", + description: "Show the digital twin of an IoT Hub device", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update the read-write properties of a digital twin device via JSON patch specification", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--json-patch", "--patch"], + description: + "An update specification described by JSON-patch. Operations are limited to add, replace and remove. Provide file path or inline JSON", + args: { name: "json-patch" }, + isRequired: true, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "distributed-tracing", + description: "Manage distributed settings per-device", + subcommands: [ + { + name: "show", + description: "Get the distributed tracing settings for a device", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update the distributed tracing options for a device", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--sampling-mode", "--sm"], + description: + "Turns sampling for distributed tracing on and off. 1 is On and, 2 is Off", + args: { name: "sampling-mode", suggestions: ["off", "on"] }, + isRequired: true, + }, + { + name: ["--sampling-rate", "--sr"], + description: + "Controls the amount of messages sampled for adding trace context. This value isa percentage. Only values from 0 to 100 (inclusive) are permitted", + args: { name: "sampling-rate" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage identities of an Azure IoT hub", + subcommands: [ + { + name: "assign", + description: "Assign managed identities to an IoT Hub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: + "Role to assign to the hub's system-assigned managed identity", + args: { name: "role" }, + }, + { + name: "--scopes", + description: + "Space separated list of scopes to assign the role (--role) for the system-assigned managed identity", + args: { name: "scopes" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--system-assigned", "--system"], + description: + "Assign a system-assigned managed identity to this hub", + args: { + name: "system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: ["--user-assigned", "--user"], + description: + "Assign user-assigned managed identities to this hub. Accept space-separated list of identity resource IDs", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "remove", + description: "Remove managed identities from an IoT Hub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--system-assigned", "--system"], + description: + "Remove a system-assigned managed identity from this hub", + args: { + name: "system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: ["--user-assigned", "--user"], + description: + "Remove user-assigned managed identities from this hub. Accept space-separated list of identity resource IDs", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "show", + description: "Show the identity properties of an IoT Hub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "job", + description: "Manage IoT Hub jobs (v2)", + subcommands: [ + { + name: "cancel", + description: "Cancel an IoT Hub job", + options: [ + { + name: "--job-id", + description: "IoT Hub job Id", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "create", + description: "Create and schedule an IoT Hub job for execution", + options: [ + { + name: "--job-id", + description: "IoT Hub job Id", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--job-type", "--jt"], + description: "The type of scheduled job", + args: { + name: "job-type", + suggestions: ["scheduleDeviceMethod", "scheduleUpdateTwin"], + }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--poll-duration", "--duration"], + description: + "Total duration in seconds where job status will be checked if --wait flag is passed in", + args: { name: "poll-duration" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--poll-interval", "--interval"], + description: + "Interval in seconds that job status will be checked if --wait flag is passed in", + args: { name: "poll-interval" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--method-connect-timeout", "--mct"], + description: + "Maximum number of seconds to wait on device connection", + args: { name: "method-connect-timeout" }, + }, + { + name: ["--method-name", "--mn"], + description: "Target method for invocation", + args: { name: "method-name" }, + }, + { + name: ["--method-payload", "--mp"], + description: + "Json payload to be passed to method. Must be file path or raw json", + args: { name: "method-payload" }, + }, + { + name: ["--method-response-timeout", "--mrt"], + description: + "Maximum number of seconds to wait for device method result", + args: { name: "method-response-timeout" }, + }, + { + name: ["--twin-patch", "--patch"], + description: + "The desired twin patch. Provide file path or raw json", + args: { name: "twin-patch" }, + }, + { + name: ["--query-condition", "-q"], + description: + 'Condition for device query to get devices to execute the job on. Required if job type is scheduleDeviceMethod or scheduleUpdateTwin. Note: The service will prefix "SELECT * FROM devices WHERE " to the input', + args: { name: "query-condition" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--start-time", "--start"], + description: + "The scheduled start of the job in ISO 8601 date time format. If no start time is provided, the job is queued for asap execution. Using a custom start time that's in the past may cause the operation to fail", + args: { name: "start-time" }, + }, + { + name: "--ttl", + description: + "Max execution time in seconds, before job is terminated", + args: { name: "ttl" }, + }, + { + name: ["--wait", "-w"], + description: + "Block until the created job is in a completed, failed or cancelled state. Will regularly poll on interval specified by --poll-interval", + }, + ], + }, + { + name: "list", + description: "List the historical jobs of an IoT Hub", + options: [ + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--job-status", "--js"], + description: "The status of a scheduled job", + args: { + name: "job-status", + suggestions: [ + "cancelled", + "completed", + "enqueued", + "failed", + "queued", + "running", + "scheduled", + "unknown", + ], + }, + }, + { + name: ["--job-type", "--jt"], + description: "The type of scheduled job", + args: { + name: "job-type", + suggestions: [ + "export", + "import", + "scheduleDeviceMethod", + "scheduleUpdateTwin", + ], + }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: + "Maximum number of elements to return. Use -1 for unlimited", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Show details of an existing IoT Hub job", + options: [ + { + name: "--job-id", + description: "IoT Hub job Id", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "message-endpoint", + description: "Manage custom endpoints of an IoT hub", + subcommands: [ + { + name: "delete", + description: "Delete all or a specific endpoint for an IoT Hub", + options: [ + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: "Name of the routing endpoint", + args: { name: "endpoint-name" }, + }, + { + name: ["--endpoint-type", "--type", "-t"], + description: "Type of the routing endpoint", + args: { + name: "endpoint-type", + suggestions: [ + "cosmosdb-container", + "eventhub", + "servicebus-queue", + "servicebus-topic", + "storage-container", + ], + }, + }, + { + name: ["--force", "-f"], + description: + "Force delete the endpoint(s) and any routes and message enrichments associated", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + { + name: "list", + description: + "Get information on all the endpoints for an IoT Hub", + options: [ + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--endpoint-type", "--type", "-t"], + description: "Type of the routing endpoint", + args: { + name: "endpoint-type", + suggestions: [ + "cosmosdb-container", + "eventhub", + "servicebus-queue", + "servicebus-topic", + "storage-container", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get information on mentioned endpoint for an IoT Hub", + options: [ + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: "Name of the routing endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "create", + description: "Add an endpoint to an IoT Hub", + subcommands: [ + { + name: "cosmosdb-container", + description: + "Add a Cosmos DB Container endpoint for an IoT Hub", + options: [ + { + name: ["--container-name", "--container"], + description: + "The name of the Cosmos DB SQL Container in the cosmos DB Database", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--database-name", "--db"], + description: + "The name of the cosmos DB database in the cosmos DB account", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: "Name of the routing endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--connection-string", "-c"], + description: "Connection string of the routing endpoint", + args: { name: "connection-string" }, + }, + { + name: "--endpoint-account", + description: "The account name for the endpoint resource", + args: { name: "endpoint-account" }, + }, + { + name: ["--endpoint-resource-group", "--erg", "-r"], + description: + "Resource group of the Endpoint resoure. If not provided, the IoT Hub's resource group will be used", + args: { name: "endpoint-resource-group" }, + }, + { + name: ["--endpoint-subscription-id", "-s"], + description: + "Subscription Id of the Endpoint resource. If not provided, the IoT Hub's subscription will be used", + args: { name: "endpoint-subscription-id" }, + }, + { + name: "--endpoint-uri", + description: "The uri of the endpoint resource", + args: { name: "endpoint-uri" }, + }, + { + name: "--identity", + description: + 'Use a system-assigned or user-assigned managed identity for endpoint authentication. Use "[system]" to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity', + args: { name: "identity" }, + }, + { + name: ["--partition-key-name", "--pkn"], + description: + "The name of the partition key associated with this Cosmos DB SQL Container if one exists", + args: { name: "partition-key-name" }, + }, + { + name: ["--partition-key-template", "--pkt"], + description: + "The template for generating a synthetic partition key value for use with this Cosmos DB SQL Container. The template must include at least one of the following placeholders: {iothub}, {deviceid}, {DD}, {MM}, and {YYYY}. Any one placeholder may be specified at most once, but order and non-placeholder components are arbitrary. If partition key name is provided, partition key template defaults to {deviceid}-{YYYY}-{MM}", + args: { name: "partition-key-template" }, + }, + { + name: ["--primary-key", "--pk"], + description: "The primary key of the cosmos DB account", + args: { name: "primary-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--secondary-key", "--sk"], + description: "The secondary key of the cosmos DB account", + args: { name: "secondary-key" }, + }, + ], + }, + { + name: "eventhub", + description: "Add an Event Hub endpoint for an IoT Hub", + options: [ + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: "Name of the routing endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--connection-string", "-c"], + description: "Connection string of the routing endpoint", + args: { name: "connection-string" }, + }, + { + name: ["--endpoint-namespace-name", "--namespace"], + description: + "The namespace name for the endpoint resource", + args: { name: "endpoint-namespace-name" }, + }, + { + name: ["--endpoint-policy-name", "--policy"], + description: + "The policy name for connection string retrieval", + args: { name: "endpoint-policy-name" }, + }, + { + name: ["--endpoint-resource-group", "--erg", "-r"], + description: + "Resource group of the Endpoint resoure. If not provided, the IoT Hub's resource group will be used", + args: { name: "endpoint-resource-group" }, + }, + { + name: ["--endpoint-subscription-id", "-s"], + description: + "Subscription Id of the Endpoint resource. If not provided, the IoT Hub's subscription will be used", + args: { name: "endpoint-subscription-id" }, + }, + { + name: "--endpoint-uri", + description: "The uri of the endpoint resource", + args: { name: "endpoint-uri" }, + }, + { + name: "--entity-path", + description: "The entity path of the endpoint resource", + args: { name: "entity-path" }, + }, + { + name: "--identity", + description: + 'Use a system-assigned or user-assigned managed identity for endpoint authentication. Use "[system]" to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity', + args: { name: "identity" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "servicebus-queue", + description: + "Add a Service Bus Queue endpoint for an IoT Hub", + options: [ + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: "Name of the routing endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--connection-string", "-c"], + description: "Connection string of the routing endpoint", + args: { name: "connection-string" }, + }, + { + name: ["--endpoint-namespace-name", "--namespace"], + description: + "The namespace name for the endpoint resource", + args: { name: "endpoint-namespace-name" }, + }, + { + name: ["--endpoint-policy-name", "--policy"], + description: + "The policy name for connection string retrieval", + args: { name: "endpoint-policy-name" }, + }, + { + name: ["--endpoint-resource-group", "--erg", "-r"], + description: + "Resource group of the Endpoint resoure. If not provided, the IoT Hub's resource group will be used", + args: { name: "endpoint-resource-group" }, + }, + { + name: ["--endpoint-subscription-id", "-s"], + description: + "Subscription Id of the Endpoint resource. If not provided, the IoT Hub's subscription will be used", + args: { name: "endpoint-subscription-id" }, + }, + { + name: "--endpoint-uri", + description: "The uri of the endpoint resource", + args: { name: "endpoint-uri" }, + }, + { + name: "--entity-path", + description: "The entity path of the endpoint resource", + args: { name: "entity-path" }, + }, + { + name: "--identity", + description: + 'Use a system-assigned or user-assigned managed identity for endpoint authentication. Use "[system]" to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity', + args: { name: "identity" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "servicebus-topic", + description: + "Add a Service Bus Topic endpoint for an IoT Hub", + options: [ + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: "Name of the routing endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--connection-string", "-c"], + description: "Connection string of the routing endpoint", + args: { name: "connection-string" }, + }, + { + name: ["--endpoint-namespace-name", "--namespace"], + description: + "The namespace name for the endpoint resource", + args: { name: "endpoint-namespace-name" }, + }, + { + name: ["--endpoint-policy-name", "--policy"], + description: + "The policy name for connection string retrieval", + args: { name: "endpoint-policy-name" }, + }, + { + name: ["--endpoint-resource-group", "--erg", "-r"], + description: + "Resource group of the Endpoint resoure. If not provided, the IoT Hub's resource group will be used", + args: { name: "endpoint-resource-group" }, + }, + { + name: ["--endpoint-subscription-id", "-s"], + description: + "Subscription Id of the Endpoint resource. If not provided, the IoT Hub's subscription will be used", + args: { name: "endpoint-subscription-id" }, + }, + { + name: "--endpoint-uri", + description: "The uri of the endpoint resource", + args: { name: "endpoint-uri" }, + }, + { + name: "--entity-path", + description: "The entity path of the endpoint resource", + args: { name: "entity-path" }, + }, + { + name: "--identity", + description: + 'Use a system-assigned or user-assigned managed identity for endpoint authentication. Use "[system]" to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity', + args: { name: "identity" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "storage-container", + description: + "Add a Storage Container endpoint for an IoT Hub", + options: [ + { + name: ["--container-name", "--container"], + description: "Name of the storage container", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: "Name of the routing endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--batch-frequency", "-b"], + description: + "Request batch frequency in seconds. The maximum amount of time that can elapse before data is written to a blob, between 60 and 720 seconds", + args: { name: "batch-frequency" }, + }, + { + name: ["--chunk-size", "-w"], + description: + "Request chunk size in megabytes(MB). The maximum size of blobs, between 10 and 500 MB", + args: { name: "chunk-size" }, + }, + { + name: ["--connection-string", "-c"], + description: "Connection string of the routing endpoint", + args: { name: "connection-string" }, + }, + { + name: "--encoding", + description: "Encoding format for the container", + args: { name: "encoding", suggestions: ["avro", "json"] }, + }, + { + name: "--endpoint-account", + description: "The account name for the endpoint resource", + args: { name: "endpoint-account" }, + }, + { + name: ["--endpoint-resource-group", "--erg", "-r"], + description: + "Resource group of the Endpoint resoure. If not provided, the IoT Hub's resource group will be used", + args: { name: "endpoint-resource-group" }, + }, + { + name: ["--endpoint-subscription-id", "-s"], + description: + "Subscription Id of the Endpoint resource. If not provided, the IoT Hub's subscription will be used", + args: { name: "endpoint-subscription-id" }, + }, + { + name: "--endpoint-uri", + description: "The uri of the endpoint resource", + args: { name: "endpoint-uri" }, + }, + { + name: ["--file-name-format", "--ff"], + description: + "File name format for the blob. The file name format must contain {iothub}, {partition}, {YYYY}, {MM}, {DD}, {HH} and {mm} fields. All parameters are mandatory but can be reordered with or without delimiters", + args: { name: "file-name-format" }, + }, + { + name: "--identity", + description: + 'Use a system-assigned or user-assigned managed identity for endpoint authentication. Use "[system]" to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity', + args: { name: "identity" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "update", + description: + "Update the properties of an existing endpoint for an IoT Hub", + subcommands: [ + { + name: "cosmosdb-container", + description: + "Update the properties of an existing Cosmos DB Container endpoint for an IoT Hub", + options: [ + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: "Name of the routing endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--connection-string", "-c"], + description: "Connection string of the routing endpoint", + args: { name: "connection-string" }, + }, + { + name: ["--database-name", "--db"], + description: + "The name of the cosmos DB database in the cosmos DB account", + args: { name: "database-name" }, + }, + { + name: ["--endpoint-resource-group", "--erg", "-r"], + description: + "Resource group of the Endpoint resoure. If not provided, the IoT Hub's resource group will be used", + args: { name: "endpoint-resource-group" }, + }, + { + name: ["--endpoint-subscription-id", "-s"], + description: + "Subscription Id of the Endpoint resource. If not provided, the IoT Hub's subscription will be used", + args: { name: "endpoint-subscription-id" }, + }, + { + name: "--endpoint-uri", + description: "The uri of the endpoint resource", + args: { name: "endpoint-uri" }, + }, + { + name: "--identity", + description: + 'Use a system-assigned or user-assigned managed identity for endpoint authentication. Use "[system]" to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity', + args: { name: "identity" }, + }, + { + name: ["--partition-key-name", "--pkn"], + description: + 'The name of the partition key associated with this Cosmos DB SQL Container if one exists. To clear this property, set this to ""', + args: { name: "partition-key-name" }, + }, + { + name: ["--partition-key-template", "--pkt"], + description: + 'The template for generating a synthetic partition key value for use with this Cosmos DB SQL Container. The template must include at least one of the following placeholders: {iothub}, {deviceid}, {DD}, {MM}, and {YYYY}. Any one placeholder may be specified at most once, but order and non-placeholder components are arbitrary. If partition key name is provided, partition key template defaults to {deviceid}-{YYYY}-{MM}. To clear this property, set this to ""', + args: { name: "partition-key-template" }, + }, + { + name: ["--primary-key", "--pk"], + description: "The primary key of the cosmos DB account", + args: { name: "primary-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--secondary-key", "--sk"], + description: "The secondary key of the cosmos DB account", + args: { name: "secondary-key" }, + }, + ], + }, + { + name: "eventhub", + description: + "Update the properties of an existing Event Hub endpoint for an IoT Hub", + options: [ + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: "Name of the routing endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--connection-string", "-c"], + description: "Connection string of the routing endpoint", + args: { name: "connection-string" }, + }, + { + name: ["--endpoint-resource-group", "--erg", "-r"], + description: + "Resource group of the Endpoint resoure. If not provided, the IoT Hub's resource group will be used", + args: { name: "endpoint-resource-group" }, + }, + { + name: ["--endpoint-subscription-id", "-s"], + description: + "Subscription Id of the Endpoint resource. If not provided, the IoT Hub's subscription will be used", + args: { name: "endpoint-subscription-id" }, + }, + { + name: "--endpoint-uri", + description: "The uri of the endpoint resource", + args: { name: "endpoint-uri" }, + }, + { + name: "--entity-path", + description: "The entity path of the endpoint resource", + args: { name: "entity-path" }, + }, + { + name: "--identity", + description: + 'Use a system-assigned or user-assigned managed identity for endpoint authentication. Use "[system]" to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity', + args: { name: "identity" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "servicebus-queue", + description: + "Update the properties of an existing Service Bus Queue endpoint for an IoT Hub", + options: [ + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: "Name of the routing endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--connection-string", "-c"], + description: "Connection string of the routing endpoint", + args: { name: "connection-string" }, + }, + { + name: ["--endpoint-resource-group", "--erg", "-r"], + description: + "Resource group of the Endpoint resoure. If not provided, the IoT Hub's resource group will be used", + args: { name: "endpoint-resource-group" }, + }, + { + name: ["--endpoint-subscription-id", "-s"], + description: + "Subscription Id of the Endpoint resource. If not provided, the IoT Hub's subscription will be used", + args: { name: "endpoint-subscription-id" }, + }, + { + name: "--endpoint-uri", + description: "The uri of the endpoint resource", + args: { name: "endpoint-uri" }, + }, + { + name: "--entity-path", + description: "The entity path of the endpoint resource", + args: { name: "entity-path" }, + }, + { + name: "--identity", + description: + 'Use a system-assigned or user-assigned managed identity for endpoint authentication. Use "[system]" to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity', + args: { name: "identity" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "servicebus-topic", + description: + "Update the properties of an existing Service Bus Topic endpoint for an IoT Hub", + options: [ + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: "Name of the routing endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--connection-string", "-c"], + description: "Connection string of the routing endpoint", + args: { name: "connection-string" }, + }, + { + name: ["--endpoint-resource-group", "--erg", "-r"], + description: + "Resource group of the Endpoint resoure. If not provided, the IoT Hub's resource group will be used", + args: { name: "endpoint-resource-group" }, + }, + { + name: ["--endpoint-subscription-id", "-s"], + description: + "Subscription Id of the Endpoint resource. If not provided, the IoT Hub's subscription will be used", + args: { name: "endpoint-subscription-id" }, + }, + { + name: "--endpoint-uri", + description: "The uri of the endpoint resource", + args: { name: "endpoint-uri" }, + }, + { + name: "--entity-path", + description: "The entity path of the endpoint resource", + args: { name: "entity-path" }, + }, + { + name: "--identity", + description: + 'Use a system-assigned or user-assigned managed identity for endpoint authentication. Use "[system]" to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity', + args: { name: "identity" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "storage-container", + description: + "Update the properties of an existing Storage Container endpoint for an IoT Hub", + options: [ + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: "Name of the routing endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--batch-frequency", "-b"], + description: + "Request batch frequency in seconds. The maximum amount of time that can elapse before data is written to a blob, between 60 and 720 seconds", + args: { name: "batch-frequency" }, + }, + { + name: ["--chunk-size", "-w"], + description: + "Request chunk size in megabytes(MB). The maximum size of blobs, between 10 and 500 MB", + args: { name: "chunk-size" }, + }, + { + name: ["--connection-string", "-c"], + description: "Connection string of the routing endpoint", + args: { name: "connection-string" }, + }, + { + name: ["--endpoint-resource-group", "--erg", "-r"], + description: + "Resource group of the Endpoint resoure. If not provided, the IoT Hub's resource group will be used", + args: { name: "endpoint-resource-group" }, + }, + { + name: ["--endpoint-subscription-id", "-s"], + description: + "Subscription Id of the Endpoint resource. If not provided, the IoT Hub's subscription will be used", + args: { name: "endpoint-subscription-id" }, + }, + { + name: "--endpoint-uri", + description: "The uri of the endpoint resource", + args: { name: "endpoint-uri" }, + }, + { + name: ["--file-name-format", "--ff"], + description: + "File name format for the blob. The file name format must contain {iothub}, {partition}, {YYYY}, {MM}, {DD}, {HH} and {mm} fields. All parameters are mandatory but can be reordered with or without delimiters", + args: { name: "file-name-format" }, + }, + { + name: "--identity", + description: + 'Use a system-assigned or user-assigned managed identity for endpoint authentication. Use "[system]" to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity', + args: { name: "identity" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "message-enrichment", + description: "Manage message enrichments for endpoints of an IoT Hub", + subcommands: [ + { + name: "create", + description: + "Create a message enrichment for chosen endpoints in your IoT Hub", + options: [ + { + name: ["--endpoints", "-e"], + description: + "Endpoint(s) to apply enrichments to. Use a space-separated list for multiple endpoints", + args: { name: "endpoints" }, + isRequired: true, + }, + { + name: ["--key", "-k"], + description: "The enrichment's key", + args: { name: "key" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--value", "-v"], + description: "The enrichment's value", + args: { name: "value" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a message enrichment in your IoT hub (by key)", + options: [ + { + name: ["--key", "-k"], + description: "The enrichment's key", + args: { name: "key" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Get information on all message enrichments for your IoT Hub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a message enrichment in your IoT hub (by key)", + options: [ + { + name: ["--endpoints", "-e"], + description: + "Endpoint(s) to apply enrichments to. Use a space-separated list for multiple endpoints", + args: { name: "endpoints" }, + isRequired: true, + }, + { + name: ["--key", "-k"], + description: "The enrichment's key", + args: { name: "key" }, + isRequired: true, + }, + { + name: ["--value", "-v"], + description: "The enrichment's value", + args: { name: "value" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "IoT Hub name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "message-route", + description: "Manage routes of an IoT hub", + subcommands: [ + { + name: "create", + description: "Add a route for an IoT Hub", + options: [ + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: + "Name of the routing endpoint. For the built-in endpoint, use endpoint name 'events'", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--route-name", "--route", "--rn"], + description: "Name of the route", + args: { name: "route-name" }, + isRequired: true, + }, + { + name: ["--source-type", "--type", "-t"], + description: "Source of the route", + args: { + name: "source-type", + suggestions: [ + "deviceconnectionstateevents", + "devicejoblifecycleevents", + "devicelifecycleevents", + "devicemessages", + "digitaltwinchangeevents", + "invalid", + "twinchangeevents", + ], + }, + isRequired: true, + }, + { + name: ["--condition", "-c"], + description: + "Condition that is evaluated to apply the routing rule", + args: { name: "condition" }, + }, + { + name: ["--enabled", "-e"], + description: + "A boolean indicating whether to enable route to the IoT Hub", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Delete all routes or a mentioned route in an IoT Hub", + options: [ + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--route-name", "--route", "--rn"], + description: "Name of the route", + args: { name: "route-name" }, + }, + { + name: ["--source-type", "--type", "-t"], + description: "Source of the route", + args: { + name: "source-type", + suggestions: [ + "deviceconnectionstateevents", + "devicejoblifecycleevents", + "devicelifecycleevents", + "devicemessages", + "digitaltwinchangeevents", + "invalid", + "twinchangeevents", + ], + }, + }, + { + name: ["--yes", "-y"], + description: + "Skip user prompts. Indicates acceptance of action. Used primarily for automation scenarios. Default: false", + }, + ], + }, + { + name: "list", + description: "Get all the routes in an IoT Hub", + options: [ + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--source-type", "--type", "-t"], + description: "Source of the route", + args: { + name: "source-type", + suggestions: [ + "deviceconnectionstateevents", + "devicejoblifecycleevents", + "devicelifecycleevents", + "devicemessages", + "digitaltwinchangeevents", + "invalid", + "twinchangeevents", + ], + }, + }, + ], + }, + { + name: "show", + description: "Get information about the route in an IoT Hub", + options: [ + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--route-name", "--route", "--rn"], + description: "Name of the route", + args: { name: "route-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "test", + description: "Test all routes or a mentioned route in an IoT Hub", + options: [ + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--app-properties", "--ap"], + description: "App properties of the route message", + args: { name: "app-properties" }, + }, + { + name: ["--body", "-b"], + description: "Body of the route message", + args: { name: "body" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--route-name", "--route", "--rn"], + description: "Name of the route", + args: { name: "route-name" }, + }, + { + name: ["--source-type", "--type", "-t"], + description: "Source of the route", + args: { + name: "source-type", + suggestions: [ + "deviceconnectionstateevents", + "devicejoblifecycleevents", + "devicelifecycleevents", + "devicemessages", + "digitaltwinchangeevents", + "invalid", + "twinchangeevents", + ], + }, + }, + { + name: ["--system-properties", "--sp"], + description: "System properties of the route message", + args: { name: "system-properties" }, + }, + ], + }, + { + name: "update", + description: "Update a route for an IoT Hub", + options: [ + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--route-name", "--route", "--rn"], + description: "Name of the route", + args: { name: "route-name" }, + isRequired: true, + }, + { + name: ["--condition", "-c"], + description: + "Condition that is evaluated to apply the routing rule", + args: { name: "condition" }, + }, + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: + "Name of the routing endpoint. For the built-in endpoint, use endpoint name 'events'", + args: { name: "endpoint-name" }, + }, + { + name: ["--enabled", "-e"], + description: + "A boolean indicating whether to enable route to the IoT Hub", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--source-type", "--type", "-t"], + description: "Source of the route", + args: { + name: "source-type", + suggestions: [ + "deviceconnectionstateevents", + "devicejoblifecycleevents", + "devicelifecycleevents", + "devicemessages", + "digitaltwinchangeevents", + "invalid", + "twinchangeevents", + ], + }, + }, + ], + }, + { + name: "fallback", + description: "Manage the fallback route of an IoT hub", + subcommands: [ + { + name: "set", + description: + "Enable or disable the fallback route in an IoT Hub", + options: [ + { + name: ["--enabled", "-e"], + description: + "A boolean indicating whether to enable route to the IoT Hub", + args: { name: "enabled", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the fallback route of an IoT Hub", + options: [ + { + name: ["--hub-name", "-n"], + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "module-identity", + description: "Manage IoT device modules", + subcommands: [ + { + name: "create", + description: + "Create a module on a target IoT device in an IoT Hub", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--module-id", "-m"], + description: "Target Module Id", + args: { name: "module-id" }, + isRequired: true, + }, + { + name: ["--auth-method", "--am"], + description: + "The authorization method an entity is to be created with", + args: { + name: "auth-method", + suggestions: [ + "shared_private_key", + "x509_ca", + "x509_thumbprint", + ], + }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--output-dir", "--od"], + description: + "Generate self-signed cert and use its thumbprint. Output to specified target directory", + args: { name: "output-dir" }, + }, + { + name: ["--primary-key", "--pk"], + description: + "The primary symmetric shared access key stored in base64 format", + args: { name: "primary-key" }, + }, + { + name: ["--primary-thumbprint", "--ptp"], + description: + "Self-signed certificate thumbprint to use for the primary thumbprint", + args: { name: "primary-thumbprint" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--secondary-key", "--sk"], + description: + "The secondary symmetric shared access key stored in base64 format", + args: { name: "secondary-key" }, + }, + { + name: ["--secondary-thumbprint", "--stp"], + description: + "Self-signed certificate thumbprint to use for the secondary thumbprint", + args: { name: "secondary-thumbprint" }, + }, + { + name: ["--valid-days", "--vd"], + description: + "Generate self-signed cert and use its thumbprint. Valid for specified number of days. Default: 365", + args: { name: "valid-days" }, + }, + ], + }, + { + name: "delete", + description: "Delete a device in an IoT Hub", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--module-id", "-m"], + description: "Target Module Id", + args: { name: "module-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List modules located on an IoT device in an IoT Hub", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: + "Maximum number of elements to return. Use -1 for unlimited", + args: { name: "top" }, + }, + ], + }, + { + name: "renew-key", + description: + "Renew target keys of an IoT Hub device module with sas authentication", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--key-type", "--kt"], + description: "Target key type to regenerate", + args: { + name: "key-type", + suggestions: ["primary", "secondary", "swap"], + }, + isRequired: true, + }, + { + name: ["--module-id", "-m"], + description: "Target Module Id", + args: { name: "module-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of an IoT device module in an IoT Hub", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--module-id", "-m"], + description: "Target Module Id", + args: { name: "module-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update an IoT Hub device module", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--module-id", "-m"], + description: "Target Module Id", + args: { name: "module-id" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "connection-string", + description: "Manage IoT device module's connection string", + subcommands: [ + { + name: "show", + description: + "Show a target IoT device module connection string", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--module-id", "-m"], + description: "Target Module Id", + args: { name: "module-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { + name: "auth-type", + suggestions: ["key", "login"], + }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--key-type", "--kt"], + description: + "Shared access policy key type for authentication", + args: { + name: "key-type", + suggestions: ["primary", "secondary"], + }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "module-twin", + description: "Manage IoT device module twin configuration", + subcommands: [ + { + name: "replace", + description: "Replace a module twin definition with target json", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--json", "-j"], + description: + "Json to replace existing twin with. Provide file path or raw json", + args: { name: "json" }, + isRequired: true, + }, + { + name: ["--module-id", "-m"], + description: "Target Module Id", + args: { name: "module-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show a module twin definition", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--module-id", "-m"], + description: "Target Module Id", + args: { name: "module-id" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update module twin desired properties and tags", + options: [ + { + name: ["--device-id", "-d"], + description: "Target Device Id", + args: { name: "device-id" }, + isRequired: true, + }, + { + name: ["--module-id", "-m"], + description: "Target Module Id", + args: { name: "module-id" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: "--desired", + description: "Twin desired properties", + args: { name: "desired" }, + }, + { + name: ["--etag", "-e"], + description: + "Etag or entity tag corresponding to the last state of the resource. If no etag is provided the value '*' is used", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--tags", + description: "Twin tags", + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "policy", + description: "Manage shared access policies of an IoT hub", + subcommands: [ + { + name: "create", + description: "Create a new shared access policy in an IoT hub", + options: [ + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Shared access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--permissions", + description: + "Permissions of shared access policy. Use space-separated list for multiple permissions. Possible values: RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect", + args: { name: "permissions" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: "Delete a shared access policy from an IoT hub", + options: [ + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Shared access policy name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List shared access policies of an IoT hub", + options: [ + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "renew-key", + description: + "Regenerate keys of a shared access policy of an IoT hub", + options: [ + { + name: ["--renew-key", "--rk"], + description: "Regenerate keys", + args: { + name: "renew-key", + suggestions: ["primary", "secondary", "swap"], + }, + isRequired: true, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Shared access policy name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of a shared access policy of an IoT hub", + options: [ + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Shared access policy name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "route", + description: "Manage routes of an IoT hub", + subcommands: [ + { + name: "create", + description: "Create a route in IoT Hub", + options: [ + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: "Name of the routing endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--route-name", "--name", "-n"], + description: "Name of the Route", + args: { name: "route-name" }, + isRequired: true, + }, + { + name: ["--source-type", "--source", "--type", "-s"], + description: "Source of the route", + args: { + name: "source-type", + suggestions: [ + "deviceconnectionstateevents", + "devicejoblifecycleevents", + "devicelifecycleevents", + "devicemessages", + "digitaltwinchangeevents", + "invalid", + "twinchangeevents", + ], + }, + isRequired: true, + }, + { + name: ["--condition", "-c"], + description: + "Condition that is evaluated to apply the routing rule", + args: { name: "condition" }, + }, + { + name: ["--enabled", "-e"], + description: + "A boolean indicating whether to enable route to the Iot hub", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: "Delete all or mentioned route for your IoT Hub", + options: [ + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--route-name", "--name", "-n"], + description: "Name of the Route", + args: { name: "route-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--source-type", "--source", "--type", "-s"], + description: "Source of the route", + args: { + name: "source-type", + suggestions: [ + "deviceconnectionstateevents", + "devicejoblifecycleevents", + "devicelifecycleevents", + "devicemessages", + "digitaltwinchangeevents", + "invalid", + "twinchangeevents", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Get all the routes in IoT Hub", + options: [ + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--source-type", "--source", "--type", "-s"], + description: "Source of the route", + args: { + name: "source-type", + suggestions: [ + "deviceconnectionstateevents", + "devicejoblifecycleevents", + "devicelifecycleevents", + "devicemessages", + "digitaltwinchangeevents", + "invalid", + "twinchangeevents", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get information about the route in IoT Hub", + options: [ + { + name: ["--route-name", "--name", "-n"], + description: "Name of the Route", + args: { name: "route-name" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "test", + description: "Test all routes or mentioned route in IoT Hub", + options: [ + { + name: ["--app-properties", "--ap"], + description: "App properties of the route message", + args: { name: "app-properties" }, + }, + { + name: ["--body", "-b"], + description: "Body of the route message", + args: { name: "body" }, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--route-name", "--name", "-n"], + description: "Name of the Route", + args: { name: "route-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--source-type", "--source", "--type", "-s"], + description: "Source of the route", + args: { + name: "source-type", + suggestions: [ + "deviceconnectionstateevents", + "devicejoblifecycleevents", + "devicelifecycleevents", + "devicemessages", + "digitaltwinchangeevents", + "invalid", + "twinchangeevents", + ], + }, + }, + { + name: ["--system-properties", "--sp"], + description: "System properties of the route message", + args: { name: "system-properties" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a route in IoT Hub", + options: [ + { + name: ["--route-name", "--name", "-n"], + description: "Name of the Route", + args: { name: "route-name" }, + isRequired: true, + }, + { + name: ["--condition", "-c"], + description: + "Condition that is evaluated to apply the routing rule", + args: { name: "condition" }, + }, + { + name: ["--endpoint-name", "--endpoint", "--en"], + description: "Name of the routing endpoint", + args: { name: "endpoint-name" }, + }, + { + name: ["--enabled", "-e"], + description: + "A boolean indicating whether to enable route to the Iot hub", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--source-type", "--source", "--type", "-s"], + description: "Source of the route", + args: { + name: "source-type", + suggestions: [ + "deviceconnectionstateevents", + "devicejoblifecycleevents", + "devicelifecycleevents", + "devicemessages", + "digitaltwinchangeevents", + "invalid", + "twinchangeevents", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "routing-endpoint", + description: "Manage custom endpoints of an IoT hub", + subcommands: [ + { + name: "create", + description: "Add an endpoint to your IoT Hub", + options: [ + { + name: ["--endpoint-name", "--name", "-n"], + description: "Name of the Routing Endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--endpoint-resource-group", "--erg", "-r"], + description: "Resource group of the Endpoint resoure", + args: { name: "endpoint-resource-group" }, + isRequired: true, + }, + { + name: ["--endpoint-subscription-id", "-s"], + description: "SubscriptionId of the Endpoint resource", + args: { name: "endpoint-subscription-id" }, + isRequired: true, + }, + { + name: ["--endpoint-type", "--type", "-t"], + description: "Type of the Routing Endpoint", + args: { + name: "endpoint-type", + suggestions: [ + "azurestoragecontainer", + "eventhub", + "servicebusqueue", + "servicebustopic", + ], + }, + isRequired: true, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--auth-type", + description: + "Authentication type for the endpoint. The default is keyBased", + args: { + name: "auth-type", + suggestions: ["identityBased", "keyBased"], + }, + }, + { + name: ["--batch-frequency", "-b"], + description: + "Request batch frequency in seconds. The maximum amount of time that can elapse before data is written to a blob, between 60 and 720 seconds", + args: { name: "batch-frequency" }, + }, + { + name: ["--chunk-size", "-w"], + description: + "Request chunk size in megabytes(MB). The maximum size of blobs, between 10 and 500 MB", + args: { name: "chunk-size" }, + }, + { + name: ["--connection-string", "-c"], + description: "Connection string of the Routing Endpoint", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "--container"], + description: "Name of the storage container", + args: { name: "container-name" }, + }, + { + name: "--encoding", + description: + "Encoding format for the container. The default is AVRO. Note that this field is applicable only for blob container endpoints", + args: { name: "encoding", suggestions: ["avro", "json"] }, + }, + { + name: "--endpoint-uri", + description: "The uri of the endpoint resource", + args: { name: "endpoint-uri" }, + }, + { + name: "--entity-path", + description: "The entity path of the endpoint resource", + args: { name: "entity-path" }, + }, + { + name: ["--file-name-format", "--ff"], + description: + "File name format for the blob. The file name format must contain {iothub}, {partition}, {YYYY}, {MM}, {DD}, {HH} and {mm} fields. All parameters are mandatory but can be reordered with or without delimiters", + args: { name: "file-name-format" }, + }, + { + name: "--identity", + description: + 'Use a system-assigned or user-assigned managed identity for endpoint authentication. Use "[system]" to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity. If you use --auth-type without this parameter, system-assigned managed identity is assumed', + args: { name: "identity" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: "Delete all or mentioned endpoint for your IoT Hub", + options: [ + { + name: ["--endpoint-name", "--name", "-n"], + description: "Name of the Routing Endpoint", + args: { name: "endpoint-name" }, + }, + { + name: ["--endpoint-type", "--type", "-t"], + description: "Type of the Routing Endpoint", + args: { + name: "endpoint-type", + suggestions: [ + "azurestoragecontainer", + "eventhub", + "servicebusqueue", + "servicebustopic", + ], + }, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Get information on all the endpoints for your IoT Hub", + options: [ + { + name: ["--endpoint-type", "--type", "-t"], + description: "Type of the Routing Endpoint", + args: { + name: "endpoint-type", + suggestions: [ + "azurestoragecontainer", + "eventhub", + "servicebusqueue", + "servicebustopic", + ], + }, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get information on mentioned endpoint for your IoT Hub", + options: [ + { + name: ["--endpoint-name", "--name", "-n"], + description: "Name of the Routing Endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "IoT Hub name", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "state", + description: + "Manage the state of an IoT Hub.\n\n\t\tFor more information, see aka.ms/aziotcli-iot-hub-state", + subcommands: [ + { + name: "export", + description: "Export the state of an IoT Hub to a file", + options: [ + { + name: ["--state-file", "-f"], + description: + "The path to the file where the state information will be stored", + args: { name: "state-file" }, + isRequired: true, + }, + { + name: "--aspects", + description: "Hub Aspects (space-separated)", + args: { + name: "aspects", + suggestions: ["arm", "configurations", "devices"], + }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--replace", "-r"], + description: + "If this flag is set, then the command will overwrite the contents of the output file", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "import", + description: "Import a Hub state from a file to an IoT Hub", + options: [ + { + name: ["--state-file", "-f"], + description: + "The path to the file where the state information will be stored", + args: { name: "state-file" }, + isRequired: true, + }, + { + name: "--aspects", + description: "Hub Aspects (space-separated)", + args: { + name: "aspects", + suggestions: ["arm", "configurations", "devices"], + }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--hub-name", "-n"], + description: + "IoT Hub name or hostname. Required if --login is not provided", + args: { name: "hub-name" }, + }, + { + name: ["--login", "-l"], + description: + 'This command supports an entity connection string with rights to perform action. Use to avoid session login via "az login". If both an entity connection string and name are provided the connection string takes priority. Required if --hub-name is not provided', + args: { name: "login" }, + }, + { + name: ["--replace", "-r"], + description: + "If this flag is set, then the command will delete the current devices, configurations, and certificates of the destination hub", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "migrate", + description: + "Migrate the state of one hub to another hub without saving to a file", + options: [ + { + name: "--aspects", + description: "Hub Aspects (space-separated)", + args: { + name: "aspects", + suggestions: ["arm", "configurations", "devices"], + }, + }, + { + name: "--auth-type", + description: + "Indicates whether the operation should auto-derive a policy key or use the current Azure AD session. If the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.You can configure the default using az configure --defaults iothub-data-auth-type=", + args: { name: "auth-type", suggestions: ["key", "login"] }, + }, + { + name: ["--destination-hub", "--dh"], + description: + "Name of IoT Hub to which the origin hub state will be copied to", + args: { name: "destination-hub" }, + }, + { + name: ["--destination-hub-login", "--dl"], + description: + "This command supports an entity connection string with rights to perform action on the destination hub. Use to avoid session login via az login for this IoT Hub instance. If both an entity connection string and name are provided the connection string takes priority. Required if --destination-hub is not provided", + args: { name: "destination-hub-login" }, + }, + { + name: ["--destination-resource-group", "--dg"], + description: + "Name of resource group of the IoT Hub to which the origin hub state will be copied to. If not provided, will use the origin IoT Hub's resource group", + args: { name: "destination-resource-group" }, + }, + { + name: ["--origin-resource-group", "--og"], + description: + "Name of resource group of the IoT Hub which will be copied", + args: { name: "origin-resource-group" }, + }, + { + name: ["--origin-hub", "--oh"], + description: "Name of IoT Hub which will be copied", + args: { name: "origin-hub" }, + }, + { + name: ["--origin-hub-login", "--ol"], + description: + "This command supports an entity connection string with rights to perform action on the origin hub. Use to avoid session login via az login for this IoT Hub instance. If both an entity connection string and name are provided the connection string takes priority. Required if --origin-hub is not provided", + args: { name: "origin-hub-login" }, + }, + { + name: ["--replace", "-r"], + description: + "If this flag is set, then the command will delete the current devices, configurations, and certificates of the destination hub", + }, + ], + }, + ], + }, + ], + }, + { + name: "product", + description: "Manage device testing for product certification", + subcommands: [ + { + name: "requirement", + description: "Manage product certification requirements", + subcommands: [ + { + name: "list", + description: + "Discover information about provisioning attestation methods that are supported for each badge type", + options: [ + { + name: ["--badge-type", "--bt"], + description: "The type of certification badge", + args: { + name: "badge-type", + suggestions: ["IotDevice", "IotEdgeCompatible", "Pnp"], + }, + }, + { + name: "--base-url", + description: + "Override certification service URL to allow testing in non-production environements", + args: { name: "base-url" }, + }, + ], + }, + ], + }, + { + name: "test", + description: "Manage device tests for product certification", + subcommands: [ + { + name: "create", + description: + "Create a new product test for product certification", + options: [ + { + name: ["--attestation-type", "--at"], + description: + "How the device will authenticate to testing service Device Provisioning Service", + args: { + name: "attestation-type", + suggestions: [ + "ConnectionString", + "SymmetricKey", + "TPM", + "X509", + ], + }, + }, + { + name: ["--badge-type", "--bt"], + description: "The type of certification badge", + args: { + name: "badge-type", + suggestions: ["IotDevice", "IotEdgeCompatible", "Pnp"], + }, + }, + { + name: "--base-url", + description: + "Override certification service URL to allow testing in non-production environements", + args: { name: "base-url" }, + }, + { + name: ["--certificate-path", "--cp"], + description: + "The path to the file containing the primary certificate. When choosing x509 as attestation type, one of the certificate path is required", + args: { name: "certificate-path" }, + }, + { + name: ["--configuration-file", "--cf"], + description: + "Path to device test JSON file. If not specified, attestation and device definition parameters must be specified", + args: { name: "configuration-file" }, + }, + { + name: ["--connection-string", "--cs"], + description: + "Edge module connection stringWhen choosing IotEdgeCompatible badge type, connection string and attestaion-type of connection string are required", + args: { name: "connection-string" }, + }, + { + name: ["--device-type", "--dt"], + description: "Defines the type of device to be tested", + args: { + name: "device-type", + suggestions: ["DevKit", "FinishedProduct"], + }, + }, + { + name: ["--endorsement-key", "--ek"], + description: + "TPM endorsement key for a TPM device. When choosing TPM as attestation type, endorsement key is required", + args: { name: "endorsement-key" }, + }, + { + name: ["--models", "-m"], + description: + "Path containing Azure IoT Plug and Play interfaces implemented by the device being tested. When badge type is Pnp, models is required", + args: { name: "models" }, + }, + { + name: ["--product-id", "-p"], + description: + "The submitted product id. Required when validation-type is 'Certification'", + args: { name: "product-id" }, + }, + { + name: ["--skip-provisioning", "--sp"], + description: + "Determines whether the service skips generating provisioning configuration. Only applies to SymmetricKey and ConnectionString provisioning types", + }, + { + name: ["--validation-type", "--vt"], + description: + "The type of validations testing to be performed", + args: { + name: "validation-type", + suggestions: ["Certification", "Test"], + }, + }, + ], + }, + { + name: "search", + description: "Search product repository for testing data", + options: [ + { + name: "--base-url", + description: + "Override certification service URL to allow testing in non-production environements", + args: { name: "base-url" }, + }, + { + name: ["--certificate-name", "--cn"], + description: + "The x509 Certificate Common Name (cn) used for Device Provisioning Service attestation", + args: { name: "certificate-name" }, + }, + { + name: ["--product-id", "-p"], + description: "The submitted product id", + args: { name: "product-id" }, + }, + { + name: ["--registration-id", "-r"], + description: + "The regstration Id for Device Provisioning Service", + args: { name: "registration-id" }, + }, + ], + }, + { + name: "show", + description: "View product test data", + options: [ + { + name: ["--test-id", "-t"], + description: + "The generated Id for the device certification test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: "--base-url", + description: + "Override certification service URL to allow testing in non-production environements", + args: { name: "base-url" }, + }, + ], + }, + { + name: "update", + description: "Update the product certification test data", + options: [ + { + name: ["--test-id", "-t"], + description: + "The generated Id for the device certification test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: ["--attestation-type", "--at"], + description: + "How the device will authenticate to testing service Device Provisioning Service", + args: { + name: "attestation-type", + suggestions: [ + "ConnectionString", + "SymmetricKey", + "TPM", + "X509", + ], + }, + }, + { + name: ["--badge-type", "--bt"], + description: "The type of certification badge", + args: { + name: "badge-type", + suggestions: ["IotDevice", "IotEdgeCompatible", "Pnp"], + }, + }, + { + name: "--base-url", + description: + "Override certification service URL to allow testing in non-production environements", + args: { name: "base-url" }, + }, + { + name: ["--certificate-path", "--cp"], + description: + "The path to the file containing the primary certificate. When choosing x509 as attestation type, one of the certificate path is required", + args: { name: "certificate-path" }, + }, + { + name: ["--configuration-file", "--cf"], + description: + "Path to device test JSON file. If not specified, attestation and device definition parameters must be specified", + args: { name: "configuration-file" }, + }, + { + name: ["--connection-string", "--cs"], + description: + "Edge module connection stringWhen choosing IotEdgeCompatible badge type, connection string and attestaion-type of connection string are required", + args: { name: "connection-string" }, + }, + { + name: ["--endorsement-key", "--ek"], + description: + "TPM endorsement key for a TPM device. When choosing TPM as attestation type, endorsement key is required", + args: { name: "endorsement-key" }, + }, + { + name: ["--models", "-m"], + description: + "Path containing Azure IoT Plug and Play interfaces implemented by the device being tested. When badge type is Pnp, models is required", + args: { name: "models" }, + }, + ], + }, + { + name: "case", + description: "Manage product testing certification test cases", + subcommands: [ + { + name: "list", + description: + "List the test cases of a product certification test", + options: [ + { + name: ["--test-id", "-t"], + description: + "The generated Id for the device certification test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: "--base-url", + description: + "Override certification service URL to allow testing in non-production environements", + args: { name: "base-url" }, + }, + ], + }, + { + name: "update", + description: + "Update the product certification test case data", + options: [ + { + name: ["--configuration-file", "--cf"], + description: + "The file path for test case configuration JSON", + args: { name: "configuration-file" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: + "The generated Id for the device certification test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: "--base-url", + description: + "Override certification service URL to allow testing in non-production environements", + args: { name: "base-url" }, + }, + ], + }, + ], + }, + { + name: "run", + description: "Manage product testing certification test runs", + subcommands: [ + { + name: "show", + description: "Show the status of a testing run", + options: [ + { + name: ["--test-id", "-t"], + description: + "The generated Id for the device certification test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: "--base-url", + description: + "Override certification service URL to allow testing in non-production environements", + args: { name: "base-url" }, + }, + { + name: ["--poll-interval", "--interval"], + description: + "Used in conjunction with --wait. Specifies how frequently (in seconds) polling occurs", + args: { name: "poll-interval" }, + }, + { + name: ["--run-id", "-r"], + description: "The generated Id of a test run", + args: { name: "run-id" }, + }, + { + name: ["--wait", "-w"], + description: + 'Wait until test run status is "started" or "running"', + }, + ], + }, + { + name: "submit", + description: + "Submit a completed test run to the partner/product service", + options: [ + { + name: ["--run-id", "-r"], + description: "The generated Id of a test run", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: + "The generated Id for the device certification test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: "--base-url", + description: + "Override certification service URL to allow testing in non-production environements", + args: { name: "base-url" }, + }, + ], + }, + ], + }, + { + name: "task", + description: "Manage product testing certification tasks", + subcommands: [ + { + name: "create", + description: + "Queue a new testing task. Only one testing task can be running at a time", + options: [ + { + name: ["--test-id", "-t"], + description: + "The generated Id for the device certification test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: "--base-url", + description: + "Override certification service URL to allow testing in non-production environements", + args: { name: "base-url" }, + }, + { + name: ["--poll-interval", "--interval"], + description: + "Used in conjunction with --wait. Sepcifies how frequently (in seconds) polling occurs", + args: { name: "poll-interval" }, + }, + { + name: "--type", + description: "The type of task for the device test", + args: { + name: "type", + suggestions: ["GenerateTestCases", "QueueTestRun"], + }, + }, + { + name: ["--wait", "-w"], + description: + "Wait for task completion and return test case data when available", + }, + ], + }, + { + name: "delete", + description: + "Cancel a running task matching the specified --task-id", + options: [ + { + name: "--task-id", + description: "The generated Id of the testing task", + args: { name: "task-id" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: + "The generated Id for the device certification test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: "--base-url", + description: + "Override certification service URL to allow testing in non-production environements", + args: { name: "base-url" }, + }, + ], + }, + { + name: "show", + description: + "Show the status of a testing task. Use --running for current running task or --task-id", + options: [ + { + name: ["--test-id", "-t"], + description: + "The generated Id for the device certification test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: "--base-url", + description: + "Override certification service URL to allow testing in non-production environements", + args: { name: "base-url" }, + }, + { + name: "--running", + description: "Get the running tasks of a device test", + }, + { + name: "--task-id", + description: "The generated Id of the testing task", + args: { name: "task-id" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/k8s-configuration.ts b/src/az/2.53.0/k8s-configuration.ts new file mode 100644 index 000000000000..744b2f4a94dd --- /dev/null +++ b/src/az/2.53.0/k8s-configuration.ts @@ -0,0 +1,1404 @@ +const completion: Fig.Spec = { + name: "k8s-configuration", + description: + "Commands to manage resources from Microsoft.KubernetesConfiguration", + subcommands: [ + { + name: "create", + description: + 'Create a Flux v1 Kubernetes configuration (This command is for Flux v1, to use the newer Flux v2, run "az k8s-configuration flux create")', + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--repository-url", "-u"], + description: "Url of the source control repository", + args: { name: "repository-url" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scope", + description: + "Specify scope of the operator to be 'namespace' or 'cluster'", + args: { name: "scope", suggestions: ["cluster", "namespace"] }, + isRequired: true, + }, + { + name: ["--enable-helm-operator", "--enable-hop"], + description: "Enable support for Helm chart deployments", + args: { + name: "enable-helm-operator", + suggestions: ["false", "true"], + }, + }, + { + name: ["--helm-operator-chart-version", "--hop-chart-version"], + description: "Chart version of the Helm Operator (if enabled)", + args: { name: "helm-operator-chart-version" }, + }, + { + name: ["--helm-operator-params", "--hop-params"], + description: "Chart values for the Helm Operator (if enabled)", + args: { name: "helm-operator-params" }, + }, + { + name: "--https-key", + description: + "Specify HTTPS token/password for private repository sync", + args: { name: "https-key" }, + }, + { + name: "--https-user", + description: "Specify HTTPS username for private repository sync", + args: { name: "https-user" }, + }, + { + name: "--operator-instance-name", + description: "Instance name of the Operator", + args: { name: "operator-instance-name" }, + }, + { + name: "--operator-namespace", + description: "Namespace in which to install the Operator", + args: { name: "operator-namespace" }, + }, + { + name: "--operator-params", + description: "Parameters for the Operator", + args: { name: "operator-params" }, + }, + { + name: "--operator-type", + description: "Type of the operator. Valid value is 'flux'", + args: { name: "operator-type" }, + }, + { + name: "--ssh-known-hosts", + description: + "Specify Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances", + args: { name: "ssh-known-hosts" }, + }, + { + name: "--ssh-known-hosts-file", + description: + "Specify file path to known_hosts contents containing public SSH keys required to access private Git instances", + args: { name: "ssh-known-hosts-file" }, + }, + { + name: "--ssh-private-key", + description: + "Specify Base64-encoded private ssh key for private repository sync", + args: { name: "ssh-private-key" }, + }, + { + name: "--ssh-private-key-file", + description: + "Specify file path to private ssh key for private repository sync", + args: { name: "ssh-private-key-file" }, + }, + ], + }, + { + name: "delete", + description: + 'Delete a Flux v1 Kubernetes configuration (This command is for Flux v1, to use the newer Flux v2, run "az k8s-configuration flux delete")', + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + 'List Flux v1 Kubernetes configurations (This command is for Flux v1, to use the newer Flux v2, run "az k8s-configuration flux list")', + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + 'Show details of a Flux v1 Kubernetes configuration (This command is for Flux v1, to use the newer Flux v2, run "az k8s-configuration flux show")', + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "flux", + description: "Commands to manage Flux v2 Kubernetes configurations", + subcommands: [ + { + name: "create", + description: "Create a Flux v2 Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the flux configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--url", "-u"], + description: "URL of the source to reconcile", + args: { name: "url" }, + isRequired: true, + }, + { + name: "--account-key", + description: "The Azure Blob Shared Key for authentication", + args: { name: "account-key" }, + }, + { + name: "--branch", + description: + "Branch within the git source to reconcile with the cluster", + args: { name: "branch" }, + }, + { + name: "--bucket-access-key", + description: "Access Key ID used to authenticate with the bucket", + args: { name: "bucket-access-key" }, + }, + { + name: "--bucket-insecure", + description: "Communicate with a bucket without TLS", + }, + { + name: "--bucket-name", + description: "Name of the S3 bucket to sync", + args: { name: "bucket-name" }, + }, + { + name: "--bucket-secret-key", + description: "Secret Key used to authenticate with the bucket", + args: { name: "bucket-secret-key" }, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + { + name: "--commit", + description: + "Commit within the git source to reconcile with the cluster", + args: { name: "commit" }, + }, + { + name: "--container-name", + description: "Name of the Azure Blob Storage container to sync", + args: { name: "container-name" }, + }, + { + name: "--https-ca-cert", + description: + "Base64-encoded HTTPS CA certificate for TLS communication with private repository sync", + args: { name: "https-ca-cert" }, + }, + { + name: "--https-ca-cert-file", + description: + "File path to HTTPS CA certificate file for TLS communication with private repository sync", + args: { name: "https-ca-cert-file" }, + }, + { + name: "--https-key", + description: "HTTPS token/password for private repository sync", + args: { name: "https-key" }, + }, + { + name: "--https-user", + description: "HTTPS username for private repository sync", + args: { name: "https-user" }, + }, + { + name: ["--sync-interval", "--interval"], + description: + "Time between reconciliations of the source on the cluster", + args: { name: "sync-interval" }, + }, + { + name: "--kind", + description: "Source kind to reconcile", + args: { name: "kind", suggestions: ["azblob", "bucket", "git"] }, + }, + { + name: "--known-hosts", + description: + "Base64-encoded known_hosts data containing public SSH keys required to access private Git instances", + args: { name: "known-hosts" }, + }, + { + name: "--known-hosts-file", + description: + "File path to known_hosts contents containing public SSH keys required to access private Git instances", + args: { name: "known-hosts-file" }, + }, + { + name: ["--kustomization", "-k"], + description: + "Define kustomizations to sync sources with parameters ['name', 'path', 'depends_on', 'timeout', 'sync_interval', 'retry_interval', 'prune', 'force']", + args: { name: "kustomization" }, + }, + { + name: ["--local-auth-ref", "--local-ref"], + description: + "Local reference to a kubernetes secret in the configuration namespace to use for communication to the source", + args: { name: "local-auth-ref" }, + }, + { + name: ["--managed-identity-client-id", "--mi-client-id"], + description: + "The client ID of the managed identity for authentication with Azure Blob", + args: { name: "managed-identity-client-id" }, + }, + { + name: ["--namespace", "--ns"], + description: "Namespace to deploy the configuration", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--sas-token", + description: "The Azure Blob SAS Token for authentication", + args: { name: "sas-token" }, + }, + { + name: ["--scope", "-s"], + description: + "Specify scope of the operator to be 'namespace' or 'cluster'", + args: { name: "scope", suggestions: ["cluster", "namespace"] }, + }, + { + name: "--semver", + description: + "Semver range within the git source to reconcile with the cluster", + args: { name: "semver" }, + }, + { + name: [ + "--service-principal-client-certificate", + "--sp-client-cert", + ], + description: + "The Base64 encoded client certificate for authenticating a service principal with Azure Blob", + args: { name: "service-principal-client-certificate" }, + }, + { + name: [ + "--service-principal-client-certificate-password", + "--sp-cert-password", + ], + description: + "The password for the client certificate used to authenticate a service principal with Azure Blob", + args: { name: "service-principal-client-certificate-password" }, + }, + { + name: [ + "--service-principal-client-certificate-send-chain", + "--sp-cert-send-chain", + ], + description: + "Specify whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the client certificate", + }, + { + name: ["--service-principal-client-id", "--sp-client-id"], + description: + "The client ID for authenticating a service principal with Azure Blob, required for this authentication method", + args: { name: "service-principal-client-id" }, + }, + { + name: ["--service-principal-client-secret", "--sp-client-secret"], + description: + "The client secret for authenticating a service principal with Azure Blob", + args: { name: "service-principal-client-secret" }, + }, + { + name: ["--service-principal-tenant-id", "--sp-tenant-id"], + description: + "The tenant ID for authenticating a service principal with Azure Blob, required for this authentication method", + args: { name: "service-principal-tenant-id" }, + }, + { + name: "--ssh-private-key", + description: + "Base64-encoded private ssh key for private repository sync", + args: { name: "ssh-private-key" }, + }, + { + name: "--ssh-private-key-file", + description: + "File path to private ssh key for private repository sync", + args: { name: "ssh-private-key-file" }, + }, + { + name: "--suspend", + description: + "Suspend the reconciliation of the source and kustomizations associated with this configuration", + }, + { + name: "--tag", + description: + "Tag within the git source to reconcile with the cluster", + args: { name: "tag" }, + }, + { + name: "--timeout", + description: + "Maximum time to reconcile the source before timing out", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Flux v2 Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the flux configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + { + name: "--force", + description: + "Force delete the flux configuration from the cluster", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all Flux v2 Kubernetes configurations", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + ], + }, + { + name: "show", + description: "Show a Flux v2 Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the flux configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + ], + }, + { + name: "update", + description: "Update a Flux v2 Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the flux configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--account-key", + description: "The Azure Blob Shared Key for authentication", + args: { name: "account-key" }, + }, + { + name: "--branch", + description: + "Branch within the git source to reconcile with the cluster", + args: { name: "branch" }, + }, + { + name: "--bucket-access-key", + description: "Access Key ID used to authenticate with the bucket", + args: { name: "bucket-access-key" }, + }, + { + name: "--bucket-insecure", + description: "Communicate with a bucket without TLS", + args: { name: "bucket-insecure", suggestions: ["false", "true"] }, + }, + { + name: "--bucket-name", + description: "Name of the S3 bucket to sync", + args: { name: "bucket-name" }, + }, + { + name: "--bucket-secret-key", + description: "Secret Key used to authenticate with the bucket", + args: { name: "bucket-secret-key" }, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + { + name: "--commit", + description: + "Commit within the git source to reconcile with the cluster", + args: { name: "commit" }, + }, + { + name: "--container-name", + description: "Name of the Azure Blob Storage container to sync", + args: { name: "container-name" }, + }, + { + name: "--https-ca-cert", + description: + "Base64-encoded HTTPS CA certificate for TLS communication with private repository sync", + args: { name: "https-ca-cert" }, + }, + { + name: "--https-ca-cert-file", + description: + "File path to HTTPS CA certificate file for TLS communication with private repository sync", + args: { name: "https-ca-cert-file" }, + }, + { + name: "--https-key", + description: "HTTPS token/password for private repository sync", + args: { name: "https-key" }, + }, + { + name: "--https-user", + description: "HTTPS username for private repository sync", + args: { name: "https-user" }, + }, + { + name: ["--sync-interval", "--interval"], + description: + "Time between reconciliations of the source on the cluster", + args: { name: "sync-interval" }, + }, + { + name: "--kind", + description: "Source kind to reconcile", + args: { name: "kind", suggestions: ["azblob", "bucket", "git"] }, + }, + { + name: "--known-hosts", + description: + "Base64-encoded known_hosts data containing public SSH keys required to access private Git instances", + args: { name: "known-hosts" }, + }, + { + name: "--known-hosts-file", + description: + "File path to known_hosts contents containing public SSH keys required to access private Git instances", + args: { name: "known-hosts-file" }, + }, + { + name: ["--kustomization", "-k"], + description: + "Define kustomizations to sync sources with parameters ['name', 'path', 'depends_on', 'timeout', 'sync_interval', 'retry_interval', 'prune', 'force']", + args: { name: "kustomization" }, + }, + { + name: ["--local-auth-ref", "--local-ref"], + description: + "Local reference to a kubernetes secret in the configuration namespace to use for communication to the source", + args: { name: "local-auth-ref" }, + }, + { + name: ["--managed-identity-client-id", "--mi-client-id"], + description: + "The client ID of the managed identity for authentication with Azure Blob", + args: { name: "managed-identity-client-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--sas-token", + description: "The Azure Blob SAS Token for authentication", + args: { name: "sas-token" }, + }, + { + name: "--semver", + description: + "Semver range within the git source to reconcile with the cluster", + args: { name: "semver" }, + }, + { + name: [ + "--service-principal-client-certificate", + "--sp-client-cert", + ], + description: + "The Base64 encoded client certificate for authenticating a service principal with Azure Blob", + args: { name: "service-principal-client-certificate" }, + }, + { + name: [ + "--service-principal-client-certificate-password", + "--sp-cert-password", + ], + description: + "The password for the client certificate used to authenticate a service principal with Azure Blob", + args: { name: "service-principal-client-certificate-password" }, + }, + { + name: [ + "--service-principal-client-certificate-send-chain", + "--sp-cert-send-chain", + ], + description: + "Specify whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the client certificate", + }, + { + name: ["--service-principal-client-id", "--sp-client-id"], + description: + "The client ID for authenticating a service principal with Azure Blob, required for this authentication method", + args: { name: "service-principal-client-id" }, + }, + { + name: ["--service-principal-client-secret", "--sp-client-secret"], + description: + "The client secret for authenticating a service principal with Azure Blob", + args: { name: "service-principal-client-secret" }, + }, + { + name: ["--service-principal-tenant-id", "--sp-tenant-id"], + description: + "The tenant ID for authenticating a service principal with Azure Blob, required for this authentication method", + args: { name: "service-principal-tenant-id" }, + }, + { + name: "--ssh-private-key", + description: + "Base64-encoded private ssh key for private repository sync", + args: { name: "ssh-private-key" }, + }, + { + name: "--ssh-private-key-file", + description: + "File path to private ssh key for private repository sync", + args: { name: "ssh-private-key-file" }, + }, + { + name: "--suspend", + description: + "Suspend the reconciliation of the source and kustomizations associated with this configuration", + args: { name: "suspend", suggestions: ["false", "true"] }, + }, + { + name: "--tag", + description: + "Tag within the git source to reconcile with the cluster", + args: { name: "tag" }, + }, + { + name: "--timeout", + description: + "Maximum time to reconcile the source before timing out", + args: { name: "timeout" }, + }, + { + name: ["--url", "-u"], + description: "URL of the source to reconcile", + args: { name: "url" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "deployed-object", + description: + "Commands to see deployed objects associated with Flux v2 Kubernetes configurations", + subcommands: [ + { + name: "list", + description: + "List deployed objects associated with a Flux v2 Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the flux configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + ], + }, + { + name: "show", + description: + "Show a deployed object associated with a Flux v2 Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the flux configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--object-kind", + description: + "Kind of the object deployed by the configuration on the cluster", + args: { + name: "object-kind", + suggestions: [ + "Bucket", + "GitRepository", + "HelmChart", + "HelmRelease", + "HelmRepository", + "Kustomization", + ], + }, + isRequired: true, + }, + { + name: "--object-name", + description: + "Name of the object deployed by the configuration on the cluster", + args: { name: "object-name" }, + isRequired: true, + }, + { + name: "--object-namespace", + description: + "Namespace of the object deployed by the configuration on the cluster", + args: { name: "object-namespace" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + ], + }, + ], + }, + { + name: "kustomization", + description: + "Commands to manage Kustomizations associated with Flux v2 Kubernetes configurations", + subcommands: [ + { + name: "create", + description: + "Create a Kustomization associated with a Flux v2 Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--kustomization-name", "-k"], + description: + "Specify the name of the kustomization to target", + args: { name: "kustomization-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the flux configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + { + name: ["--dependencies", "--depends-on", "--depends"], + description: + "Comma-separated list of kustomization dependencies", + args: { name: "dependencies" }, + }, + { + name: "--force", + description: + "Re-create resources that cannot be updated on the cluster (i.e. jobs)", + args: { name: "force", suggestions: ["false", "true"] }, + }, + { + name: ["--sync-interval", "--interval"], + description: + "Time between reconciliations of the kustomization on the cluster", + args: { name: "sync-interval" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--path", + description: + "Specify the path in the source that the kustomization should apply", + args: { name: "path" }, + }, + { + name: "--prune", + description: + "Garbage collect resources deployed by the kustomization on the cluster", + args: { name: "prune", suggestions: ["false", "true"] }, + }, + { + name: "--retry-interval", + description: + "Time between reconciliations of the kustomization on the cluster on failures, defaults to --sync-interval", + args: { name: "retry-interval" }, + }, + { + name: "--timeout", + description: + "Maximum time to reconcile the kustomization before timing out", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a Kustomization associated with a Flux v2 Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--kustomization-name", "-k"], + description: + "Specify the name of the kustomization to target", + args: { name: "kustomization-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the flux configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List Kustomizations associated with a Flux v2 Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the flux configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + ], + }, + { + name: "show", + description: + "Show a Kustomization associated with a Flux v2 Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--kustomization-name", "-k"], + description: + "Specify the name of the kustomization to target", + args: { name: "kustomization-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the flux configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + ], + }, + { + name: "update", + description: + "Update a Kustomization associated with a Flux v2 Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc connected clusters or AKS managed clusters or provisioned clusters", + args: { + name: "cluster-type", + suggestions: [ + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--kustomization-name", "-k"], + description: + "Specify the name of the kustomization to target", + args: { name: "kustomization-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the flux configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + { + name: ["--dependencies", "--depends-on", "--depends"], + description: + "Comma-separated list of kustomization dependencies", + args: { name: "dependencies" }, + }, + { + name: "--force", + description: + "Re-create resources that cannot be updated on the cluster (i.e. jobs)", + args: { name: "force", suggestions: ["false", "true"] }, + }, + { + name: ["--sync-interval", "--interval"], + description: + "Time between reconciliations of the kustomization on the cluster", + args: { name: "sync-interval" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--path", + description: + "Specify the path in the source that the kustomization should apply", + args: { name: "path" }, + }, + { + name: "--prune", + description: + "Garbage collect resources deployed by the kustomization on the cluster", + args: { name: "prune", suggestions: ["false", "true"] }, + }, + { + name: "--retry-interval", + description: + "Time between reconciliations of the kustomization on the cluster on failures, defaults to --sync-interval", + args: { name: "retry-interval" }, + }, + { + name: "--timeout", + description: + "Maximum time to reconcile the kustomization before timing out", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/k8s-extension.ts b/src/az/2.53.0/k8s-extension.ts new file mode 100644 index 000000000000..7922f3033f67 --- /dev/null +++ b/src/az/2.53.0/k8s-extension.ts @@ -0,0 +1,906 @@ +const completion: Fig.Spec = { + name: "k8s-extension", + description: "Commands to manage Kubernetes Extensions", + subcommands: [ + { + name: "create", + description: + "Create a Kubernetes Cluster Extension, including purchasing an extension Offer from Azure Marketplace (AKS only). Please refer to the example at the end to see how to create an extension or purchase an extension offer", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc clusters or AKS managed clusters or Arc appliances or provisionedClusters", + args: { + name: "cluster-type", + suggestions: [ + "appliances", + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: "--extension-type", + description: "Name of the extension type", + args: { name: "extension-type" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the extension instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--auto-upgrade-minor-version", "--auto-upgrade"], + description: + "Automatically upgrade minor version of the extension instance", + args: { + name: "auto-upgrade-minor-version", + suggestions: ["false", "true"], + }, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + { + name: ["--configuration-settings", "--config"], + description: + "Configuration Settings as key=value pair. Repeat parameter for each setting", + args: { name: "configuration-settings" }, + }, + { + name: ["--config-settings-file", "--config-file"], + description: "JSON file path for configuration-settings", + args: { name: "config-settings-file" }, + }, + { + name: ["--config-protected-settings", "--config-protected"], + description: + "Configuration Protected Settings as key=value pair. Repeat parameter for each setting", + args: { name: "config-protected-settings" }, + }, + { + name: ["--config-protected-settings-file", "--config-protected-file"], + description: "JSON file path for configuration-protected-settings", + args: { name: "config-protected-settings-file" }, + }, + { + name: "--config-settings", + description: + "Option '--config-settings' has been deprecated and will be removed in a future release. Use '--configuration-settings' instead. Configuration Settings as key=value pair. Repeat parameter for each setting", + args: { name: "config-settings" }, + }, + { + name: "--configuration-protected-settings", + description: + "Option '--configuration-protected-settings' has been deprecated and will be removed in a future release. Use '--config-protected-settings' instead. Configuration Protected Settings as key=value pair. Repeat parameter for each setting", + args: { name: "configuration-protected-settings" }, + }, + { + name: "--configuration-protected-settings-file", + description: + "Option '--configuration-protected-settings-file' has been deprecated and will be removed in a future release. Use '--config-protected-file' instead. JSON file path for configuration-protected-settings", + args: { name: "configuration-protected-settings-file" }, + }, + { + name: "--configuration-settings-file", + description: + "Option '--configuration-settings-file' has been deprecated and will be removed in a future release. Use '--config-settings-file' instead. JSON file path for configuration-settings", + args: { name: "configuration-settings-file" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--plan-name", + description: + "The plan name is referring to the Plan ID of the extension that is being taken from Marketplace portal under Usage Information + Support", + args: { name: "plan-name" }, + }, + { + name: "--plan-product", + description: + "The plan product is referring to the Product ID of the extension that is being taken from Marketplace portal under Usage Information + Support. An example of this is the name of the ISV offering used", + args: { name: "plan-product" }, + }, + { + name: "--plan-publisher", + description: + "The plan publisher is referring to the Publisher ID of the extension that is being taken from Marketplace portal under Usage Information + Support", + args: { name: "plan-publisher" }, + }, + { + name: "--release-namespace", + description: "Specify the namespace to install the extension release", + args: { name: "release-namespace" }, + }, + { + name: "--release-train", + description: "Specify the release train for the extension type", + args: { name: "release-train" }, + }, + { + name: "--scope", + description: "Specify the extension scope", + args: { name: "scope", suggestions: ["cluster", "namespace"] }, + }, + { + name: "--target-namespace", + description: + "Specify the target namespace to install to for the extension instance. This parameter is required if extension scope is set to 'namespace'", + args: { name: "target-namespace" }, + }, + { + name: "--version", + description: + "Specify the version to install for the extension instance if --auto-upgrade-minor-version is not enabled", + args: { name: "version" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Kubernetes Extension", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc clusters or AKS managed clusters or Arc appliances or provisionedClusters", + args: { + name: "cluster-type", + suggestions: [ + "appliances", + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the extension instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + { + name: "--force", + description: + "Specify whether to force delete the extension from the cluster", + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { name: ["--yes", "-y"], description: "Ignore confirmation prompts" }, + ], + }, + { + name: "list", + description: "List Kubernetes Extensions", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc clusters or AKS managed clusters or Arc appliances or provisionedClusters", + args: { + name: "cluster-type", + suggestions: [ + "appliances", + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + ], + }, + { + name: "show", + description: "Show a Kubernetes Extension", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc clusters or AKS managed clusters or Arc appliances or provisionedClusters", + args: { + name: "cluster-type", + suggestions: [ + "appliances", + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the extension instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + ], + }, + { + name: "update", + description: "Update mutable properties of a Kubernetes Extension", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc clusters or AKS managed clusters or Arc appliances or provisionedClusters", + args: { + name: "cluster-type", + suggestions: [ + "appliances", + "connectedClusters", + "managedClusters", + "provisionedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the extension instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--auto-upgrade-minor-version", "--auto-upgrade"], + description: + "Automatically upgrade minor version of the extension instance", + args: { + name: "auto-upgrade-minor-version", + suggestions: ["false", "true"], + }, + }, + { + name: ["--cluster-resource-provider", "--cluster-rp"], + description: + "Cluster Resource Provider name for this clusterType (Required for provisionedClusters)", + args: { name: "cluster-resource-provider" }, + }, + { + name: ["--configuration-settings", "--config"], + description: + "Configuration Settings as key=value pair. Repeat parameter for each setting", + args: { name: "configuration-settings" }, + }, + { + name: ["--config-settings-file", "--config-file"], + description: "JSON file path for configuration-settings", + args: { name: "config-settings-file" }, + }, + { + name: ["--config-protected-settings", "--config-protected"], + description: + "Configuration Protected Settings as key=value pair. Repeat parameter for each setting", + args: { name: "config-protected-settings" }, + }, + { + name: ["--config-protected-settings-file", "--config-protected-file"], + description: "JSON file path for configuration-protected-settings", + args: { name: "config-protected-settings-file" }, + }, + { + name: "--config-settings", + description: + "Option '--config-settings' has been deprecated and will be removed in a future release. Use '--configuration-settings' instead. Configuration Settings as key=value pair. Repeat parameter for each setting", + args: { name: "config-settings" }, + }, + { + name: "--configuration-protected-settings", + description: + "Option '--configuration-protected-settings' has been deprecated and will be removed in a future release. Use '--config-protected-settings' instead. Configuration Protected Settings as key=value pair. Repeat parameter for each setting", + args: { name: "configuration-protected-settings" }, + }, + { + name: "--configuration-protected-settings-file", + description: + "Option '--configuration-protected-settings-file' has been deprecated and will be removed in a future release. Use '--config-protected-file' instead. JSON file path for configuration-protected-settings", + args: { name: "configuration-protected-settings-file" }, + }, + { + name: "--configuration-settings-file", + description: + "Option '--configuration-settings-file' has been deprecated and will be removed in a future release. Use '--config-settings-file' instead. JSON file path for configuration-settings", + args: { name: "configuration-settings-file" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--release-train", + description: "Specify the release train for the extension type", + args: { name: "release-train" }, + }, + { + name: "--version", + description: + "Specify the version to install for the extension instance if --auto-upgrade-minor-version is not enabled", + args: { name: "version" }, + }, + { name: ["--yes", "-y"], description: "Ignore confirmation prompts" }, + ], + }, + { + name: "extension-types", + description: "Commands to discover Kubernetes Extension Types", + subcommands: [ + { + name: "list", + description: + "List available Cluster Extension Types for an existing cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc clusters or AKS managed clusters or Arc appliances", + args: { + name: "cluster-type", + suggestions: [ + "appliances", + "connectedClusters", + "managedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--plan-name", + description: + "The plan name is referring to the Marketplace Plan ID of the extension", + args: { name: "plan-name" }, + }, + { + name: "--plan-product", + description: + "The plan product is referring to the Marketplace Product ID of the extension", + args: { name: "plan-product" }, + }, + { + name: "--plan-publisher", + description: + "The plan publisher is referring to the Marketplace Publisher ID of the extension", + args: { name: "plan-publisher" }, + }, + { + name: "--release-train", + description: "Specify the release train for the extension type", + args: { name: "release-train" }, + }, + ], + }, + { + name: "list-by-cluster", + description: + "List available Cluster Extension Types for an existing cluster. The properties used for filtering include type of cluster (managed, connected, etc), kubernetes version, location of the cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc clusters or AKS managed clusters or Arc appliances", + args: { + name: "cluster-type", + suggestions: [ + "appliances", + "connectedClusters", + "managedClusters", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--plan-name", + description: + "The plan name is referring to the Marketplace Plan ID of the extension", + args: { name: "plan-name" }, + }, + { + name: "--plan-product", + description: + "The plan product is referring to the Marketplace Product ID of the extension", + args: { name: "plan-product" }, + }, + { + name: "--plan-publisher", + description: + "The plan publisher is referring to the Marketplace Publisher ID of the extension", + args: { name: "plan-publisher" }, + }, + { + name: "--release-train", + description: "Specify the release train for the extension type", + args: { name: "release-train" }, + }, + ], + }, + { + name: "list-by-location", + description: "List available Cluster Extension Types in a region", + options: [ + { + name: ["--location", "-l"], + description: + "Name of the location. Values from: az account list-locations", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc clusters or AKS managed clusters or Arc appliances", + args: { + name: "cluster-type", + suggestions: [ + "appliances", + "connectedClusters", + "managedClusters", + ], + }, + }, + { + name: "--plan-name", + description: + "The plan name is referring to the Marketplace Plan ID of the extension", + args: { name: "plan-name" }, + }, + { + name: "--plan-product", + description: + "The plan product is referring to the Marketplace Product ID of the extension", + args: { name: "plan-product" }, + }, + { + name: "--plan-publisher", + description: + "The plan publisher is referring to the Marketplace Publisher ID of the extension", + args: { name: "plan-publisher" }, + }, + { + name: "--release-train", + description: "Specify the release train for the extension type", + args: { name: "release-train" }, + }, + ], + }, + { + name: "list-versions", + description: + "List available versions for a Cluster Extension Type for a given cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc clusters or AKS managed clusters or Arc appliances", + args: { + name: "cluster-type", + suggestions: [ + "appliances", + "connectedClusters", + "managedClusters", + ], + }, + isRequired: true, + }, + { + name: "--extension-type", + description: "Name of the extension type", + args: { name: "extension-type" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--major-version", + description: + "Filter results by only the major version of an extension type. For example if 1 is specified, all versions with major version 1 (1.1, 1.1.2) will be shown. The default value is None", + args: { name: "major-version" }, + }, + { + name: "--release-train", + description: "Specify the release train for the extension type", + args: { name: "release-train" }, + }, + { + name: "--show-latest", + description: + "Filter results by only the latest version. For example, if this flag is used the latest version of the extensionType will be shown", + }, + ], + }, + { + name: "list-versions-by-cluster", + description: + "List available versions for a Cluster Extension Type for a given cluster. The properties used for filtering include type of cluster (managed, connected, etc), kubernetes version, location of the cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc clusters or AKS managed clusters or Arc appliances", + args: { + name: "cluster-type", + suggestions: [ + "appliances", + "connectedClusters", + "managedClusters", + ], + }, + isRequired: true, + }, + { + name: "--extension-type", + description: "Name of the extension type", + args: { name: "extension-type" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--major-version", + description: + "Filter results by only the major version of an extension type. For example if 1 is specified, all versions with major version 1 (1.1, 1.1.2) will be shown. The default value is None", + args: { name: "major-version" }, + }, + { + name: "--release-train", + description: "Specify the release train for the extension type", + args: { name: "release-train" }, + }, + { + name: "--show-latest", + description: + "Filter results by only the latest version. For example, if this flag is used the latest version of the extensionType will be shown", + }, + ], + }, + { + name: "list-versions-by-location", + description: + "List available versions for a Cluster Extension Type versions in a region", + options: [ + { + name: "--extension-type", + description: "Name of the extension type", + args: { name: "extension-type" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Name of the location. Values from: az account list-locations", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc clusters or AKS managed clusters or Arc appliances", + args: { + name: "cluster-type", + suggestions: [ + "appliances", + "connectedClusters", + "managedClusters", + ], + }, + }, + { + name: "--major-version", + description: + "Filter results by only the major version of an extension type. For example if 1 is specified, all versions with major version 1 (1.1, 1.1.2) will be shown. The default value is None", + args: { name: "major-version" }, + }, + { + name: "--release-train", + description: "Specify the release train for the extension type", + args: { name: "release-train" }, + }, + { + name: "--show-latest", + description: + "Filter results by only the latest version. For example, if this flag is used the latest version of the extensionType will be shown", + }, + ], + }, + { + name: "show", + description: + "Get properties for a Cluster Extension Type in a region", + options: [ + { + name: "--extension-type", + description: "Name of the extension type", + args: { name: "extension-type" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Name of the location. Values from: az account list-locations", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "show-by-cluster", + description: + "Show properties for a Cluster Extension Type for an existing cluster. The properties used for filtering include type of cluster (managed, connected, etc), kubernetes version, location of the cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc clusters or AKS managed clusters or Arc appliances", + args: { + name: "cluster-type", + suggestions: [ + "appliances", + "connectedClusters", + "managedClusters", + ], + }, + isRequired: true, + }, + { + name: "--extension-type", + description: "Name of the extension type", + args: { name: "extension-type" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show-by-location", + description: + "Show properties for a Cluster Extension Type in a region", + options: [ + { + name: "--extension-type", + description: "Name of the extension type", + args: { name: "extension-type" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Name of the location. Values from: az account list-locations", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "show-version-by-cluster", + description: + "Show properties associated with a Cluster Extension Type version for an existing cluster. The properties used for filtering include type of cluster (managed, connected, etc), kubernetes version, location of the cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--cluster-type", "-t"], + description: + "Specify Arc clusters or AKS managed clusters or Arc appliances", + args: { + name: "cluster-type", + suggestions: [ + "appliances", + "connectedClusters", + "managedClusters", + ], + }, + isRequired: true, + }, + { + name: "--extension-type", + description: "Name of the extension type", + args: { name: "extension-type" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--version", + description: "Version for the extension type", + args: { name: "version" }, + isRequired: true, + }, + ], + }, + { + name: "show-version-by-location", + description: + "Show properties associated with a Cluster Extension Type version in a region", + options: [ + { + name: "--extension-type", + description: "Name of the extension type", + args: { name: "extension-type" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Name of the location. Values from: az account list-locations", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--version", + description: "Version for the extension type", + args: { name: "version" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/k8sconfiguration.ts b/src/az/2.53.0/k8sconfiguration.ts new file mode 100644 index 000000000000..a7f7c6e9f459 --- /dev/null +++ b/src/az/2.53.0/k8sconfiguration.ts @@ -0,0 +1,302 @@ +const completion: Fig.Spec = { + name: "k8sconfiguration", + description: "Commands to manage Kubernetes configuration", + subcommands: [ + { + name: "create", + description: "Create a Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--cluster-type", + description: "Specify Arc clusters or AKS managed clusters", + args: { + name: "cluster-type", + suggestions: ["connectedClusters", "managedClusters"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Kubernetes Configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--repository-url", "-u"], + description: "Url of the source control repository", + args: { name: "repository-url" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scope", + description: + "Specify scope of the operator to be 'namespace' or 'cluster'", + args: { name: "scope", suggestions: ["cluster", "namespace"] }, + isRequired: true, + }, + { + name: "--enable-helm-operator", + description: "Enable support for Helm chart deployments", + args: { + name: "enable-helm-operator", + suggestions: ["false", "true"], + }, + }, + { + name: "--helm-operator-params", + description: "Chart values for the Helm Operator (if enabled)", + args: { name: "helm-operator-params" }, + }, + { + name: "--helm-operator-version", + description: "Chart version of the Helm Operator (if enabled)", + args: { name: "helm-operator-version" }, + }, + { + name: "--https-key", + description: + "Specify HTTPS token/password for private repository sync", + args: { name: "https-key" }, + }, + { + name: "--https-user", + description: "Specify HTTPS username for private repository sync", + args: { name: "https-user" }, + }, + { + name: "--operator-instance-name", + description: "Instance name of the Operator", + args: { name: "operator-instance-name" }, + }, + { + name: "--operator-namespace", + description: "Namespace in which to install the Operator", + args: { name: "operator-namespace" }, + }, + { + name: "--operator-params", + description: "Parameters for the Operator", + args: { name: "operator-params" }, + }, + { + name: "--operator-type", + description: "Type of the operator. Valid value is 'flux'", + args: { name: "operator-type" }, + }, + { + name: "--ssh-known-hosts", + description: + "Specify Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances", + args: { name: "ssh-known-hosts" }, + }, + { + name: "--ssh-known-hosts-file", + description: + "Specify filepath to known_hosts contents containing public SSH keys required to access private Git instances", + args: { name: "ssh-known-hosts-file" }, + }, + { + name: "--ssh-private-key", + description: + "Specify Base64-encoded private ssh key for private repository sync", + args: { name: "ssh-private-key" }, + }, + { + name: "--ssh-private-key-file", + description: + "Specify filepath to private ssh key for private repository sync", + args: { name: "ssh-private-key-file" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--cluster-type", + description: "Specify Arc clusters or AKS managed clusters", + args: { + name: "cluster-type", + suggestions: ["connectedClusters", "managedClusters"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Kubernetes Configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List Kubernetes configurations", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--cluster-type", + description: "Specify Arc clusters or AKS managed clusters", + args: { + name: "cluster-type", + suggestions: ["connectedClusters", "managedClusters"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--cluster-type", + description: "Specify Arc clusters or AKS managed clusters", + args: { + name: "cluster-type", + suggestions: ["connectedClusters", "managedClusters"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Kubernetes Configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a Kubernetes configuration", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Name of the Kubernetes cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--cluster-type", + description: "Specify Arc clusters or AKS managed clusters", + args: { + name: "cluster-type", + suggestions: ["connectedClusters", "managedClusters"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Kubernetes Configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--enable-helm-operator", + description: "Enable support for Helm chart deployments", + args: { + name: "enable-helm-operator", + suggestions: ["false", "true"], + }, + }, + { + name: "--helm-operator-params", + description: "Chart values for the Helm Operator (if enabled)", + args: { name: "helm-operator-params" }, + }, + { + name: "--helm-operator-version", + description: "Chart version of the Helm Operator (if enabled)", + args: { name: "helm-operator-version" }, + }, + { + name: "--operator-params", + description: "Parameters for the Operator", + args: { name: "operator-params" }, + }, + { + name: ["--repository-url", "-u"], + description: "Url of the source control repository", + args: { name: "repository-url" }, + }, + { + name: "--ssh-known-hosts", + description: + "Specify Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances", + args: { name: "ssh-known-hosts" }, + }, + { + name: "--ssh-known-hosts-file", + description: + "Specify filepath to known_hosts contents containing public SSH keys required to access private Git instances", + args: { name: "ssh-known-hosts-file" }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/keyvault.ts b/src/az/2.53.0/keyvault.ts new file mode 100644 index 000000000000..66c1439e9254 --- /dev/null +++ b/src/az/2.53.0/keyvault.ts @@ -0,0 +1,5139 @@ +const completion: Fig.Spec = { + name: "keyvault", + description: "Manage KeyVault keys, secrets, and certificates", + subcommands: [ + { + name: "backup", + description: "Manage full HSM backup", + subcommands: [ + { + name: "start", + description: "Begin a full backup of the HSM", + options: [ + { + name: ["--storage-container-SAS-token", "-t"], + description: + "The SAS token pointing to an Azure Blob storage container", + args: { name: "storage-container-SAS-token" }, + isRequired: true, + }, + { + name: "--blob-container-name", + description: "Name of Blob Container", + args: { name: "blob-container-name" }, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. Can be omitted if --id is specified", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: "Full URI of the HSM", + args: { name: "id" }, + }, + { + name: "--storage-account-name", + description: "Name of Azure Storage Account", + args: { name: "storage-account-name" }, + }, + { + name: "--storage-resource-uri", + description: + "Azure Blob storage container Uri. If specified all other 'Storage Id' arguments should be omitted", + args: { name: "storage-resource-uri" }, + }, + ], + }, + ], + }, + { + name: "certificate", + description: "Manage certificates", + subcommands: [ + { + name: "backup", + description: "Backs up the specified certificate", + options: [ + { + name: ["--file", "-f"], + description: + "Local file path in which to store certificate backup", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--id", + description: + "Id of the certificate. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the certificate. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "create", + description: "Create a Key Vault certificate", + options: [ + { + name: ["--name", "-n"], + description: "Name of the certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--policy", "-p"], + description: + "JSON encoded policy definition. Use @{file} to load from a file(e.g. @my_policy.json)", + args: { name: "policy" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--disabled", + description: "Create certificate in disabled state", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--validity", + description: + "Number of months the certificate is valid for. Overrides the value specified with --policy/-p", + args: { name: "validity" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a certificate from a specified key vault", + options: [ + { + name: "--id", + description: + "Id of the certificate. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the certificate. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "download", + description: "Download the public portion of a Key Vault certificate", + options: [ + { + name: ["--file", "-f"], + description: "File to receive the binary certificate contents", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--encoding", "-e"], + description: + "Encoding of the certificate. DER will create a binary DER formatted x509 certificate, and PEM will create a base64 PEM x509 certificate", + args: { name: "encoding", suggestions: ["DER", "PEM"] }, + }, + { + name: "--id", + description: + "Id of the certificate. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the certificate. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + { + name: ["--version", "-v"], + description: + "The certificate version. If omitted, uses the latest version", + args: { name: "version" }, + }, + ], + }, + { + name: "get-default-policy", + description: "Get the default policy for self-signed certificates", + options: [ + { + name: "--scaffold", + description: + "Create a fully formed policy structure with default values", + }, + ], + }, + { + name: "import", + description: "Import a certificate into KeyVault", + options: [ + { + name: ["--file", "-f"], + description: + "PKCS12 file or PEM file containing the certificate and private key", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--disabled", + description: "Import the certificate in disabled state", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--password", + description: + "If the private key in certificate is encrypted, the password used for encryption", + args: { name: "password" }, + }, + { + name: ["--policy", "-p"], + description: + "JSON encoded policy definition. Use @{file} to load from a file(e.g. @my_policy.json)", + args: { name: "policy" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "list", + description: "List certificates in a specified key vault", + options: [ + { + name: "--id", + description: + "Full URI of the Vault. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--include-pending", + description: + "Specifies whether to include certificates which are not completely provisioned", + args: { name: "include-pending", suggestions: ["false", "true"] }, + }, + { + name: "--maxresults", + description: + "Maximum number of results to return in a page. If not specified, the service will return up to 25 results", + args: { name: "maxresults" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "list-deleted", + description: "Lists the currently-recoverable deleted certificates", + options: [ + { + name: "--id", + description: + "Full URI of the Vault. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--include-pending", + description: + "Specifies whether to include certificates which are not completely provisioned", + args: { name: "include-pending", suggestions: ["false", "true"] }, + }, + { + name: "--maxresults", + description: + "Maximum number of results to return in a page. If not specified, the service will return up to 25 results", + args: { name: "maxresults" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "list-versions", + description: "List the versions of a certificate", + options: [ + { + name: "--id", + description: + "Id of the certificate. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--maxresults", + description: + "Maximum number of results to return in a page. If not specified, the service will return up to 25 results", + args: { name: "maxresults" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the certificate. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "purge", + description: "Permanently deletes the specified deleted certificate", + options: [ + { + name: "--id", + description: + "The recovery id of the certificate. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the certificate. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "recover", + description: "Recover a deleted certificate to its latest version", + options: [ + { + name: "--id", + description: + "The recovery id of the certificate. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the certificate. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "restore", + description: "Restores a backed up certificate to a vault", + options: [ + { + name: ["--file", "-f"], + description: + "Local certificate backup from which to restore certificate", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Key Vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "set-attributes", + description: + "Updates the specified attributes associated with the given certificate", + options: [ + { + name: "--enabled", + description: "Enable the certificate", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--id", + description: + "Id of the certificate. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the certificate. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--policy", "-p"], + description: + "JSON encoded policy definition. Use @{file} to load from a file(e.g. @my_policy.json)", + args: { name: "policy" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + { + name: ["--version", "-v"], + description: + "The certificate version. If omitted, uses the latest version", + args: { name: "version" }, + }, + ], + }, + { + name: "show", + description: "Gets information about a certificate", + options: [ + { + name: "--id", + description: + "Id of the certificate. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the certificate. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + { + name: ["--version", "-v"], + description: + "The certificate version. If omitted, uses the latest version", + args: { name: "version" }, + }, + ], + }, + { + name: "show-deleted", + description: "Get a deleted certificate", + options: [ + { + name: "--id", + description: + "The recovery id of the certificate. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the certificate. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "contact", + description: "Manage contacts for certificate management", + subcommands: [ + { + name: "add", + description: + "Add a contact to the specified vault to receive notifications of certificate operations", + options: [ + { + name: "--email", + description: "Contact e-mail address. Must be unique", + args: { name: "email" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--name", + description: "Full contact name", + args: { name: "name" }, + }, + { + name: "--phone", + description: "Contact phone number", + args: { name: "phone" }, + }, + ], + }, + { + name: "delete", + description: + "Remove a certificate contact from the specified vault", + options: [ + { + name: "--email", + description: "Contact e-mail address. Must be unique", + args: { name: "email" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Lists the certificate contacts for a specified key vault", + options: [ + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "issuer", + description: "Manage certificate issuer information", + subcommands: [ + { + name: "create", + description: "Create a certificate issuer record", + options: [ + { + name: "--issuer-name", + description: "Certificate issuer name", + args: { name: "issuer-name" }, + isRequired: true, + }, + { + name: "--provider-name", + description: + "The certificate provider name. Must be registered with your tenant ID and in your region", + args: { name: "provider-name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--account-id", + description: "The issuer account id/username/etc", + args: { name: "account-id" }, + }, + { + name: "--disabled", + description: "Set issuer to disabled state", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--organization-id", + description: "The organization id", + args: { name: "organization-id" }, + }, + { + name: "--password", + description: "The issuer account password/secret/etc", + args: { name: "password" }, + }, + ], + }, + { + name: "delete", + description: "Deletes the specified certificate issuer", + options: [ + { + name: "--issuer-name", + description: "Certificate issuer name", + args: { name: "issuer-name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Lists properties of the certificate issuers for the key vault", + options: [ + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets the specified certificate issuer", + options: [ + { + name: "--issuer-name", + description: "Certificate issuer name", + args: { name: "issuer-name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a certificate issuer record", + options: [ + { + name: "--issuer-name", + description: "Certificate issuer name", + args: { name: "issuer-name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--account-id", + description: "The issuer account id/username/etc", + args: { name: "account-id" }, + }, + { + name: "--enabled", + description: "Set issuer enabled state", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--organization-id", + description: "The organization id", + args: { name: "organization-id" }, + }, + { + name: "--password", + description: "The issuer account password/secret/etc", + args: { name: "password" }, + }, + { + name: "--provider-name", + description: + "The certificate provider name. Must be registered with your tenant ID and in your region", + args: { name: "provider-name" }, + }, + ], + }, + { + name: "admin", + description: "Manage admin information for certificate issuers", + subcommands: [ + { + name: "add", + description: + "Add admin details for a specified certificate issuer", + options: [ + { + name: "--email", + description: + "Admin e-mail address. Must be unique within the vault", + args: { name: "email" }, + isRequired: true, + }, + { + name: "--issuer-name", + description: "Certificate issuer name", + args: { name: "issuer-name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--first-name", + description: "Admin first name", + args: { name: "first-name" }, + }, + { + name: "--last-name", + description: "Admin last name", + args: { name: "last-name" }, + }, + { + name: "--phone", + description: "Admin phone number", + args: { name: "phone" }, + }, + ], + }, + { + name: "delete", + description: + "Remove admin details for the specified certificate issuer", + options: [ + { + name: "--email", + description: + "Admin e-mail address. Must be unique within the vault", + args: { name: "email" }, + isRequired: true, + }, + { + name: "--issuer-name", + description: "Certificate issuer name", + args: { name: "issuer-name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List admins for a specified certificate issuer", + options: [ + { + name: "--issuer-name", + description: "Certificate issuer name", + args: { name: "issuer-name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "pending", + description: "Manage pending certificate creation operations", + subcommands: [ + { + name: "delete", + description: + "Deletes the creation operation for a specific certificate", + options: [ + { + name: ["--name", "-n"], + description: "Name of the pending certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "merge", + description: + "Merges a certificate or a certificate chain with a key pair existing on the server", + options: [ + { + name: ["--file", "-f"], + description: + "File containing the certificate or certificate chain to merge", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the pending certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--disabled", + description: "Create certificate in disabled state", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "show", + description: "Gets the creation operation of a certificate", + options: [ + { + name: ["--name", "-n"], + description: "Name of the pending certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "check-name", + description: + "Checks that the managed hsm name is valid and is not already in use", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the HSM within the specified resource group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--resource-type", + description: "Type of resource", + args: { name: "resource-type", suggestions: ["hsm"] }, + }, + ], + }, + { + name: "create", + description: "Create a Vault or HSM", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--administrators", + description: + "[HSM Only] Administrator role for data plane operations for Managed HSM. It accepts a space separated list of OIDs that will be assigned", + args: { name: "administrators" }, + }, + { + name: "--bypass", + description: "Bypass traffic for space-separated uses", + args: { name: "bypass", suggestions: ["AzureServices", "None"] }, + }, + { + name: "--default-action", + description: "Default action to apply when no rule matches", + args: { name: "default-action", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--enable-purge-protection", + description: + "Property specifying whether protection against purge is enabled for this vault/managed HSM pool. Setting this property to true activates protection against purge for this vault/managed HSM pool and its content - only the Key Vault/Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible", + args: { + name: "enable-purge-protection", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-rbac-authorization", + description: + "Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value of false. Note that management actions are always authorized with RBAC", + args: { + name: "enable-rbac-authorization", + suggestions: ["false", "true"], + }, + }, + { + name: "--enabled-for-deployment", + description: + "[Vault Only] Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault", + args: { + name: "enabled-for-deployment", + suggestions: ["false", "true"], + }, + }, + { + name: "--enabled-for-disk-encryption", + description: + "[Vault Only] Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys", + args: { + name: "enabled-for-disk-encryption", + suggestions: ["false", "true"], + }, + }, + { + name: "--enabled-for-template-deployment", + description: + "[Vault Only] Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault", + args: { + name: "enabled-for-template-deployment", + suggestions: ["false", "true"], + }, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --name/-n are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Vault", + args: { name: "name" }, + }, + { + name: "--network-acls", + description: + 'Network ACLs. It accepts a JSON filename or a JSON string. JSON format: {\\"ip\\":[, ...],\\"vnet\\":[/,...]}', + args: { name: "network-acls" }, + }, + { + name: "--network-acls-ips", + description: + "Network ACLs IP rules. Space-separated list of IP addresses", + args: { name: "network-acls-ips" }, + }, + { + name: "--network-acls-vnets", + description: + "Network ACLS VNet rules. Space-separated list of Vnet/subnet pairs or subnet resource ids", + args: { name: "network-acls-vnets" }, + }, + { + name: "--no-self-perms", + description: + "[Vault Only] Don't add permissions for the current user/service principal in the new vault", + args: { name: "no-self-perms", suggestions: ["false", "true"] }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--public-network-access", + description: + "Control permission for data plane traffic coming from public networks while private endpoint is enabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--retention-days", + description: + "Soft delete data retention days. It accepts >=7 and <=90. Defaults to 90 for keyvault creation. Required for MHSM creation", + args: { name: "retention-days" }, + }, + { + name: "--sku", + description: + "Required. SKU details. Allowed values for Vault: premium, standard. Default: standard. Allowed values for HSM: Standard_B1, Custom_B32. Default: Standard_B1", + args: { name: "sku" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Vault or HSM", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --name/-n are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Vault", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete-policy", + description: "Delete security policy settings for a Key Vault", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--application-id", + description: + "Application ID of the client making request on behalf of a principal. Exposed for compound identity using on-behalf-of authentication flow", + args: { name: "application-id" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--object-id", + description: + "A GUID that identifies the principal that will receive permissions", + args: { name: "object-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--spn", + description: + "Name of a service principal that will receive permissions", + args: { name: "spn" }, + }, + { + name: "--upn", + description: "Name of a user principal that will receive permissions", + args: { name: "upn" }, + }, + ], + }, + { + name: "list", + description: "List Vaults and/or HSMs", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "When --resource-type is not present the command will list all Vaults and HSMs. Possible values for --resource-type are vault and hsm", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "list-deleted", + description: + "Get information about the deleted Vaults or HSMs in a subscription", + options: [ + { + name: "--resource-type", + description: + "When --resource-type is not present the command will list all deleted Vaults and HSMs. Possible values for --resource-type are vault and hsm", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "purge", + description: + "Permanently delete the specified Vault or HSM. Aka Purges the deleted Vault or HSM", + options: [ + { + name: "--hsm-name", + description: + "Name of the deleted HSM. (--hsm-name and --name/-n are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: ["--location", "-l"], + description: "Location of the deleted Vault or HSM", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the deleted Vault", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "recover", + description: "Recover a Vault or HSM", + options: [ + { + name: "--hsm-name", + description: + "Name of the deleted HSM. (--hsm-name and --name/-n are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: ["--location", "-l"], + description: "Location of the deleted Vault or HSM", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the deleted Vault", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: "Resource group of the deleted Vault or HSM", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "set-policy", + description: "Update security policy settings for a Key Vault", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--application-id", + description: + "Application ID of the client making request on behalf of a principal. Exposed for compound identity using on-behalf-of authentication flow", + args: { name: "application-id" }, + }, + { + name: "--certificate-permissions", + description: + "Space-separated list of certificate permissions to assign", + args: { + name: "certificate-permissions", + suggestions: [ + "all", + "backup", + "create", + "delete", + "deleteissuers", + "get", + "getissuers", + "import", + "list", + "listissuers", + "managecontacts", + "manageissuers", + "purge", + "recover", + "restore", + "setissuers", + "update", + ], + }, + }, + { + name: "--key-permissions", + description: "Space-separated list of key permissions to assign", + args: { + name: "key-permissions", + suggestions: [ + "all", + "backup", + "create", + "decrypt", + "delete", + "encrypt", + "get", + "getrotationpolicy", + "import", + "list", + "purge", + "recover", + "release", + "restore", + "rotate", + "setrotationpolicy", + "sign", + "unwrapKey", + "update", + "verify", + "wrapKey", + ], + }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--object-id", + description: + "A GUID that identifies the principal that will receive permissions", + args: { name: "object-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--secret-permissions", + description: "Space-separated list of secret permissions to assign", + args: { + name: "secret-permissions", + suggestions: [ + "all", + "backup", + "delete", + "get", + "list", + "purge", + "recover", + "restore", + "set", + ], + }, + }, + { + name: "--spn", + description: + "Name of a service principal that will receive permissions", + args: { name: "spn" }, + }, + { + name: "--storage-permissions", + description: "Space-separated list of storage permissions to assign", + args: { + name: "storage-permissions", + suggestions: [ + "all", + "backup", + "delete", + "deletesas", + "get", + "getsas", + "list", + "listsas", + "purge", + "recover", + "regeneratekey", + "restore", + "set", + "setsas", + "update", + ], + }, + }, + { + name: "--upn", + description: "Name of a user principal that will receive permissions", + args: { name: "upn" }, + }, + ], + }, + { + name: "show", + description: "Show details of a Vault or HSM", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --name/-n are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Vault", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show-deleted", + description: "Show details of a deleted Vault or HSM", + options: [ + { + name: "--hsm-name", + description: + "Name of the deleted HSM. (--hsm-name and --name/-n are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: ["--location", "-l"], + description: "Location of the deleted Vault or HSM", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the deleted Vault", + args: { name: "name" }, + }, + ], + }, + { + name: "update", + description: "Update the properties of a Vault", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--bypass", + description: "Bypass traffic for space-separated uses", + args: { name: "bypass", suggestions: ["AzureServices", "None"] }, + }, + { + name: "--default-action", + description: "Default action to apply when no rule matches", + args: { name: "default-action", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--enable-purge-protection", + description: + "Property specifying whether protection against purge is enabled for this vault/managed HSM pool. Setting this property to true activates protection against purge for this vault/managed HSM pool and its content - only the Key Vault/Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible", + args: { + name: "enable-purge-protection", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-rbac-authorization", + description: + "Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value of false. Note that management actions are always authorized with RBAC", + args: { + name: "enable-rbac-authorization", + suggestions: ["false", "true"], + }, + }, + { + name: "--enabled-for-deployment", + description: + "[Vault Only] Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault", + args: { + name: "enabled-for-deployment", + suggestions: ["false", "true"], + }, + }, + { + name: "--enabled-for-disk-encryption", + description: + "[Vault Only] Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys", + args: { + name: "enabled-for-disk-encryption", + suggestions: ["false", "true"], + }, + }, + { + name: "--enabled-for-template-deployment", + description: + "[Vault Only] Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault", + args: { + name: "enabled-for-template-deployment", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--public-network-access", + description: + "Control permission for data plane traffic coming from public networks while private endpoint is enabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--retention-days", + description: + "Soft delete data retention days. It accepts >=7 and <=90", + args: { name: "retention-days" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "update-hsm", + description: "Update the properties of a HSM", + options: [ + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--bypass", + description: "Bypass traffic for space-separated uses", + args: { name: "bypass", suggestions: ["AzureServices", "None"] }, + }, + { + name: "--default-action", + description: "Default action to apply when no rule matches", + args: { name: "default-action", suggestions: ["Allow", "Deny"] }, + }, + { + name: ["--enable-purge-protection", "-e"], + description: + "Property specifying whether protection against purge is enabled for this vault/managed HSM pool. Setting this property to true activates protection against purge for this vault/managed HSM pool and its content - only the Key Vault/Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible", + args: { + name: "enable-purge-protection", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--public-network-access", + description: + "Control permission for data plane traffic coming from public networks while private endpoint is enabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--secondary-locations", + description: + "--secondary-locations extends/contracts an HSM pool to listed regions. The primary location where the resource was originally created CANNOT be removed", + args: { name: "secondary-locations" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the Vault is met", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "wait-hsm", + description: + "Place the CLI in a waiting state until a condition of the HSM is met", + options: [ + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if HSM belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "key", + description: "Manage keys", + subcommands: [ + { + name: "backup", + description: + "Request that a backup of the specified key be downloaded to the client", + options: [ + { + name: ["--file", "-f"], + description: "Local file path in which to store key backup", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "create", + description: + "Create a new key, stores it, then returns key parameters and attributes to the client", + options: [ + { + name: "--curve", + description: + "Elliptic curve name. For valid values, see: https://docs.microsoft.com/rest/api/keyvault/keys/create-key/create-key#jsonwebkeycurvename", + args: { + name: "curve", + suggestions: ["Ed25519", "P-256", "P-256K", "P-384", "P-521"], + }, + }, + { + name: "--default-cvm-policy", + description: + "Use default policy under which the key can be exported for CVM disk encryption", + }, + { name: "--disabled", description: "Create key in disabled state" }, + { + name: "--expires", + description: "Expiration UTC datetime (Y-m-d'T'H:M:S'Z')", + args: { name: "expires" }, + }, + { + name: "--exportable", + description: + 'Whether the private key can be exported. To create key with release policy, "exportable" must be true and caller must have "export" permission', + args: { name: "exportable", suggestions: ["false", "true"] }, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--immutable", + description: + "Mark a release policy as immutable. An immutable release policy cannot be changed or updated after being marked immutable. Release policies are mutable by default", + args: { name: "immutable", suggestions: ["false", "true"] }, + }, + { + name: "--kty", + description: + "The type of key to create. For valid values, see: https://docs.microsoft.com/rest/api/keyvault/keys/create-key/create-key#jsonwebkeytype", + args: { + name: "kty", + suggestions: [ + "EC", + "EC-HSM", + "OKP", + "OKP-HSM", + "RSA", + "RSA-HSM", + "oct", + "oct-HSM", + ], + }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--not-before", + description: + "Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z')", + args: { name: "not-before" }, + }, + { + name: "--ops", + description: + "Space-separated list of permitted JSON web key operations", + args: { + name: "ops", + suggestions: [ + "decrypt", + "encrypt", + "export", + "import", + "sign", + "unwrapKey", + "verify", + "wrapKey", + ], + }, + }, + { + name: "--policy", + description: + "The policy rules under which the key can be exported. Policy definition as JSON, or a path to a file containing JSON policy definition", + args: { name: "policy" }, + }, + { + name: ["--protection", "-p"], + description: "Specifies the type of key protection", + args: { name: "protection", suggestions: ["hsm", "software"] }, + }, + { + name: "--size", + description: + "The key size in bits. For example: 2048, 3072, or 4096 for RSA. 128, 192, or 256 for oct", + args: { name: "size" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "decrypt", + description: "Decrypt a single block of encrypted data", + options: [ + { + name: ["--algorithm", "-a"], + description: "Algorithm identifier", + args: { + name: "algorithm", + suggestions: [ + "A128CBC", + "A128CBCPAD", + "A128GCM", + "A192CBC", + "A192CBCPAD", + "A192GCM", + "A256CBC", + "A256CBCPAD", + "A256GCM", + "RSA-OAEP", + "RSA-OAEP-256", + "RSA1_5", + ], + }, + isRequired: true, + }, + { + name: "--value", + description: + 'The value to be decrypted, which should be the result of "az keyvault encrypt"', + args: { name: "value" }, + isRequired: true, + }, + { + name: "--aad", + description: + "Optional data that is authenticated but not encrypted. For use with AES-GCM decryption", + args: { name: "aad" }, + }, + { + name: "--data-type", + description: "The type of the original data", + args: { name: "data-type", suggestions: ["base64", "plaintext"] }, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--iv", + description: + "The initialization vector used during encryption. Required for AES decryption", + args: { name: "iv" }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--tag", + description: + "The authentication tag generated during encryption. Required for only AES-GCM decryption", + args: { name: "tag" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + { + name: ["--version", "-v"], + description: + "The key version. If omitted, uses the latest version", + args: { name: "version" }, + }, + ], + }, + { + name: "delete", + description: "Delete a key of any type from storage in Vault or HSM", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "download", + description: "Download the public part of a stored key", + options: [ + { + name: ["--file", "-f"], + description: "File to receive the key contents", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--encoding", "-e"], + description: "Encoding of the key, default: PEM", + args: { name: "encoding", suggestions: ["DER", "PEM"] }, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + { + name: ["--version", "-v"], + description: + "The key version. If omitted, uses the latest version", + args: { name: "version" }, + }, + ], + }, + { + name: "encrypt", + description: + "Encrypt an arbitrary sequence of bytes using an encryption key that is stored in a Vault or HSM", + options: [ + { + name: ["--algorithm", "-a"], + description: "Algorithm identifier", + args: { + name: "algorithm", + suggestions: [ + "A128CBC", + "A128CBCPAD", + "A128GCM", + "A192CBC", + "A192CBCPAD", + "A192GCM", + "A256CBC", + "A256CBCPAD", + "A256GCM", + "RSA-OAEP", + "RSA-OAEP-256", + "RSA1_5", + ], + }, + isRequired: true, + }, + { + name: "--value", + description: + "The value to be encrypted. Default data type is Base64 encoded string", + args: { name: "value" }, + isRequired: true, + }, + { + name: "--aad", + description: + "Optional data that is authenticated but not encrypted. For use with AES-GCM encryption", + args: { name: "aad" }, + }, + { + name: "--data-type", + description: "The type of the original data", + args: { name: "data-type", suggestions: ["base64", "plaintext"] }, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--iv", + description: + "Initialization vector. Required for only AES-CBC(PAD) encryption", + args: { name: "iv" }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + { + name: ["--version", "-v"], + description: + "The key version. If omitted, uses the latest version", + args: { name: "version" }, + }, + ], + }, + { + name: "get-policy-template", + description: + "Return policy template as JSON encoded policy definition", + }, + { + name: "import", + description: "Import a private key", + options: [ + { + name: "--byok-file", + description: + "BYOK file containing the key to be imported. Must not be password protected", + args: { name: "byok-file" }, + }, + { + name: "--byok-string", + description: + "BYOK string containing the key to be imported. Must not be password protected", + args: { name: "byok-string" }, + }, + { + name: "--curve", + description: + "The curve name of the key to import (only for BYOK)", + args: { + name: "curve", + suggestions: ["Ed25519", "P-256", "P-256K", "P-384", "P-521"], + }, + }, + { + name: "--default-cvm-policy", + description: + "Use default policy under which the key can be exported for CVM disk encryption", + }, + { name: "--disabled", description: "Create key in disabled state" }, + { + name: "--expires", + description: "Expiration UTC datetime (Y-m-d'T'H:M:S'Z')", + args: { name: "expires" }, + }, + { + name: "--exportable", + description: + 'Whether the private key can be exported. To create key with release policy, "exportable" must be true and caller must have "export" permission', + args: { name: "exportable", suggestions: ["false", "true"] }, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--immutable", + description: + "Mark a release policy as immutable. An immutable release policy cannot be changed or updated after being marked immutable. Release policies are mutable by default", + args: { name: "immutable", suggestions: ["false", "true"] }, + }, + { + name: "--kty", + description: "The type of key to import (only for BYOK)", + args: { name: "kty", suggestions: ["EC", "RSA", "oct"] }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--not-before", + description: + "Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z')", + args: { name: "not-before" }, + }, + { + name: "--ops", + description: + "Space-separated list of permitted JSON web key operations", + args: { + name: "ops", + suggestions: [ + "decrypt", + "encrypt", + "export", + "import", + "sign", + "unwrapKey", + "verify", + "wrapKey", + ], + }, + }, + { + name: "--pem-file", + description: "PEM file containing the key to be imported", + args: { name: "pem-file" }, + }, + { + name: "--pem-password", + description: "Password of PEM file", + args: { name: "pem-password" }, + }, + { + name: "--pem-string", + description: "PEM string containing the key to be imported", + args: { name: "pem-string" }, + }, + { + name: "--policy", + description: + "The policy rules under which the key can be exported. Policy definition as JSON, or a path to a file containing JSON policy definition", + args: { name: "policy" }, + }, + { + name: ["--protection", "-p"], + description: "Specifies the type of key protection", + args: { name: "protection", suggestions: ["hsm", "software"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "list", + description: "List keys in the specified Vault or HSM", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Full URI of the Vault or HSM. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--include-managed", + description: "Include managed keys. Default: false", + }, + { + name: "--maxresults", + description: + "Maximum number of results to return in a page. If not specified the service will return up to 25 results", + args: { name: "maxresults" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "list-deleted", + description: "List the deleted keys in the specified Vault or HSM", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Full URI of the Vault or HSM. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--maxresults", + description: + "Maximum number of results to return in a page. If not specified the service will return up to 25 results", + args: { name: "maxresults" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "list-versions", + description: + "Retrieves a list of individual key versions with the same key name", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--maxresults", + description: + "Maximum number of results to return in a page. If not specified the service will return up to 25 results", + args: { name: "maxresults" }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "purge", + description: "Permanently delete the specified key", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "The recovery id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "random", + description: + "Get the requested number of random bytes from a managed HSM", + options: [ + { + name: "--count", + description: "The requested number of random bytes", + args: { name: "count" }, + isRequired: true, + }, + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: "Full URI of the HSM", + args: { name: "id" }, + }, + ], + }, + { + name: "recover", + description: "Recover the deleted key to its latest version", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "The recovery id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "restore", + description: "Restore a backed up key to a Vault or HSM", + options: [ + { + name: "--backup-folder", + description: + "Name of the blob container which contains the backup", + args: { name: "backup-folder" }, + }, + { + name: "--blob-container-name", + description: "Name of Blob Container", + args: { name: "blob-container-name" }, + }, + { + name: ["--file", "-f"], + description: "Local key backup from which to restore key", + args: { name: "file" }, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Full URI of the Vault or HSM. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the key. (Only for restoring from storage account)", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--storage-account-name", + description: "Name of Azure Storage Account", + args: { name: "storage-account-name" }, + }, + { + name: ["--storage-container-SAS-token", "-t"], + description: + "The SAS token pointing to an Azure Blob storage container", + args: { name: "storage-container-SAS-token" }, + }, + { + name: ["--storage-resource-uri", "-u"], + description: + "Azure Blob storage container Uri. If specified, all other 'Storage Id' arguments should be omitted", + args: { name: "storage-resource-uri" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "rotate", + description: + "Rotate the key based on the key policy by generating a new version of the key", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "set-attributes", + description: + "The update key operation changes specified attributes of a stored key and can be applied to any key type and key version stored in Vault or HSM", + options: [ + { + name: "--enabled", + description: "Enable the key", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--expires", + description: "Expiration UTC datetime (Y-m-d'T'H:M:S'Z')", + args: { name: "expires" }, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--immutable", + description: + "Mark a release policy as immutable. An immutable release policy cannot be changed or updated after being marked immutable. Release policies are mutable by default", + args: { name: "immutable", suggestions: ["false", "true"] }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--not-before", + description: + "Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z')", + args: { name: "not-before" }, + }, + { + name: "--ops", + description: + "Space-separated list of permitted JSON web key operations", + args: { + name: "ops", + suggestions: [ + "decrypt", + "encrypt", + "export", + "import", + "sign", + "unwrapKey", + "verify", + "wrapKey", + ], + }, + }, + { + name: "--policy", + description: + "The policy rules under which the key can be exported. Policy definition as JSON, or a path to a file containing JSON policy definition", + args: { name: "policy" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + { + name: ["--version", "-v"], + description: + "The key version. If omitted, uses the latest version", + args: { name: "version" }, + }, + ], + }, + { + name: "show", + description: + "Get a key's attributes and, if it's an asymmetric key, its public material", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + { + name: ["--version", "-v"], + description: + "The key version. If omitted, uses the latest version", + args: { name: "version" }, + }, + ], + }, + { + name: "show-deleted", + description: "Get the public part of a deleted key", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "The recovery id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "sign", + description: + "Create a signature from a digest using a key that is stored in a Vault or HSM", + options: [ + { + name: ["--algorithm", "-a"], + description: "Algorithm identifier", + args: { + name: "algorithm", + suggestions: [ + "ES256", + "ES256K", + "ES384", + "ES512", + "EdDSA", + "PS256", + "PS384", + "PS512", + "RS256", + "RS384", + "RS512", + ], + }, + isRequired: true, + }, + { + name: "--digest", + description: "The value to sign", + args: { name: "digest" }, + isRequired: true, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + { + name: ["--version", "-v"], + description: + "The key version. If omitted, uses the latest version", + args: { name: "version" }, + }, + ], + }, + { + name: "verify", + description: + "Verify a signature using the key that is stored in a Vault or HSM", + options: [ + { + name: ["--algorithm", "-a"], + description: "Algorithm identifier", + args: { + name: "algorithm", + suggestions: [ + "ES256", + "ES256K", + "ES384", + "ES512", + "EdDSA", + "PS256", + "PS384", + "PS512", + "RS256", + "RS384", + "RS512", + ], + }, + isRequired: true, + }, + { + name: "--digest", + description: "The value to sign", + args: { name: "digest" }, + isRequired: true, + }, + { + name: "--signature", + description: "Signature to verify", + args: { name: "signature" }, + isRequired: true, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + { + name: ["--version", "-v"], + description: + "The key version. If omitted, uses the latest version", + args: { name: "version" }, + }, + ], + }, + { + name: "rotation-policy", + description: "Manage key's rotation policy", + subcommands: [ + { + name: "show", + description: "Get the rotation policy of a Key Vault key", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "update", + description: "Update the rotation policy of a Key Vault key", + options: [ + { + name: "--value", + description: + "The rotation policy file definition as JSON, or a path to a file containing JSON policy definition", + args: { name: "value" }, + isRequired: true, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Id of the key. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the key. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "network-rule", + description: "Manage vault network ACLs", + subcommands: [ + { + name: "add", + description: "Add a network rule to the network ACLs for a Key Vault", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ip-address", + description: + "IPv4 address or CIDR range. Can supply a list: --ip-address ip1 [ip2]", + args: { name: "ip-address" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--subnet", + description: + "Name or ID of subnet. If name is supplied, --vnet-name must be supplied", + args: { name: "subnet" }, + }, + { + name: "--vnet-name", + description: "Name of a virtual network", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "list", + description: + "List the network rules from the network ACLs for a Key Vault", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: + "Remove a network rule from the network ACLs for a Key Vault", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ip-address", + description: + "IPv4 address or CIDR range. Can supply a list: --ip-address ip1 [ip2]", + args: { name: "ip-address" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--subnet", + description: + "Name or ID of subnet. If name is supplied, --vnet-name must be supplied", + args: { name: "subnet" }, + }, + { + name: "--vnet-name", + description: "Name of a virtual network", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the vault is met", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: "Manage vault/HSM private endpoint connections", + subcommands: [ + { + name: "approve", + description: + "Approve a private endpoint connection request for a Key Vault/HSM", + options: [ + { + name: "--description", + description: "Comments for the approve operation", + args: { name: "description" }, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. Required if --id is not specified.(--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Key Vault/HSM. If specified --vault-name/--hsm-name and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Key Vault/HSM. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the specified private endpoint connection associated with a Key Vault/HSM", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. Required if --id is not specified.(--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Key Vault/HSM. If specified --vault-name/--hsm-name and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Key Vault/HSM. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "list", + description: + "List all private endpoint connections associated with a HSM", + options: [ + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "reject", + description: + "Reject a private endpoint connection request for a Key Vault/HSM", + options: [ + { + name: "--description", + description: "Comments for the reject operation", + args: { name: "description" }, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. Required if --id is not specified.(--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Key Vault/HSM. If specified --vault-name/--hsm-name and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Key Vault/HSM. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a private endpoint connection associated with a Key Vault/HSM", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. Required if --id is not specified.(--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Key Vault/HSM. If specified --vault-name/--hsm-name and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Key Vault/HSM. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the private endpoint connection is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--hsm-name", + description: + "Name of the HSM. Required if --id is not specified.(--hsm-name and --vault-name are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Key Vault/HSM. If specified --vault-name/--hsm-name and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Key Vault/HSM. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage vault/HSM private link resources", + subcommands: [ + { + name: "list", + description: + "List the private link resources supported for a Key Vault/HSM", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. (--hsm-name and --name/-n are mutually exclusive, please specify just one of them)", + args: { name: "hsm-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "region", + description: "Manage MHSM multi-regions", + subcommands: [ + { + name: "add", + description: "Add regions for the managed HSM Pool", + options: [ + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + isRequired: true, + }, + { + name: ["--region-name", "--region", "-r"], + description: "The region name", + args: { name: "region-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "Get regions information associated with the managed HSM Pool", + options: [ + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Remove regions for the managed HSM Pool", + options: [ + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + isRequired: true, + }, + { + name: ["--region-name", "--region", "-r"], + description: "The region name", + args: { name: "region-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the HSM is met", + options: [ + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Proceed only if Key Vault belongs to the specified resource group", + args: { name: "resource-group" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "restore", + description: "Manage full HSM restore", + subcommands: [ + { + name: "start", + description: "Restore a full backup of a HSM", + options: [ + { + name: "--backup-folder", + description: + "Name of the blob container which contains the backup", + args: { name: "backup-folder" }, + isRequired: true, + }, + { + name: ["--storage-container-SAS-token", "-t"], + description: + "The SAS token pointing to an Azure Blob storage container", + args: { name: "storage-container-SAS-token" }, + isRequired: true, + }, + { + name: "--blob-container-name", + description: "Name of Blob Container", + args: { name: "blob-container-name" }, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. Can be omitted if --id is specified", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: "Full URI of the HSM", + args: { name: "id" }, + }, + { + name: ["--key-name", "--key"], + description: + "Name of a single key in the backup. When set, only this key will be restored", + args: { name: "key-name" }, + }, + { + name: "--storage-account-name", + description: "Name of Azure Storage Account", + args: { name: "storage-account-name" }, + }, + { + name: "--storage-resource-uri", + description: + "Azure Blob storage container Uri. If specified all other 'Storage Id' arguments should be omitted", + args: { name: "storage-resource-uri" }, + }, + ], + }, + ], + }, + { + name: "role", + description: "Manage user roles for access control", + subcommands: [ + { + name: "assignment", + description: "Manage role assignments", + subcommands: [ + { + name: "create", + description: + "Create a new role assignment for a user, group, or service principal", + options: [ + { + name: "--role", + description: "Role name or id", + args: { name: "role" }, + isRequired: true, + }, + { + name: "--scope", + description: + 'Scope at which the role assignment or definition applies to, e.g., "/" or "/keys" or "/keys/{keyname}"', + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--assignee", + description: + "Represent a user, group, or service principal. supported format: object id, user sign-in name, or service principal name", + args: { name: "assignee" }, + }, + { + name: "--assignee-object-id", + description: + "Use this parameter instead of '--assignee' to bypass graph permission issues. This parameter only works with object ids for users, groups, service principals, and managed identities. For managed identities use the principal id. For service principals, use the object id and not the app id", + args: { name: "assignee-object-id" }, + }, + { + name: ["--assignee-principal-type", "-t"], + description: "The principal type of assignee", + args: { + name: "assignee-principal-type", + suggestions: [ + "Application", + "DirectoryObjectOrGroup", + "DirectoryRoleTemplate", + "Everyone", + "ForeignGroup", + "Group", + "MSI", + "ServicePrincipal", + "Unknown", + "User", + ], + }, + }, + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Full URI of the HSM. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the role assignment", + args: { name: "name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a role assignment", + options: [ + { + name: "--assignee", + description: + "Represent a user, group, or service principal. supported format: object id, user sign-in name, or service principal name", + args: { name: "assignee" }, + }, + { + name: "--assignee-object-id", + description: + "Use this parameter instead of '--assignee' to bypass graph permission issues. This parameter only works with object ids for users, groups, service principals, and managed identities. For managed identities use the principal id. For service principals, use the object id and not the app id", + args: { name: "assignee-object-id" }, + }, + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Full URI of the HSM. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: "Space-separated role assignment ids", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the role assignment", + args: { name: "name" }, + }, + { + name: "--role", + description: "Role name or id", + args: { name: "role" }, + }, + { + name: "--scope", + description: + 'Scope at which the role assignment or definition applies to, e.g., "/" or "/keys" or "/keys/{keyname}"', + args: { name: "scope" }, + }, + ], + }, + { + name: "list", + description: "List role assignments", + options: [ + { + name: "--assignee", + description: + "Represent a user, group, or service principal. supported format: object id, user sign-in name, or service principal name", + args: { name: "assignee" }, + }, + { + name: "--assignee-object-id", + description: + "Use this parameter instead of '--assignee' to bypass graph permission issues. This parameter only works with object ids for users, groups, service principals, and managed identities. For managed identities use the principal id. For service principals, use the object id and not the app id", + args: { name: "assignee-object-id" }, + }, + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Full URI of the HSM. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--role", + description: "Role name or id", + args: { name: "role" }, + }, + { + name: "--scope", + description: + 'Scope at which the role assignment or definition applies to, e.g., "/" or "/keys" or "/keys/{keyname}"', + args: { name: "scope" }, + }, + ], + }, + ], + }, + { + name: "definition", + description: "Manage role definitions", + subcommands: [ + { + name: "create", + description: "Create a custom role definition", + options: [ + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + isRequired: true, + }, + { + name: "--role-definition", + description: + "Description of a role as JSON, or a path to a file containing a JSON description", + args: { name: "role-definition" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a role definition", + options: [ + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + 'The role definition name. This is a GUID in the "name" property of a role definition', + args: { name: "name" }, + }, + { + name: "--role-id", + description: "The role definition ID", + args: { name: "role-id" }, + }, + ], + }, + { + name: "list", + description: "List role definitions", + options: [ + { + name: "--custom-role-only", + description: "Only show custom role definitions", + }, + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + }, + { + name: "--scope", + description: + 'Scope at which the role assignment or definition applies to, e.g., "/" or "/keys" or "/keys/{keyname}"', + args: { name: "scope" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a role definition", + options: [ + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + 'The role definition name. This is a GUID in the "name" property of a role definition', + args: { name: "name" }, + }, + { + name: "--role-id", + description: "The role definition ID", + args: { name: "role-id" }, + }, + ], + }, + { + name: "update", + description: "Update a role definition", + options: [ + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + isRequired: true, + }, + { + name: "--role-definition", + description: + "Description of a role as JSON, or a path to a file containing a JSON description", + args: { name: "role-definition" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "secret", + description: "Manage secrets", + subcommands: [ + { + name: "backup", + description: "Backs up the specified secret", + options: [ + { + name: ["--file", "-f"], + description: "File to receive the secret contents", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--id", + description: + "Id of the secret. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the secret. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete all versions of a secret", + options: [ + { + name: "--id", + description: + "Id of the secret. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the secret. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "download", + description: "Download a secret from a KeyVault", + options: [ + { + name: ["--file", "-f"], + description: "File to receive the secret contents", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--encoding", "-e"], + description: + "Encoding of the secret. By default, will look for the 'file-encoding' tag on the secret. Otherwise will assume 'utf-8'", + args: { + name: "encoding", + suggestions: [ + "ascii", + "base64", + "hex", + "utf-16be", + "utf-16le", + "utf-8", + ], + }, + }, + { + name: "--id", + description: + "Id of the secret. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the secret. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + { + name: ["--version", "-v"], + description: + "The secret version. If omitted, uses the latest version", + args: { name: "version" }, + }, + ], + }, + { + name: "list", + description: "List secrets in a specified key vault", + options: [ + { + name: "--id", + description: + "Full URI of the Vault. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--include-managed", + description: "Include managed secrets. Default: false", + }, + { + name: "--maxresults", + description: + "Maximum number of results to return in a page. If not specified, the service will return up to 25 results", + args: { name: "maxresults" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "list-deleted", + description: "Lists deleted secrets for the specified vault", + options: [ + { + name: "--id", + description: + "Full URI of the Vault. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--maxresults", + description: + "Maximum number of results to return in a page. If not specified, the service will return up to 25 results", + args: { name: "maxresults" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "list-versions", + description: "List all versions of the specified secret", + options: [ + { + name: "--id", + description: + "Id of the secret. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: "--maxresults", + description: + "Maximum number of results to return in a page. If not specified, the service will return up to 25 results", + args: { name: "maxresults" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the secret. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "purge", + description: "Permanently deletes the specified secret", + options: [ + { + name: "--id", + description: + "The recovery id of the secret. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the secret. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "recover", + description: "Recovers the deleted secret to the latest version", + options: [ + { + name: "--id", + description: + "The recovery id of the secret. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the secret. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "restore", + description: "Restores a backed up secret to a vault", + options: [ + { + name: ["--file", "-f"], + description: "File to receive the secret contents", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: + "Create a secret (if one doesn't exist) or update a secret in a KeyVault", + options: [ + { + name: ["--name", "-n"], + description: "Name of the secret", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: ["--content-type", "--description"], + description: + "Description of the secret contents (e.g. password, connection string, etc)", + args: { name: "content-type" }, + }, + { + name: "--disabled", + description: "Create secret in disabled state", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: ["--encoding", "-e"], + description: + "Source file encoding. The value is saved as a tag (file-encoding=) and used during download to automatically encode the resulting file", + args: { + name: "encoding", + suggestions: [ + "ascii", + "base64", + "hex", + "utf-16be", + "utf-16le", + "utf-8", + ], + }, + }, + { + name: "--expires", + description: "Expiration UTC datetime (Y-m-d'T'H:M:S'Z')", + args: { name: "expires" }, + }, + { + name: ["--file", "-f"], + description: + "Source file for secret. Use in conjunction with '--encoding'", + args: { name: "file" }, + }, + { + name: "--not-before", + description: + "Secret not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z')", + args: { name: "not-before" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--value", + description: + "Plain text secret value. Cannot be used with '--file' or '--encoding'", + args: { name: "value" }, + }, + ], + }, + { + name: "set-attributes", + description: + "Updates the attributes associated with a specified secret in a given key vault", + options: [ + { + name: "--content-type", + description: "Type of the secret value such as a password", + args: { name: "content-type" }, + }, + { + name: "--enabled", + description: "Enable the secret", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--expires", + description: "Expiration UTC datetime (Y-m-d'T'H:M:S'Z')", + args: { name: "expires" }, + }, + { + name: "--id", + description: + "Id of the secret. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the secret. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--not-before", + description: + "Secret not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z')", + args: { name: "not-before" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + { + name: ["--version", "-v"], + description: + "The secret version. If omitted, uses the latest version", + args: { name: "version" }, + }, + ], + }, + { + name: "show", + description: "Get a specified secret from a given key vault", + options: [ + { + name: "--id", + description: + "Id of the secret. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the secret. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + { + name: ["--version", "-v"], + description: + "The secret version. If omitted, uses the latest version", + args: { name: "version" }, + }, + ], + }, + { + name: "show-deleted", + description: "Gets the specified deleted secret", + options: [ + { + name: "--id", + description: + "The recovery id of the secret. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the secret. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "security-domain", + description: "Manage security domain operations", + subcommands: [ + { + name: "download", + description: "Download the security domain file from the HSM", + options: [ + { + name: "--sd-quorum", + description: + "The minimum number of shares required to decrypt the security domain for recovery", + args: { name: "sd-quorum" }, + isRequired: true, + }, + { + name: "--sd-wrapping-keys", + description: + "Space-separated file paths to PEM files containing public keys", + args: { name: "sd-wrapping-keys" }, + isRequired: true, + }, + { + name: "--security-domain-file", + description: + "Path to a file where the JSON blob returned by this command is stored", + args: { name: "security-domain-file" }, + isRequired: true, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. Can be omitted if --id is specified", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: "Full URI of the HSM", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "init-recovery", + description: "Retrieve the exchange key of the HSM", + options: [ + { + name: "--sd-exchange-key", + description: "Local file path to store the exported key", + args: { name: "sd-exchange-key" }, + isRequired: true, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. Can be omitted if --id is specified", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: "Full URI of the HSM", + args: { name: "id" }, + }, + ], + }, + { + name: "restore-blob", + description: + "Enable to decrypt and encrypt security domain file as blob. Can be run in offline environment, before file is uploaded to HSM using security-domain upload", + options: [ + { + name: "--sd-exchange-key", + description: "The exchange key for security domain", + args: { name: "sd-exchange-key" }, + isRequired: true, + }, + { + name: "--sd-file", + description: + "This file contains security domain encrypted using SD Exchange file downloaded in security-domain init-recovery command", + args: { name: "sd-file" }, + isRequired: true, + }, + { + name: "--sd-file-restore-blob", + description: + "Local file path to store the security domain encrypted with the exchange key", + args: { name: "sd-file-restore-blob" }, + isRequired: true, + }, + { + name: "--sd-wrapping-keys", + description: + "Space-separated file paths to PEM files containing private keys", + args: { name: "sd-wrapping-keys" }, + isRequired: true, + }, + { + name: "--passwords", + description: + "Space-separated password list for --sd-wrapping-keys. CLI will match them in order. Can be omitted if your keys are without password protection", + args: { name: "passwords" }, + }, + ], + }, + { + name: "upload", + description: "Start to restore the HSM", + options: [ + { + name: "--sd-file", + description: + "This file contains security domain encrypted using SD Exchange file downloaded in security-domain init-recovery command", + args: { name: "sd-file" }, + isRequired: true, + }, + { + name: "--hsm-name", + description: + "Name of the HSM. Can be omitted if --id is specified", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: "Full URI of the HSM", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--passwords", + description: + "Space-separated password list for --sd-wrapping-keys. CLI will match them in order. Can be omitted if your keys are without password protection", + args: { name: "passwords" }, + }, + { + name: "--restore-blob", + description: "Indicator if blob is already restored", + }, + { + name: "--sd-exchange-key", + description: "The exchange key for security domain", + args: { name: "sd-exchange-key" }, + }, + { + name: "--sd-wrapping-keys", + description: + "Space-separated file paths to PEM files containing private keys", + args: { name: "sd-wrapping-keys" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until HSM security domain operation is finished", + options: [ + { + name: "--hsm-name", + description: + "Name of the HSM. Can be omitted if --id is specified", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: "Full URI of the HSM", + args: { name: "id" }, + }, + { + name: "--target-operation", + description: "Target operation that needs waiting", + args: { + name: "target-operation", + suggestions: ["download", "restore_blob", "upload"], + }, + }, + ], + }, + ], + }, + { + name: "setting", + description: "Manage MHSM settings", + subcommands: [ + { + name: "list", + description: "Get all settings associated with the managed HSM", + options: [ + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Full URI of the HSM. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + ], + }, + { + name: "show", + description: "Get specific setting associated with the managed HSM", + options: [ + { + name: ["--name", "-n"], + description: "Name of the setting", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Full URI of the HSM. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + ], + }, + { + name: "update", + description: + "Update specific setting associated with the managed HSM", + options: [ + { + name: ["--name", "-n"], + description: "Name of the setting", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--value", + description: "Value of the setting", + args: { name: "value" }, + isRequired: true, + }, + { + name: "--hsm-name", + description: "Name of the HSM", + args: { name: "hsm-name" }, + }, + { + name: "--id", + description: + "Full URI of the HSM. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--setting-type", "--type"], + description: "Type of the setting value", + args: { + name: "setting-type", + suggestions: ["boolean", "string"], + }, + }, + ], + }, + ], + }, + { + name: "storage", + description: "Manage storage accounts", + subcommands: [ + { + name: "add", + description: "Creates or updates a new storage account", + options: [ + { + name: "--active-key-name", + description: "Current active storage account key name", + args: { name: "active-key-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name to identify the storage account in the vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--resource-id", + description: "Storage account resource id", + args: { name: "resource-id" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--auto-regenerate-key", + description: + "Whether keyvault should manage the storage account for the user", + args: { + name: "auto-regenerate-key", + suggestions: ["false", "true"], + }, + }, + { + name: "--disabled", + description: "Add the storage account in a disabled state", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--regeneration-period", + description: + 'The key regeneration time duration specified in ISO-8601 format, such as "P30D" for rotation every 30 days', + args: { name: "regeneration-period" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "backup", + description: "Backs up the specified storage account", + options: [ + { + name: ["--file", "-f"], + description: + "Local file path in which to store storage account backup", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--id", + description: + "Id of the storage account. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name to identify the storage account in the vault. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "list", + description: + "List storage accounts managed by the specified key vault", + options: [ + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--maxresults", + description: + "Maximum number of results to return in a page. If not specified the service will return up to 25 results", + args: { name: "maxresults" }, + }, + ], + }, + { + name: "list-deleted", + description: "Lists deleted storage accounts for the specified vault", + options: [ + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--maxresults", + description: + "Maximum number of results to return in a page. If not specified the service will return up to 25 results", + args: { name: "maxresults" }, + }, + ], + }, + { + name: "purge", + description: "Permanently deletes the specified storage account", + options: [ + { + name: ["--name", "-n"], + description: "Name to identify the storage account in the vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "recover", + description: "Recovers the deleted storage account", + options: [ + { + name: ["--name", "-n"], + description: "Name to identify the storage account in the vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "regenerate-key", + description: + "Regenerates the specified key value for the given storage account", + options: [ + { + name: "--key-name", + description: "The storage account key name", + args: { name: "key-name" }, + isRequired: true, + }, + { + name: "--id", + description: + "Id of the storage account. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name to identify the storage account in the vault. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "remove", + description: + "Remove a Key Vault managed Azure Storage Account and all associated SAS definitions. This operation requires the storage/delete permission", + options: [ + { + name: "--id", + description: + "Id of the storage account. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name to identify the storage account in the vault. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "restore", + description: "Restores a backed up storage account to a vault", + options: [ + { + name: ["--file", "-f"], + description: + "Local key backup from which to restore storage account", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets information about a specified storage account", + options: [ + { + name: "--id", + description: + "Id of the storage account. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name to identify the storage account in the vault. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "show-deleted", + description: "Gets the specified deleted storage account", + options: [ + { + name: ["--name", "-n"], + description: "Name to identify the storage account in the vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Updates the specified attributes associated with the given storage account", + options: [ + { + name: "--active-key-name", + description: "The current active storage account key name", + args: { name: "active-key-name" }, + }, + { + name: "--auto-regenerate-key", + description: + "Whether keyvault should manage the storage account for the user", + args: { + name: "auto-regenerate-key", + suggestions: ["false", "true"], + }, + }, + { + name: "--disabled", + description: "Add the storage account in a disabled state", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--id", + description: + "Id of the storage account. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name to identify the storage account in the vault. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--regeneration-period", + description: + 'The key regeneration time duration specified in ISO-8601 format, such as "P30D" for rotation every 30 days', + args: { name: "regeneration-period" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "sas-definition", + description: "Manage storage account SAS definitions", + subcommands: [ + { + name: "create", + description: + "Creates or updates a new SAS definition for the specified storage account", + options: [ + { + name: "--account-name", + description: + "Name to identify the storage account in the vault", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name to identify the SAS definition in the vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--sas-type", + description: + "The type of SAS token the SAS definition will create. Possible values include: 'account', 'service'", + args: { + name: "sas-type", + suggestions: ["account", "service"], + }, + isRequired: true, + }, + { + name: "--template-uri", + description: + "The SAS definition token template signed with the key 00000000. In the case of an account token this is only the sas token itself, for service tokens, the full service endpoint url along with the sas token. Tokens created according to the SAS definition will have the same properties as the template", + args: { name: "template-uri" }, + isRequired: true, + }, + { + name: "--validity-period", + description: + 'The validity period of SAS tokens created according to the SAS definition in ISO-8601, such as "PT12H" for 12 hour tokens', + args: { name: "validity-period" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--disabled", + description: "Add the storage account in a disabled state", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes a SAS definition from a specified storage account", + options: [ + { + name: "--account-name", + description: + "Name to identify the storage account in the vault. Required if --id is not specified", + args: { name: "account-name" }, + }, + { + name: "--id", + description: + "Id of the SAS definition. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name to identify the SAS definition in the vault. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "list", + description: + "List storage SAS definitions for the given storage account", + options: [ + { + name: "--account-name", + description: + "Name to identify the storage account in the vault", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--maxresults", + description: + "Maximum number of results to return in a page. If not specified the service will return up to 25 results", + args: { name: "maxresults" }, + }, + ], + }, + { + name: "list-deleted", + description: + "Lists deleted SAS definitions for the specified vault and storage account", + options: [ + { + name: "--account-name", + description: + "Name to identify the storage account in the vault", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--maxresults", + description: + "Maximum number of results to return in a page. If not specified the service will return up to 25 results", + args: { name: "maxresults" }, + }, + ], + }, + { + name: "recover", + description: "Recovers the deleted SAS definition", + options: [ + { + name: "--account-name", + description: + "Name to identify the storage account in the vault", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name to identify the SAS definition in the vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets information about a SAS definition for the specified storage account", + options: [ + { + name: "--account-name", + description: + "Name to identify the storage account in the vault. Required if --id is not specified", + args: { name: "account-name" }, + }, + { + name: "--id", + description: + "Id of the SAS definition. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name to identify the SAS definition in the vault. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "show-deleted", + description: "Gets the specified deleted sas definition", + options: [ + { + name: "--account-name", + description: + "Name to identify the storage account in the vault", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name to identify the SAS definition in the vault", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "Name of the Vault", + args: { name: "vault-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Updates the specified attributes associated with the given SAS definition", + options: [ + { + name: "--account-name", + description: + "Name to identify the storage account in the vault. Required if --id is not specified", + args: { name: "account-name" }, + }, + { + name: "--disabled", + description: "Add the storage account in a disabled state", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--id", + description: + "Id of the SAS definition. If specified all other 'Id' arguments should be omitted", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name to identify the SAS definition in the vault. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: "--sas-type", + description: + "The type of SAS token the SAS definition will create. Possible values include: 'account', 'service'", + args: { + name: "sas-type", + suggestions: ["account", "service"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--template-uri", + description: + "The SAS definition token template signed with the key 00000000. In the case of an account token this is only the sas token itself, for service tokens, the full service endpoint url along with the sas token. Tokens created according to the SAS definition will have the same properties as the template", + args: { name: "template-uri" }, + }, + { + name: "--validity-period", + description: + 'The validity period of SAS tokens created according to the SAS definition in ISO-8601, such as "PT12H" for 12 hour tokens', + args: { name: "validity-period" }, + }, + { + name: "--vault-name", + description: + "Name of the Key Vault. Required if --id is not specified", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/kusto.ts b/src/az/2.53.0/kusto.ts new file mode 100644 index 000000000000..67e43e072c76 --- /dev/null +++ b/src/az/2.53.0/kusto.ts @@ -0,0 +1,4368 @@ +const completion: Fig.Spec = { + name: "kusto", + description: "Manage Azure Kusto resources", + subcommands: [ + { + name: "attached-database-configuration", + description: "Manage attached database configuration with kusto", + subcommands: [ + { + name: "create", + description: "Create an attached database configuration", + options: [ + { + name: ["--attached-database-configuration-name", "--name", "-n"], + description: "The name of the attached database configuration", + args: { name: "attached-database-configuration-name" }, + isRequired: true, + }, + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--cluster-resource-id", + description: + "The resource id of the cluster where the databases you would like to attach reside", + args: { name: "cluster-resource-id" }, + }, + { + name: "--database-name", + description: + "The name of the database which you would like to attach, use * if you want to follow all current and future databases", + args: { name: "database-name" }, + }, + { + name: "--default-principals-modification-kind", + description: "The default principals modification kind", + args: { + name: "default-principals-modification-kind", + suggestions: ["None", "Replace", "Union"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--table-level-sharing-properties", "--table-level"], + description: "Table level sharing specifications", + args: { name: "table-level-sharing-properties" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes the attached database configuration with the given name", + options: [ + { + name: ["--attached-database-configuration-name", "--name", "-n"], + description: "The name of the attached database configuration", + args: { name: "attached-database-configuration-name" }, + }, + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Returns the list of attached database configurations of the given Kusto cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Returns an attached database configuration", + options: [ + { + name: ["--attached-database-configuration-name", "--name", "-n"], + description: "The name of the attached database configuration", + args: { name: "attached-database-configuration-name" }, + }, + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an attached database configuration", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--attached-database-configuration-name", "--name", "-n"], + description: "The name of the attached database configuration", + args: { name: "attached-database-configuration-name" }, + }, + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--cluster-resource-id", + description: + "The resource id of the cluster where the databases you would like to attach reside", + args: { name: "cluster-resource-id" }, + }, + { + name: "--database-name", + description: + "The name of the database which you would like to attach, use * if you want to follow all current and future databases", + args: { name: "database-name" }, + }, + { + name: "--default-principals-modification-kind", + description: "The default principals modification kind", + args: { + name: "default-principals-modification-kind", + suggestions: ["None", "Replace", "Union"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--table-level-sharing-properties", "--table-level"], + description: "Table level sharing specifications", + args: { name: "table-level-sharing-properties" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the kusto attached-database-configuration is met", + options: [ + { + name: ["--attached-database-configuration-name", "--name", "-n"], + description: "The name of the attached database configuration", + args: { name: "attached-database-configuration-name" }, + }, + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "cluster", + description: + 'Manage Azure Kusto clusters.\n\n\t\tThis module will not be supported starting January 1, 2021. Please execute "az extension add -n kusto" to install the supported Kusto extension', + subcommands: [ + { + name: "add-language-extension", + description: + "Add a list of language extensions that can run within KQL queries", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--value", + description: "The list of language extensions", + args: { name: "value" }, + }, + ], + }, + { + name: "create", + description: "Create a Kusto cluster", + options: [ + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: "The name of the sku", + args: { + name: "sku", + suggestions: [ + "Dev(No SLA)_Standard_D11_v2", + "Dev(No SLA)_Standard_E2a_v4", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_DS13_v2+1TB_PS", + "Standard_DS13_v2+2TB_PS", + "Standard_DS14_v2+3TB_PS", + "Standard_DS14_v2+4TB_PS", + "Standard_E16a_v4", + "Standard_E16as_v4+3TB_PS", + "Standard_E16as_v4+4TB_PS", + "Standard_E2a_v4", + "Standard_E4a_v4", + "Standard_E8a_v4", + "Standard_E8as_v4+1TB_PS", + "Standard_E8as_v4+2TB_PS", + "Standard_L16s", + "Standard_L4s", + "Standard_L8s", + ], + }, + isRequired: true, + }, + { + name: "--capacity", + description: "The instance number of the VM", + args: { name: "capacity" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a Kusto cluster", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "detach-follower-database", + description: + "Detaches all followers of a database owned by this cluster", + options: [ + { + name: "--attached-database-configuration-name", + description: + "Resource name of the attached database configuration in the follower cluster", + args: { name: "attached-database-configuration-name" }, + isRequired: true, + }, + { + name: "--cluster-resource-id", + description: + "Resource id of the cluster that follows a database owned by this cluster", + args: { name: "cluster-resource-id" }, + isRequired: true, + }, + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "diagnose-virtual-network", + description: + "Diagnoses network connectivity status for external resources on which the service is dependent on", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List a Kusto cluster", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-follower-database", + description: + "Returns a list of databases that are owned by this cluster and were followed by another cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-language-extension", + description: + "Returns a list of language extensions that can run within KQL queries", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-outbound-network-dependency-endpoint", + description: + "Gets the network endpoints of all outbound dependencies of a Kusto cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-sku", + description: + "Returns the SKUs available for the provided resource. And Lists eligible SKUs for Kusto resource provider", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove-language-extension", + description: + "Remove a list of language extensions that can run within KQL queries", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--value", + description: "The list of language extensions", + args: { name: "value" }, + }, + ], + }, + { + name: "show", + description: "Get a Kusto cluster", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a Kusto cluster", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop a Kusto cluster", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Kusto cluster", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--capacity", + description: "The instance number of the VM", + args: { name: "capacity" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "The name of the sku", + args: { + name: "sku", + suggestions: [ + "Dev(No SLA)_Standard_D11_v2", + "Dev(No SLA)_Standard_E2a_v4", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_DS13_v2+1TB_PS", + "Standard_DS13_v2+2TB_PS", + "Standard_DS14_v2+3TB_PS", + "Standard_DS14_v2+4TB_PS", + "Standard_E16a_v4", + "Standard_E16as_v4+3TB_PS", + "Standard_E16as_v4+4TB_PS", + "Standard_E2a_v4", + "Standard_E4a_v4", + "Standard_E8a_v4", + "Standard_E8as_v4+1TB_PS", + "Standard_E8as_v4+2TB_PS", + "Standard_L16s", + "Standard_L4s", + "Standard_L8s", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Wait for a managed Kusto cluster to reach a desired state", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the cluster", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "cluster-principal-assignment", + description: "Manage cluster principal assignment with kusto", + subcommands: [ + { + name: "create", + description: "Create a Kusto cluster principalAssignment", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--principal-id", + description: + "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name", + args: { name: "principal-id" }, + }, + { + name: "--principal-type", + description: "Principal type", + args: { + name: "principal-type", + suggestions: ["App", "Group", "User"], + }, + }, + { + name: "--role", + description: "Cluster principal role", + args: { + name: "role", + suggestions: ["AllDatabasesAdmin", "AllDatabasesViewer"], + }, + }, + { + name: "--tenant-id", + description: "The tenant id of the principal", + args: { name: "tenant-id" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Kusto cluster principalAssignment", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all Kusto cluster principalAssignments", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a Kusto cluster principalAssignment", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Kusto cluster principalAssignment", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: "--principal-id", + description: + "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name", + args: { name: "principal-id" }, + }, + { + name: "--principal-type", + description: "Principal type", + args: { + name: "principal-type", + suggestions: ["App", "Group", "User"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: "Cluster principal role", + args: { + name: "role", + suggestions: ["AllDatabasesAdmin", "AllDatabasesViewer"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tenant-id", + description: "The tenant id of the principal", + args: { name: "tenant-id" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the kusto cluster-principal-assignment is met", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "data-connection", + description: "Manage data connection with kusto", + subcommands: [ + { + name: "delete", + description: "Deletes the data connection with the given name", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: ["--data-connection-name", "--name", "-n"], + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Returns the list of data connections of the given Kusto database", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Returns a data connection", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: ["--data-connection-name", "--name", "-n"], + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the kusto data-connection is met", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { + name: ["--data-connection-name", "--name", "-n"], + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "event-grid", + description: "Manage data connection with kusto sub group event-grid", + subcommands: [ + { + name: "create", + description: "Create a data connection", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--data-connection-name", "--name", "-n"], + description: "The name of the data connection", + args: { name: "data-connection-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--blob-storage-event-type", + description: "The name of blob storage event type to process", + args: { + name: "blob-storage-event-type", + suggestions: [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobRenamed", + ], + }, + }, + { + name: "--consumer-group", + description: "The event hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--database-routing", + description: + "Indication for database routing information from the data connection, by default only database routing information is allowed", + args: { + name: "database-routing", + suggestions: ["Multi", "Single"], + }, + }, + { + name: "--event-grid-resource-id", + description: + "The resource ID of the event grid that is subscribed to the storage account events", + args: { name: "event-grid-resource-id" }, + }, + { + name: "--event-hub-resource-id", + description: + "The resource ID where the event grid is configured to send events", + args: { name: "event-hub-resource-id" }, + }, + { + name: "--ignore-first-record", + description: + "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file", + args: { + name: "ignore-first-record", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: [ + "--managed-identity-resource-id", + "--managed-identity", + ], + description: + "Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id", + args: { name: "managed-identity-resource-id" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--storage-account-resource-id", + description: + "The resource ID of the storage account where the data resides", + args: { name: "storage-account-resource-id" }, + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + ], + }, + { + name: "data-connection-validation", + description: + "Checks that the data connection parameters are valid", + options: [ + { + name: "--blob-storage-event-type", + description: "The name of blob storage event type to process", + args: { + name: "blob-storage-event-type", + suggestions: [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobRenamed", + ], + }, + }, + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--consumer-group", + description: "The event hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: ["--data-connection-name", "--name", "-n"], + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--database-routing", + description: + "Indication for database routing information from the data connection, by default only database routing information is allowed", + args: { + name: "database-routing", + suggestions: ["Multi", "Single"], + }, + }, + { + name: "--event-grid-resource-id", + description: + "The resource ID of the event grid that is subscribed to the storage account events", + args: { name: "event-grid-resource-id" }, + }, + { + name: "--event-hub-resource-id", + description: + "The resource ID where the event grid is configured to send events", + args: { name: "event-hub-resource-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ignore-first-record", + description: + "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file", + args: { + name: "ignore-first-record", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: [ + "--managed-identity-resource-id", + "--managed-identity", + ], + description: + "Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id", + args: { name: "managed-identity-resource-id" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-account-resource-id", + description: + "The resource ID of the storage account where the data resides", + args: { name: "storage-account-resource-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + ], + }, + { + name: "update", + description: "Updates a data connection", + options: [ + { + name: "--blob-storage-event-type", + description: "The name of blob storage event type to process", + args: { + name: "blob-storage-event-type", + suggestions: [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobRenamed", + ], + }, + }, + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--consumer-group", + description: "The event hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: ["--data-connection-name", "--name", "-n"], + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--database-routing", + description: + "Indication for database routing information from the data connection, by default only database routing information is allowed", + args: { + name: "database-routing", + suggestions: ["Multi", "Single"], + }, + }, + { + name: "--event-grid-resource-id", + description: + "The resource ID of the event grid that is subscribed to the storage account events", + args: { name: "event-grid-resource-id" }, + }, + { + name: "--event-hub-resource-id", + description: + "The resource ID where the event grid is configured to send events", + args: { name: "event-hub-resource-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ignore-first-record", + description: + "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file", + args: { + name: "ignore-first-record", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: [ + "--managed-identity-resource-id", + "--managed-identity", + ], + description: + "Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id", + args: { name: "managed-identity-resource-id" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-account-resource-id", + description: + "The resource ID of the storage account where the data resides", + args: { name: "storage-account-resource-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + ], + }, + ], + }, + { + name: "event-hub", + description: "Manage data connection with kusto sub group event-hub", + subcommands: [ + { + name: "create", + description: "Create a data connection", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--data-connection-name", "--name", "-n"], + description: "The name of the data connection", + args: { name: "data-connection-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--compression", + description: "The event hub messages compression type", + args: { name: "compression", suggestions: ["GZip", "None"] }, + }, + { + name: "--consumer-group", + description: "The event hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--database-routing", + description: + "Indication for database routing information from the data connection, by default only database routing information is allowed", + args: { + name: "database-routing", + suggestions: ["Multi", "Single"], + }, + }, + { + name: "--event-hub-resource-id", + description: + "The resource ID of the event hub to be used to create a data connection", + args: { name: "event-hub-resource-id" }, + }, + { + name: "--event-system-properties", + description: "System properties of the event hub", + args: { name: "event-system-properties" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: [ + "--managed-identity-resource-id", + "--managed-identity", + ], + description: + "Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id", + args: { name: "managed-identity-resource-id" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + ], + }, + { + name: "data-connection-validation", + description: + "Checks that the data connection parameters are valid", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--compression", + description: "The event hub messages compression type", + args: { name: "compression", suggestions: ["GZip", "None"] }, + }, + { + name: "--consumer-group", + description: "The event hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: ["--data-connection-name", "--name", "-n"], + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--database-routing", + description: + "Indication for database routing information from the data connection, by default only database routing information is allowed", + args: { + name: "database-routing", + suggestions: ["Multi", "Single"], + }, + }, + { + name: "--event-hub-resource-id", + description: + "The resource ID of the event hub to be used to create a data connection", + args: { name: "event-hub-resource-id" }, + }, + { + name: "--event-system-properties", + description: "System properties of the event hub", + args: { name: "event-system-properties" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: [ + "--managed-identity-resource-id", + "--managed-identity", + ], + description: + "Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id", + args: { name: "managed-identity-resource-id" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + ], + }, + { + name: "update", + description: "Updates a data connection", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--compression", + description: "The event hub messages compression type", + args: { name: "compression", suggestions: ["GZip", "None"] }, + }, + { + name: "--consumer-group", + description: "The event hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: ["--data-connection-name", "--name", "-n"], + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--database-routing", + description: + "Indication for database routing information from the data connection, by default only database routing information is allowed", + args: { + name: "database-routing", + suggestions: ["Multi", "Single"], + }, + }, + { + name: "--event-hub-resource-id", + description: + "The resource ID of the event hub to be used to create a data connection", + args: { name: "event-hub-resource-id" }, + }, + { + name: "--event-system-properties", + description: "System properties of the event hub", + args: { name: "event-system-properties" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: [ + "--managed-identity-resource-id", + "--managed-identity", + ], + description: + "Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id", + args: { name: "managed-identity-resource-id" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + ], + }, + ], + }, + { + name: "iot-hub", + description: "Manage data connection with kusto sub group iot-hub", + subcommands: [ + { + name: "create", + description: "Create a data connection", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--data-connection-name", "--name", "-n"], + description: "The name of the data connection", + args: { name: "data-connection-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--consumer-group", + description: "The iot hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--database-routing", + description: + "Indication for database routing information from the data connection, by default only database routing information is allowed", + args: { + name: "database-routing", + suggestions: ["Multi", "Single"], + }, + }, + { + name: "--event-system-properties", + description: "System properties of the iot hub", + args: { name: "event-system-properties" }, + }, + { + name: "--iot-hub-resource-id", + description: + "The resource ID of the Iot hub to be used to create a data connection", + args: { name: "iot-hub-resource-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--shared-access-policy-name", + description: "The name of the share access policy", + args: { name: "shared-access-policy-name" }, + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + ], + }, + { + name: "data-connection-validation", + description: + "Checks that the data connection parameters are valid", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--consumer-group", + description: "The iot hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: ["--data-connection-name", "--name", "-n"], + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--database-routing", + description: + "Indication for database routing information from the data connection, by default only database routing information is allowed", + args: { + name: "database-routing", + suggestions: ["Multi", "Single"], + }, + }, + { + name: "--event-system-properties", + description: "System properties of the iot hub", + args: { name: "event-system-properties" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--iot-hub-resource-id", + description: + "The resource ID of the Iot hub to be used to create a data connection", + args: { name: "iot-hub-resource-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--shared-access-policy-name", + description: "The name of the share access policy", + args: { name: "shared-access-policy-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + ], + }, + { + name: "update", + description: "Updates a data connection", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--consumer-group", + description: "The iot hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: ["--data-connection-name", "--name", "-n"], + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--database-routing", + description: + "Indication for database routing information from the data connection, by default only database routing information is allowed", + args: { + name: "database-routing", + suggestions: ["Multi", "Single"], + }, + }, + { + name: "--event-system-properties", + description: "System properties of the iot hub", + args: { name: "event-system-properties" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--iot-hub-resource-id", + description: + "The resource ID of the Iot hub to be used to create a data connection", + args: { name: "iot-hub-resource-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--shared-access-policy-name", + description: "The name of the share access policy", + args: { name: "shared-access-policy-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "database", + description: + 'Manage Azure Kusto databases.\n\n\t\tAzure CLI commands for Kusto are now an extension. Execute "az extension add -n kusto" to install the extension. The original core module for Kusto is no longer supported', + subcommands: [ + { + name: "add-principal", + description: "Add Database principals permissions", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--value", + description: "The list of Kusto database principals", + args: { name: "value" }, + }, + ], + }, + { + name: "create", + description: "Create a Kusto database", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the database", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--hot-cache-period", + description: + "Amount of time that data should be kept in cache.Duration in ISO8601 format (for example, 100 days would be P100D)", + args: { name: "hot-cache-period" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--soft-delete-period", + description: + "Amount of time that data should be kept so it is available to query. Duration in ISO8601 format (for example, 100 days would be P100D)", + args: { name: "soft-delete-period" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Kusto database", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List a Kusto database", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-principal", + description: + "Returns a list of database principals of the given Kusto cluster and database", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove-principal", + description: "Remove Database principals permissions", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--value", + description: "The list of Kusto database principals", + args: { name: "value" }, + }, + ], + }, + { + name: "show", + description: "Get a Kusto database", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Kusto database", + options: [ + { + name: "--soft-delete-period", + description: + "Amount of time that data should be kept so it is available to query. Duration in ISO8601 format (for example, 100 days would be P100D)", + args: { name: "soft-delete-period" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--hot-cache-period", + description: + "Amount of time that data should be kept in cache.Duration in ISO8601 format (for example, 100 days would be P100D)", + args: { name: "hot-cache-period" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Wait for a managed Kusto database to reach a desired state", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "database-principal-assignment", + description: "Manage database principal assignment with kusto", + subcommands: [ + { + name: "create", + description: "Creates a Kusto cluster database principalAssignment", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--principal-id", + description: + "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name", + args: { name: "principal-id" }, + }, + { + name: "--principal-type", + description: "Principal type", + args: { + name: "principal-type", + suggestions: ["App", "Group", "User"], + }, + }, + { + name: "--role", + description: "Database principal role", + args: { + name: "role", + suggestions: [ + "Admin", + "Ingestor", + "Monitor", + "UnrestrictedViewer", + "User", + "Viewer", + ], + }, + }, + { + name: "--tenant-id", + description: "The tenant id of the principal", + args: { name: "tenant-id" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Kusto principalAssignment", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all Kusto cluster database principalAssignments", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a Kusto cluster database principalAssignment", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Kusto cluster database principalAssignment", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: "--principal-id", + description: + "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name", + args: { name: "principal-id" }, + }, + { + name: "--principal-type", + description: "Principal type", + args: { + name: "principal-type", + suggestions: ["App", "Group", "User"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: "Database principal role", + args: { + name: "role", + suggestions: [ + "Admin", + "Ingestor", + "Monitor", + "UnrestrictedViewer", + "User", + "Viewer", + ], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tenant-id", + description: "The tenant id of the principal", + args: { name: "tenant-id" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the kusto database-principal-assignment is met", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "managed-private-endpoint", + description: "Manage managed private endpoint with kusto", + subcommands: [ + { + name: "create", + description: "Creates a managed private endpoint", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--managed-private-endpoint-name", "--name", "-n"], + description: "The name of the managed private endpoint", + args: { name: "managed-private-endpoint-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--group-id", + description: + "The groupId in which the managed private endpoint is created", + args: { name: "group-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--private-link-resource-id", "--private-link"], + description: + "The ARM resource ID of the resource for which the managed private endpoint is created", + args: { name: "private-link-resource-id" }, + }, + { + name: ["--private-link-resource-region", "--private-link-region"], + description: + "The region of the resource to which the managed private endpoint is created", + args: { name: "private-link-resource-region" }, + }, + { + name: "--request-message", + description: "The user request message", + args: { name: "request-message" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a managed private endpoint", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-private-endpoint-name", "--name", "-n"], + description: "The name of the managed private endpoint", + args: { name: "managed-private-endpoint-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Returns the list of managed private endpoints", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a managed private endpoint", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-private-endpoint-name", "--name", "-n"], + description: "The name of the managed private endpoint", + args: { name: "managed-private-endpoint-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates a managed private endpoint", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--group-id", + description: + "The groupId in which the managed private endpoint is created", + args: { name: "group-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-private-endpoint-name", "--name", "-n"], + description: "The name of the managed private endpoint", + args: { name: "managed-private-endpoint-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--private-link-resource-id", "--private-link"], + description: + "The ARM resource ID of the resource for which the managed private endpoint is created", + args: { name: "private-link-resource-id" }, + }, + { + name: ["--private-link-resource-region", "--private-link-region"], + description: + "The region of the resource to which the managed private endpoint is created", + args: { name: "private-link-resource-region" }, + }, + { + name: "--request-message", + description: "The user request message", + args: { name: "request-message" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the kusto managed-private-endpoint is met", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--managed-private-endpoint-name", "--name", "-n"], + description: "The name of the managed private endpoint", + args: { name: "managed-private-endpoint-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "operation-result", + description: "Manage operation result with kusto", + subcommands: [ + { + name: "show", + description: "Returns operation results", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--operation-id", + description: "The Guid of the operation ID", + args: { name: "operation-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "operation-result-location", + description: "Manage operation result location with kusto", + subcommands: [ + { + name: "show", + description: "Returns operation results", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--operation-id", + description: "The Guid of the operation ID", + args: { name: "operation-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: "Manage private endpoint connection with kusto", + subcommands: [ + { + name: "create", + description: + "Approve or reject a private endpoint connection with a given name", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "private-endpoint-connection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: [ + "--private-link-service-connection-state", + "--connection-state", + ], + description: + "Connection State of the Private Endpoint Connection", + args: { name: "private-link-service-connection-state" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: + "Deletes a private endpoint connection with a given name", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Returns the list of private endpoint connections", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a private endpoint connection", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Approve or reject a private endpoint connection with a given name", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: [ + "--private-link-service-connection-state", + "--connection-state", + ], + description: + "Connection State of the Private Endpoint Connection", + args: { name: "private-link-service-connection-state" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the kusto private-endpoint-connection is met", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The name of the private endpoint connection", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage private link resource with kusto", + subcommands: [ + { + name: "list", + description: "Returns the list of private link resources", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a private link resource", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-link-resource-name", "--name", "-n"], + description: "The name of the private link resource", + args: { name: "private-link-resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "script", + description: "Manage script with kusto", + subcommands: [ + { + name: "create", + description: "Creates a Kusto database script", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--script-name", "--name", "-n"], + description: "The name of the Kusto database script", + args: { name: "script-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--continue-on-errors", + description: + "Flag that indicates whether to continue if one of the command fails", + args: { + name: "continue-on-errors", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-update-tag", + description: + "A unique string. If changed the script will be applied again", + args: { name: "force-update-tag" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--script-content", + description: + "The script content. This property should be used when the script is provide inline and not through file in a SA. Must not be used together with scriptUrl and scriptUrlSasToken properties", + args: { name: "script-content" }, + }, + { + name: "--script-url", + description: + "The url to the KQL script blob file. Must not be used together with scriptContent property", + args: { name: "script-url" }, + }, + { + name: "--script-url-sas-token", + description: + "The SaS token that provide read access to the file which contain the script. Must be provided when using scriptUrl property", + args: { name: "script-url-sas-token" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Kusto principalAssignment", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--script-name", "--name", "-n"], + description: "The name of the Kusto database script", + args: { name: "script-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Returns the list of database scripts for given database", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a Kusto cluster database script", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--script-name", "--name", "-n"], + description: "The name of the Kusto database script", + args: { name: "script-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates a database script", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--continue-on-errors", + description: + "Flag that indicates whether to continue if one of the command fails", + args: { + name: "continue-on-errors", + suggestions: ["false", "true"], + }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { + name: "--force-update-tag", + description: + "A unique string. If changed the script will be applied again", + args: { name: "force-update-tag" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--script-name", "--name", "-n"], + description: "The name of the Kusto database script", + args: { name: "script-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--script-content", + description: + "The script content. This property should be used when the script is provide inline and not through file in a SA. Must not be used together with scriptUrl and scriptUrlSasToken properties", + args: { name: "script-content" }, + }, + { + name: "--script-url", + description: + "The url to the KQL script blob file. Must not be used together with scriptContent property", + args: { name: "script-url" }, + }, + { + name: "--script-url-sas-token", + description: + "The SaS token that provide read access to the file which contain the script. Must be provided when using scriptUrl property", + args: { name: "script-url-sas-token" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the kusto script is met", + options: [ + { + name: "--cluster-name", + description: "The name of the Kusto cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto cluster", + args: { name: "database-name" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--script-name", "--name", "-n"], + description: "The name of the Kusto database script", + args: { name: "script-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/lab.ts b/src/az/2.53.0/lab.ts new file mode 100644 index 000000000000..c2188d148e8f --- /dev/null +++ b/src/az/2.53.0/lab.ts @@ -0,0 +1,1357 @@ +const completion: Fig.Spec = { + name: "lab", + description: "Manage Azure DevTest Labs", + subcommands: [ + { + name: "arm-template", + description: + "Manage Azure Resource Manager (ARM) templates in an Azure DevTest Lab", + subcommands: [ + { + name: "list", + description: + "List azure resource manager templates in a given artifact source", + options: [ + { + name: "--artifact-source-name", + description: "The name of the artifact source", + args: { name: "artifact-source-name" }, + isRequired: true, + }, + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($select=displayName)'", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + args: { name: "orderby" }, + }, + { + name: "--top", + description: + "The maximum number of resources to return from the operation. Example: '$top=10'", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an ARM template in a lab", + options: [ + { + name: "--artifact-source-name", + description: "Name of the artifact source", + args: { name: "artifact-source-name" }, + isRequired: true, + }, + { + name: "--lab-name", + description: "Name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Resource Manager template", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of lab's resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--export-parameters", + description: "Whether or not to export parameters template", + }, + ], + }, + ], + }, + { + name: "artifact", + description: "Manage DevTest Labs artifacts", + subcommands: [ + { + name: "list", + description: "List artifacts in a given artifact source", + options: [ + { + name: "--artifact-source-name", + description: "The name of the artifact source", + args: { name: "artifact-source-name" }, + isRequired: true, + }, + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($select=title)'", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + args: { name: "orderby" }, + }, + { + name: "--top", + description: + "The maximum number of resources to return from the operation. Example: '$top=10'", + args: { name: "top" }, + }, + ], + }, + ], + }, + { + name: "artifact-source", + description: "Manage DevTest Lab artifact sources", + subcommands: [ + { + name: "list", + description: "List artifact sources in a given lab", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($select=displayName)'", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + args: { name: "orderby" }, + }, + { + name: "--top", + description: + "The maximum number of resources to return from the operation. Example: '$top=10'", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get artifact source", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: "--name", + description: "The name of the artifact source", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($select=displayName)'", + args: { name: "expand" }, + }, + ], + }, + ], + }, + { + name: "custom-image", + description: "Manage custom images of a DevTest Lab", + subcommands: [ + { + name: "create", + description: "Create a custom image in a DevTest Lab", + options: [ + { + name: "--lab-name", + description: "Name of the Lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the image", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--os-state", + description: "The current state of the virtual machine", + args: { name: "os-state" }, + isRequired: true, + }, + { + name: "--os-type", + description: + "Type of the OS on which the custom image is based. Allowed values are: Windows, Linux", + args: { name: "os-type" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--source-vm-id", + description: + "The resource ID of a virtual machine in the provided lab", + args: { name: "source-vm-id" }, + isRequired: true, + }, + { + name: "--author", + description: "The author of the custom image", + args: { name: "author" }, + }, + { + name: "--description", + description: "A detailed description for the custom image", + args: { name: "description" }, + }, + ], + }, + { + name: "delete", + description: "Delete custom image", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: "--name", + description: "The name of the custom image", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List custom images in a given lab", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($select=vm)'", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + args: { name: "orderby" }, + }, + { + name: "--top", + description: + "The maximum number of resources to return from the operation. Example: '$top=10'", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get custom image", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: "--name", + description: "The name of the custom image", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($select=vm)'", + args: { name: "expand" }, + }, + ], + }, + ], + }, + { + name: "delete", + description: "Delete lab", + options: [ + { + name: "--name", + description: "The name of the lab", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "get", + description: "Get lab", + options: [ + { + name: "--name", + description: "The name of the lab", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($select=defaultStorageAccount)'", + args: { name: "expand" }, + }, + ], + }, + { + name: "environment", + description: "Manage environments for an Azure DevTest Lab", + subcommands: [ + { + name: "create", + description: "Create an environment in a lab", + options: [ + { + name: "--arm-template", + description: "Name or ID of the ARM template in the lab", + args: { name: "arm-template" }, + isRequired: true, + }, + { + name: "--lab-name", + description: "Name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the lab's resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--artifact-source-name", + description: + "Name of the artifact source in the lab. value from: az lab artifact-source list", + args: { name: "artifact-source-name" }, + }, + { + name: "--parameters", + description: + "JSON encoded list of parameters. Use '@{file}' to load from a file", + args: { name: "parameters" }, + }, + { + name: "--tags", + description: "The tags for the resource", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an environment from a lab", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List environments in a lab", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($select=deploymentProperties)'", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + args: { name: "orderby" }, + }, + { + name: "--top", + description: + "The maximum number of resources to return from the operation. Example: '$top=10'", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get the details for an environment of a lab", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($select=deploymentProperties)'", + args: { name: "expand" }, + }, + ], + }, + ], + }, + { + name: "formula", + description: "Manage formulas for an Azure DevTest Lab", + subcommands: [ + { + name: "delete", + description: "Delete formula", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the formula", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "export-artifacts", + description: "Export artifacts from a formula", + options: [ + { + name: "--lab-name", + description: "Name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the formula", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List formulas in a given lab", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($select=description)'", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + args: { name: "orderby" }, + }, + { + name: "--top", + description: + "The maximum number of resources to return from the operation. Example: '$top=10'", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Show formulae from an Azure DevTest Lab", + options: [ + { + name: "--lab-name", + description: "Name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the formula", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($select=description)'", + args: { name: "expand" }, + }, + ], + }, + ], + }, + { + name: "gallery-image", + description: "List Azure Marketplace images allowed for a DevTest Lab", + subcommands: [ + { + name: "list", + description: "List gallery images in a given lab", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($select=author)'", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + args: { name: "orderby" }, + }, + { + name: "--top", + description: + "The maximum number of resources to return from the operation. Example: '$top=10'", + args: { name: "top" }, + }, + ], + }, + ], + }, + { + name: "secret", + description: "Manage secrets of an Azure DevTest Lab", + subcommands: [ + { + name: "delete", + description: "Delete secret", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the secret", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List secrets in a given user profile", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($select=value)'", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + args: { name: "orderby" }, + }, + { + name: "--top", + description: + "The maximum number of resources to return from the operation. Example: '$top=10'", + args: { name: "top" }, + }, + ], + }, + { + name: "set", + description: "Set a secret for a lab", + options: [ + { + name: "--lab-name", + description: "Name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the secret", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--value", + description: "Value of the secret", + args: { name: "value" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get secret", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the secret", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($select=value)'", + args: { name: "expand" }, + }, + ], + }, + ], + }, + { + name: "vm", + description: "Manage VMs in an Azure DevTest Lab", + subcommands: [ + { + name: "apply-artifacts", + description: + "Apply artifacts to a virtual machine in Azure DevTest Lab", + options: [ + { + name: "--lab-name", + description: "Name of the Lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of lab's resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--artifacts", + description: + "JSON encoded array of artifacts to be applied. Use '@{file}' to load from a file", + args: { name: "artifacts" }, + }, + ], + }, + { + name: "claim", + description: "Claim a virtual machine from the Lab", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--lab-name", + description: "Name of the lab", + args: { name: "lab-name" }, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual machine to claim", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of lab's resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a VM in a lab", + options: [ + { + name: "--lab-name", + description: "Name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--admin-password", + description: "Password for the VM admin", + args: { name: "admin-password" }, + }, + { + name: "--admin-username", + description: "Username for the VM admin", + args: { name: "admin-username" }, + }, + { + name: "--allow-claim", + description: + "Flag indicating if the VM should be created as claimable", + }, + { + name: "--artifacts", + description: + "JSON encoded array of artifacts to be applied. Use '@{file}' to load from a file", + args: { name: "artifacts" }, + }, + { + name: "--authentication-type", + description: + "Type of authentication allowed for the VM. Allowed values are: password, ssh", + args: { name: "authentication-type" }, + }, + { + name: "--disk-type", + description: + "Storage type to use for virtual machine. Allowed values are: Premium, Standard, StandardSSD", + args: { name: "disk-type" }, + }, + { + name: "--expiration-date", + description: + "The expiration date in UTC(yyyy-MM-ddTHH:mm:ss) for the VM", + args: { name: "expiration-date" }, + }, + { + name: "--formula", + description: + "Name of the formula. Use az lab formula list for available formulas", + args: { name: "formula" }, + }, + { + name: "--generate-ssh-keys", + description: + "Generate SSH public and private key files if missing", + args: { name: "generate-ssh-keys" }, + }, + { + name: "--image", + description: + "The name of the operating system image (gallery image name or custom image name/ID)", + args: { name: "image" }, + }, + { + name: "--image-type", + description: + "Type of the image. Allowed values are: gallery, custom", + args: { name: "image-type" }, + }, + { + name: "--ip-configuration", + description: + "Type of IP configuration to use for the VM. Allowed values are: shared, public, private", + args: { name: "ip-configuration" }, + }, + { + name: "--notes", + description: "Notes for the virtual machine", + args: { name: "notes" }, + }, + { + name: "--saved-secret", + description: + "Name of the saved secret to be used for authentication", + args: { name: "saved-secret" }, + }, + { + name: "--size", + description: + "The size of the VM to be created. See https://azure.microsoft.com/pricing/details/virtual-machines/ for size info", + args: { name: "size" }, + }, + { + name: "--ssh-key", + description: + "The SSH public key or public key file path. Use --generate-ssh-keys to generate SSH keys", + args: { name: "ssh-key" }, + }, + { + name: "--subnet", + description: "Name of the subnet to add the VM to", + args: { name: "subnet" }, + }, + { + name: "--tags", + description: "Space-separated tags in key[=value] format", + args: { name: "tags" }, + }, + { + name: "--vnet-name", + description: "Name of the virtual network to add the VM to", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete virtual machine", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: "--name", + description: "The name of the virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List the VMs in an Azure DevTest Lab", + options: [ + { + name: "--lab-name", + description: "Name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--all", + description: + "List all virtual machines in the lab. Cannot be used with --filters", + args: { name: "all" }, + }, + { + name: "--claimable", + description: + "List only claimable virtual machines in the lab. Cannot be used with --filters", + args: { name: "claimable" }, + }, + { + name: "--environment", + description: + "Name or ID of the environment to list virtual machines in. Cannot be used with --filters", + args: { name: "environment" }, + }, + { + name: "--expand", + description: "The expand query", + args: { name: "expand" }, + }, + { + name: "--filters", + description: "The filter to apply", + args: { name: "filters" }, + }, + { + name: "--object-id", + description: "Object ID of the owner to list VMs for", + args: { name: "object-id" }, + }, + { + name: "--order-by", + description: + "The ordering expression for the results using OData notation", + args: { name: "order-by" }, + }, + { + name: "--top", + description: "The maximum number of resources to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get virtual machine", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: "--name", + description: "The name of the virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)'", + args: { name: "expand" }, + }, + ], + }, + { + name: "start", + description: "Start a virtual machine", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: "--name", + description: "The name of the virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "stop", + description: + "Stop a virtual machine This operation can take a while to complete", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: "--name", + description: "The name of the virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "vnet", + description: "Manage virtual networks of an Azure DevTest Lab", + subcommands: [ + { + name: "get", + description: "Get virtual network", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: "--name", + description: "The name of the virtual network", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($expand=externalSubnets)'", + args: { name: "expand" }, + }, + ], + }, + { + name: "list", + description: "List virtual networks in a given lab", + options: [ + { + name: "--lab-name", + description: "The name of the lab", + args: { name: "lab-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Specify the $expand query. Example: 'properties($expand=externalSubnets)'", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: + "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + args: { name: "orderby" }, + }, + { + name: "--top", + description: + "The maximum number of resources to return from the operation. Example: '$top=10'", + args: { name: "top" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/load.ts b/src/az/2.53.0/load.ts new file mode 100644 index 000000000000..988ba1da699c --- /dev/null +++ b/src/az/2.53.0/load.ts @@ -0,0 +1,1727 @@ +const completion: Fig.Spec = { + name: "load", + description: "Manage Azure Load Testing resources", + subcommands: [ + { + name: "create", + description: "Create an Azure Load Testing resource", + options: [ + { + name: ["--name", "-n"], + description: "Name of the new Azure Load Testing resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--encryption-identity", + description: + "The managed identity for Customer-managed key settings defining which identity should be used to authenticate to Key Vault", + args: { name: "encryption-identity" }, + }, + { + name: "--encryption-key", + description: + "Encryption key URL, versioned. For example, https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78", + args: { name: "encryption-key" }, + }, + { + name: "--identity-type", + description: "Type of managed service identity", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--user-assigned", + description: + "The list of user-assigned identities associated with the resource. The user-assigned identity will be ARM resource id. For example, a list of user-assigned identities would look like \"{'/subscriptions/ abcdef01-2345-6789-0abc-def012345678 /resourcegroups/sample-rg/providers/microsoft.managedidentity/userassignedidentities/identity1','/subscriptions/ abcdef01-2345-6789-0abc-def012345678 /resourcegroups/test-rg/providers/microsoft.managedidentity/userassignedidentities/identity2'}\" Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure Load Testing resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Load Testing resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists Azure Load Testing resources", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show the details of one or more Azure Load Testing resources", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Load Testing resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Azure Load Testing resource", + options: [ + { + name: "--encryption-identity", + description: + "The managed identity for Customer-managed key settings defining which identity should be used to authenticate to Key Vault", + args: { name: "encryption-identity" }, + }, + { + name: "--encryption-key", + description: + "Encryption key URL, versioned. For example, https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78", + args: { name: "encryption-key" }, + }, + { + name: "--identity-type", + description: "Type of managed service identity", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Load Testing resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--user-assigned", + description: + 'The list of user-assigned identities associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "wait", + description: "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Load Testing resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "test", + description: + "Command group to manage load tests.\n\n\t\tCommand group to manage load test with create, update, delete, list, etc", + subcommands: [ + { + name: "create", + description: "Create a new load test", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: "--certificate", + description: + "A single certificate in 'key[=value]' format. The certificate should be stored in Azure Key Vault in PFX format, and the certificate identifier should be provided as the value", + args: { name: "certificate" }, + }, + { + name: "--description", + description: "Description of the load test", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of the load test", + args: { name: "display-name" }, + }, + { + name: "--engine-instances", + description: + "Number of engine instances on which the test should run", + args: { name: "engine-instances" }, + }, + { + name: "--env", + description: + "Space-separated environment variables: key[=value] [key[=value] ...]", + args: { name: "env" }, + }, + { + name: "--keyvault-reference-id", + description: + "The identity that will be used to access the key vault", + args: { name: "keyvault-reference-id" }, + }, + { + name: "--load-test-config-file", + description: + "Path to the load test config file. Refer https://learn.microsoft.com/azure/load-testing/reference-test-config-yaml", + args: { name: "load-test-config-file" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: + "Space-separated secrets: key[=value] [key[=value] ...]. Secrets should be stored in Azure Key Vault, and the secret identifier should be provided as the value", + args: { name: "secret" }, + }, + { + name: "--split-csv", + description: "Split CSV files evenly among engine instances", + args: { name: "split-csv" }, + }, + { + name: "--subnet-id", + description: + "Resource ID of the subnet to use for private load test", + args: { name: "subnet-id" }, + }, + { + name: "--test-plan", + description: "Path to the JMeter script", + args: { name: "test-plan" }, + }, + ], + }, + { + name: "delete", + description: "Delete an existing load test", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "download-files", + description: "Download files of an existing load test", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: "--path", + description: "Path of the directory to download files", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: "--force", + description: + "Force run the command. This will create the directory to download files if it does not exist", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List all tests in the given load test resource", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of test", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update an existing load test", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: "--certificate", + description: + "A single certificate in 'key[=value]' format. The certificate should be stored in Azure Key Vault in PFX format, and the certificate identifier should be provided as the value.Use \"\" to clear existing certificate", + args: { name: "certificate" }, + }, + { + name: "--description", + description: "Description of the load test", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of the load test", + args: { name: "display-name" }, + }, + { + name: "--engine-instances", + description: + "Number of engine instances on which the test should run", + args: { name: "engine-instances" }, + }, + { + name: "--env", + description: + 'Space-separated environment variables: key[=value] [key[=value] ...]. Use "" to clear existing environment variables', + args: { name: "env" }, + }, + { + name: "--keyvault-reference-id", + description: + "The identity that will be used to access the key vault. Provide null or None to use the system assigned identity of the load test resource", + args: { name: "keyvault-reference-id" }, + }, + { + name: "--load-test-config-file", + description: + "Path to the load test config file. Refer https://learn.microsoft.com/azure/load-testing/reference-test-config-yaml", + args: { name: "load-test-config-file" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: + 'Space-separated secrets: key[=value] [key[=value] ...]. Secrets should be stored in Azure Key Vault, and the secret identifier should be provided as the value.Use "" to clear existing secrets', + args: { name: "secret" }, + }, + { + name: "--split-csv", + description: "Split CSV files evenly among engine instances", + args: { name: "split-csv" }, + }, + { + name: "--subnet-id", + description: + "Resource ID of the subnet to use for private load test", + args: { name: "subnet-id" }, + }, + { + name: "--test-plan", + description: "Path to the JMeter script", + args: { name: "test-plan" }, + }, + ], + }, + { + name: "app-component", + description: + "Command group to manage app components.\n\n\t\tCommand group to manage load test app-components with add, list and remove", + subcommands: [ + { + name: "add", + description: "Add an app component to a test", + options: [ + { + name: "--app-component-id", + description: + "Fully qualified resource ID of the App Component. For example, subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}", + args: { name: "app-component-id" }, + isRequired: true, + }, + { + name: "--app-component-name", + description: + "Name of the app component. Refer https://learn.microsoft.com/cli/azure/resource#az-resource-show", + args: { name: "app-component-name" }, + isRequired: true, + }, + { + name: "--app-component-type", + description: + "Type of resource of the app component. Refer https://learn.microsoft.com/cli/azure/resource#az-resource-show", + args: { name: "app-component-type" }, + isRequired: true, + }, + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: "--app-component-kind", + description: + "Kind of the app component. Refer https://learn.microsoft.com/cli/azure/resource#az-resource-show", + args: { name: "app-component-kind" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List all app components for a test", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Remove the given app component from a test", + options: [ + { + name: "--app-component-id", + description: + "Fully qualified resource ID of the App Component. For example, subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}", + args: { name: "app-component-id" }, + isRequired: true, + }, + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "file", + description: + "Command group for operations on test files.\n\n\t\tCommand group for operations on test files such as upload, delete, list and download", + subcommands: [ + { + name: "delete", + description: "Delete a file from test", + options: [ + { + name: "--file-name", + description: "Name of the file", + args: { name: "file-name" }, + isRequired: true, + }, + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "download", + description: "Download a file from a test", + options: [ + { + name: "--file-name", + description: "Name of the file", + args: { name: "file-name" }, + isRequired: true, + }, + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: "--path", + description: "Path of the directory to download files", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: "--force", + description: + "Force run the command. This will create the directory to download files if it does not exist", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List all files in a test", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "upload", + description: "Upload a file to a test", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: "--path", + description: "Path to the file to upload", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: "--file-type", + description: + "Type of file to be uploaded. Allowed values: ADDITIONAL_ARTIFACTS, JMX_FILE, USER_PROPERTIES", + args: { name: "file-type" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "server-metric", + description: + "Command group to manage server metrics.\n\n\t\tCommand group to manage load test server-metrics with add, list and remove", + subcommands: [ + { + name: "add", + description: "Add a server-metric to a test", + options: [ + { + name: "--aggregation", + description: "Aggregation to be applied on the metric", + args: { name: "aggregation" }, + isRequired: true, + }, + { + name: "--app-component-id", + description: + "Fully qualified resource ID of the App Component. For example, subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}", + args: { name: "app-component-id" }, + isRequired: true, + }, + { + name: "--app-component-type", + description: + "Type of resource of the app component. Refer https://learn.microsoft.com/cli/azure/resource#az-resource-show", + args: { name: "app-component-type" }, + isRequired: true, + }, + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: "--metric-id", + description: + "Fully qualified ID of the server metric. Refer https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition", + args: { name: "metric-id" }, + isRequired: true, + }, + { + name: "--metric-name", + description: "Name of the metric. Example, requests/duration", + args: { name: "metric-name" }, + isRequired: true, + }, + { + name: "--metric-namespace", + description: + "Namespace of the server metric. Example, microsoft.insights/components", + args: { name: "metric-namespace" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List all server-metrics for a test", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Remove the given server-metric from the test", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: "--metric-id", + description: + "Fully qualified ID of the server metric. Refer https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition", + args: { name: "metric-id" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + ], + }, + { + name: "test-run", + description: + "Command group to manage load test runs.\n\n\t\tCommand group to manage load test runs with create, update, delete, list, stop, etc", + subcommands: [ + { + name: "create", + description: "Create a new load test run", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: "--certificate", + description: + "A single certificate in 'key[=value]' format. The certificate should be stored in Azure Key Vault in PFX format, and the certificate identifier should be provided as the value.Use \"\" to clear existing certificate", + args: { name: "certificate" }, + }, + { + name: "--description", + description: "Description of the load test run", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of the load test run", + args: { name: "display-name" }, + }, + { + name: "--env", + description: + 'Space-separated environment variables: key[=value] [key[=value] ...]. Use "" to clear existing environment variables', + args: { name: "env" }, + }, + { + name: "--existing-test-run-id", + description: + "Test run ID of an existing load test run which should be rerun", + args: { name: "existing-test-run-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: + 'Space-separated secrets: key[=value] [key[=value] ...]. Secrets should be stored in Azure Key Vault, and the secret identifier should be provided as the value.Use "" to clear existing secrets', + args: { name: "secret" }, + }, + ], + }, + { + name: "delete", + description: "Delete an existing load test run", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "download-files", + description: "Download files for an existing load test run", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: "--path", + description: "Path of the directory to download files", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: "--force", + description: + "Force run the command. This will create the directory to download files if it does not exist", + }, + { name: "--input", description: "Download the input files zip" }, + { name: "--log", description: "Download the log files zip" }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { name: "--result", description: "Download the results files zip" }, + ], + }, + { + name: "list", + description: "List all test runs", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-id", "-t"], + description: "Test ID of the load test", + args: { name: "test-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of a test run", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "stop", + description: "Stop running a load test run", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "update", + description: "Update an existing load test run", + options: [ + { + name: "--description", + description: "Description of the load test run", + args: { name: "description" }, + isRequired: true, + }, + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "app-component", + description: + "Command group to manage load test run app components.\n\n\t\tCommand group to manage load test run app-components with add, list and remove", + subcommands: [ + { + name: "add", + description: "Add an app component to a test run", + options: [ + { + name: "--app-component-id", + description: + "Fully qualified resource ID of the App Component. For example, subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}", + args: { name: "app-component-id" }, + isRequired: true, + }, + { + name: "--app-component-name", + description: + "Name of the app component. Refer https://learn.microsoft.com/cli/azure/resource#az-resource-show", + args: { name: "app-component-name" }, + isRequired: true, + }, + { + name: "--app-component-type", + description: + "Type of resource of the app component. Refer https://learn.microsoft.com/cli/azure/resource#az-resource-show", + args: { name: "app-component-type" }, + isRequired: true, + }, + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: "--app-component-kind", + description: + "Kind of the app component. Refer https://learn.microsoft.com/cli/azure/resource#az-resource-show", + args: { name: "app-component-kind" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List all app components for a test run", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Remove an app component from a test run", + options: [ + { + name: "--app-component-id", + description: + "Fully qualified resource ID of the App Component. For example, subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}", + args: { name: "app-component-id" }, + isRequired: true, + }, + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "metrics", + description: + "Command group to retrieve load test run metrics.\n\n\t\tCommand group to retrieve load test run metrics with list, get-namespaces, get-definitions, get-dimension", + subcommands: [ + { + name: "get-definitions", + description: "Get all metric definitions for a load test run", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: "--metric-namespace", + description: + "Namespace of the metric. Allowed values: LoadTestRunMetrics, EngineHealthMetrics", + args: { name: "metric-namespace" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "get-dimensions", + description: "Get all metric dimension values for load test run", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--metric-definition-name", "--metric-name"], + description: "Name of the metric", + args: { name: "metric-definition-name" }, + isRequired: true, + }, + { + name: "--metric-dimension", + description: "Value of the metric dimension", + args: { name: "metric-dimension" }, + isRequired: true, + }, + { + name: "--metric-namespace", + description: + "Namespace of the metric. Allowed values: LoadTestRunMetrics, EngineHealthMetrics", + args: { name: "metric-namespace" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: "--end-time", + description: "ISO 8601 formatted end time", + args: { name: "end-time" }, + }, + { + name: "--interval", + description: + "ISO 8601 formatted interval. Allowed values: PT10S, PT1H, PT1M, PT5M, PT5S", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--start-time", + description: "ISO 8601 formatted start time", + args: { name: "start-time" }, + }, + ], + }, + { + name: "get-namespaces", + description: "Get all metric namespaces for a load test run", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List metrics for a load test run", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: "--metric-namespace", + description: + "Namespace of the metric. Allowed values: LoadTestRunMetrics, EngineHealthMetrics", + args: { name: "metric-namespace" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: "--aggregation", + description: "Operation used to aggregate the metrics", + args: { name: "aggregation" }, + }, + { + name: "--dimension-filters", + description: + "Space and comma-separated dimension filters: key1[=value1] key1[=value2] key2[=value3] format ...]. * is supported as a wildcard for both key and value. Example: --dimension-filters key1=value1 key2=*, --dimension-filters *", + args: { name: "dimension-filters" }, + }, + { + name: "--end-time", + description: "ISO 8601 formatted end time", + args: { name: "end-time" }, + }, + { + name: "--interval", + description: + "ISO 8601 formatted interval. Allowed values: PT10S, PT1H, PT1M, PT5M, PT5S", + args: { name: "interval" }, + }, + { + name: ["--metric-definition-name", "--metric-name"], + description: "Name of the metric", + args: { name: "metric-definition-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--start-time", + description: "ISO 8601 formatted start time", + args: { name: "start-time" }, + }, + ], + }, + ], + }, + { + name: "server-metric", + description: + "Command group to manage load test run server-metrics.\n\n\t\tCommand group to manage load test run server-metrics with add, list and remove", + subcommands: [ + { + name: "add", + description: "Add a server-metric to a test run", + options: [ + { + name: "--aggregation", + description: "Aggregation to be applied on the metric", + args: { name: "aggregation" }, + isRequired: true, + }, + { + name: "--app-component-id", + description: + "Fully qualified resource ID of the App Component. For example, subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}", + args: { name: "app-component-id" }, + isRequired: true, + }, + { + name: "--app-component-type", + description: + "Type of resource of the app component. Refer https://learn.microsoft.com/cli/azure/resource#az-resource-show", + args: { name: "app-component-type" }, + isRequired: true, + }, + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: "--metric-id", + description: + "Fully qualified ID of the server metric. Refer https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition", + args: { name: "metric-id" }, + isRequired: true, + }, + { + name: "--metric-name", + description: "Name of the metric. Example, requests/duration", + args: { name: "metric-name" }, + isRequired: true, + }, + { + name: "--metric-namespace", + description: + "Namespace of the server metric. Example, microsoft.insights/components", + args: { name: "metric-namespace" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List all server-metrics for a test run", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Remove a server-metric from a test run", + options: [ + { + name: ["--load-test-resource", "--name", "-n"], + description: + "Name or ARM resource ID of the Load Testing resource", + args: { name: "load-test-resource" }, + isRequired: true, + }, + { + name: "--metric-id", + description: + "Fully qualified ID of the server metric. Refer https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition", + args: { name: "metric-id" }, + isRequired: true, + }, + { + name: ["--test-run-id", "-r"], + description: "Test run ID of the load test run", + args: { name: "test-run-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/lock.ts b/src/az/2.53.0/lock.ts new file mode 100644 index 000000000000..cc184a96db35 --- /dev/null +++ b/src/az/2.53.0/lock.ts @@ -0,0 +1,249 @@ +const completion: Fig.Spec = { + name: "lock", + description: "Manage Azure locks", + subcommands: [ + { + name: "create", + description: "Create a lock", + options: [ + { + name: ["--lock-type", "-t"], + description: "The type of lock restriction", + args: { + name: "lock-type", + suggestions: ["CanNotDelete", "ReadOnly"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--notes", + description: "Notes about this lock", + args: { name: "notes" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-name", "--resource"], + description: + "Name or ID of the resource being locked. If an ID is given, other resource arguments should not be given", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "delete", + description: "Delete a lock", + options: [ + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-name", "--resource"], + description: + "Name or ID of the resource being locked. If an ID is given, other resource arguments should not be given", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "list", + description: "List lock information", + options: [ + { + name: "--filter-string", + description: "A query filter to use to restrict the results", + args: { name: "filter-string" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-name", "--resource"], + description: + "Name or ID of the resource being locked. If an ID is given, other resource arguments should not be given", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "show", + description: "Show the properties of a lock", + options: [ + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-name", "--resource"], + description: + "Name or ID of the resource being locked. If an ID is given, other resource arguments should not be given", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "update", + description: "Update a lock", + options: [ + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--lock-type", "-t"], + description: "The type of lock restriction", + args: { + name: "lock-type", + suggestions: ["CanNotDelete", "ReadOnly"], + }, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--notes", + description: "Notes about this lock", + args: { name: "notes" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-name", "--resource"], + description: + "Name or ID of the resource being locked. If an ID is given, other resource arguments should not be given", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/logic.ts b/src/az/2.53.0/logic.ts new file mode 100644 index 000000000000..98ccf43b2979 --- /dev/null +++ b/src/az/2.53.0/logic.ts @@ -0,0 +1,679 @@ +const completion: Fig.Spec = { + name: "logic", + description: "Manage logic", + subcommands: [ + { + name: "integration-account", + description: "Manage logic integration account", + subcommands: [ + { + name: "create", + description: "Creates or updates an integration account", + options: [ + { + name: ["--name", "-n"], + description: "The integration account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--integration-service-environment", + description: + "The integration service environment. See https://github.com/Azure/azure-cli-extensions/blob/main/src/logic/README.md For more information", + args: { name: "integration-service-environment" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--sku", + description: "The integration account sku", + args: { name: "sku" }, + }, + { + name: "--state", + description: "The workflow state", + args: { + name: "state", + suggestions: [ + "Completed", + "Deleted", + "Disabled", + "Enabled", + "NotSpecified", + "Suspended", + ], + }, + }, + { + name: "--tags", + description: "The resource tags", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an integration account", + options: [ + { + name: ["--name", "-n"], + description: "The integration account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "import", + description: "Import an integration account from a JSON file", + options: [ + { + name: "--input-path", + description: "Path to a intergration-account JSON file", + args: { name: "input-path" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The integration account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--sku", + description: "The integration account sku", + args: { name: "sku" }, + }, + { + name: "--tags", + description: "The resource tags", + args: { name: "tags" }, + }, + ], + }, + { + name: "list", + description: "Gets a list of integration accounts by subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: "The number of items to be included in the result", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Gets an integration account", + options: [ + { + name: ["--name", "-n"], + description: "The integration account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Updates an integration account", + options: [ + { + name: ["--name", "-n"], + description: "The integration account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--integration-service-environment", + description: + "The integration service environment. See https://github.com/Azure/azure-cli-extensions/blob/main/src/logic/README.md For more information", + args: { name: "integration-service-environment" }, + }, + { + name: "--sku", + description: "The integration account sku", + args: { name: "sku" }, + }, + { + name: "--state", + description: "The workflow state", + args: { + name: "state", + suggestions: [ + "Completed", + "Deleted", + "Disabled", + "Enabled", + "NotSpecified", + "Suspended", + ], + }, + }, + { + name: "--tags", + description: "The resource tags", + args: { name: "tags" }, + }, + ], + }, + { + name: "map", + description: "Manage logic integration account map", + subcommands: [ + { + name: "create", + description: + "Create an integration account map. If the map is larger than 4 MB, you need to store the map in an Azure blob and use the blob's Shared Access Signature (SAS) URL as the 'contentLink' property value", + options: [ + { + name: "--integration-account", + description: "The integration account name", + args: { name: "integration-account" }, + isRequired: true, + }, + { + name: ["--map-name", "--name", "-n"], + description: "The integration account map name", + args: { name: "map-name" }, + isRequired: true, + }, + { + name: "--map-type", + description: "The map type", + args: { + name: "map-type", + suggestions: [ + "Liquid", + "NotSpecified", + "Xslt", + "Xslt20", + "Xslt30", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--content-type", + description: "The content type", + args: { name: "content-type" }, + }, + { + name: ["--location", "-l"], + description: "The resource location", + args: { name: "location" }, + }, + { + name: "--map-content", + description: "The content", + args: { name: "map-content" }, + }, + { + name: "--tags", + description: + 'The resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an integration account map", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--integration-account", + description: "The integration account name", + args: { name: "integration-account" }, + }, + { + name: ["--map-name", "--name", "-n"], + description: "The integration account map name", + args: { name: "map-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List a list of integration account maps", + options: [ + { + name: "--integration-account", + description: "The integration account name", + args: { name: "integration-account" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: + "The filter to apply on the operation. Options for filters include: MapType", + args: { name: "filter" }, + }, + { + name: "--top", + description: + "The number of items to be included in the result", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get an integration account map", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--integration-account", + description: "The integration account name", + args: { name: "integration-account" }, + }, + { + name: ["--map-name", "--name", "-n"], + description: "The integration account map name", + args: { name: "map-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an integration account map. If the map is larger than 4 MB, you need to store the map in an Azure blob and use the blob's Shared Access Signature (SAS) URL as the 'contentLink' property value", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--content-type", + description: "The content type", + args: { name: "content-type" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--integration-account", + description: "The integration account name", + args: { name: "integration-account" }, + }, + { + name: ["--location", "-l"], + description: "The resource location", + args: { name: "location" }, + }, + { + name: "--map-content", + description: "The content", + args: { name: "map-content" }, + }, + { + name: ["--map-name", "--name", "-n"], + description: "The integration account map name", + args: { name: "map-name" }, + }, + { + name: "--map-type", + description: "The map type", + args: { + name: "map-type", + suggestions: [ + "Liquid", + "NotSpecified", + "Xslt", + "Xslt20", + "Xslt30", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "workflow", + description: "Logic workflow", + subcommands: [ + { + name: "create", + description: + "Creates or updates a workflow using a JSON file for the defintion", + options: [ + { + name: "--definition", + description: + "Path to a workflow defintion JSON file (see https://github.com/Azure/azure-cli-extensions/blob/main/src/logic/README.md for more info on this). This JSON format should match what the logic app design tool exports", + args: { name: "definition" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The workflow name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--access-control", + description: + "The access control configuration controls access to this workflow. See https://github.com/Azure/azure-cli-extensions/blob/main/src/logic/README.md for more information", + args: { name: "access-control" }, + }, + { + name: "--endpoints-configuration", + description: "The endpoints configuration", + args: { name: "endpoints-configuration" }, + }, + { + name: "--integration-account", + description: "The integration account", + args: { name: "integration-account" }, + }, + { + name: "--integration-service-environment", + description: "The integration service environment", + args: { name: "integration-service-environment" }, + }, + { + name: "--state", + description: "The state", + args: { + name: "state", + suggestions: [ + "Completed", + "Deleted", + "Disabled", + "Enabled", + "NotSpecified", + "Suspended", + ], + }, + }, + { + name: "--tags", + description: "The resource tags", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a workflow", + options: [ + { + name: ["--name", "-n"], + description: "The workflow name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Gets a list of workflows by subscription", + options: [ + { + name: "--filter", + description: + "The filter to apply on the operation. Options for filters include: State, Trigger, and ReferencedResourceId", + args: { name: "filter" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: "The number of items to be included in the result", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Gets a workflow", + options: [ + { + name: ["--name", "-n"], + description: "The workflow name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Updates a workflow", + options: [ + { + name: ["--name", "-n"], + description: "The workflow name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--definition", + description: + "Path to a workflow defintion JSON file (see https://github.com/Azure/azure-cli-extensions/blob/main/src/logic/README.md for more info on this). This JSON format should match what the logic app design tool exports", + args: { name: "definition" }, + }, + { + name: "--state", + description: "The state", + args: { + name: "state", + suggestions: [ + "Completed", + "Deleted", + "Disabled", + "Enabled", + "NotSpecified", + "Suspended", + ], + }, + }, + { + name: "--tags", + description: "The resource tags", + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/logicapp.ts b/src/az/2.53.0/logicapp.ts new file mode 100644 index 000000000000..917bafe8db79 --- /dev/null +++ b/src/az/2.53.0/logicapp.ts @@ -0,0 +1,498 @@ +const completion: Fig.Spec = { + name: "logicapp", + description: "Manage logic apps", + subcommands: [ + { + name: "config", + description: "Configure a logic app", + subcommands: [ + { + name: "appsettings", + description: "Configure logic app settings", + subcommands: [ + { + name: "delete", + description: "Delete a logic app's settings", + options: [ + { + name: ["--name", "-n"], + description: "Name of the logic app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--setting-names", + description: "Space-separated app setting names", + args: { name: "setting-names" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "list", + description: "Show settings for a logic app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the logic app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "set", + description: "Update a logic app's settings", + options: [ + { + name: ["--name", "-n"], + description: "Name of the logic app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--settings", + description: + "Space-separated app settings in a format of =", + args: { name: "settings" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--slot-settings", + description: + "Space-separated slot app settings in a format of =", + args: { name: "slot-settings" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "create", + description: "Create a logic app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the new logic app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--storage-account", "-s"], + description: + "Provide a string value of a Storage Account in the provided Resource Group. Or Resource ID of a Storage Account in a different Resource Group", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: "--app-insights", + description: + "Name of the existing App Insights project to be added to the logic app. Must be in the same resource group", + args: { name: "app-insights" }, + }, + { + name: "--app-insights-key", + description: "Instrumentation key of App Insights to be added", + args: { name: "app-insights-key" }, + }, + { + name: ["--deployment-container-image-name", "-i"], + description: + "Container image name from Docker Hub, e.g. publisher/image-name:tag", + args: { name: "deployment-container-image-name" }, + }, + { + name: ["--deployment-local-git", "-l"], + description: "Enable local git", + args: { name: "deployment-local-git" }, + }, + { + name: ["--deployment-source-branch", "-b"], + description: "The branch to deploy", + args: { name: "deployment-source-branch" }, + }, + { + name: ["--deployment-source-url", "-u"], + description: "Git repository URL to link with manual integration", + args: { name: "deployment-source-url" }, + }, + { + name: "--disable-app-insights", + description: + "Disable creating application insights resource during logicapp create. No logs will be available", + args: { + name: "disable-app-insights", + suggestions: ["false", "true"], + }, + }, + { + name: ["--docker-registry-server-password", "-w"], + description: + "The container registry server password. Required for private registries", + args: { name: "docker-registry-server-password" }, + }, + { + name: ["--docker-registry-server-user", "-d"], + description: "The container registry server username", + args: { name: "docker-registry-server-user" }, + }, + { + name: ["--functions-version", "-v"], + description: "The functions version for logic app", + args: { name: "functions-version", suggestions: ["2", "3", "4"] }, + }, + { + name: "--https-only", + description: + "Redirect all traffic made to an app using HTTP to HTTPS", + }, + { + name: ["--plan", "-p"], + description: + "Name or resource id of the logicapp app service plan. Use 'appservice plan create' to get one. If using an App Service plan from a different resource group, the full resource id must be used and not the plan name", + args: { name: "plan" }, + }, + { + name: "--runtime-version", + description: "The runtime version for logic app", + args: { name: "runtime-version", suggestions: ["~14", "~16", "~18"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a logic app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the logic app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List logic apps", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "restart", + description: "Restart a logic app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the logic app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "scale", + description: "Scale a logic app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the logic app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-instances", + description: + "The maximum number of instances this logic app can scale out to under load", + args: { name: "max-instances" }, + }, + { + name: "--min-instances", + description: + "The number of instances that are always ready and warm for this logic app", + args: { name: "min-instances" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a logic app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the logic app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "start", + description: "Start a logic app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the logic app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "stop", + description: "Stop a logic app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the logic app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "update", + description: "Update a logic app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the logic app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--plan", + description: + "The name or resource id of the plan to update the logicapp with", + args: { name: "plan" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "deployment", + description: "Manage logic app deployments", + subcommands: [ + { + name: "source", + description: "Manage logicapp app deployment via source control", + subcommands: [ + { + name: "config-zip", + description: + "Perform deployment using the kudu zip push deployment for a logic app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the logic app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--src", + description: "A zip file path for deployment", + args: { name: "src" }, + isRequired: true, + }, + { + name: "--build-remote", + description: "Enable remote build during deployment", + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: ["--timeout", "-t"], + description: + "Configurable timeout in seconds for checking the status of deployment", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/login.ts b/src/az/2.53.0/login.ts new file mode 100644 index 000000000000..4a4b794ad954 --- /dev/null +++ b/src/az/2.53.0/login.ts @@ -0,0 +1,61 @@ +const completion: Fig.Spec = { + name: "login", + description: "Log in to Azure", + options: [ + { + name: "--allow-no-subscriptions", + description: + "Support access tenants without subscriptions. It's uncommon but useful to run tenant level commands, such as 'az ad'", + }, + { + name: "--federated-token", + description: "Federated token that can be used for OIDC token exchange", + args: { name: "federated-token" }, + }, + { + name: ["--identity", "-i"], + description: "Log in using the Virtual Machine's identity", + }, + { + name: ["--password", "-p"], + description: + "Credentials like user password, or for a service principal, provide client secret or a pem file with key and public certificate. Will prompt if not given", + args: { name: "password" }, + }, + { + name: "--scope", + description: + "Used in the /authorize request. It can cover only one static resource", + args: { name: "scope" }, + }, + { + name: "--service-principal", + description: "The credential representing a service principal", + args: { name: "service-principal" }, + }, + { + name: ["--tenant", "-t"], + description: "The AAD tenant, must provide when using service principals", + args: { name: "tenant" }, + }, + { + name: "--use-cert-sn-issuer", + description: + "Used with a service principal configured with Subject Name and Issuer Authentication in order to support automatic certificate rolls", + args: { name: "use-cert-sn-issuer" }, + }, + { + name: "--use-device-code", + description: + "Use CLI's old authentication flow based on device code. CLI will also use this if it can't launch a browser in your behalf, e.g. in remote SSH or Cloud Shell", + }, + { + name: ["--username", "-u"], + description: + "User name, service principal, or managed service identity ID", + args: { name: "username" }, + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/logout.ts b/src/az/2.53.0/logout.ts new file mode 100644 index 000000000000..e87e02b2baab --- /dev/null +++ b/src/az/2.53.0/logout.ts @@ -0,0 +1,14 @@ +const completion: Fig.Spec = { + name: "logout", + description: "Log out to remove access to Azure subscriptions", + options: [ + { + name: "--username", + description: + "Account user, if missing, logout the current active account", + args: { name: "username" }, + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/logz.ts b/src/az/2.53.0/logz.ts new file mode 100644 index 000000000000..47092b65e124 --- /dev/null +++ b/src/az/2.53.0/logz.ts @@ -0,0 +1,1443 @@ +const completion: Fig.Spec = { + name: "logz", + description: "Manage Microsoft Logz", + subcommands: [ + { + name: "monitor", + description: "Manage monitor with logz", + subcommands: [ + { + name: "create", + description: + "Create a monitor resource. This create operation can take Get to complete", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--monitoring-status", + description: + "Flag specifying if the resource monitoring is enabled or disabled", + args: { + name: "monitoring-status", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all monitors under the specified resource group. And List all monitors under the specified subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-payload", + description: + "List the payload that needs to be passed in the request body for installing Logz.io agent on a VM", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-resource", + description: + "List the resources currently being monitored by the Logz monitor resource", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-role", + description: + "List the user's roles configured on Logz.io side for the account corresponding to the monitor resource", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--email-address", + description: + "Email of the user used by Logz for contacting them if needed", + args: { name: "email-address" }, + }, + ], + }, + { + name: "list-vm", + description: + "List the compute resources currently being monitored by the Logz main account resource", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the properties of a specific monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--monitoring-status", + description: + "Flag specifying if the resource monitoring is enabled or disabled", + args: { + name: "monitoring-status", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "update-vm", + description: + "Update the collection when Logz.io agent has been installed on a VM for a given monitor", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--state", + description: + "Specifies the state of the operation - install/ delete", + args: { name: "state", suggestions: ["Delete", "Install"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-resource-ids", + description: "Request of a list vm host update operation", + args: { name: "vm-resource-ids" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the logz monitor is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "rule", + description: "Manage tag rule with logz", + subcommands: [ + { + name: "create", + description: "Create a tag rule set for a given monitor resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Rule set name of monitor", + args: { name: "rule-set-name" }, + isRequired: true, + }, + { + name: "--filtering-tags", + description: + "List of filtering tags to be used for capturing logs. This only takes effect if SendActivityLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags", + args: { name: "filtering-tags" }, + }, + { + name: "--send-aad-logs", + description: + "Flag specifying if AAD logs should be sent for the Monitor resource", + args: { name: "send-aad-logs", suggestions: ["false", "true"] }, + }, + { + name: "--send-activity-logs", + description: + "Flag specifying if activity logs from Azure resources should be sent for the Monitor resource", + args: { + name: "send-activity-logs", + suggestions: ["false", "true"], + }, + }, + { + name: "--send-subscription-logs", + description: + "Flag specifying if subscription logs should be sent for the Monitor resource", + args: { + name: "send-subscription-logs", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a tag rule set for a given monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-set-name", + description: "Rule set name of monitor", + args: { name: "rule-set-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the tag rules for a given monitor resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a tag rule set for a given monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-set-name", + description: "Rule set name of monitor", + args: { name: "rule-set-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a tag rule set for a given monitor resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--filtering-tags", + description: + "List of filtering tags to be used for capturing logs. This only takes effect if SendActivityLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags", + args: { name: "filtering-tags" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-set-name", + description: "Rule set name of monitor", + args: { name: "rule-set-name" }, + }, + { + name: "--send-aad-logs", + description: + "Flag specifying if AAD logs should be sent for the Monitor resource", + args: { name: "send-aad-logs", suggestions: ["false", "true"] }, + }, + { + name: "--send-activity-logs", + description: + "Flag specifying if activity logs from Azure resources should be sent for the Monitor resource", + args: { + name: "send-activity-logs", + suggestions: ["false", "true"], + }, + }, + { + name: "--send-subscription-logs", + description: + "Flag specifying if subscription logs should be sent for the Monitor resource", + args: { + name: "send-subscription-logs", + suggestions: ["false", "true"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "sso", + description: "Manage single sign on with logz", + subcommands: [ + { + name: "create", + description: "Create single-sign-on for this resource", + options: [ + { + name: "--configuration-name", + description: "Single sign-on configuration name", + args: { name: "configuration-name" }, + isRequired: true, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: + "List the single sign-on configurations for a given monitor resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the Logz single sign-on resource for the given Monitor", + options: [ + { + name: "--configuration-name", + description: "Single sign-on configuration name", + args: { name: "configuration-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Create single-sign-on for this resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--configuration-name", + description: "Single sign-on configuration name", + args: { name: "configuration-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the logz sso is met", + options: [ + { + name: "--configuration-name", + description: "Single sign-on configuration name", + args: { name: "configuration-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sub-account", + description: "Manage sub account with logz", + subcommands: [ + { + name: "create", + description: "Create sub account under a given monitor resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--sub-account-name", "--name", "-n"], + description: "Sub Account resource name", + args: { name: "sub-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--monitoring-status", + description: + "Flag specifying if the resource monitoring is enabled or disabled", + args: { + name: "monitoring-status", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a sub account resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--sub-account-name", "--name", "-n"], + description: "Sub Account resource name", + args: { name: "sub-account-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the sub account under a given monitor resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-payload", + description: + "List the payload that needs to be passed as a request for installing Logz.io agent on a VM", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--sub-account-name", "--name", "-n"], + description: "Sub Account resource name", + args: { name: "sub-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-resource", + description: + "List the resources currently being monitored by the Logz sub account resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--sub-account-name", "--name", "-n"], + description: "Sub Account resource name", + args: { name: "sub-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-vm", + description: + "List the compute resources currently being monitored by the Logz sub account resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--sub-account-name", "--name", "-n"], + description: "Sub Account resource name", + args: { name: "sub-account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a sub account under a given monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--sub-account-name", "--name", "-n"], + description: "Sub Account resource name", + args: { name: "sub-account-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--monitoring-status", + description: + "Flag specifying if the resource monitoring is enabled or disabled", + args: { + name: "monitoring-status", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--sub-account-name", "--name", "-n"], + description: "Sub Account resource name", + args: { name: "sub-account-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "update-vm", + description: + "Update the collection when Logz.io agent has been installed on a VM for a given monitor", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--sub-account-name", "--name", "-n"], + description: "Sub Account resource name", + args: { name: "sub-account-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--state", + description: + "Specifies the state of the operation - install/ delete", + args: { name: "state", suggestions: ["Delete", "Install"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-resource-ids", + description: "Request of a list vm host update operation", + args: { name: "vm-resource-ids" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the logz sub-account is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--sub-account-name", "--name", "-n"], + description: "Sub Account resource name", + args: { name: "sub-account-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sub-rule", + description: "Manage sub account tag rule with logz", + subcommands: [ + { + name: "create", + description: "Create a tag rule set for a given sub account resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Rule set name of sub account", + args: { name: "rule-set-name" }, + isRequired: true, + }, + { + name: "--sub-account-name", + description: "Sub Account resource name", + args: { name: "sub-account-name" }, + isRequired: true, + }, + { + name: "--filtering-tags", + description: + "List of filtering tags to be used for capturing logs. This only takes effect if SendActivityLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags", + args: { name: "filtering-tags" }, + }, + { + name: "--send-aad-logs", + description: + "Flag specifying if AAD logs should be sent for the Monitor resource", + args: { name: "send-aad-logs", suggestions: ["false", "true"] }, + }, + { + name: "--send-activity-logs", + description: + "Flag specifying if activity logs from Azure resources should be sent for the Monitor resource", + args: { + name: "send-activity-logs", + suggestions: ["false", "true"], + }, + }, + { + name: "--send-subscription-logs", + description: + "Flag specifying if subscription logs should be sent for the Monitor resource", + args: { + name: "send-subscription-logs", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a tag rule set for a given monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-set-name", + description: "Rule set name of monitor", + args: { name: "rule-set-name" }, + }, + { + name: "--sub-account-name", + description: "Sub Account resource name", + args: { name: "sub-account-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the tag rules for a given sub account resource", + options: [ + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sub-account-name", + description: "Sub Account resource name", + args: { name: "sub-account-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a tag rule set for a given monitor resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-set-name", + description: "Rule set name of monitor", + args: { name: "rule-set-name" }, + }, + { + name: "--sub-account-name", + description: "Sub Account resource name", + args: { name: "sub-account-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a tag rule set for a given sub account resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--filtering-tags", + description: + "List of filtering tags to be used for capturing logs. This only takes effect if SendActivityLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags", + args: { name: "filtering-tags" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Monitor resource name", + args: { name: "monitor-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-set-name", + description: "Rule set name of sub account", + args: { name: "rule-set-name" }, + }, + { + name: "--send-aad-logs", + description: + "Flag specifying if AAD logs should be sent for the Monitor resource", + args: { name: "send-aad-logs", suggestions: ["false", "true"] }, + }, + { + name: "--send-activity-logs", + description: + "Flag specifying if activity logs from Azure resources should be sent for the Monitor resource", + args: { + name: "send-activity-logs", + suggestions: ["false", "true"], + }, + }, + { + name: "--send-subscription-logs", + description: + "Flag specifying if subscription logs should be sent for the Monitor resource", + args: { + name: "send-subscription-logs", + suggestions: ["false", "true"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sub-account-name", + description: "Sub Account resource name", + args: { name: "sub-account-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/maintenance.ts b/src/az/2.53.0/maintenance.ts new file mode 100644 index 000000000000..17adc5e31b46 --- /dev/null +++ b/src/az/2.53.0/maintenance.ts @@ -0,0 +1,1819 @@ +const completion: Fig.Spec = { + name: "maintenance", + description: "Manage Maintenance", + subcommands: [ + { + name: "applyupdate", + description: "Manage apply update with maintenance", + subcommands: [ + { + name: "create", + description: "Apply maintenance updates to resource", + options: [ + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + isRequired: true, + }, + ], + }, + { + name: "create-or-update-parent", + description: "Apply maintenance updates to resource with parent", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + }, + { + name: "--resource-parent-name", + description: "Resource parent identifier", + args: { name: "resource-parent-name" }, + }, + { + name: "--resource-parent-type", + description: "Resource parent type", + args: { name: "resource-parent-type" }, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Get Configuration records within a subscription", + }, + { + name: "show", + description: "Track maintenance updates to resource", + options: [ + { + name: ["--apply-update-name", "--name", "-n"], + description: "ApplyUpdate Id", + args: { name: "apply-update-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-parent", + description: "Track maintenance updates to resource with parent", + options: [ + { + name: ["--apply-update-name", "--name", "-n"], + description: "ApplyUpdate Id", + args: { name: "apply-update-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + }, + { + name: "--resource-parent-name", + description: "Resource parent identifier", + args: { name: "resource-parent-name" }, + }, + { + name: "--resource-parent-type", + description: "Resource parent type", + args: { name: "resource-parent-type" }, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "assignment", + description: "Manage configuration assignment with maintenance", + subcommands: [ + { + name: "create", + description: "Apply maintenance updates to resource", + options: [ + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Configuration assignment name", + args: { name: "configuration-assignment-name" }, + isRequired: true, + }, + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + isRequired: true, + }, + { + name: ["--maintenance-configuration-id", "--config-id"], + description: "The maintenance configuration Id", + args: { name: "maintenance-configuration-id" }, + }, + { + name: "--filter-locations", + description: + 'List of locations to scope the query to. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-locations" }, + }, + { + name: "--filter-os-types", + description: + 'List of allowed operating systems. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-os-types" }, + }, + { + name: "--filter-resource-groups", + description: + 'List of allowed resource groups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-groups" }, + }, + { + name: "--filter-resource-types", + description: + 'List of allowed resources. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-types" }, + }, + { + name: "--filter-tags", + description: + 'Dictionary of tags with its list of values. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-tags" }, + }, + { + name: "--filter-tags-operator", + description: "Filter VMs by Any or All specified tags", + args: { + name: "filter-tags-operator", + suggestions: ["All", "Any"], + }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: "--resource-id", + description: "The unique resourceId", + args: { name: "resource-id" }, + }, + ], + }, + { + name: "create-or-update-parent", + description: "Apply maintenance updates to resource with parent", + options: [ + { + name: ["--maintenance-configuration-id", "--config-id"], + description: "The maintenance configuration Id", + args: { name: "maintenance-configuration-id" }, + }, + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--filter-locations", + description: + 'List of locations to scope the query to. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-locations" }, + }, + { + name: "--filter-os-types", + description: + 'List of allowed operating systems. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-os-types" }, + }, + { + name: "--filter-resource-groups", + description: + 'List of allowed resource groups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-groups" }, + }, + { + name: "--filter-resource-types", + description: + 'List of allowed resources. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-types" }, + }, + { + name: "--filter-tags", + description: + 'Dictionary of tags with its list of values. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-tags" }, + }, + { + name: "--filter-tags-operator", + description: "Filter VMs by Any or All specified tags", + args: { + name: "filter-tags-operator", + suggestions: ["All", "Any"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-id", + description: "The unique resourceId", + args: { name: "resource-id" }, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + }, + { + name: "--resource-parent-name", + description: "Resource parent identifier", + args: { name: "resource-parent-name" }, + }, + { + name: "--resource-parent-type", + description: "Resource parent type", + args: { name: "resource-parent-type" }, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create-or-update-resource-group", + description: "Create configuration for resource", + options: [ + { + name: ["--maintenance-configuration-id", "--config-id"], + description: "The maintenance configuration Id", + args: { name: "maintenance-configuration-id" }, + }, + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--filter-locations", + description: + 'List of locations to scope the query to. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-locations" }, + }, + { + name: "--filter-os-types", + description: + 'List of allowed operating systems. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-os-types" }, + }, + { + name: "--filter-resource-groups", + description: + 'List of allowed resource groups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-groups" }, + }, + { + name: "--filter-resource-types", + description: + 'List of allowed resources. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-types" }, + }, + { + name: "--filter-tags", + description: + 'Dictionary of tags with its list of values. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-tags" }, + }, + { + name: "--filter-tags-operator", + description: "Filter VMs by Any or All specified tags", + args: { + name: "filter-tags-operator", + suggestions: ["All", "Any"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-id", + description: "The unique resourceId", + args: { name: "resource-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create-or-update-subscription", + description: "Create configuration for resource", + options: [ + { + name: ["--maintenance-configuration-id", "--config-id"], + description: "The maintenance configuration Id", + args: { name: "maintenance-configuration-id" }, + }, + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--filter-locations", + description: + 'List of locations to scope the query to. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-locations" }, + }, + { + name: "--filter-os-types", + description: + 'List of allowed operating systems. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-os-types" }, + }, + { + name: "--filter-resource-groups", + description: + 'List of allowed resource groups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-groups" }, + }, + { + name: "--filter-resource-types", + description: + 'List of allowed resources. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-types" }, + }, + { + name: "--filter-tags", + description: + 'Dictionary of tags with its list of values. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-tags" }, + }, + { + name: "--filter-tags-operator", + description: "Filter VMs by Any or All specified tags", + args: { + name: "filter-tags-operator", + suggestions: ["All", "Any"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: "--resource-id", + description: "The unique resourceId", + args: { name: "resource-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete configuration for resource", + options: [ + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Unique configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "delete-parent", + description: "Delete configuration for resource", + options: [ + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Unique configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + }, + { + name: "--resource-parent-name", + description: "Resource parent identifier", + args: { name: "resource-parent-name" }, + }, + { + name: "--resource-parent-type", + description: "Resource parent type", + args: { name: "resource-parent-type" }, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "delete-resource-group", + description: "Delete configuration for resource", + options: [ + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Unique configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "delete-subscription", + description: "Delete configuration for resource", + options: [ + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Unique configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List configurationAssignments for resource", + options: [ + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + isRequired: true, + }, + ], + }, + { + name: "list-parent", + description: "List configurationAssignments for resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + }, + { + name: "--resource-parent-name", + description: "Resource parent identifier", + args: { name: "resource-parent-name" }, + }, + { + name: "--resource-parent-type", + description: "Resource parent type", + args: { name: "resource-parent-type" }, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-subscription", + description: "List configuration assignment within a subscription", + }, + { + name: "show", + description: "Get configuration assignment for resource", + options: [ + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-parent", + description: "Get configuration assignment for resource", + options: [ + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + }, + { + name: "--resource-parent-name", + description: "Resource parent identifier", + args: { name: "resource-parent-name" }, + }, + { + name: "--resource-parent-type", + description: "Resource parent type", + args: { name: "resource-parent-type" }, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-resource-group", + description: "Get configuration assignment for resource", + options: [ + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-subscription", + description: "Get configuration assignment for resource", + options: [ + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update configuration for resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--maintenance-configuration-id", "--config-id"], + description: "The maintenance configuration Id", + args: { name: "maintenance-configuration-id" }, + }, + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--filter-locations", + description: + 'List of locations to scope the query to. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-locations" }, + }, + { + name: "--filter-os-types", + description: + 'List of allowed operating systems. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-os-types" }, + }, + { + name: "--filter-resource-groups", + description: + 'List of allowed resource groups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-groups" }, + }, + { + name: "--filter-resource-types", + description: + 'List of allowed resources. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-types" }, + }, + { + name: "--filter-tags", + description: + 'Dictionary of tags with its list of values. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-tags" }, + }, + { + name: "--filter-tags-operator", + description: "Filter VMs by Any or All specified tags", + args: { + name: "filter-tags-operator", + suggestions: ["All", "Any"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-id", + description: "The unique resourceId", + args: { name: "resource-id" }, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update-parent", + description: "Update configuration for resource", + options: [ + { + name: ["--maintenance-configuration-id", "--config-id"], + description: "The maintenance configuration Id", + args: { name: "maintenance-configuration-id" }, + }, + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--filter-locations", + description: + 'List of locations to scope the query to. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-locations" }, + }, + { + name: "--filter-os-types", + description: + 'List of allowed operating systems. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-os-types" }, + }, + { + name: "--filter-resource-groups", + description: + 'List of allowed resource groups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-groups" }, + }, + { + name: "--filter-resource-types", + description: + 'List of allowed resources. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-types" }, + }, + { + name: "--filter-tags", + description: + 'Dictionary of tags with its list of values. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-tags" }, + }, + { + name: "--filter-tags-operator", + description: "Filter VMs by Any or All specified tags", + args: { + name: "filter-tags-operator", + suggestions: ["All", "Any"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-id", + description: "The unique resourceId", + args: { name: "resource-id" }, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + }, + { + name: "--resource-parent-name", + description: "Resource parent identifier", + args: { name: "resource-parent-name" }, + }, + { + name: "--resource-parent-type", + description: "Resource parent type", + args: { name: "resource-parent-type" }, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update-resource-group", + description: "Update configuration for resource", + options: [ + { + name: ["--maintenance-configuration-id", "--config-id"], + description: "The maintenance configuration Id", + args: { name: "maintenance-configuration-id" }, + }, + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--filter-locations", + description: + 'List of locations to scope the query to. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-locations" }, + }, + { + name: "--filter-os-types", + description: + 'List of allowed operating systems. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-os-types" }, + }, + { + name: "--filter-resource-groups", + description: + 'List of allowed resource groups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-groups" }, + }, + { + name: "--filter-resource-types", + description: + 'List of allowed resources. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-types" }, + }, + { + name: "--filter-tags", + description: + 'Dictionary of tags with its list of values. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-tags" }, + }, + { + name: "--filter-tags-operator", + description: "Filter VMs by Any or All specified tags", + args: { + name: "filter-tags-operator", + suggestions: ["All", "Any"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-id", + description: "The unique resourceId", + args: { name: "resource-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update-subscription", + description: "Update configuration for resource", + options: [ + { + name: ["--maintenance-configuration-id", "--config-id"], + description: "The maintenance configuration Id", + args: { name: "maintenance-configuration-id" }, + }, + { + name: ["--configuration-assignment-name", "--name", "-n"], + description: "Configuration assignment name", + args: { name: "configuration-assignment-name" }, + }, + { + name: "--filter-locations", + description: + 'List of locations to scope the query to. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-locations" }, + }, + { + name: "--filter-os-types", + description: + 'List of allowed operating systems. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-os-types" }, + }, + { + name: "--filter-resource-groups", + description: + 'List of allowed resource groups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-groups" }, + }, + { + name: "--filter-resource-types", + description: + 'List of allowed resources. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-resource-types" }, + }, + { + name: "--filter-tags", + description: + 'Dictionary of tags with its list of values. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filter-tags" }, + }, + { + name: "--filter-tags-operator", + description: "Filter VMs by Any or All specified tags", + args: { + name: "filter-tags-operator", + suggestions: ["All", "Any"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: "--resource-id", + description: "The unique resourceId", + args: { name: "resource-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "configuration", + description: "Manage maintenance configuration with maintenance", + subcommands: [ + { + name: "create", + description: "Create configuration record", + options: [ + { + name: ["--resource-name", "--name", "-n"], + description: "Maintenance Configuration Name", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--maintenance-window-duration", "--duration"], + description: + "Duration of the maintenance window in HH:mm format. If not provided, default value will be used based on maintenance scope provided. Example: 05:00", + args: { name: "maintenance-window-duration" }, + }, + { + name: [ + "--maintenance-window-expiration-date-time", + "--expiration-date-time", + ], + description: + "Effective expiration date of the maintenance window in YYYY-MM-DD hh:mm format. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone. Expiration date must be set to a future date. If not provided, it will be set to the maximum datetime 9999-12-31 23:59:59", + args: { name: "maintenance-window-expiration-date-time" }, + }, + { + name: "--extension-properties", + description: + 'Gets or sets extensionProperties of the maintenanceConfiguration Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extension-properties" }, + }, + { + name: [ + "--install-patches-linux-parameters", + "--linux-parameters", + ], + description: + 'Input parameters specific to patching Linux machine. For Windows machines, do not pass this property. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "install-patches-linux-parameters" }, + }, + { + name: [ + "--install-patches-windows-parameters", + "--windows-parameters", + ], + description: + 'Input parameters specific to patching a Windows machine. For Linux machines, do not pass this property. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "install-patches-windows-parameters" }, + }, + { + name: ["--location", "-l"], + description: "Gets or sets location of the resource", + args: { name: "location" }, + }, + { + name: "--maintenance-scope", + description: "Gets or sets maintenanceScope of the configuration", + args: { + name: "maintenance-scope", + suggestions: [ + "Extension", + "Host", + "InGuestPatch", + "OSImage", + "Resource", + "SQLDB", + "SQLManagedInstance", + ], + }, + }, + { + name: ["--maintenance-window-recur-every", "--recur-every"], + description: + "Rate at which a Maintenance window is expected to recur. The rate can be expressed as daily, weekly, or monthly schedules. Daily schedule are formatted as recurEvery: [Frequency as integer]['Day(s)']. If no frequency is provided, the default frequency is 1. Daily schedule examples are recurEvery: Day, recurEvery: 3Days. Weekly schedule are formatted as recurEvery: [Frequency as integer]['Week(s)'] [Optional comma separated list of weekdays Monday-Sunday]. Weekly schedule examples are recurEvery: 3Weeks, recurEvery: Week Saturday,Sunday. Monthly schedules are formatted as [Frequency as integer]['Month(s)'] [Comma separated list of month days] or [Frequency as integer]['Month(s)'] [Week of Month (First, Second, Third, Fourth, Last)] [Weekday Monday-Sunday] [Optional Offset(No. of days)]. Offset value must be between -6 to 6 inclusive. Monthly schedule examples are recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23,day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday, recurEvery: Month Last Sunday Offset-3, recurEvery: Month Third Sunday Offset6", + args: { name: "maintenance-window-recur-every" }, + }, + { + name: [ + "--maintenance-window-start-date-time", + "--start-date-time", + ], + description: + "Effective start date of the maintenance window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future date. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone", + args: { name: "maintenance-window-start-date-time" }, + }, + { + name: ["--maintenance-window-time-zone", "--time-zone"], + description: + "Name of the timezone. List of timezones can be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time", + args: { name: "maintenance-window-time-zone" }, + }, + { + name: "--namespace", + description: "Gets or sets namespace of the resource", + args: { name: "namespace" }, + }, + { + name: "--reboot-setting", + description: + "Possible reboot preference as defined by the user based on which it would be decided to reboot the machine or not after the patch operation is completed", + args: { + name: "reboot-setting", + suggestions: ["Always", "IfRequired", "Never"], + }, + }, + { + name: "--tags", + description: + 'Gets or sets tags of the resource Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--visibility", + description: + "Gets or sets the visibility of the configuration. The default value is 'Custom'", + args: { name: "visibility", suggestions: ["Custom", "Public"] }, + }, + ], + }, + { + name: "delete", + description: "Delete Configuration record", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: "Maintenance Configuration Name", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List Configuration records within a subscription and resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get Configuration record", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: "Maintenance Configuration Name", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update configuration record", + options: [ + { + name: ["--maintenance-window-duration", "--duration"], + description: + "Duration of the maintenance window in HH:mm format. If not provided, default value will be used based on maintenance scope provided. Example: 05:00", + args: { name: "maintenance-window-duration" }, + }, + { + name: [ + "--maintenance-window-expiration-date-time", + "--expiration-date-time", + ], + description: + "Effective expiration date of the maintenance window in YYYY-MM-DD hh:mm format. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone. Expiration date must be set to a future date. If not provided, it will be set to the maximum datetime 9999-12-31 23:59:59", + args: { name: "maintenance-window-expiration-date-time" }, + }, + { + name: "--extension-properties", + description: + 'Gets or sets extensionProperties of the maintenanceConfiguration Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extension-properties" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: [ + "--install-patches-linux-parameters", + "--linux-parameters", + ], + description: + 'Input parameters specific to patching Linux machine. For Windows machines, do not pass this property. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "install-patches-linux-parameters" }, + }, + { + name: [ + "--install-patches-windows-parameters", + "--windows-parameters", + ], + description: + 'Input parameters specific to patching a Windows machine. For Linux machines, do not pass this property. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "install-patches-windows-parameters" }, + }, + { + name: ["--location", "-l"], + description: "Gets or sets location of the resource", + args: { name: "location" }, + }, + { + name: "--maintenance-scope", + description: "Gets or sets maintenanceScope of the configuration", + args: { + name: "maintenance-scope", + suggestions: [ + "Extension", + "Host", + "InGuestPatch", + "OSImage", + "Resource", + "SQLDB", + "SQLManagedInstance", + ], + }, + }, + { + name: ["--maintenance-window-recur-every", "--recur-every"], + description: + "Rate at which a Maintenance window is expected to recur. The rate can be expressed as daily, weekly, or monthly schedules. Daily schedule are formatted as recurEvery: [Frequency as integer]['Day(s)']. If no frequency is provided, the default frequency is 1. Daily schedule examples are recurEvery: Day, recurEvery: 3Days. Weekly schedule are formatted as recurEvery: [Frequency as integer]['Week(s)'] [Optional comma separated list of weekdays Monday-Sunday]. Weekly schedule examples are recurEvery: 3Weeks, recurEvery: Week Saturday,Sunday. Monthly schedules are formatted as [Frequency as integer]['Month(s)'] [Comma separated list of month days] or [Frequency as integer]['Month(s)'] [Week of Month (First, Second, Third, Fourth, Last)] [Weekday Monday-Sunday] [Optional Offset(No. of days)]. Offset value must be between -6 to 6 inclusive. Monthly schedule examples are recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23,day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday, recurEvery: Month Last Sunday Offset-3, recurEvery: Month Third Sunday Offset6", + args: { name: "maintenance-window-recur-every" }, + }, + { + name: [ + "--maintenance-window-start-date-time", + "--start-date-time", + ], + description: + "Effective start date of the maintenance window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future date. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone", + args: { name: "maintenance-window-start-date-time" }, + }, + { + name: ["--maintenance-window-time-zone", "--time-zone"], + description: + "Name of the timezone. List of timezones can be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time", + args: { name: "maintenance-window-time-zone" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: "Maintenance Configuration Name", + args: { name: "resource-name" }, + }, + { + name: "--namespace", + description: "Gets or sets namespace of the resource", + args: { name: "namespace" }, + }, + { + name: "--reboot-setting", + description: + "Possible reboot preference as defined by the user based on which it would be decided to reboot the machine or not after the patch operation is completed", + args: { + name: "reboot-setting", + suggestions: ["Always", "IfRequired", "Never"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Gets or sets tags of the resource Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--visibility", + description: + "Gets or sets the visibility of the configuration. The default value is 'Custom'", + args: { name: "visibility", suggestions: ["Custom", "Public"] }, + }, + ], + }, + ], + }, + { + name: "public-configuration", + description: "Manage public maintenance configuration with maintenance", + subcommands: [ + { + name: "list", + description: "List Public Maintenance Configuration records", + }, + { + name: "show", + description: "Get Public Maintenance Configuration record", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-name", "--name", "-n"], + description: "Maintenance Configuration Name", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "update", + description: "Manage update with maintenance", + subcommands: [ + { + name: "list", + description: "List updates to resources", + options: [ + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + isRequired: true, + }, + ], + }, + { + name: "list-parent", + description: "List updates to resources", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-name", + description: "Resource provider name", + args: { name: "provider-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Resource identifier", + args: { name: "resource-name" }, + }, + { + name: "--resource-parent-name", + description: "Resource parent identifier", + args: { name: "resource-parent-name" }, + }, + { + name: "--resource-parent-type", + description: "Resource parent type", + args: { name: "resource-parent-type" }, + }, + { + name: "--resource-type", + description: "Resource type", + args: { name: "resource-type" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/managed-cassandra.ts b/src/az/2.53.0/managed-cassandra.ts new file mode 100644 index 000000000000..3a4d9135481b --- /dev/null +++ b/src/az/2.53.0/managed-cassandra.ts @@ -0,0 +1,689 @@ +const completion: Fig.Spec = { + name: "managed-cassandra", + description: "Azure Managed Cassandra", + subcommands: [ + { + name: "cluster", + description: "Azure Managed Cassandra Cluster", + subcommands: [ + { + name: "create", + description: "Create a Managed Cassandra Cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--delegated-management-subnet-id", "-s"], + description: + "The resource id of a subnet where the ip address of the cassandra management server will be allocated. This subnet must have connectivity to the delegated_subnet_id subnet of each data center", + args: { name: "delegated-management-subnet-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Azure Location of the Cluster", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--authentication-method", + description: + "Authentication mode can be None or Cassandra. If None, no authentication will be required to connect to the Cassandra API. If Cassandra, then passwords will be used", + args: { + name: "authentication-method", + suggestions: ["Cassandra", "None"], + }, + }, + { + name: "--cassandra-version", + description: "The version of Cassandra chosen", + args: { name: "cassandra-version" }, + }, + { + name: "--client-certificates", + description: + "If specified, enables client certificate authentication to the Cassandra API", + args: { name: "client-certificates" }, + }, + { + name: "--cluster-name-override", + description: + "If a cluster must have a name that is not a valid azure resource name, this field can be specified to choose the Cassandra cluster name. Otherwise, the resource name will be used as the cluster name", + args: { name: "cluster-name-override" }, + }, + { + name: ["--external-gossip-certificates", "-e"], + description: + "A list of certificates that the managed cassandra data center's should accept", + args: { name: "external-gossip-certificates" }, + }, + { + name: "--external-seed-nodes", + description: + "A list of ip addresses of the seed nodes of on-premise data centers", + args: { name: "external-seed-nodes" }, + }, + { + name: "--hours-between-backups", + description: "The number of hours between backup attempts", + args: { name: "hours-between-backups" }, + }, + { + name: "--identity-type", + description: + "Type of identity used for Customer Managed Disk Key", + args: { + name: "identity-type", + suggestions: ["None", "SystemAssigned"], + }, + }, + { + name: ["--initial-cassandra-admin-password", "-i"], + description: + "The intial password to be configured when a cluster is created for authentication_method Cassandra", + args: { name: "initial-cassandra-admin-password" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--repair-enabled", + description: "Enables automatic repair", + args: { name: "repair-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--restore-from-backup-id", + description: + "The resource id of a backup. If provided on create, the backup will be used to prepopulate the cluster. The cluster data center count and node counts must match the backup", + args: { name: "restore-from-backup-id" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "deallocate", + description: + "Deallocate the Managed Cassandra Cluster and Associated Data Centers. Deallocation will deallocate the host virtual machine of this cluster, and reserved the data disk. This won't do anything on an already deallocated cluster. Use Start to restart the cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Deletes a Managed Cassandra Cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "invoke-command", + description: + "Invoke a command like nodetool for cassandra maintenance", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--command-name", + description: "The command which should be run", + args: { name: "command-name" }, + isRequired: true, + }, + { + name: "--host", + description: + "IP address of the cassandra host to run the command on", + args: { name: "host" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--arguments", + description: 'The key="value" of arguments for the command', + args: { name: "arguments" }, + }, + { + name: "--cassandra-stop-start", + description: + "If true, stops cassandra before executing the command and then start it again", + args: { + name: "cassandra-stop-start", + suggestions: ["false", "true"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--readwrite", + description: + "If true, allows the command to write to the cassandra directory, otherwise read-only", + args: { name: "readwrite", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "list", + description: + "List the Managed Cassandra Clusters in a ResourceGroup and Subscription. If the ResourceGroup is not specified all the clusters in this Subscription are returned", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a Managed Cassandra Cluster Resource", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "start", + description: + "Start the Managed Cassandra Cluster and Associated Data Centers. Start will start the host virtual machine of this cluster with reserved data disk. This won't do anything on an already running cluster. Use Deallocate to deallocate the cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "status", + description: + "Gets the CPU, memory, and disk usage statistics for each Cassandra node in a cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a Managed Cassandra Cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--authentication-method", + description: + "Authentication mode can be None or Cassandra. If None, no authentication will be required to connect to the Cassandra API. If Cassandra, then passwords will be used", + args: { + name: "authentication-method", + suggestions: ["Cassandra", "None"], + }, + }, + { + name: "--cassandra-version", + description: "The version of Cassandra chosen", + args: { name: "cassandra-version" }, + }, + { + name: "--client-certificates", + description: + "If specified, enables client certificate authentication to the Cassandra API", + args: { name: "client-certificates" }, + }, + { + name: ["--external-gossip-certificates", "-e"], + description: + "A list of certificates that the managed cassandra data center's should accept", + args: { name: "external-gossip-certificates" }, + }, + { + name: "--external-seed-nodes", + description: + "A list of ip addresses of the seed nodes of on-premise data centers", + args: { name: "external-seed-nodes" }, + }, + { + name: "--hours-between-backups", + description: "The number of hours between backup attempts", + args: { name: "hours-between-backups" }, + }, + { + name: "--identity-type", + description: + "Type of identity used for Customer Managed Disk Key", + args: { + name: "identity-type", + suggestions: ["None", "SystemAssigned"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--repair-enabled", + description: "Enables automatic repair", + args: { name: "repair-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "backup", + description: "Azure Managed Cassandra cluster Backup", + subcommands: [ + { + name: "list", + description: + "List the backups of this cluster that are available to restore", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get a managed cassandra backup resource of this cluster", + options: [ + { + name: "--backup-id", + description: "The resource id of the backup", + args: { name: "backup-id" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "datacenter", + description: "Azure Managed Cassandra DataCenter", + subcommands: [ + { + name: "create", + description: + "Create a Datacenter in an Azure Managed Cassandra Cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--data-center-location", "-l"], + description: "Azure Location of the Datacenter", + args: { name: "data-center-location" }, + isRequired: true, + }, + { + name: ["--data-center-name", "-d"], + description: "Datacenter Name", + args: { name: "data-center-name" }, + isRequired: true, + }, + { + name: ["--delegated-subnet-id", "-s"], + description: + "The resource id of a subnet where ip addresses of the Cassandra virtual machines will be allocated. This must be in the same region as data_center_location", + args: { name: "delegated-subnet-id" }, + isRequired: true, + }, + { + name: ["--node-count", "-n"], + description: + "The number of Cassandra virtual machines in this data center. The minimum value is 3", + args: { name: "node-count" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--availability-zone", "-z"], + description: + "If the data center haves Availability Zone feature, apply it to the Virtual Machine ScaleSet that host the data center virtual machines", + args: { + name: "availability-zone", + suggestions: ["false", "true"], + }, + }, + { + name: ["--backup-storage-customer-key-uri", "-p"], + description: + "Indicates the Key Uri of the customer key to use for encryption of the backup storage account", + args: { name: "backup-storage-customer-key-uri" }, + }, + { + name: ["--base64-encoded-cassandra-yaml-fragment", "-b"], + description: + "This is a Base64 encoded yaml file that is a subset of cassandra.yaml. Supported fields will be honored and others will be ignored", + args: { name: "base64-encoded-cassandra-yaml-fragment" }, + }, + { + name: "--disk-capacity", + description: + "Number of disk used for data centers. Default value is 4", + args: { name: "disk-capacity" }, + }, + { + name: "--disk-sku", + description: + "Disk SKU used for data centers. Default value is P30", + args: { name: "disk-sku" }, + }, + { + name: ["--managed-disk-customer-key-uri", "-k"], + description: + "Key uri to use for encryption of managed disks. Ensure the system assigned identity of the cluster has been assigned appropriate permissions(key get/wrap/unwrap permissions) on the key", + args: { name: "managed-disk-customer-key-uri" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--sku", + description: + "Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2", + args: { name: "sku" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Managed Cassandra Datacenter", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--data-center-name", "-d"], + description: "Datacenter Name", + args: { name: "data-center-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the Managed Cassandra Datacenters in a given Cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a Managed Cassandra DataCenter Resource", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--data-center-name", "-d"], + description: "Datacenter Name", + args: { name: "data-center-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update a Datacenter in an Azure Managed Cassandra Cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: "Cluster Name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--data-center-name", "-d"], + description: "Datacenter Name", + args: { name: "data-center-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--backup-storage-customer-key-uri", "-p"], + description: + "Indicates the Key Uri of the customer key to use for encryption of the backup storage account", + args: { name: "backup-storage-customer-key-uri" }, + }, + { + name: ["--base64-encoded-cassandra-yaml-fragment", "-b"], + description: + "This is a Base64 encoded yaml file that is a subset of cassandra.yaml. Supported fields will be honored and others will be ignored", + args: { name: "base64-encoded-cassandra-yaml-fragment" }, + }, + { + name: ["--managed-disk-customer-key-uri", "-k"], + description: + "Key uri to use for encryption of managed disks. Ensure the system assigned identity of the cluster has been assigned appropriate permissions(key get/wrap/unwrap permissions) on the key", + args: { name: "managed-disk-customer-key-uri" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--node-count", "-n"], + description: + "The number of Cassandra virtual machines in this data center. The minimum value is 3", + args: { name: "node-count" }, + }, + { + name: "--sku", + description: + "Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2", + args: { name: "sku" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/managedapp.ts b/src/az/2.53.0/managedapp.ts new file mode 100644 index 000000000000..42eb0df3de6c --- /dev/null +++ b/src/az/2.53.0/managedapp.ts @@ -0,0 +1,407 @@ +const completion: Fig.Spec = { + name: "managedapp", + description: + "Manage template solutions provided and maintained by Independent Software Vendors (ISVs)", + subcommands: [ + { + name: "create", + description: "Create a managed application", + options: [ + { + name: "--kind", + description: + "The managed application kind. can be marketplace or servicecatalog", + args: { name: "kind" }, + isRequired: true, + }, + { + name: ["--managed-rg-id", "-m"], + description: "The resource group managed by the managed application", + args: { name: "managed-rg-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The managed application name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group of the managed application", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "The managed application location", + args: { name: "location" }, + }, + { + name: ["--managedapp-definition-id", "-d"], + description: "The full qualified managed application definition id", + args: { name: "managedapp-definition-id" }, + }, + { + name: "--parameters", + description: + "JSON formatted string or a path to a file with such content", + args: { name: "parameters" }, + }, + { + name: "--plan-name", + description: "The managed application package plan name", + args: { name: "plan-name" }, + }, + { + name: "--plan-product", + description: "The managed application package plan product", + args: { name: "plan-product" }, + }, + { + name: "--plan-publisher", + description: "The managed application package plan publisher", + args: { name: "plan-publisher" }, + }, + { + name: "--plan-version", + description: "The managed application package plan version", + args: { name: "plan-version" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a managed application", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the managed application. Required", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group of the managed application", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List managed applications", + options: [ + { + name: ["--resource-group", "-g"], + description: "The resource group of the managed application", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Gets a managed application", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The managed application name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group of the managed application", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "definition", + description: "Manage Azure Managed Applications", + subcommands: [ + { + name: "create", + description: "Create a managed application definition", + options: [ + { + name: ["--authorizations", "-a"], + description: + "Space-separated authorization pairs in a format of :", + args: { name: "authorizations" }, + isRequired: true, + }, + { + name: "--description", + description: "The managed application definition description", + args: { name: "description" }, + isRequired: true, + }, + { + name: "--display-name", + description: "The managed application definition display name", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--lock-level", + description: "The type of lock restriction", + args: { + name: "lock-level", + suggestions: ["CanNotDelete", "None", "ReadOnly"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The managed application definition name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group of the managed application definition", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--create-ui-definition", "-c"], + description: + "JSON formatted string or a path to a file with such content", + args: { name: "create-ui-definition" }, + }, + { + name: "--deployment-mode", + description: "The managed application deployment mode", + args: { + name: "deployment-mode", + suggestions: ["Complete", "Incremental"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--main-template", "-t"], + description: + "JSON formatted string or a path to a file with such content", + args: { name: "main-template" }, + }, + { + name: "--package-file-uri", + description: + "The managed application definition package file uri", + args: { name: "package-file-uri" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a managed application definition", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the managed application definition to delete. Required", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group of the managed application definition", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List managed application definitions", + options: [ + { + name: ["--resource-group", "-g"], + description: + "The resource group of the managed application definition", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a managed application definition", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The managed application definition name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group of the managed application definition", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a managed application definition", + options: [ + { + name: ["--authorizations", "-a"], + description: + "Space-separated authorization pairs in a format of :", + args: { name: "authorizations" }, + isRequired: true, + }, + { + name: "--description", + description: "The managed application definition description", + args: { name: "description" }, + isRequired: true, + }, + { + name: "--display-name", + description: "The managed application definition display name", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--lock-level", + description: "The type of lock restriction", + args: { + name: "lock-level", + suggestions: ["CanNotDelete", "None", "ReadOnly"], + }, + isRequired: true, + }, + { + name: ["--create-ui-definition", "-c"], + description: + "JSON formatted string or a path to a file with such content", + args: { name: "create-ui-definition" }, + }, + { + name: "--deployment-mode", + description: "The managed application deployment mode", + args: { + name: "deployment-mode", + suggestions: ["Complete", "Incremental"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--main-template", "-t"], + description: + "JSON formatted string or a path to a file with such content", + args: { name: "main-template" }, + }, + { + name: ["--name", "-n"], + description: "The managed application definition name", + args: { name: "name" }, + }, + { + name: "--package-file-uri", + description: + "The managed application definition package file uri", + args: { name: "package-file-uri" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group of the managed application definition", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/managedservices.ts b/src/az/2.53.0/managedservices.ts new file mode 100644 index 000000000000..c3b01c2c7222 --- /dev/null +++ b/src/az/2.53.0/managedservices.ts @@ -0,0 +1,205 @@ +const completion: Fig.Spec = { + name: "managedservices", + description: "Manage the registration assignments and definitions in Azure", + subcommands: [ + { + name: "assignment", + description: "Manage the registration assignments in Azure", + subcommands: [ + { + name: "create", + description: "Creates a new registration assignment", + options: [ + { + name: "--definition", + description: + "The fully qualified resource id of the registration definition", + args: { name: "definition" }, + isRequired: true, + }, + { + name: "--assignment-id", + description: + "Can be used to override the generated registration assignment id", + args: { name: "assignment-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: "Deletes the registration assignment", + options: [ + { + name: "--assignment", + description: + "The identifier (guid) or the fully qualified resource id of the registration assignment. When resource id is used, subscription id and resource group parameters are ignored", + args: { name: "assignment" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List all the registration assignments", + options: [ + { + name: "--include-definition", + description: + "When provided, gets the associated registration definition details", + args: { + name: "include-definition", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Gets a registration assignment", + options: [ + { + name: "--assignment", + description: + "The identifier (guid) or the fully qualified resource id of the registration assignment. When resource id is used, subscription id and resource group parameters are ignored", + args: { name: "assignment" }, + isRequired: true, + }, + { + name: "--include-definition", + description: + "When provided, gets the associated registration definition details", + args: { + name: "include-definition", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "definition", + description: "Manage the registration definitions in Azure", + subcommands: [ + { + name: "create", + description: "Creates a new registration definition", + options: [ + { + name: "--name", + description: "The name of the registration definition", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--principal-id", + description: "The principal id", + args: { name: "principal-id" }, + isRequired: true, + }, + { + name: "--role-definition-id", + description: "The role definition id", + args: { name: "role-definition-id" }, + isRequired: true, + }, + { + name: "--tenant-id", + description: "The managed by tenant id", + args: { name: "tenant-id" }, + isRequired: true, + }, + { + name: "--definition-id", + description: + "Can be used to override the generated registration definition id", + args: { name: "definition-id" }, + }, + { + name: "--description", + description: "The friendly description", + args: { name: "description" }, + }, + { + name: "--plan-name", + description: "The plan name", + args: { name: "plan-name" }, + }, + { + name: "--plan-product", + description: "The plan product", + args: { name: "plan-product" }, + }, + { + name: "--plan-publisher", + description: "The plan publisher", + args: { name: "plan-publisher" }, + }, + { + name: "--plan-version", + description: "The plan version", + args: { name: "plan-version" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a registration", + options: [ + { + name: "--definition", + description: + "The identifier (guid) or the fully qualified resource id of the registration definition. When resource id is used, subscription id and resource group parameters are ignored", + args: { name: "definition" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List all the registration definitions under the default scope or under the subscription provided", + }, + { + name: "show", + description: "Gets a registration definition", + options: [ + { + name: "--definition", + description: + "The identifier (guid) or the fully qualified resource id of the registration definition. When resource id is used, subscription id and resource group parameters are ignored", + args: { name: "definition" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/managementpartner.ts b/src/az/2.53.0/managementpartner.ts new file mode 100644 index 000000000000..b62388ea9d4a --- /dev/null +++ b/src/az/2.53.0/managementpartner.ts @@ -0,0 +1,60 @@ +const completion: Fig.Spec = { + name: "managementpartner", + description: + "Allows the partners to associate a Microsoft Partner Network(MPN) ID to a user or service principal in the customer's Azure directory", + subcommands: [ + { + name: "create", + description: + "Associates a Microsoft Partner Network(MPN) ID to the current authenticated user or service principal", + options: [ + { + name: "--partner-id", + description: "Microsoft partner network ID", + args: { name: "partner-id" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Delete the Microsoft Partner Network(MPN) ID of the current authenticated user or service principal", + options: [ + { + name: "--partner-id", + description: "Microsoft partner network ID", + args: { name: "partner-id" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets the Microsoft Partner Network(MPN) ID of the current authenticated user or service principal", + options: [ + { + name: "--partner-id", + description: "Microsoft partner network ID", + args: { name: "partner-id" }, + }, + ], + }, + { + name: "update", + description: + "Updates the Microsoft Partner Network(MPN) ID of the current authenticated user or service principal", + options: [ + { + name: "--partner-id", + description: "Microsoft partner network ID", + args: { name: "partner-id" }, + isRequired: true, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/maps.ts b/src/az/2.53.0/maps.ts new file mode 100644 index 000000000000..3a7e20389df4 --- /dev/null +++ b/src/az/2.53.0/maps.ts @@ -0,0 +1,488 @@ +const completion: Fig.Spec = { + name: "maps", + description: "Manage Azure Maps", + subcommands: [ + { + name: "account", + description: "Manage Azure Maps accounts", + subcommands: [ + { + name: "create", + description: + "Create a Maps Account. A Maps Account holds the keys which allow access to the Maps REST APIs", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the maps account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--sku", "-s"], + description: + "The name of the SKU, in standard format (such as S0)", + args: { name: "sku", suggestions: ["G2", "S0", "S1"] }, + isRequired: true, + }, + { + name: "--accept-tos", + description: + "You must agree to the License and Privacy Statement to create an account", + args: { name: "accept-tos" }, + }, + { + name: "--disable-local-auth", + description: + "Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys authentication from any usage", + args: { + name: "disable-local-auth", + suggestions: ["false", "true"], + }, + }, + { + name: "--kind", + description: "Get or Set Kind property", + args: { name: "kind", suggestions: ["Gen1", "Gen2"] }, + }, + { + name: "--linked-resources", + description: + "Sets the resources to be used for Managed Identities based operations for the Map account resource", + args: { name: "linked-resources" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--type", + description: "The identity type", + args: { + name: "type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--user-identities", + description: + "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. Expected value: json-string/@json-file", + args: { name: "user-identities" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Maps Account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the maps account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Show all maps accounts in a subscription or in a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a maps account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the maps account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Updates a Maps Account. Only a subset of the parameters may be updated after creation, such as Sku, Tags, Properties", + options: [ + { + name: ["--sku", "-s"], + description: + "The name of the SKU, in standard format (such as S0)", + args: { name: "sku", suggestions: ["G2", "S0", "S1"] }, + isRequired: true, + }, + { + name: ["--account-name", "--name", "-n"], + description: "The name of the maps account", + args: { name: "account-name" }, + }, + { + name: "--disable-local-auth", + description: + "Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys authentication from any usage", + args: { + name: "disable-local-auth", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kind", + description: "Get or Set Kind property", + args: { name: "kind", suggestions: ["Gen1", "Gen2"] }, + }, + { + name: "--linked-resources", + description: + "Sets the resources to be used for Managed Identities based operations for the Map account resource", + args: { name: "linked-resources" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--type", + description: "The identity type", + args: { + name: "type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--user-identities", + description: + "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. Expected value: json-string/@json-file", + args: { name: "user-identities" }, + }, + ], + }, + { + name: "keys", + description: "Manage Azure Maps account keys", + subcommands: [ + { + name: "list", + description: + "Get the keys to use with the Maps APIs. A key is used to authenticate and authorize access to the Maps REST APIs. Only one key is needed at a time; two are given to provide seamless key regeneration", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the maps account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "renew", + description: + "Regenerate either the primary or secondary key for use with the Maps APIs. The old key will stop working immediately", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the maps account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--key", + description: + "Whether the operation refers to the primary or secondary key", + args: { name: "key", suggestions: ["primary", "secondary"] }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "creator", + description: "Manage creator with maps", + subcommands: [ + { + name: "create", + description: + "Create a Maps Creator resource. Creator resource will manage Azure resources required to populate a custom set of mapping data. It requires an account to exist before it can be created", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the maps account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--creator-name", + description: "The name of the Maps Creator instance", + args: { name: "creator-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-units", + description: + "The storage units to be allocated. Integer values from 1 to 100, inclusive", + args: { name: "storage-units" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Maps Creator resource", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the maps account", + args: { name: "account-name" }, + }, + { + name: "--creator-name", + description: "The name of the Maps Creator instance", + args: { name: "creator-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all Creator instances for an Azure Maps Account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the maps account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a Maps Creator resource", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the maps account", + args: { name: "account-name" }, + }, + { + name: "--creator-name", + description: "The name of the Maps Creator instance", + args: { name: "creator-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Updates the Maps Creator resource. Only a subset of the parameters may be updated after creation, such as Tags", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the maps account", + args: { name: "account-name" }, + }, + { + name: "--creator-name", + description: "The name of the Maps Creator instance", + args: { name: "creator-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--storage-units", + description: + "The storage units to be allocated. Integer values from 1 to 100, inclusive", + args: { name: "storage-units" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "map", + description: "Manage map with maps", + subcommands: [ + { + name: "list-operation", + description: + "List operations available for the Maps Resource Provider", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/mariadb.ts b/src/az/2.53.0/mariadb.ts new file mode 100644 index 000000000000..da50ae7e8c03 --- /dev/null +++ b/src/az/2.53.0/mariadb.ts @@ -0,0 +1,1759 @@ +const completion: Fig.Spec = { + name: "mariadb", + description: "Manage Azure Database for MariaDB servers", + subcommands: [ + { + name: "db", + description: "Manage MariaDB databases on a server", + subcommands: [ + { + name: "create", + description: "Create a MariaDB database", + options: [ + { + name: ["--name", "-n"], + description: "The name of the database", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--charset", + description: "The charset of the database", + args: { name: "charset" }, + }, + { + name: "--collation", + description: "The collation of the database", + args: { name: "collation" }, + }, + ], + }, + { + name: "delete", + description: "Delete a database", + options: [ + { + name: ["--name", "-n"], + description: "The name of the database", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the databases for a server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: "Name of the Server", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of a database", + options: [ + { + name: ["--name", "-n"], + description: "The name of the database", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "server", + description: "Manage MariaDB servers", + subcommands: [ + { + name: "create", + description: "Create a server", + options: [ + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: + "Administrator username for the server. Once set, it cannot be changed", + args: { name: "admin-user" }, + }, + { + name: "--assign-identity", + description: + "Generate and assign an Azure Active Directory Identity for this server for use with key management services like Azure KeyVault", + }, + { + name: "--auto-grow", + description: + "Enable or disable autogrow of the storage. Default value is Enabled", + args: { name: "auto-grow", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 7 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--geo-redundant-backup", + description: + "Enable or disable geo-redundant backups. Default value is Disabled. Not supported in Basic pricing tier", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--infrastructure-encryption", "-i"], + description: + "Add an optional second layer of encryption for data using new encryption algorithm. Default value is Disabled", + args: { + name: "infrastructure-encryption", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--minimal-tls-version", + description: + "Set the minimal TLS version for connections to server when SSL is enabled. Default is TLSEnforcementDisabled", + args: { + name: "minimal-tls-version", + suggestions: [ + "TLS1_0", + "TLS1_1", + "TLS1_2", + "TLSEnforcementDisabled", + ], + }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--public-network-access", "--public"], + description: + "Enable or disable public network access to server. When disabled, only connections made through Private Links can reach this server. Allowed values are : Enabled, Disabled, all, 0.0.0.0, , . Default is Enabled", + args: { name: "public-network-access" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku-name", + description: + "The name of the sku. Follows the convention {pricing tier}{compute generation}{vCores} in shorthand. Examples: B_Gen5_1, GP_Gen5_4, MO_Gen5_16", + args: { name: "sku-name" }, + }, + { + name: "--ssl-enforcement", + description: + "Enable or disable ssl enforcement for connections to server. Default is Enabled", + args: { + name: "ssl-enforcement", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: + "The storage capacity of the server (unit is megabytes). Minimum 5120 and increases in 1024 increments. Default is 5120", + args: { name: "storage-size" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--version", + description: "Server major version", + args: { name: "version" }, + }, + ], + }, + { + name: "delete", + description: "Delete a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "georestore", + description: "Geo-restore a server from backup", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--source-server", "-s"], + description: + "The name or ID of the source server to restore from", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 7 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--geo-redundant-backup", + description: + "Enable or disable geo-redundant backups. Default value is Disabled. Not supported in Basic pricing tier", + args: { name: "geo-redundant-backup" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku-name", + description: + "The name of the sku. Defaults to sku of the source server. Follows the convention {pricing tier}{compute generation}{vCores} in shorthand. Examples: B_Gen5_1, GP_Gen5_4, MO_Gen5_16", + args: { name: "sku-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List available servers", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-skus", + description: "List available sku's in the given region", + options: [ + { + name: ["--location", "-l"], + description: "The name of the location", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "restart", + description: "Restart a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restore", + description: "Restore a server from backup", + options: [ + { + name: ["--restore-point-in-time", "--pitr-time"], + description: + "The point in time in UTC to restore from (ISO8601 format), e.g., 2017-04-26T02:10:00+08:00", + args: { name: "restore-point-in-time" }, + isRequired: true, + }, + { + name: ["--source-server", "-s"], + description: + "The name or resource ID of the source server to restore from", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-connection-string", + description: + "Show the connection strings for a MariaDB server database", + options: [ + { + name: ["--admin-password", "-p"], + description: "The login password of the administrator", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: "The login username of the administrator", + args: { name: "admin-user" }, + }, + { + name: ["--database-name", "-d"], + description: "The name of a database", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a stopped server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop a running server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a server", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: "--assign-identity", + description: + "Generate and assign an Azure Active Directory Identity for this server for use with key management services like Azure KeyVault", + }, + { + name: "--auto-grow", + description: + "Enable or disable autogrow of the storage. Default value is Enabled", + args: { name: "auto-grow", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 7 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--minimal-tls-version", + description: + "Set the minimal TLS version for connections to server when SSL is enabled. Default is TLSEnforcementDisabled", + args: { + name: "minimal-tls-version", + suggestions: [ + "TLS1_0", + "TLS1_1", + "TLS1_2", + "TLSEnforcementDisabled", + ], + }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--public-network-access", "--public"], + description: + "Enable or disable public network access to server. When disabled, only connections made through Private Links can reach this server. Allowed values are : Enabled, Disabled, all, 0.0.0.0, , . Default is Enabled", + args: { name: "public-network-access" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku-name", + description: + "The name of the sku. Follows the convention {pricing tier}{compute generation}{vCores} in shorthand. Examples: B_Gen5_1, GP_Gen5_4, MO_Gen5_16", + args: { name: "sku-name" }, + }, + { + name: "--ssl-enforcement", + description: + "Enable or disable ssl enforcement for connections to server. Default is Enabled", + args: { + name: "ssl-enforcement", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: + "The storage capacity of the server (unit is megabytes). Minimum 5120 and increases in 1024 increments. Default is 5120", + args: { name: "storage-size" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: "Wait for server to satisfy certain conditions", + options: [ + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + ], + }, + { + name: "configuration", + description: "Manage configuration values for a server", + subcommands: [ + { + name: "list", + description: "List the configuration values for a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set", + description: "Update the configuration of a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the configuration", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--value", + description: + "Value of the configuration. If not provided, configuration value will be set to default", + args: { name: "value" }, + }, + ], + }, + { + name: "show", + description: 'Get the configuration for a server."', + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the server configuration", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "firewall-rule", + description: "Manage firewall rules for a server", + subcommands: [ + { + name: "create", + description: "Create a new firewall rule for a server", + options: [ + { + name: "--end-ip-address", + description: + "The end IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "end-ip-address" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the firewall rule. The firewall rule name cannot be empty. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "start-ip-address" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the firewall rule. The firewall rule name cannot be empty. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all firewall rules for a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the firewall rule. The firewall rule name cannot be empty. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a firewall rule", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--end-ip-address", + description: + "The end IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "end-ip-address" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the firewall rule. The firewall rule name cannot be empty. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "start-ip-address" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: "Manage MariaDB server private endpoint connections", + subcommands: [ + { + name: "approve", + description: + "Approve the specified private endpoint connection associated with a MariaDB server", + options: [ + { + name: "--description", + description: "Comments for approve operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Server. If specified --server-name/-s and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Server. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name of specified server", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the Server. Required if --id is not specified", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the specified private endpoint connection associated with a MariaDB server", + options: [ + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Server. If specified --server-name/-s and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Server. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name of specified server", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the Server. Required if --id is not specified", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reject", + description: + "Reject the specified private endpoint connection associated with a MariaDB server", + options: [ + { + name: "--description", + description: "Comments for reject operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Server. If specified --server-name/-s and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Server. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name of specified server", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the Server. Required if --id is not specified", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a private endpoint connection associated with a MariaDB server", + options: [ + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Server. If specified --server-name/-s and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Server. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name of specified server", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the Server. Required if --id is not specified", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage MariaDB server private link resources", + subcommands: [ + { + name: "list", + description: + "List the private link resources supported for a MariaDB server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the Server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "replica", + description: "Manage read replicas", + subcommands: [ + { + name: "create", + description: "Create a read replica for a server", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--source-server", "-s"], + description: + "The name or resource ID of the master server to the create replica for", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. If not provided, the create replica will be in the same location as the master server", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--sku-name", + description: + "The name of the sku. Follows the convention {pricing tier}{compute generation}{vCores} in shorthand. Examples: B_Gen5_1, GP_Gen5_4, MO_Gen5_16", + args: { name: "sku-name" }, + }, + ], + }, + { + name: "list", + description: "List all read replicas for a given server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the master server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: + "Stop replication to a read replica and make it a read/write server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "vnet-rule", + description: "Manage a server's virtual network rules", + subcommands: [ + { + name: "create", + description: + "Create a virtual network rule to allows access to a MariaDB server", + options: [ + { + name: ["--name", "-n"], + description: "The name of the vnet rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "Name or ID of the subnet that allows access to an Azure Postgres Server. If subnet name is provided, --vnet-name must be provided", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: ["--ignore-missing-endpoint", "-i"], + description: + "Create vnet rule before virtual network has vnet service endpoint enabled", + args: { + name: "ignore-missing-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vnet-name", + description: "The virtual network name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes the virtual network rule with the given name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the vnet rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Gets a list of virtual network rules in a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Gets a virtual network rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the vnet rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a virtual network rule", + options: [ + { + name: "--subnet", + description: + "Name or ID of the subnet that allows access to an Azure Postgres Server. If subnet name is provided, --vnet-name must be provided", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--ignore-missing-endpoint", "-i"], + description: + "Create vnet rule before virtual network has vnet service endpoint enabled", + args: { + name: "ignore-missing-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--name", "-n"], + description: "The name of the vnet rule", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "The virtual network name", + args: { name: "vnet-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "server-logs", + description: "Manage server logs", + subcommands: [ + { + name: "download", + description: "Download log files", + options: [ + { + name: ["--name", "-n"], + description: + "Space-separated list of log filenames on the server to download", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List log files for a server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: "Name of the Server", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--file-last-written", + description: + "Integer in hours to indicate file last modify time, default value is 72", + args: { name: "file-last-written" }, + }, + { + name: "--filename-contains", + description: "The pattern that file name should match", + args: { name: "filename-contains" }, + }, + { + name: "--max-file-size", + description: "The file size limitation to filter files", + args: { name: "max-file-size" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/mesh.ts b/src/az/2.53.0/mesh.ts new file mode 100644 index 000000000000..a18fdd81ac54 --- /dev/null +++ b/src/az/2.53.0/mesh.ts @@ -0,0 +1,904 @@ +const completion: Fig.Spec = { + name: "mesh", + description: "(PREVIEW) Manage Azure Service Fabric Mesh Resources", + subcommands: [ + { + name: "app", + description: "Manage Service Fabric Mesh applications", + subcommands: [ + { + name: "delete", + description: "Delete a Service Fabric Mesh application", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the application", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List Service Fabric Mesh applications", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a Service Fabric Mesh application", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the application", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "code-package-log", + description: "Examine the logs for a codepackage", + subcommands: [ + { + name: "get", + description: "Examine the logs for a codepackage", + options: [ + { + name: ["--application-name", "--app-name"], + description: "The name of the application", + args: { name: "application-name" }, + }, + { + name: "--code-package-name", + description: "The name of code package of the service", + args: { name: "code-package-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--replica-name", + description: "Service Fabric replica name", + args: { name: "replica-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--service-name", + description: "The name of the service", + args: { name: "service-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tail", + description: + "Number of lines to show from the end of the logs. Default is 100", + args: { name: "tail" }, + }, + ], + }, + ], + }, + { + name: "deployment", + description: "Manage Service Fabric Mesh deployments", + subcommands: [ + { + name: "create", + description: "Create a Service Fabric Mesh application", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--input-yaml-files", + description: + "List of comma-separated yaml files or a directory which contains all the yaml files", + args: { name: "input-yaml-files" }, + }, + { + name: "--mode", + description: + "The mode for deployment, can be incremental(resources are only added) or complete(previous resources will be deleted)", + args: { name: "mode" }, + }, + { + name: ["--name", "-n"], + description: + "The deployment name. Default to template file base name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--parameters", + description: + "Parameters in yaml file as key-value pairs or as json object or as json arm parameter file to supplement parameters of the deployment template", + args: { name: "parameters" }, + }, + { + name: "--template-file", + description: "The full file path of creation template", + args: { name: "template-file" }, + }, + { + name: "--template-uri", + description: + "The full file path of creation template on a http or https link", + args: { name: "template-uri" }, + }, + ], + }, + ], + }, + { + name: "gateway", + description: "Manage gateway resources", + subcommands: [ + { + name: "delete", + description: "Delete a gateway resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List gateway resources", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "generate", + description: "Generate Service Fabric Mesh deployment template", + subcommands: [ + { + name: "armtemplate", + description: + "Generate a Service Fabric Mesh ARM deployment template from input yaml", + options: [ + { + name: "--input-yaml-files", + description: + "List of comma-separated yaml files or a directory which contains all the yaml files", + args: { name: "input-yaml-files" }, + isRequired: true, + }, + { + name: "--parameters", + description: + "Parameters in yaml file as key-value pairs or as json object or as json arm parameter file to supplement parameters of the deployment template", + args: { name: "parameters" }, + }, + ], + }, + ], + }, + { + name: "network", + description: "Manage networks", + subcommands: [ + { + name: "delete", + description: "Delete a network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the network", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List networks", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the network", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "secret", + description: "Manage secret resources", + subcommands: [ + { + name: "delete", + description: "Delete a secret", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the secret resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List Secrets", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a secret", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the secret", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "secretvalue", + description: "Manage secret values", + subcommands: [ + { + name: "delete", + description: "Delete a secret version", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--secret-resource-name", + description: "The name of the secret resource", + args: { name: "secret-resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--version", "-v"], + description: "The name of the secret version", + args: { name: "version" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List Secrets versions", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--secret-name", "-n"], + description: "The name of the secret resource", + args: { name: "secret-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a secret value", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--secret-name", "-n"], + description: "The name of the secret resource", + args: { name: "secret-name" }, + isRequired: true, + }, + { + name: ["--version", "-v"], + description: "The name of the secret version", + args: { name: "version" }, + isRequired: true, + }, + { + name: "--show-value", + description: "Pass this flag to receive the value of the secret", + }, + ], + }, + ], + }, + { + name: "service", + description: "Manage Service Fabric Mesh services", + subcommands: [ + { + name: "list", + description: "List all the service resources", + options: [ + { + name: ["--application-name", "--app-name"], + description: "The name of the application", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a service", + options: [ + { + name: ["--application-name", "--app-name"], + description: "The name of the application", + args: { name: "application-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "service-replica", + description: "Manage Service Fabric Mesh service replicas", + subcommands: [ + { + name: "list", + description: "List the details of service replicas", + options: [ + { + name: ["--application-name", "--app-name"], + description: "The name of the application", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Gets the given replica of the service of an application", + options: [ + { + name: ["--application-name", "--app-name"], + description: "The name of the application", + args: { name: "application-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the service replica", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--service-name", + description: "The name of the service", + args: { name: "service-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "volume", + description: "Manage volumes", + subcommands: [ + { + name: "create", + description: "Create a volume", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the volume", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--template-file", + description: "The full file path of creation template", + args: { name: "template-file" }, + }, + { + name: "--template-uri", + description: + "The full file path of creation template on a http or https link", + args: { name: "template-uri" }, + }, + ], + }, + { + name: "delete", + description: "Delete a volume", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the volume", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List volumes", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a volume", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the volume", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/ml.ts b/src/az/2.53.0/ml.ts new file mode 100644 index 000000000000..9e5b2f9c2997 --- /dev/null +++ b/src/az/2.53.0/ml.ts @@ -0,0 +1,7586 @@ +const completion: Fig.Spec = { + name: "ml", + description: + "Manage Azure Machine Learning resources with the Azure CLI ML extension v1", + subcommands: [ + { + name: "computetarget", + description: "Computetarget subgroup commands", + subcommands: [ + { + name: "delete", + description: + "Delete a compute target (aks or amlcompute or computeinstance)", + options: [ + { + name: ["--name", "-n"], + description: "Name of compute target to delete", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the environment to delete", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "detach", + description: + "Detach a compute target (aks or remote) from a workspace", + options: [ + { + name: ["--name", "-n"], + description: "Name of compute target to detach", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the environment to detach", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "get-credentials", + description: "Get credentials for a compute target (aks or remote)", + options: [ + { + name: ["--name", "-n"], + description: "Name of compute target to retrieve keys for", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the compute target to get credentials for", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "list", + description: "List all the compute targets attached to a workspace", + options: [ + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the compute target to show", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag" }, + ], + }, + { + name: "show", + description: "Show details of a specific compute target", + options: [ + { + name: ["--name", "-n"], + description: "Name of compute target to show", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the compute target to show", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag" }, + ], + }, + { + name: "amlcompute", + description: "AzureML compute commands", + subcommands: [ + { + name: "identity", + description: "AzureML compute target identity commands", + subcommands: [ + { + name: "assign", + description: "Assign identity to an AzureML compute target", + options: [ + { + name: "--identities", + description: + "Use '[system]' to set a system assigned identity else input resource IDs separated by commas (ie 'ResourceID1,ResourceID2') to set user assigned identities", + args: { name: "identities" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of compute target to provision", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace to create this compute target under", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag" }, + ], + }, + { + name: "remove", + description: "Remove identity from an AzureML compute target", + options: [ + { + name: "--identities", + description: + "Use '[system]' to remove a system assigned identity else input resource IDs separated by commas (ie 'ResourceID1,ResourceID2') to remove user assigned identities", + args: { name: "identities" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of compute target to provision", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace to create this compute target under", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag" }, + ], + }, + { + name: "show", + description: + "Display identities of an AzureML compute target", + options: [ + { + name: ["--name", "-n"], + description: "Name of compute target to provision", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace to create this compute target under", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag" }, + ], + }, + ], + }, + ], + }, + { + name: "attach", + description: "Attach subgroup commands", + subcommands: [ + { + name: "aks", + description: "Attach an AKS cluster to the workspace", + options: [ + { + name: ["--compute-resource-id", "-i"], + description: + "Resource ID of the compute object to attach to the workspace", + args: { name: "compute-resource-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Specifies the compute target name. Must be unique to the workspace", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + 'Resource group corresponding to the provided workspace. A default value for all commands can be set by running "az configure --defaults group=". This parameter will override any set default', + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: + 'Name of the workspace to create this compute target under. A default value for all commands can be set by running "az configure --defaults workspace_name=". This parameter will override any set default', + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "kubernetes", + description: + "Attach a KubernetesCompute as a compute target to the workspace", + options: [ + { + name: ["--compute-resource-id", "-i"], + description: + "Resource ID of the compute object to attach to the workspace", + args: { name: "compute-resource-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Specifies the compute target name. Must be unique to the workspace", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: + "The Kubernetes namespace to which workloads for the compute target are submitted", + args: { name: "namespace" }, + }, + { + name: ["--resource-group", "-g"], + description: + 'Resource group corresponding to the provided workspace. A default value for all commands can be set by running "az configure --defaults group=". This parameter will override any set default', + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: + 'Name of the workspace to create this compute target under. A default value for all commands can be set by running "az configure --defaults workspace_name=". This parameter will override any set default', + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "remote", + description: + "Attach a remote machine without Docker as a compute target to the workspace", + options: [ + { + name: ["--address", "-a"], + description: "DNS name or IP address of the target", + args: { name: "address" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Specifies the compute target name. Must be unique to the workspace", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ssh-port", + description: + "Ssh port that can be use to connect to the compute", + args: { name: "ssh-port" }, + isRequired: true, + }, + { + name: ["--username", "-u"], + description: + "The username for the remote machine being attached. Must also provide either a password or public and private key files", + args: { name: "username" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: + "The password for the remote machine being attached. Must either provide a password or public and private key files", + args: { name: "password" }, + }, + { + name: "--private-key-file", + description: + "Path to a file containing the private key information for the remote machine being attached", + args: { name: "private-key-file" }, + }, + { + name: "--private-key-passphrase", + description: + "Passphrase for private key specified with the --private-key-file option", + args: { name: "private-key-passphrase" }, + }, + { + name: ["--resource-group", "-g"], + description: + 'Resource group corresponding to the provided workspace. A default value for all commands can be set by running "az configure --defaults group=". This parameter will override any set default', + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: + 'Name of the workspace to create this compute target under. A default value for all commands can be set by running "az configure --defaults workspace_name=". This parameter will override any set default', + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "computeinstance", + description: "AzureML compute instance commands", + subcommands: [ + { + name: "restart", + description: "Restart a compute instance", + options: [ + { + name: ["--name", "-n"], + description: "Name of compute instance to restart", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the compute target to restart", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag" }, + ], + }, + { + name: "start", + description: "Start a compute instance", + options: [ + { + name: ["--name", "-n"], + description: "Name of compute instance to start", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the compute target to start", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag" }, + ], + }, + { + name: "stop", + description: "Stop a compute instance", + options: [ + { + name: ["--name", "-n"], + description: "Name of compute instance to stop", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the compute target to stop", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag" }, + ], + }, + ], + }, + { + name: "create", + description: + "Create a compute target (aks or amlcompute or computeinstance)", + subcommands: [ + { + name: "aks", + description: "Create an AKS compute target", + options: [ + { + name: ["--name", "-n"], + description: "Name of compute target to provision", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--agent-count", "-a"], + description: + "Number of agents to provision with the AKS cluster. Default: 3", + args: { name: "agent-count" }, + }, + { + name: "--cluster-purpose", + description: + 'Targeted purpose of the cluster. This is used when provisioning AzureML components to ensure the desired level of fault-tolerance and QoS. Accepted values are "FastProd" and "DevTest". Further detail of the use cases can be found here: https://aka.ms/azureml-create-new-aks-cluster', + args: { name: "cluster-purpose" }, + }, + { + name: "--dns-service-ip", + description: "Containers DNS server IP address", + args: { name: "dns-service-ip" }, + }, + { + name: "--docker-bridge-cidr", + description: "A CIDR notation IP for Docker bridge", + args: { name: "docker-bridge-cidr" }, + }, + { + name: "--load-balancer-subnet", + description: + 'You can specify subnet for the AKS cluster when Internal Load Balancer is used as load balancer type. Default is "aks-subnet"', + args: { name: "load-balancer-subnet" }, + }, + { + name: "--load-balancer-type", + description: + 'You can create an AKS cluster with either Public IP or Internal Load Balancer. Accepted values are "PublicIp" and "InternalLoadBalancer". Default is "PublicIp"', + args: { name: "load-balancer-type" }, + }, + { + name: ["--location", "-l"], + description: + "Location to provision cluster in. If not specified, will default to workspace location", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--service-cidr", + description: + "A CIDR notation IP range from which to assign service cluster IPs", + args: { name: "service-cidr" }, + }, + { + name: "--ssl-cert-file", + description: + "Cert pem file to use for SSL validation. If provided, must also provide cname and key pem file", + args: { name: "ssl-cert-file" }, + }, + { + name: "--ssl-cname", + description: + "Cname to use for SSL validation. If provided, must also provide cert and key pem files", + args: { name: "ssl-cname" }, + }, + { + name: "--ssl-key-file", + description: + "Key pem file to use for SSL validation. If provided, must also provide cname and cert pem file", + args: { name: "ssl-key-file" }, + }, + { + name: "--ssl-leaf-domain-label", + description: + "Leaf domain label to use for the auto generated certificate", + args: { name: "ssl-leaf-domain-label" }, + }, + { + name: "--ssl-overwrite-domain", + description: + "When set overwrites the existing leaf domain label", + args: { name: "ssl-overwrite-domain" }, + }, + { + name: "--subnet-name", + description: "Name of the subnet inside the vnet", + args: { name: "subnet-name" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--vm-size", "-s"], + description: + "VM size to use for the compute target. A full list of options can be found here: https://aka.ms/azureml-aks-details Default: Standard_D3_v2", + args: { name: "vm-size" }, + }, + { + name: "--vnet-name", + description: "Name of the virtual network", + args: { name: "vnet-name" }, + }, + { + name: "--vnet-resourcegroup-name", + description: + "Name of the resource group where the virtual network is located", + args: { name: "vnet-resourcegroup-name" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace to create this compute target under", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag" }, + ], + }, + { + name: "amlcompute", + description: "Create an AzureML compute target", + options: [ + { + name: "--max-nodes", + description: "Maximum number of nodes to use. Default: 4", + args: { name: "max-nodes" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of compute target to provision", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--vm-size", "-s"], + description: + "VM size to use for the compute target. More details can be found here: https://aka.ms/azureml-vm-details Default: Standard_NC6", + args: { name: "vm-size" }, + isRequired: true, + }, + { + name: "--admin-user-password", + description: "Password of the administrator user account", + args: { name: "admin-user-password" }, + }, + { + name: "--admin-user-ssh-key", + description: + "SSH public key of the administrator user account", + args: { name: "admin-user-ssh-key" }, + }, + { + name: "--admin-username", + description: + "Name of the administrator user account which can be used to SSH into nodes", + args: { name: "admin-username" }, + }, + { + name: "--assign-identity", + description: + "Use '[system]' to set a system assigned identity else input resource IDs separated by commas (ie 'ResourceID1,ResourceID2') to set user assigned identities", + args: { name: "assign-identity" }, + }, + { + name: "--description", + description: "Description of the compute target", + args: { name: "description" }, + }, + { + name: "--enable-node-public-ip", + description: "Enable Node Public IP", + args: { name: "enable-node-public-ip" }, + }, + { + name: "--idle-seconds-before-scaledown", + description: + "Node idle time in seconds before scaling down the cluster", + args: { name: "idle-seconds-before-scaledown" }, + }, + { + name: ["--location", "-l"], + description: + "Location to provision cluster in. If not specified, will default to workspace location", + args: { name: "location" }, + }, + { + name: "--min-nodes", + description: "Minimum number of nodes to use. Default: 0", + args: { name: "min-nodes" }, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: "--remote-login-port-public-access", + description: + "State of the public SSH port. Possible values are: Enabled or Disabled", + args: { name: "remote-login-port-public-access" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subnet-name", + description: "Name of the subnet inside the vnet", + args: { name: "subnet-name" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: "--tag", + description: + "Key/value tag to add (e.g. key=value ). Multiple tags can be specified with multiple --tag options", + args: { name: "tag" }, + }, + { + name: ["--vm-priority", "-p"], + description: + "VM priority to use for the compute target. (Options are 'dedicated', 'lowpriority') Default: dedicated", + args: { name: "vm-priority" }, + }, + { + name: "--vnet-name", + description: "Name of the virtual network", + args: { name: "vnet-name" }, + }, + { + name: "--vnet-resourcegroup-name", + description: + "Name of the resource group where the virtual network is located", + args: { name: "vnet-resourcegroup-name" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace to create this compute target under", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag" }, + ], + }, + { + name: "computeinstance", + description: "Create an AzureML compute instance target", + options: [ + { + name: ["--name", "-n"], + description: "Name of compute instance to create", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--vm-size", "-s"], + description: + "VM size to use for the compute target. More details can be found here: https://aka.ms/azureml-vm-details Default: Standard_NC6", + args: { name: "vm-size" }, + isRequired: true, + }, + { + name: "--admin-user-ssh-public-key", + description: + "SSH public key of the administrator user account", + args: { name: "admin-user-ssh-public-key" }, + }, + { + name: "--description", + description: "Description of the compute target", + args: { name: "description" }, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--ssh-public-access", + description: + "State of the public SSH port. Possible values are: True or False", + args: { name: "ssh-public-access" }, + }, + { + name: "--subnet-name", + description: "Name of the subnet inside the vnet", + args: { name: "subnet-name" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: "--tag", + description: + "Key/value tag to add (e.g. key=value ). Multiple tags can be specified with multiple --tag options", + args: { name: "tag" }, + }, + { + name: "--user-object-id", + description: + "The AAD Object ID of the assigned user of this compute instance (preview)", + args: { name: "user-object-id" }, + }, + { + name: "--user-tenant-id", + description: + "The AAD Tenant ID of the assigned user of this compute instance (preview)", + args: { name: "user-tenant-id" }, + }, + { + name: "--vnet-name", + description: "Name of the virtual network", + args: { name: "vnet-name" }, + }, + { + name: "--vnet-resourcegroup-name", + description: + "Name of the resource group where the virtual network is located", + args: { name: "vnet-resourcegroup-name" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace to create this compute target under", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag" }, + ], + }, + { + name: "datafactory", + description: "Create a data factory compute target", + options: [ + { + name: ["--name", "-n"], + description: "Name of compute target to provision", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location to provision cluster in. If not specified, will default to workspace location", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace to create this compute target under", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag" }, + ], + }, + ], + }, + { + name: "update", + description: "Update a compute target (aks or amlcompute)", + subcommands: [ + { + name: "aks", + description: "Update an AKS compute target", + options: [ + { + name: ["--name", "-n"], + description: "Name of compute target to update", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--load-balancer-subnet", + description: + 'You can specify subnet for the AKS cluster when Internal Load Balancer is used as load balancer type. Default is "aks-subnet"', + args: { name: "load-balancer-subnet" }, + }, + { + name: "--load-balancer-type", + description: + 'You can create an AKS cluster with either Public IP or Internal Load Balancer. Accepted values are "PublicIp" and "InternalLoadBalancer". Default is "PublicIp"', + args: { name: "load-balancer-type" }, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--ssl-cert-file", + description: + "Cert pem file to use for SSL validation. If provided, must also provide cname and key pem file", + args: { name: "ssl-cert-file" }, + }, + { + name: "--ssl-cname", + description: + "Cname to use for SSL validation. If provided, must also provide cert and key pem files", + args: { name: "ssl-cname" }, + }, + { + name: "--ssl-disable", + description: "Disable SSL validation", + args: { name: "ssl-disable" }, + }, + { + name: "--ssl-key-file", + description: + "Key pem file to use for SSL validation. If provided, must also provide cname and cert pem file", + args: { name: "ssl-key-file" }, + }, + { + name: "--ssl-leaf-domain-label", + description: + "Leaf domain label to use for the auto generated certificate", + args: { name: "ssl-leaf-domain-label" }, + }, + { + name: "--ssl-overwrite-domain", + description: + "When set overwrites the existing leaf domain label", + args: { name: "ssl-overwrite-domain" }, + }, + { + name: "--ssl-renew", + description: + "Refreshes the auto generated certificate. If provided, the existing SSL configuration must be auto", + args: { name: "ssl-renew" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace to create this compute target under", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag" }, + ], + }, + { + name: "amlcompute", + description: "Update an AzureML compute target", + options: [ + { + name: ["--name", "-n"], + description: "Name of compute target to provision", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--idle-seconds-before-scaledown", + description: + "Node idle time in seconds before scaling down the cluster", + args: { name: "idle-seconds-before-scaledown" }, + }, + { + name: "--max-nodes", + description: "Maximum number of nodes to use", + args: { name: "max-nodes" }, + }, + { + name: "--min-nodes", + description: "Minimum number of nodes to use", + args: { name: "min-nodes" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace to create this compute target under", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag" }, + ], + }, + ], + }, + ], + }, + { + name: "dataset", + description: + "Commands for managing datasets in Azure Machine Learning Workspace", + subcommands: [ + { + name: "archive", + description: "Archive an active or deprecated dataset", + options: [ + { + name: ["--id", "-i"], + description: "Dataset ID (guid)", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Registration name of the dataset", + args: { name: "name" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "deprecate", + description: + "Deprecate an active dataset in a workspace by another dataset", + options: [ + { + name: ["--deprecate-by-id", "-d"], + description: + "Dataset ID (guid) which is the intended replacement for this Dataset", + args: { name: "deprecate-by-id" }, + isRequired: true, + }, + { + name: ["--id", "-i"], + description: "Dataset ID (guid)", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Registration name of the dataset", + args: { name: "name" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list", + description: "List all datasets in the workspace", + options: [ + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "reactivate", + description: "Reactivate an archived or deprecated dataset", + options: [ + { + name: ["--id", "-i"], + description: "Dataset ID (guid)", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Registration name of the dataset", + args: { name: "name" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "register", + description: "Register a new dataset from the specified file", + options: [ + { + name: ["--file", "-f"], + description: "Specification file for dataset", + args: { name: "file" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--show-template", + description: "Show template of dataset specification file", + }, + { + name: "--skip-validation", + description: + "Skip validation that ensures data can be loaded from the dataset before registration", + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show", + description: + "Get details of a dataset by its id or registration name", + options: [ + { + name: ["--id", "-i"], + description: "ID of the dataset saved to workspace", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Registration name of the dataset", + args: { name: "name" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--version", "-v"], + description: "Registration version of the dataset", + args: { name: "version" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "unregister", + description: + "Unregister all versions under the specified registration name", + options: [ + { + name: ["--name", "-n"], + description: "Registration name of the dataset", + args: { name: "name" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "datastore", + description: + "Commands for managing and using datastores with the Azure ML Workspace", + subcommands: [ + { + name: "attach-adls", + description: "Attach an ADLS datastore", + options: [ + { + name: "--client-id", + description: "The service principal's client/application ID", + args: { name: "client-id" }, + isRequired: true, + }, + { + name: "--client-secret", + description: "The service principal's secret", + args: { name: "client-secret" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The datastore name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--store-name", "-c"], + description: "The ADLS store name", + args: { name: "store-name" }, + isRequired: true, + }, + { + name: "--tenant-id", + description: "The service principal Tenant ID", + args: { name: "tenant-id" }, + isRequired: true, + }, + { + name: "--adls-resource-group", + description: "The resource group the ADLS store belongs to", + args: { name: "adls-resource-group" }, + }, + { + name: "--adls-subscription-id", + description: + "The ID of the subscription the ADLS store belongs to", + args: { name: "adls-subscription-id" }, + }, + { + name: "--authority-url", + description: "Authority url used to authenticate the user", + args: { name: "authority-url" }, + }, + { + name: "--grant-workspace-msi-access", + description: + "Defaults to False. Set it to True to access data behind virtual network from Machine Learning Studio. This makes data access from Machine Learning Studio use workspace managed identity for authentication, You have to be Owner or User Access Administrator of the storage to opt-in. Ask your administrator to configure it for you if you do not have the required permission. Learn more 'https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network", + args: { name: "grant-workspace-msi-access" }, + }, + { + name: "--include-secret", + description: "Show the registered secret for the datastores", + args: { name: "include-secret" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--resource-url", + description: + "Determines what operations will be performed on the data lake store", + args: { name: "resource-url" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "attach-adls-gen2", + description: "Attach a ADLS Gen2 datastore", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the storage account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--client-id", + description: "The service principal's client/application ID", + args: { name: "client-id" }, + isRequired: true, + }, + { + name: "--client-secret", + description: "The service principal's secret", + args: { name: "client-secret" }, + isRequired: true, + }, + { + name: ["--file-system", "-c"], + description: "The file system name of the ADLS Gen2", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The datastore name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--tenant-id", + description: "The service principal Tenant ID", + args: { name: "tenant-id" }, + isRequired: true, + }, + { + name: "--adlsgen2-account-resource-group", + description: + "The resource group of the ADLS Gen2 storage account", + args: { name: "adlsgen2-account-resource-group" }, + }, + { + name: "--adlsgen2-account-subscription-id", + description: + "The subscription ID of the ADLS Gen2 storage account", + args: { name: "adlsgen2-account-subscription-id" }, + }, + { + name: "--authority-url", + description: "Authority url used to authenticate the user", + args: { name: "authority-url" }, + }, + { + name: "--endpoint", + description: + "The endpoint of the storage account. Defaults to core.windows.net", + args: { name: "endpoint" }, + }, + { + name: "--grant-workspace-msi-access", + description: + "Defaults to False. Set it to True to access data behind virtual network from Machine Learning Studio. This makes data access from Machine Learning Studio use workspace managed identity for authentication, You have to be Owner or User Access Administrator of the storage to opt-in. Ask your administrator to configure it for you if you do not have the required permission. Learn more 'https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network", + args: { name: "grant-workspace-msi-access" }, + }, + { + name: "--include-secret", + description: "Show the registered secret for the datastores", + args: { name: "include-secret" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: "--protocol", + description: + "Protocol to use to connect to the blob container. If not specified, defaults to https", + args: { name: "protocol" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--resource-url", + description: + "Determines what operations will be performed on the data lake store", + args: { name: "resource-url" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "attach-blob", + description: "Attach a blob storage datastore", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the storage account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The blob container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The datastore name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--account-key", "-k"], + description: "The storage account key", + args: { name: "account-key" }, + }, + { + name: "--endpoint", + description: + "The endpoint of the storage account. Defaults to core.windows.net", + args: { name: "endpoint" }, + }, + { + name: "--grant-workspace-msi-access", + description: + "Defaults to False. Set it to True to access data behind virtual network from Machine Learning Studio. This makes data access from Machine Learning Studio use workspace managed identity for authentication, You have to be Owner or User Access Administrator of the storage to opt-in. Ask your administrator to configure it for you if you do not have the required permission. Learn more 'https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network", + args: { name: "grant-workspace-msi-access" }, + }, + { + name: "--include-secret", + description: "Show the registered secret for the datastores", + args: { name: "include-secret" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: "--protocol", + description: + "Protocol to use to connect to the blob container. If not specified, defaults to https", + args: { name: "protocol" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--sas-token", + description: "A SAS token for the blob container", + args: { name: "sas-token" }, + }, + { + name: "--storage-account-resource-group", + description: "The resource group of the storage account", + args: { name: "storage-account-resource-group" }, + }, + { + name: "--storage-account-subscription-id", + description: "The subscription ID of the storage account", + args: { name: "storage-account-subscription-id" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "attach-dbfs", + description: "Attach a Databricks File System datastore", + options: [ + { + name: ["--name", "-n"], + description: "The datastore name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "attach-file", + description: "Attach a file share datastore", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the storage account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The datastore name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--share-name", "-c"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: ["--account-key", "-k"], + description: "The storage account key", + args: { name: "account-key" }, + }, + { + name: "--endpoint", + description: + "The endpoint of the storage account. Defaults to core.windows.net", + args: { name: "endpoint" }, + }, + { + name: "--include-secret", + description: "Show the registered secret for the datastores", + args: { name: "include-secret" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: "--protocol", + description: + "Protocol to use to connect to the blob container. If not specified, defaults to https", + args: { name: "protocol" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--sas-token", + description: "A SAS token for the blob container", + args: { name: "sas-token" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "attach-mysqldb", + description: "Attach an Azure MySQL datastore", + options: [ + { + name: ["--database-name", "-d"], + description: "The database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The datastore name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: "The password", + args: { name: "password" }, + isRequired: true, + }, + { + name: "--server-name", + description: "The SQL/PostgreSQL/MySQL server name", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: ["--user-id", "-u"], + description: "The user ID", + args: { name: "user-id" }, + isRequired: true, + }, + { + name: "--endpoint", + description: + "The endpoint of the server. Defaults to mysql.database.azure.com", + args: { name: "endpoint" }, + }, + { + name: "--include-secret", + description: "Show the registered secret for the datastores", + args: { name: "include-secret" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: "--port", + description: "The port number", + args: { name: "port" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "attach-psqldb", + description: "Attach an Azure PostgreSQL datastore", + options: [ + { + name: ["--database-name", "-d"], + description: "The database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The datastore name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--password", "-p"], + description: "The password", + args: { name: "password" }, + isRequired: true, + }, + { + name: "--server-name", + description: "The SQL/PostgreSQL/MySQL server name", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: ["--user-id", "-u"], + description: "The user ID", + args: { name: "user-id" }, + isRequired: true, + }, + { + name: "--endpoint", + description: + "The endpoint of the server. Defaults to postgres.database.azure.com", + args: { name: "endpoint" }, + }, + { + name: "--enforce-ssl", + description: + "This sets the ssl value of the server. Defaults to true if not set", + args: { name: "enforce-ssl" }, + }, + { + name: "--include-secret", + description: "Show the registered secret for the datastores", + args: { name: "include-secret" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: "--port", + description: "The port number", + args: { name: "port" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "attach-sqldb", + description: "Attach an Azure SQL datastore", + options: [ + { + name: ["--database-name", "-d"], + description: "The database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The datastore name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--server-name", + description: "The SQL/PostgreSQL/MySQL server name", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--authority-url", + description: "Authority url used to authenticate the user", + args: { name: "authority-url" }, + }, + { + name: "--client-id", + description: "The service principal/application ID", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "The service principal's secret", + args: { name: "client-secret" }, + }, + { + name: "--endpoint", + description: + "The endpoint of the sql server. Defaults to database.windows.net", + args: { name: "endpoint" }, + }, + { + name: "--grant-workspace-msi-access", + description: + "Defaults to False. Set it to True to access data behind virtual network from Machine Learning Studio. This makes data access from Machine Learning Studio use workspace managed identity for authentication, You have to be Owner or User Access Administrator of the storage to opt-in. Ask your administrator to configure it for you if you do not have the required permission. Learn more 'https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network", + args: { name: "grant-workspace-msi-access" }, + }, + { + name: "--include-secret", + description: "Show the registered secret for the datastores", + args: { name: "include-secret" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--password", + description: + "The password of the database user to access the database", + args: { name: "password" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--resource-url", + description: + "Determines what operations will be performed on the database", + args: { name: "resource-url" }, + }, + { + name: "--sql-resource-group", + description: "The resource group of the Azure Sql Server", + args: { name: "sql-resource-group" }, + }, + { + name: "--sql-subscription-id", + description: "The subscription ID of the Azure Sql Server", + args: { name: "sql-subscription-id" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: "--tenant-id", + description: "The service principal Tenant ID", + args: { name: "tenant-id" }, + }, + { + name: "--username", + description: + "The username of the database user to access the database", + args: { name: "username" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "detach", + description: "Detach a datastore by name", + options: [ + { + name: ["--name", "-n"], + description: "The datastore name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "download", + description: "Download files from a Datastore", + options: [ + { + name: ["--name", "-n"], + description: "The datastore name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--target-path", "-d"], + description: "Target path for the downloaded files", + args: { name: "target-path" }, + isRequired: true, + }, + { + name: "--hide-progress", + description: "Whether to hide progress of operation", + args: { name: "hide-progress" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--overwrite", + description: "Overwrite target files if they exist", + args: { name: "overwrite" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--prefix", "-p"], + description: + "Path filter for files to download. If none is provided, downloads everything", + args: { name: "prefix" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list", + description: "List datastores in the workspace", + options: [ + { + name: "--include-secret", + description: "Show the registered secret for the datastores", + args: { name: "include-secret" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "set-default", + description: "Set the workspace default datastore by name", + options: [ + { + name: ["--name", "-n"], + description: "The datastore name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show", + description: "Show a single datastore by name", + options: [ + { + name: ["--name", "-n"], + description: "The datastore name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--include-secret", + description: "Show the registered secret for the datastores", + args: { name: "include-secret" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show-default", + description: "Show the workspace default datastore", + options: [ + { + name: "--include-secret", + description: "Show the registered secret for the datastores", + args: { name: "include-secret" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "upload", + description: "Upload files to a Datastore", + options: [ + { + name: ["--name", "-n"], + description: "The datastore name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--src-path", "-p"], + description: "Path from which to upload data", + args: { name: "src-path" }, + isRequired: true, + }, + { + name: "--hide-progress", + description: "Whether to hide progress of operation", + args: { name: "hide-progress" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--overwrite", + description: "Overwrite target files if they exist", + args: { name: "overwrite" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--target-path", "-u"], + description: + "Path to upload data in the container. Uploads to the root by default", + args: { name: "target-path" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "endpoint", + description: "Manage machine learning endpoints", + subcommands: [ + { + name: "realtime", + description: "Manage operationalized realtime endpoints", + subcommands: [ + { + name: "create-version", + description: + "Create a version for realtime endpoint in the workspace", + options: [ + { + name: ["--name", "-n"], + description: "The endpoint name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--version-name", "--vn"], + description: "The version name to create in an Endpoint", + args: { name: "version-name" }, + isRequired: true, + }, + { + name: "--add-property", + description: + "Key/value property to add (e.g. key=value ). Multiple properties can be specified with multiple --add-property options", + args: { name: "add-property" }, + }, + { + name: "--add-tag", + description: + "Key/value tag to add (e.g. key=value ). Multiple tags can be specified with multiple --add-tag options", + args: { name: "add-tag" }, + }, + { + name: ["--autoscale-refresh-seconds", "--ar"], + description: + "How often the autoscaler should attempt to scale this Webservice. Defaults to 1", + args: { name: "autoscale-refresh-seconds" }, + }, + { + name: ["--autoscale-enabled", "--as"], + description: + "Whether or not to enable autoscaling for this Webservice. Defaults to True if num_replicas is None", + args: { name: "autoscale-enabled" }, + }, + { + name: ["--autoscale-target-utilization", "--at"], + description: + "The target utilization (in percent out of 100) the autoscaler should attempt to maintain for this Webservice. Defaults to 70", + args: { name: "autoscale-target-utilization" }, + }, + { + name: ["--autoscale-max-replicas", "--ma"], + description: + "The maximum number of containers to use when autoscaling this Webservice. Defaults to 10", + args: { name: "autoscale-max-replicas" }, + }, + { + name: ["--autoscale-min-replicas", "--mi"], + description: + "The minimum number of containers to use when autoscaling this Webservice. Defaults to 1", + args: { name: "autoscale-min-replicas" }, + }, + { + name: ["--cpu-cores", "--cc"], + description: + "The number of cpu cores to allocate for this Webservice. Can be a decimal. Defaults to 0.1", + args: { name: "cpu-cores" }, + }, + { + name: ["--cpu-cores-limit", "--ccl"], + description: + "The max number of CPU cores this Webservice is allowed to use. Can be a decimal", + args: { name: "cpu-cores-limit" }, + }, + { + name: ["--conda-file", "--cf"], + description: + "Path to local file containing a conda environment definition to use for the image", + args: { name: "conda-file" }, + }, + { + name: ["--collect-model-data", "--md"], + description: + "Whether or not to enable model data collection for this Webservice. Defaults to False", + args: { name: "collect-model-data" }, + }, + { + name: ["--is-control-version-type", "--cvt"], + description: + "Whether or not this is the control version in an Endpoint. Defaults to False", + args: { name: "is-control-version-type" }, + }, + { + name: ["--deploy-config-file", "--dc"], + description: + "Path to a JSON file containing deployment metadata", + args: { name: "deploy-config-file" }, + }, + { + name: ["--description", "-d"], + description: "Description of the service", + args: { name: "description" }, + }, + { + name: ["--environment-directory", "--ed"], + description: + "Directory for Azure Machine Learning Environment for deployment. It is the same directory path as provided in 'az ml environment scaffold' command", + args: { name: "environment-directory" }, + }, + { + name: ["--entry-script", "--es"], + description: + "Path to local file that contains the code to run for service (relative path from source_directory if one is provided)", + args: { name: "entry-script" }, + }, + { + name: ["--environment-name", "-e"], + description: + "Name of Azure Machine Learning Environment for deployment", + args: { name: "environment-name" }, + }, + { + name: ["--environment-version", "--ev"], + description: + "Version of an existing Azure Machine Learning Environment for deployment", + args: { name: "environment-version" }, + }, + { + name: ["--failure-threshold", "--ft"], + description: + "When a Pod starts and the liveness probe fails, Kubernetes will try --failure-threshold times before giving up. Defaults to 3. Minimum value is 1", + args: { name: "failure-threshold" }, + }, + { + name: ["--memory-gb", "--gb"], + description: + "The amount of memory (in GB) to allocate for this Webservice. Can be a decimal", + args: { name: "memory-gb" }, + }, + { + name: ["--memory-gb-limit", "--gbl"], + description: + "The max amount of memory (in GB) this Webservice is allowed to use. Can be a decimal", + args: { name: "memory-gb-limit" }, + }, + { + name: ["--gpu-cores", "--gc"], + description: + "The number of gpu cores to allocate for this Webservice. Default is 1", + args: { name: "gpu-cores" }, + }, + { + name: ["--inference-config-file", "--ic"], + description: + "Path to a JSON or YAML file containing inference configuration", + args: { name: "inference-config-file" }, + }, + { + name: ["--initial-delay-seconds", "--id"], + description: + "Number of seconds after the container has started before liveness probes are initiated. Defaults to 310", + args: { name: "initial-delay-seconds" }, + }, + { + name: "--is-default", + description: + "Whether or not this is the default version in an Endpoint. Defaults to False", + args: { name: "is-default" }, + }, + { + name: ["--max-request-wait-time", "--mr"], + description: + "The maximum amount of time a request will stay in the queue (in milliseconds) before returning a 503 error. Defaults to 500", + args: { name: "max-request-wait-time" }, + }, + { + name: ["--model", "-m"], + description: + "The ID of the model to be deployed. Multiple models can be specified with additional -m arguments. Models need to be registered first", + args: { name: "model" }, + }, + { + name: ["--model-metadata-file", "-f"], + description: + "Path to a JSON file containing model registration metadata. Multiple models can be provided using multiple -f parameters", + args: { name: "model-metadata-file" }, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: ["--num-replicas", "--nr"], + description: + "The number of containers to allocate for this Webservice. No default, if this parameter is not set then the autoscaler is enabled by default", + args: { name: "num-replicas" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--period-seconds", "--ps"], + description: + "How often (in seconds) to perform the liveness probe. Default to 10 seconds. Minimum value is 1", + args: { name: "period-seconds" }, + }, + { + name: ["--replica-max-concurrent-requests", "--rm"], + description: + "The number of maximum concurrent requests per node to allow for this Webservice. Defaults to 1", + args: { name: "replica-max-concurrent-requests" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: ["--scoring-timeout-ms", "--tm"], + description: + "A timeout to enforce for scoring calls to this Webservice. Defaults to 60000", + args: { name: "scoring-timeout-ms" }, + }, + { + name: ["--source-directory", "--sd"], + description: + "Path to folders that contain all files to create the image", + args: { name: "source-directory" }, + }, + { + name: ["--success-threshold", "--st"], + description: + "Minimum consecutive successes for the liveness probe to be considered successful after having failed. Defaults to 1. Minimum value is 1", + args: { name: "success-threshold" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--timeout-seconds", "--ts"], + description: + "Number of seconds after which the liveness probe times out. Defaults to 2 second. Minimum value is 1", + args: { name: "timeout-seconds" }, + }, + { + name: ["--traffic-percentile", "--tp"], + description: + "The traffic percentile this version takes in Endpoint", + args: { name: "traffic-percentile" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the service to update", + args: { name: "workspace-name" }, + }, + { + name: "-v", + description: "Verbosity flag", + args: { name: "v" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a realtime endpoint and its version from the workspace", + options: [ + { + name: ["--name", "-n"], + description: "The endpoint name to delete", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the endpoint to delete", + args: { name: "workspace-name" }, + }, + { + name: "-v", + description: "Verbosity flag", + args: { name: "v" }, + }, + ], + }, + { + name: "delete-version", + description: + "Delete a version for realtime endpoint in the workspace", + options: [ + { + name: ["--name", "-n"], + description: "The endpoint name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--version-name", "--vn"], + description: "The version name to delete", + args: { name: "version-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the endpoint to delete", + args: { name: "workspace-name" }, + }, + { + name: "-v", + description: "Verbosity flag", + args: { name: "v" }, + }, + ], + }, + { + name: "get-access-token", + description: "Get a token to issue requests a realtime endpoint", + options: [ + { + name: ["--name", "-n"], + description: "Endpoint Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the endpoint to show", + args: { name: "workspace-name" }, + }, + { + name: "-v", + description: "Verbosity flag", + args: { name: "v" }, + }, + ], + }, + { + name: "get-keys", + description: + "Get keys to issue requests against a realtime endpoint", + options: [ + { + name: ["--name", "-n"], + description: "Endpoint Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the endpoint to show", + args: { name: "workspace-name" }, + }, + { + name: "-v", + description: "Verbosity flag", + args: { name: "v" }, + }, + ], + }, + { + name: "get-logs", + description: "Get logs for a realtime endpoint", + options: [ + { + name: ["--name", "-n"], + description: "Endpoint Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--init", "-i"], + description: + "Get logs of init container instead of the scoring container", + }, + { + name: ["--num_lines", "-l"], + description: + "Number of log lines to return from tail (default is 5000)", + args: { name: "num_lines" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the endpoint to show", + args: { name: "workspace-name" }, + }, + { + name: "-v", + description: "Verbosity flag", + args: { name: "v" }, + }, + ], + }, + { + name: "list", + description: "List realtime endpoints in the workspace", + options: [ + { + name: ["--compute-type", "-c"], + description: + "If provided, will only show services that have the specified compute type. (Options are 'ACI', 'AKS', 'AKSENDPOINT')", + args: { name: "compute-type" }, + }, + { + name: "--model-id", + description: + "If provided, will only show services that have the specified model id", + args: { name: "model-id" }, + }, + { + name: "--model-name", + description: + "If provided, will only show services that have the specified model name", + args: { name: "model-name" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: "--property", + description: + "If provided, will filter based on the provided key/value (e.g. key, or key=value). Multiple properties can be specified with multiple --property options", + args: { name: "property" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: "--tag", + description: + "If provided, will filter based on the provided key/value (e.g. key, or key=value). Multiple tags can be specified with multiple --tag options", + args: { name: "tag" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the endpoints to list", + args: { name: "workspace-name" }, + }, + { + name: "-v", + description: "Verbosity flag", + args: { name: "v" }, + }, + ], + }, + { + name: "regen-key", + description: "Regenerate keys for a realtime endpoint", + options: [ + { + name: ["--key", "-k"], + description: + "Which key to regenerate, if regen is specified. Options: Primary, Secondary", + args: { name: "key" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Endpoint Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: ["--set-key", "-s"], + description: "Provide auth value for the specified key", + args: { name: "set-key" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the endpoint to show", + args: { name: "workspace-name" }, + }, + { + name: "-v", + description: "Verbosity flag", + args: { name: "v" }, + }, + ], + }, + { + name: "run", + description: "Run a realtime endpoint in the workspace", + options: [ + { + name: ["--name", "-n"], + description: "The endpoint name to score against", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--input-data", "-d"], + description: "The data to use for calling the endpoint", + args: { name: "input-data" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the endpoint to run", + args: { name: "workspace-name" }, + }, + { + name: "-v", + description: "Verbosity flag", + args: { name: "v" }, + }, + ], + }, + { + name: "show", + description: + "Show details for a realtime endpoint in the workspace", + options: [ + { + name: ["--name", "-n"], + description: "Name of the endpoint to show", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the endpoint to show", + args: { name: "workspace-name" }, + }, + { + name: "-v", + description: "Verbosity flag", + args: { name: "v" }, + }, + ], + }, + { + name: "update", + description: "Update a realtime endpoint in the workspace", + options: [ + { + name: ["--name", "-n"], + description: "The endpoint name to update", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--add-property", + description: + "Key/value property to add (e.g. key=value ). Multiple properties can be specified with multiple --add-property options", + args: { name: "add-property" }, + }, + { + name: "--add-tag", + description: + "Key/value tag to add (e.g. key=value ). Multiple tags can be specified with multiple --add-tag options", + args: { name: "add-tag" }, + }, + { + name: ["--auth-enabled", "--ae"], + description: + "Whether or not to enable key auth for this Endpoint. Defaults to False", + args: { name: "auth-enabled" }, + }, + { + name: ["--enable-app-insights", "--ai"], + description: + "Whether or not to enable AppInsights for this Endpoint. Defaults to False", + args: { name: "enable-app-insights" }, + }, + { + name: ["--description", "-d"], + description: "Description of the endpoint", + args: { name: "description" }, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: "--remove-tag", + description: + "Key of tag to remove. Multiple tags can be specified with multiple --remove-tag options", + args: { name: "remove-tag" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: "--token-auth-enabled", + description: + "Whether or not to enable token auth for this Endpoint. Defaults to False", + args: { name: "token-auth-enabled" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the Endpoint to update", + args: { name: "workspace-name" }, + }, + { + name: "-v", + description: "Verbosity flag", + args: { name: "v" }, + }, + ], + }, + { + name: "update-version", + description: + "Update a version for realtime endpoint in the workspace", + options: [ + { + name: ["--name", "-n"], + description: "The endpoint name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--version-name", "--vn"], + description: "The version name to create in an Endpoint", + args: { name: "version-name" }, + isRequired: true, + }, + { + name: "--add-property", + description: + "Key/value property to add (e.g. key=value ). Multiple properties can be specified with multiple --add-property options", + args: { name: "add-property" }, + }, + { + name: "--add-tag", + description: + "Key/value tag to add (e.g. key=value ). Multiple tags can be specified with multiple --add-tag options", + args: { name: "add-tag" }, + }, + { + name: ["--autoscale-refresh-seconds", "--ar"], + description: + "How often the autoscaler should attempt to scale this Webservice. Defaults to 1", + args: { name: "autoscale-refresh-seconds" }, + }, + { + name: ["--autoscale-enabled", "--as"], + description: + "Whether or not to enable autoscaling for this Webservice. Defaults to True if num_replicas is None", + args: { name: "autoscale-enabled" }, + }, + { + name: ["--autoscale-target-utilization", "--at"], + description: + "The target utilization (in percent out of 100) the autoscaler should attempt to maintain for this Webservice. Defaults to 70", + args: { name: "autoscale-target-utilization" }, + }, + { + name: ["--autoscale-max-replicas", "--ma"], + description: + "The maximum number of containers to use when autoscaling this Webservice. Defaults to 10", + args: { name: "autoscale-max-replicas" }, + }, + { + name: ["--autoscale-min-replicas", "--mi"], + description: + "The minimum number of containers to use when autoscaling this Webservice. Defaults to 1", + args: { name: "autoscale-min-replicas" }, + }, + { + name: ["--cpu-cores", "--cc"], + description: + "The number of cpu cores to allocate for this Webservice. Can be a decimal. Defaults to 0.1", + args: { name: "cpu-cores" }, + }, + { + name: ["--cpu-cores-limit", "--ccl"], + description: + "The max number of CPU cores this Webservice is allowed to use. Can be a decimal", + args: { name: "cpu-cores-limit" }, + }, + { + name: ["--conda-file", "--cf"], + description: + "Path to local file containing a conda environment definition to use for the image", + args: { name: "conda-file" }, + }, + { + name: ["--collect-model-data", "--md"], + description: + "Whether or not to enable model data collection for this Webservice. Defaults to False", + args: { name: "collect-model-data" }, + }, + { + name: ["--is-control-version-type", "--cvt"], + description: + "Whether or not this is the control version in an Endpoint. Defaults to False", + args: { name: "is-control-version-type" }, + }, + { + name: ["--deploy-config-file", "--dc"], + description: + "Path to a JSON file containing deployment metadata", + args: { name: "deploy-config-file" }, + }, + { + name: ["--description", "-d"], + description: "Description of the service", + args: { name: "description" }, + }, + { + name: ["--environment-directory", "--ed"], + description: + "Directory for Azure Machine Learning Environment for deployment. It is the same directory path as provided in 'az ml environment scaffold' command", + args: { name: "environment-directory" }, + }, + { + name: ["--entry-script", "--es"], + description: + "Path to local file that contains the code to run for service (relative path from source_directory if one is provided)", + args: { name: "entry-script" }, + }, + { + name: ["--environment-name", "-e"], + description: + "Name of Azure Machine Learning Environment for deployment", + args: { name: "environment-name" }, + }, + { + name: ["--environment-version", "--ev"], + description: + "Version of an existing Azure Machine Learning Environment for deployment", + args: { name: "environment-version" }, + }, + { + name: ["--failure-threshold", "--ft"], + description: + "When a Pod starts and the liveness probe fails, Kubernetes will try --failure-threshold times before giving up. Defaults to 3. Minimum value is 1", + args: { name: "failure-threshold" }, + }, + { + name: ["--memory-gb", "--gb"], + description: + "The amount of memory (in GB) to allocate for this Webservice. Can be a decimal", + args: { name: "memory-gb" }, + }, + { + name: ["--memory-gb-limit", "--gbl"], + description: + "The max amount of memory (in GB) this Webservice is allowed to use. Can be a decimal", + args: { name: "memory-gb-limit" }, + }, + { + name: ["--gpu-cores", "--gc"], + description: + "The number of gpu cores to allocate for this Webservice. Default is 1", + args: { name: "gpu-cores" }, + }, + { + name: ["--inference-config-file", "--ic"], + description: + "Path to a JSON or YAML file containing inference configuration", + args: { name: "inference-config-file" }, + }, + { + name: ["--initial-delay-seconds", "--id"], + description: + "Number of seconds after the container has started before liveness probes are initiated. Defaults to 310", + args: { name: "initial-delay-seconds" }, + }, + { + name: "--is-default", + description: + "Whether or not this is the default version in an Endpoint. Defaults to False", + args: { name: "is-default" }, + }, + { + name: ["--max-request-wait-time", "--mr"], + description: + "The maximum amount of time a request will stay in the queue (in milliseconds) before returning a 503 error. Defaults to 500", + args: { name: "max-request-wait-time" }, + }, + { + name: ["--model", "-m"], + description: + "The ID of the model to be deployed. Multiple models can be specified with additional -m arguments. Models need to be registered first", + args: { name: "model" }, + }, + { + name: ["--model-metadata-file", "-f"], + description: + "Path to a JSON file containing model registration metadata. Multiple models can be provided using multiple -f parameters", + args: { name: "model-metadata-file" }, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: ["--num-replicas", "--nr"], + description: + "The number of containers to allocate for this Webservice. No default, if this parameter is not set then the autoscaler is enabled by default", + args: { name: "num-replicas" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--period-seconds", "--ps"], + description: + "How often (in seconds) to perform the liveness probe. Default to 10 seconds. Minimum value is 1", + args: { name: "period-seconds" }, + }, + { + name: ["--replica-max-concurrent-requests", "--rm"], + description: + "The number of maximum concurrent requests per node to allow for this Webservice. Defaults to 1", + args: { name: "replica-max-concurrent-requests" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: ["--scoring-timeout-ms", "--tm"], + description: + "A timeout to enforce for scoring calls to this Webservice. Defaults to 60000", + args: { name: "scoring-timeout-ms" }, + }, + { + name: ["--source-directory", "--sd"], + description: + "Path to folders that contain all files to create the image", + args: { name: "source-directory" }, + }, + { + name: ["--success-threshold", "--st"], + description: + "Minimum consecutive successes for the liveness probe to be considered successful after having failed. Defaults to 1. Minimum value is 1", + args: { name: "success-threshold" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--timeout-seconds", "--ts"], + description: + "Number of seconds after which the liveness probe times out. Defaults to 2 second. Minimum value is 1", + args: { name: "timeout-seconds" }, + }, + { + name: ["--traffic-percentile", "--tp"], + description: + "The traffic percentile this version takes in Endpoint", + args: { name: "traffic-percentile" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the service to update", + args: { name: "workspace-name" }, + }, + { + name: "-v", + description: "Verbosity flag", + args: { name: "v" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "environment", + description: "Commands to manage environments", + subcommands: [ + { + name: "download", + description: + "Download an environment definition to a specified directory", + options: [ + { + name: ["--directory", "-d"], + description: "Directory for the environment", + args: { name: "directory" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--overwrite", + description: "Overwrite any existing destination folder", + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--version", "-v"], + description: "Version of the environment", + args: { name: "version" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list", + description: "List environments in a workspace", + options: [ + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "register", + description: + "Register an environment definition from a specified directory", + options: [ + { + name: ["--directory", "-d"], + description: "Directory for the environment", + args: { name: "directory" }, + isRequired: true, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "scaffold", + description: + "Scaffold the files for a default environment definition in the specified directory", + options: [ + { + name: ["--directory", "-d"], + description: "Directory for the environment", + args: { name: "directory" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show", + description: "Show an environment by name and optionally version", + options: [ + { + name: ["--name", "-n"], + description: "Name of the environment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--version", "-v"], + description: "Version of the environment", + args: { name: "version" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "experiment", + description: "Commands to manage experiments", + subcommands: [ + { + name: "list", + description: "List experiments in a workspace", + options: [ + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "folder", + description: "Folder subgroup commands", + subcommands: [ + { + name: "attach", + description: + "Attach a folder to an AzureML workspace and optionally a specific experiment to use by default. If experiment name is not specified, it defaults to the folder name", + options: [ + { + name: ["--experiment-name", "-e"], + description: "Experiment name", + args: { name: "experiment-name" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "model", + description: "Manage machine learning models", + subcommands: [ + { + name: "delete", + description: "Delete a model from the workspace", + options: [ + { + name: ["--model-id", "-i"], + description: "ID of model to delete", + args: { name: "model-id" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Name of the workspace", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "deploy", + description: "Deploy model(s) from the workspace", + options: [ + { + name: ["--name", "-n"], + description: "The name of the service deployed", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--auth-enabled", "--ae"], + description: + "Whether or not to enable key auth for this Webservice. Defaults to False", + args: { name: "auth-enabled" }, + }, + { + name: ["--enable-app-insights", "--ai"], + description: + "Whether or not to enable AppInsights for this Webservice. Defaults to False", + args: { name: "enable-app-insights" }, + }, + { + name: ["--autoscale-refresh-seconds", "--ar"], + description: + "How often the autoscaler should attempt to scale this Webservice. Defaults to 1", + args: { name: "autoscale-refresh-seconds" }, + }, + { + name: ["--autoscale-enabled", "--as"], + description: + "Whether or not to enable autoscaling for this Webservice. Defaults to True if num_replicas is None", + args: { name: "autoscale-enabled" }, + }, + { + name: ["--autoscale-target-utilization", "--at"], + description: + "The target utilization (in percent out of 100) the autoscaler should attempt to maintain for this Webservice. Defaults to 70", + args: { name: "autoscale-target-utilization" }, + }, + { + name: ["--autoscale-max-replicas", "--ma"], + description: + "The maximum number of containers to use when autoscaling this Webservice. Defaults to 10", + args: { name: "autoscale-max-replicas" }, + }, + { + name: ["--autoscale-min-replicas", "--mi"], + description: + "The minimum number of containers to use when autoscaling this Webservice. Defaults to 1", + args: { name: "autoscale-min-replicas" }, + }, + { + name: ["--base-image", "--bi"], + description: + "A custom image to be used as base image. If no base image is given then the base image will be used based off of given runtime parameter", + args: { name: "base-image" }, + }, + { + name: ["--base-image-registry", "--ir"], + description: "Image registry that contains the base image", + args: { name: "base-image-registry" }, + }, + { + name: ["--cpu-cores", "--cc"], + description: + "The number of cpu cores to allocate for this Webservice. Can be a decimal. Defaults to 0.1", + args: { name: "cpu-cores" }, + }, + { + name: ["--cpu-cores-limit", "--ccl"], + description: + "The max number of CPU cores this Webservice is allowed to use. Can be a decimal", + args: { name: "cpu-cores-limit" }, + }, + { + name: ["--conda-file", "--cf"], + description: + "Path to local file containing a conda environment definition to use for the image", + args: { name: "conda-file" }, + }, + { + name: ["--collect-model-data", "--md"], + description: + "Whether or not to enable model data collection for this Webservice. Defaults to False", + args: { name: "collect-model-data" }, + }, + { + name: ["--compute-target", "--ct"], + description: + "Name of compute target. Only applicable when deploying to AKS", + args: { name: "compute-target" }, + }, + { + name: ["--compute-type", "--cp"], + description: "Compute type of service to deploy", + args: { name: "compute-type" }, + }, + { + name: ["--cuda-version", "--cv"], + description: + "Version of CUDA to install for images that need GPU support. The GPU image must be used on Microsoft Azure Services such as Azure Container Instances, Azure Machine Learning Compute, Azure Virtual Machines, and Azure Kubernetes Service. Supported versions are 9.0, 9.1, and 10.0. If 'enable_gpu' is set, this defaults to '9.1'", + args: { name: "cuda-version" }, + }, + { + name: ["--deploy-config-file", "--dc"], + description: + "Path to a JSON or YAML file containing deployment metadata", + args: { name: "deploy-config-file" }, + }, + { + name: "--description", + description: "Description of the service deployed", + args: { name: "description" }, + }, + { + name: ["--dns-name-label", "--dn"], + description: "The dns name for this Webservice", + args: { name: "dns-name-label" }, + }, + { + name: ["--extra-docker-file-steps", "--ds"], + description: + "Path to local file containing additional Docker steps to run when setting up image", + args: { name: "extra-docker-file-steps" }, + }, + { + name: ["--environment-directory", "--ed"], + description: + "Directory for Azure Machine Learning Environment for deployment. It is the same directory path as provided in 'az ml environment scaffold' command", + args: { name: "environment-directory" }, + }, + { + name: ["--enable-gpu", "--eg"], + description: + "Whether or not to enable GPU support in the image. The GPU image must be used on Microsoft Azure Services such as Azure Container Instances, Azure Machine Learning Compute, Azure Virtual Machines, and Azure Kubernetes Service. Defaults to False", + args: { name: "enable-gpu" }, + }, + { + name: ["--entry-script", "--es"], + description: + "Path to local file that contains the code to run for service (relative path from source_directory if one is provided)", + args: { name: "entry-script" }, + }, + { + name: ["--environment-name", "-e"], + description: + "Name of Azure Machine Learning Environment for deployment", + args: { name: "environment-name" }, + }, + { + name: ["--environment-version", "--ev"], + description: + "Version of an existing Azure Machine Learning Environment for deployment", + args: { name: "environment-version" }, + }, + { + name: ["--failure-threshold", "--ft"], + description: + "When a Pod starts and the liveness probe fails, Kubernetes will try --failure-threshold times before giving up. Defaults to 3. Minimum value is 1", + args: { name: "failure-threshold" }, + }, + { + name: ["--memory-gb", "--gb"], + description: + "The amount of memory (in GB) to allocate for this Webservice. Can be a decimal", + args: { name: "memory-gb" }, + }, + { + name: ["--memory-gb-limit", "--gbl"], + description: + "The max amount of memory (in GB) this Webservice is allowed to use. Can be a decimal", + args: { name: "memory-gb-limit" }, + }, + { + name: ["--gpu-cores", "--gc"], + description: + "The number of gpu cores to allocate for this Webservice. Default is 1", + args: { name: "gpu-cores" }, + }, + { + name: ["--inference-config-file", "--ic"], + description: + "Path to a JSON or YAML file containing inference configuration", + args: { name: "inference-config-file" }, + }, + { + name: ["--initial-delay-seconds", "--id"], + description: + "Number of seconds after the container has started before liveness probes are initiated. Defaults to 310", + args: { name: "initial-delay-seconds" }, + }, + { + name: "--key-name", + description: + "Key name for for encryption properties in customer-managed keys (CMK) for ACI", + args: { name: "key-name" }, + }, + { + name: "--key-version", + description: + "Key version for for encryption properties in customer-managed keys (CMK) for ACI", + args: { name: "key-version" }, + }, + { + name: ["--primary-key", "--kp"], + description: "A primary auth key to use for this Webservice", + args: { name: "primary-key" }, + }, + { + name: ["--secondary-key", "--ks"], + description: "A secondary auth key to use for this Webservice", + args: { name: "secondary-key" }, + }, + { + name: ["--location", "--lo"], + description: + "The Azure region to deploy this Webservice to. If not specified the Workspace location will be used. More details on available regions can be found here: https://azure.microsoft.com/en-us/global-infrastructure/services/?regions=all&products=container-instances", + args: { name: "location" }, + }, + { + name: ["--max-request-wait-time", "--mr"], + description: + "The maximum amount of time a request will stay in the queue (in milliseconds) before returning a 503 error. Defaults to 500", + args: { name: "max-request-wait-time" }, + }, + { + name: ["--model", "-m"], + description: + "The ID of the model to be deployed. Multiple models can be specified with additional -m arguments. Models need to be registered first", + args: { name: "model" }, + }, + { + name: ["--model-metadata-file", "-f"], + description: + "Path to a JSON file containing model registration metadata. Multiple models can be provided using multiple -f parameters", + args: { name: "model-metadata-file" }, + }, + { + name: "--namespace", + description: + "Kubernetes namespace in which to deploy the service: up to 63 lowercase alphanumeric ('a'-'z', '0'-'9') and hyphen ('-') characters. The first and last characters cannot be hyphens. Only applicable when deploying to AKS", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: ["--num-replicas", "--nr"], + description: + "The number of containers to allocate for this Webservice. No default, if this parameter is not set then the autoscaler is enabled by default", + args: { name: "num-replicas" }, + }, + { + name: "--overwrite", + description: "Overwrite the existing service if name conflicts", + args: { name: "overwrite" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--period-seconds", "--ps"], + description: + "How often (in seconds) to perform the liveness probe. Default to 10 seconds. Minimum value is 1", + args: { name: "period-seconds" }, + }, + { + name: ["--profile-input", "--pi"], + description: "Path to a JSON file containing profiling results", + args: { name: "profile-input" }, + }, + { + name: ["--port", "--po"], + description: + "The local port on which to expose the service's HTTP endpoint", + args: { name: "port" }, + }, + { + name: "--property", + description: + "Key/value property to add (e.g. key=value ). Multiple properties can be specified with multiple --property options", + args: { name: "property" }, + }, + { + name: ["--replica-max-concurrent-requests", "--rm"], + description: + "The number of maximum concurrent requests per node to allow for this Webservice. Defaults to 1", + args: { name: "replica-max-concurrent-requests" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: ["--runtime", "--rt"], + description: + "Which runtime to use for image. Current supported runtimes are 'spark-py' and 'python'spark-py|python|python-slim", + args: { name: "runtime" }, + }, + { + name: ["--ssl-cname", "--sc"], + description: "The cname for if SSL is enabled", + args: { name: "ssl-cname" }, + }, + { + name: ["--scoring-timeout-ms", "--tm"], + description: + "A timeout to enforce for scoring calls to this Webservice. Defaults to 60000", + args: { name: "scoring-timeout-ms" }, + }, + { + name: ["--source-directory", "--sd"], + description: + "Path to folders that contain all files to create the image", + args: { name: "source-directory" }, + }, + { + name: ["--ssl-enabled", "--se"], + description: + "Whether or not to enable SSL for this Webservice. Defaults to False", + args: { name: "ssl-enabled" }, + }, + { + name: ["--ssl-key-pem-file", "--sk"], + description: "The key file needed if SSL is enabled", + args: { name: "ssl-key-pem-file" }, + }, + { + name: ["--ssl-cert-pem-file", "--sp"], + description: "The cert file needed if SSL is enabled", + args: { name: "ssl-cert-pem-file" }, + }, + { + name: ["--success-threshold", "--st"], + description: + "Minimum consecutive successes for the liveness probe to be considered successful after having failed. Defaults to 1. Minimum value is 1", + args: { name: "success-threshold" }, + }, + { + name: "--subnet-name", + description: "Name of the subnet inside the vnet", + args: { name: "subnet-name" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: "--tag", + description: + "Key/value tag to add (e.g. key=value ). Multiple tags can be specified with multiple --tag options", + args: { name: "tag" }, + }, + { + name: ["--timeout-seconds", "--ts"], + description: + "Number of seconds after which the liveness probe times out. Defaults to 2 second. Minimum value is 1", + args: { name: "timeout-seconds" }, + }, + { + name: "--token-auth-enabled", + description: + "Whether or not to enable token auth for this Webservice. Ignored if not deploying to AKS. Defaults to False", + args: { name: "token-auth-enabled" }, + }, + { + name: ["--traffic-percentile", "--tp"], + description: + "The amount of traffic the version takes in an endpoint. Can be a decimal. Defaults to 0", + args: { name: "traffic-percentile" }, + }, + { + name: "--vault-base-url", + description: + "Vault base url for encryption properties in customer-managed keys (CMK) for ACI", + args: { name: "vault-base-url" }, + }, + { + name: ["--version-name", "--vn"], + description: + "The version name in an endpoint. Defaults to endpoint name for the first version", + args: { name: "version-name" }, + }, + { + name: "--vnet-name", + description: "Name of the virtual network", + args: { name: "vnet-name" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Name of the workspace", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "download", + description: "Download a model from the workspace", + options: [ + { + name: ["--model-id", "-i"], + description: "ID of model", + args: { name: "model-id" }, + isRequired: true, + }, + { + name: ["--target-dir", "-t"], + description: "Target directory to download the model file to", + args: { name: "target-dir" }, + isRequired: true, + }, + { + name: "--overwrite", + description: + "Overwrite if the same name file exists in target directory", + args: { name: "overwrite" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Name of the workspace containing model to show", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "list", + description: "List models in the workspace", + options: [ + { + name: "--dataset-id", + description: + "If provided, will only show models with the specified dataset ID", + args: { name: "dataset-id" }, + }, + { + name: ["--latest", "-l"], + description: + "If provided, will only return models with the latest version", + args: { name: "latest" }, + }, + { + name: ["--model-name", "-n"], + description: "An optional model name to filter the list by", + args: { name: "model-name" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: "--property", + description: + "Key/value property to add (e.g. key=value ). Multiple properties can be specified with multiple --property options", + args: { name: "property" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--run-id", + description: + "If provided, will only show models with the specified Run ID", + args: { name: "run-id" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: "--tag", + description: + "Key/value tag to add (e.g. key=value ). Multiple tags can be specified with multiple --tag options", + args: { name: "tag" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Name of the workspace containing models to list", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "package", + description: "Package a model in the workspace", + options: [ + { + name: ["--conda-file", "--cf"], + description: + "Path to local file containing a conda environment definition to use for the package", + args: { name: "conda-file" }, + }, + { + name: ["--environment-directory", "--ed"], + description: + "Directory for Azure Machine Learning Environment for packaging. It is the same directory path as provided in 'az ml environment scaffold' command", + args: { name: "environment-directory" }, + }, + { + name: ["--entry-script", "--es"], + description: + "Path to local file that contains the code to run for service (relative path from source_directory if one is provided)", + args: { name: "entry-script" }, + }, + { + name: ["--environment-name", "-e"], + description: + "Name of Azure Machine Learning Environment for packaging", + args: { name: "environment-name" }, + }, + { + name: ["--environment-version", "--ev"], + description: + "Version of an existing Azure Machine Learning Environment for packaging", + args: { name: "environment-version" }, + }, + { + name: ["--inference-config-file", "--ic"], + description: + "Path to a JSON or YAML file containing inference configuration", + args: { name: "inference-config-file" }, + }, + { + name: ["--image-label", "--il"], + description: "Label to give the built package image", + args: { name: "image-label" }, + }, + { + name: ["--image-name", "--in"], + description: "Name to give the built package image", + args: { name: "image-name" }, + }, + { + name: ["--model", "-m"], + description: + "The ID of the model to be packaged. Multiple models can be specified with additional -m arguments. Models need to be registered first", + args: { name: "model" }, + }, + { + name: ["--model-metadata-file", "-f"], + description: + "Path to a JSON file containing model registration metadata. Multiple models can be provided using multiple -f parameters", + args: { name: "model-metadata-file" }, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: "--output-path", + description: + "Output path for docker context. If an output path is passed, instead of building an image in the workspace ACR, a dockerfile and the necessary build context will be writen to that path", + args: { name: "output-path" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: ["--runtime", "--rt"], + description: + "Which runtime to use for package. Current supported runtimes are 'spark-py' and 'python'spark-py|python|python-slim", + args: { name: "runtime" }, + }, + { + name: ["--source-directory", "--sd"], + description: + "Path to folders that contain all files to create the image", + args: { name: "source-directory" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Name of the workspace", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "profile", + description: "Profile model(s) in the workspace", + options: [ + { + name: ["--name", "-n"], + description: "The name of the model profile", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--base-image", "--bi"], + description: + "A custom image to be used as base image. If no base image is given then the base image will be used based off of given runtime parameter", + args: { name: "base-image" }, + }, + { + name: ["--base-image-registry", "--ir"], + description: "Image registry that contains the base image", + args: { name: "base-image-registry" }, + }, + { + name: ["--cpu-cores", "--cc"], + description: "Double value for maximum CPU to use when profiling", + args: { name: "cpu-cores" }, + }, + { + name: ["--conda-file", "--cf"], + description: + "Path to local file containing a conda environment definition to use for the image", + args: { name: "conda-file" }, + }, + { + name: "--description", + description: "Description of the model profile", + args: { name: "description" }, + }, + { + name: ["--environment-directory", "--ed"], + description: + "Directory for Azure Machine Learning Environment for deployment. It is the same directory path as provided in 'az ml environment scaffold' command", + args: { name: "environment-directory" }, + }, + { + name: ["--entry-script", "--es"], + description: + "Path to local file that contains the code to run for service (relative path from source_directory if one is provided)", + args: { name: "entry-script" }, + }, + { + name: ["--environment-name", "-e"], + description: + "Name of Azure Machine Learning Environment for deployment", + args: { name: "environment-name" }, + }, + { + name: ["--environment-version", "--ev"], + description: + "Version of an existing Azure Machine Learning Environment for deployment", + args: { name: "environment-version" }, + }, + { + name: ["--memory-in-gb", "--gb"], + description: + "Double value for maximum Memory to use when profiling", + args: { name: "memory-in-gb" }, + }, + { + name: ["--inference-config-file", "--ic"], + description: + "Path to a JSON or YAML file containing inference configuration", + args: { name: "inference-config-file" }, + }, + { + name: ["--input-dataset-id", "--idi"], + description: + "ID of the Tabular Dataset to be used as input for the profile", + args: { name: "input-dataset-id" }, + }, + { + name: ["--model", "-m"], + description: + "The ID of the model to be deployed. Multiple models can be specified with additional -m arguments. Models need to be registered first", + args: { name: "model" }, + }, + { + name: ["--model-metadata-file", "-f"], + description: + "Path to a JSON file containing model registration metadata. Multiple models can be provided using multiple -f parameters", + args: { name: "model-metadata-file" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Path to a JSON file where profile results metadata will be written. Used as input for model deployment", + args: { name: "output-metadata-file" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: ["--source-directory", "--sd"], + description: + "Path to folders that contain all files to create the image", + args: { name: "source-directory" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Name of the workspace", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "register", + description: "Register a model to the workspace", + options: [ + { + name: ["--name", "-n"], + description: "Name of model to register", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--asset-path", + description: + "The cloud path where the experiement run stores the model file", + args: { name: "asset-path" }, + }, + { + name: ["--cpu-cores", "--cc"], + description: + "The default number of CPU cores to allocate for this model. Can be a decimal", + args: { name: "cpu-cores" }, + }, + { + name: ["--description", "-d"], + description: "Description of the model", + args: { name: "description" }, + }, + { + name: "--experiment-name", + description: "The name of the experiment", + args: { name: "experiment-name" }, + }, + { + name: ["--memory-gb", "--gb"], + description: + "The default amount of memory (in GB) to allocate for this model. Can be a decimal", + args: { name: "memory-gb" }, + }, + { + name: ["--gpu-cores", "--gc"], + description: + "The default number of GPUs to allocate for this model", + args: { name: "gpu-cores" }, + }, + { + name: "--model-framework", + description: + "Framework of the model to register. Currently supported frameworks: TensorFlow, ScikitLearn, Onnx, Custom, Multi", + args: { name: "model-framework" }, + }, + { + name: "--model-framework-version", + description: + "Framework version of the model to register (e.g. 1.0.0, 2.4.1)", + args: { name: "model-framework-version" }, + }, + { + name: ["--model-path", "-p"], + description: "Full path of the model file to register", + args: { name: "model-path" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Path to a JSON file where model registration metadata will be written. Used as input for model deployment", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: "--property", + description: + "Key/value property to add (e.g. key=value ). Multiple properties can be specified with multiple --property options", + args: { name: "property" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: ["--run-id", "-r"], + description: + "The ID for the experiment run where model is registered from", + args: { name: "run-id" }, + }, + { + name: ["--run-metadata-file", "-f"], + description: + "Path to a JSON file containing experiement run metadata", + args: { name: "run-metadata-file" }, + }, + { + name: "--sample-input-dataset-id", + description: "The ID for the sample input dataset", + args: { name: "sample-input-dataset-id" }, + }, + { + name: "--sample-output-dataset-id", + description: "The ID for the sample output dataset", + args: { name: "sample-output-dataset-id" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: "--tag", + description: + "Key/value tag to add (e.g. key=value ). Multiple tags can be specified with multiple --tag options", + args: { name: "tag" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Name of the workspace to register this model with", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "show", + description: "Show a model in the workspace", + options: [ + { + name: ["--model-id", "-i"], + description: "ID of model to show", + args: { name: "model-id" }, + }, + { + name: ["--model-name", "-n"], + description: "Name of model to show", + args: { name: "model-name" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--run-id", + description: + "If provided, will only show models with the specified Run ID", + args: { name: "run-id" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: "--version", + description: + "If provided, will only show models with the specified name and version", + args: { name: "version" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Name of the workspace containing model to show", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "update", + description: "Update a model in the workspace", + options: [ + { + name: ["--model-id", "-i"], + description: "ID of model", + args: { name: "model-id" }, + isRequired: true, + }, + { + name: "--add-property", + description: + "Key/value property to add (e.g. key=value ). Multiple properties can be specified with multiple --add-property options", + args: { name: "add-property" }, + }, + { + name: "--add-tag", + description: + "Key/value tag to add (e.g. key=value ). Multiple tags can be specified with multiple --add-tag options", + args: { name: "add-tag" }, + }, + { + name: ["--cpu-cores", "--cc"], + description: + "The default number of CPU cores to allocate for this model. Can be a decimal", + args: { name: "cpu-cores" }, + }, + { + name: "--description", + description: + "Description to update the model with. Will replace the current description", + args: { name: "description" }, + }, + { + name: ["--memory-gb", "--gb"], + description: + "The default amount of memory (in GB) to allocate for this model. Can be a decimal", + args: { name: "memory-gb" }, + }, + { + name: ["--gpu-cores", "--gc"], + description: + "The default number of GPUs to allocate for this model", + args: { name: "gpu-cores" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: "--remove-tag", + description: + "Key of tag to remove. Multiple tags can be specified with multiple --remove-tag options", + args: { name: "remove-tag" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--sample-input-dataset-id", + description: "The ID for the sample input dataset", + args: { name: "sample-input-dataset-id" }, + }, + { + name: "--sample-output-dataset-id", + description: "The ID for the sample output dataset", + args: { name: "sample-output-dataset-id" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Name of the workspace", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + ], + }, + { + name: "pipeline", + description: "Pipeline subgroup commands", + subcommands: [ + { + name: "clone", + description: + "Generate yml definition describing the pipeline run, supported only for ModuleStep for now", + options: [ + { + name: ["--path", "-p"], + description: "File path to save pipeline yaml to", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--pipeline-run-id", "-i"], + description: "ID of the PipelineRun to clone (guid)", + args: { name: "pipeline-run-id" }, + isRequired: true, + }, + { + name: ["--output-file", "-f"], + description: "File to write output in JSON format", + args: { name: "output-file" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "clone-draft", + description: "Create a pipeline draft from an existing pipeline", + options: [ + { + name: ["--experiment-name", "-e"], + description: "Experiment name of the specified PipelineRun", + args: { name: "experiment-name" }, + }, + { + name: ["--pipeline-draft-id", "-i"], + description: + "ID of the PipelineDraft to create PipelineDraft from", + args: { name: "pipeline-draft-id" }, + }, + { + name: ["--pipeline-id", "-p"], + description: + "ID of the PublishedPipeline to create PipelineDraft from", + args: { name: "pipeline-id" }, + }, + { + name: ["--pipeline-run-id", "-r"], + description: "ID of the PipelineRun to create PipelineDraft from", + args: { name: "pipeline-run-id" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "create", + description: "Create a pipeline from a yaml definition", + options: [ + { + name: ["--name", "-n"], + description: "Name to assign to the pipeline", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--pipeline-yaml", "-y"], + description: "YAML file which defines a pipeline", + args: { name: "pipeline-yaml" }, + isRequired: true, + }, + { + name: ["--continue", "-c"], + description: + "Boolean flag to allow a pipeline to continue executing after a step fails", + args: { name: "continue" }, + }, + { + name: ["--description", "-d"], + description: "Description text of the pipeline", + args: { name: "description" }, + }, + { + name: ["--output-file", "-f"], + description: "File to write output in JSON format", + args: { name: "output-file" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--version", "-v"], + description: "Version string of the pipeline", + args: { name: "version" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "create-draft", + description: "Create a pipeline draft from a yml definition", + options: [ + { + name: ["--experiment_name", "-e"], + description: "Experiment name for the pipeline draft", + args: { name: "experiment_name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name to assign to the pipeline draft", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--pipeline-yaml", "-y"], + description: "YAML file which defines the pipeline draft", + args: { name: "pipeline-yaml" }, + isRequired: true, + }, + { + name: ["--continue", "-c"], + description: + "Boolean flag to allow a pipeline to continue executing after a step fails", + args: { name: "continue" }, + }, + { + name: ["--description", "-d"], + description: "Description text of the pipeline draft", + args: { name: "description" }, + }, + { + name: "--parameters", + description: + "PipelineParameters for the draft with 'key=value' syntax", + args: { name: "parameters" }, + }, + { + name: ["--properties", "-p"], + description: "Properties for the draft with 'key=value' syntax", + args: { name: "properties" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--tags", "-t"], + description: "Tags for the draft with 'key=value' syntax", + args: { name: "tags" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "create-schedule", + description: "Create a schedule", + options: [ + { + name: ["--experiment-name", "-e"], + description: "Name of experiment", + args: { name: "experiment-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of schedule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--pipeline-id", "-i"], + description: "ID of the pipeline to create schedule (guid)", + args: { name: "pipeline-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--schedule-yaml", "-y"], + description: "Schedule YAML input", + args: { name: "schedule-yaml" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "delete-draft", + description: "Delete a pipeline draft", + options: [ + { + name: ["--pipeline-draft-id", "-i"], + description: "ID of the PipelineDraft to delete (guid)", + args: { name: "pipeline-draft-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "disable", + description: "Disable a pipeline from running", + options: [ + { + name: ["--pipeline-id", "-i"], + description: "ID of the pipeline to disable (guid)", + args: { name: "pipeline-id" }, + isRequired: true, + }, + { + name: ["--output-file", "-f"], + description: "File to write output in JSON format", + args: { name: "output-file" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "disable-schedule", + description: "Disable a schedule from running", + options: [ + { + name: ["--schedule-id", "-s"], + description: "ID of the schedule to show (guid)", + args: { name: "schedule-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "enable", + description: "Enable a pipeline and allow it to run", + options: [ + { + name: ["--pipeline-id", "-i"], + description: "ID of the pipeline to enable (guid)", + args: { name: "pipeline-id" }, + isRequired: true, + }, + { + name: ["--output-file", "-f"], + description: "File to write output in JSON format", + args: { name: "output-file" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "enable-schedule", + description: "Enable a schedule and allow it to run", + options: [ + { + name: ["--schedule-id", "-s"], + description: "ID of the schedule to show (guid)", + args: { name: "schedule-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "get", + description: "Generate yml definition describing the pipeline", + options: [ + { + name: ["--path", "-p"], + description: "File path to save Pipeline yaml to", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--pipeline-draft-id", "-d"], + description: "ID of the PipelineDraft to get (guid)", + args: { name: "pipeline-draft-id" }, + }, + { + name: ["--pipeline-id", "-i"], + description: "ID of the Pipeline to get (guid)", + args: { name: "pipeline-id" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "last-pipeline-run", + description: "Show last pipeline run for a schedule", + options: [ + { + name: ["--schedule-id", "-s"], + description: "ID of the schedule to show (guid)", + args: { name: "schedule-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list", + description: + "List all pipelines and respective schedules in the workspace", + options: [ + { + name: ["--output-file", "-f"], + description: "File to write output in JSON format", + args: { name: "output-file" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list-drafts", + description: "List pipeline drafts in the workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--tags", "-t"], + description: "Tags for a draft with 'key=value' syntax", + args: { name: "tags" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list-steps", + description: "List the step runs generated from a pipeline run", + options: [ + { + name: ["--run", "-r"], + description: "The runId of an experiment run", + args: { name: "run" }, + isRequired: true, + }, + { + name: ["--output-file", "-f"], + description: "File to write output in JSON format", + args: { name: "output-file" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "pipeline-runs-list", + description: "List pipeline runs generated from a schedule", + options: [ + { + name: ["--schedule-id", "-s"], + description: "ID of the schedule to show (guid)", + args: { name: "schedule-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "publish-draft", + description: "Publish a pipeline draft as a published pipeline", + options: [ + { + name: ["--pipeline-draft-id", "-i"], + description: "ID of the PipelineDraft to publish", + args: { name: "pipeline-draft-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show", + description: "Show details of a pipeline and respective schedules", + options: [ + { + name: ["--pipeline-id", "-i"], + description: "ID of the pipeline to show (guid)", + args: { name: "pipeline-id" }, + isRequired: true, + }, + { + name: ["--output-file", "-f"], + description: "File to write output in JSON format", + args: { name: "output-file" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show-draft", + description: "Show details of a pipeline draft", + options: [ + { + name: ["--pipeline-draft-id", "-i"], + description: "ID of the PipelineDraft to show (guid)", + args: { name: "pipeline-draft-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show-schedule", + description: "Show details of a schedule", + options: [ + { + name: ["--schedule-id", "-s"], + description: "ID of the schedule to show (guid)", + args: { name: "schedule-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "submit-draft", + description: "Submit a run from the pipeline draft", + options: [ + { + name: ["--pipeline-draft-id", "-i"], + description: "ID of the PipelineDraft to use to submit run", + args: { name: "pipeline-draft-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update-draft", + description: "Update a pipeline draft", + options: [ + { + name: ["--continue", "-c"], + description: + "Boolean flag to allow a pipeline to continue executing after a step fails", + args: { name: "continue" }, + }, + { + name: ["--description", "-d"], + description: "Description text of the pipeline draft", + args: { name: "description" }, + }, + { + name: ["--experiment_name", "-e"], + description: "Experiment name for the pipeline draft", + args: { name: "experiment_name" }, + }, + { + name: ["--name", "-n"], + description: "Name to assign to the pipeline draft", + args: { name: "name" }, + }, + { + name: "--parameters", + description: + "PipelineParameters for the draft with 'key=value' syntax", + args: { name: "parameters" }, + }, + { + name: ["--pipeline-draft-id", "-i"], + description: "ID of the PipelineDraft to update", + args: { name: "pipeline-draft-id" }, + }, + { + name: ["--pipeline-yaml", "-y"], + description: "YAML file which defines the pipeline draft", + args: { name: "pipeline-yaml" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--tags", "-t"], + description: "Tags for the draft with 'key=value' syntax", + args: { name: "tags" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update-schedule", + description: "Update a schedule", + options: [ + { + name: ["--schedule-id", "-s"], + description: "ID of the schedule to show (guid)", + args: { name: "schedule-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the schedule to show (guid)", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--schedule-yaml", "-y"], + description: "Schedule YAML input", + args: { name: "schedule-yaml" }, + }, + { + name: ["--status", "-t"], + description: "Status of the schedule to show (guid)", + args: { name: "status" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "run", + description: "Commands for submitting, updating, and monitoring runs", + subcommands: [ + { + name: "cancel", + description: "Cancel run", + options: [ + { + name: ["--run", "-r"], + description: "The runId of an experiment run", + args: { name: "run" }, + isRequired: true, + }, + { + name: ["--experiment-name", "-e"], + description: "Experiment name", + args: { name: "experiment-name" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "download-logs", + description: "Download log files", + options: [ + { + name: ["--output-dir", "-d"], + description: "Output directory to download log files to", + args: { name: "output-dir" }, + isRequired: true, + }, + { + name: ["--run", "-r"], + description: "The runId of an experiment run", + args: { name: "run" }, + isRequired: true, + }, + { + name: ["--experiment-name", "-e"], + description: "Experiment name", + args: { name: "experiment-name" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list", + description: "List runs", + options: [ + { + name: "--compute-target-name", + description: "The compute target name", + args: { name: "compute-target-name" }, + }, + { + name: ["--experiment-name", "-e"], + description: "Experiment name", + args: { name: "experiment-name" }, + }, + { + name: "--last", + description: "Fetch the latest N elements", + args: { name: "last" }, + }, + { + name: "--minimal", + description: "Flag to provide minimum properties for run output", + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--parent-run-id", + description: "Parent Run ID", + args: { name: "parent-run-id" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: "--pipeline-run-id", + description: "Pipeline Run ID", + args: { name: "pipeline-run-id" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--status", + description: "Status of the run", + args: { + name: "status", + suggestions: [ + "Completed", + "Failed", + "Finalizing", + "Preparing", + "Provisioning", + "Queued", + "Running", + "Starting", + ], + }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: "--tags", + description: "Tags for a run with 'key[=value]' syntax", + args: { name: "tags" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "monitor-logs", + description: "Monitor the logs for an existing run", + options: [ + { + name: ["--run", "-r"], + description: "The runId of an experiment run", + args: { name: "run" }, + isRequired: true, + }, + { + name: ["--experiment-name", "-e"], + description: "Experiment name", + args: { name: "experiment-name" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "monitor-tensorboard", + description: "Monitor an existing run using tensorboard", + options: [ + { + name: ["--run", "-r"], + description: "The runId of an experiment run", + args: { name: "run" }, + isRequired: true, + }, + { + name: ["--experiment-name", "-e"], + description: "Experiment name", + args: { name: "experiment-name" }, + }, + { + name: "--local-directory", + description: + "Local Directory to stage tensorboard files being monitored", + args: { name: "local-directory" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show", + description: "Show run", + options: [ + { + name: ["--run", "-r"], + description: "The runId of an experiment run", + args: { name: "run" }, + isRequired: true, + }, + { + name: ["--experiment-name", "-e"], + description: "Experiment name", + args: { name: "experiment-name" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "submit-hyperdrive", + description: "Submit a hyper parameter sweep using run config", + options: [ + { + name: "--hyperdrive-configuration-name", + description: + "The full name of the hyperdrive configuration file. The file should be in a sub-folder of the directory specified by the path parameter", + args: { name: "hyperdrive-configuration-name" }, + isRequired: true, + }, + { name: "--async", description: "Disable output streaming" }, + { + name: ["--conda-dependencies", "-d"], + description: "Override the default Conda dependencies file", + args: { name: "conda-dependencies" }, + }, + { + name: ["--target", "--ct"], + description: "The name of the compute target to use for the run", + args: { name: "target" }, + }, + { + name: ["--experiment-name", "-e"], + description: "Experiment name", + args: { name: "experiment-name" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--run-configuration-name", "-c"], + description: + "Name (without extension) of a run configuration file. The file should be in a sub-folder of the directory specified by the path parameter", + args: { name: "run-configuration-name" }, + }, + { + name: "--source-directory", + description: + "A local directory containing source code files. Defaults to path if source directory is not provided", + args: { name: "source-directory" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + args: { + name: "", + description: + "The run submit arguments, like script name and script arguments", + isOptional: true, + }, + }, + { + name: "submit-pipeline", + description: + "Submit a pipeline for execution, from a published pipeline ID or pipeline YAML file", + options: [ + { + name: ["--datapaths", "-d"], + description: + "Comma-separated list of name=datastore/path pairs for datapath parameter assignments", + args: { name: "datapaths" }, + }, + { + name: ["--experiment-name", "-n"], + description: + "Experiment name for run submission. If unspecified, use the pipeline name", + args: { name: "experiment-name" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: ["--output_file", "-f"], + description: "File to write output in JSON format", + args: { name: "output_file" }, + }, + { + name: ["--parameters", "-p"], + description: + "Comma-separated list of name=value pairs for pipeline parameter assignments", + args: { name: "parameters" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--pipeline-id", "-i"], + description: "ID of a pipeline to submit (guid)", + args: { name: "pipeline-id" }, + }, + { + name: ["--pipeline-yaml", "-y"], + description: "YAML file which defines a pipeline", + args: { name: "pipeline-yaml" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "submit-script", + description: "Submit a script for execution", + options: [ + { name: "--async", description: "Disable output streaming" }, + { + name: ["--conda-dependencies", "-d"], + description: "Override the default Conda dependencies file", + args: { name: "conda-dependencies" }, + }, + { + name: ["--target", "--ct"], + description: "The name of the compute target to use for the run", + args: { name: "target" }, + }, + { + name: ["--experiment-name", "-e"], + description: "Experiment name", + args: { name: "experiment-name" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: ["--run-configuration-name", "-c"], + description: + "Name (without extension) of a run configuration file. The file should be in a sub-folder of the directory specified by the path parameter", + args: { name: "run-configuration-name" }, + }, + { + name: "--source-directory", + description: + "A local directory containing source code files. Defaults to path if source directory is not provided", + args: { name: "source-directory" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + args: { + name: "", + description: + "The run submit arguments, like script name and script arguments", + isOptional: true, + }, + }, + { + name: "update", + description: "Update the run by adding tags", + options: [ + { + name: ["--run", "-r"], + description: "The runId of an experiment run", + args: { name: "run" }, + isRequired: true, + }, + { + name: "--add-tag", + description: "Tag the entitiy with 'key[=value]' syntax", + args: { name: "add-tag" }, + }, + { + name: ["--experiment-name", "-e"], + description: "Experiment name", + args: { name: "experiment-name" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "service", + description: "Manage operationalized services", + subcommands: [ + { + name: "delete", + description: "Delete a service from the workspace", + options: [ + { + name: ["--name", "-n"], + description: "The service name to delete", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the service to delete", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "get-access-token", + description: "Get a token to issue requests a service", + options: [ + { + name: ["--name", "-n"], + description: "Service Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the service to show", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "get-keys", + description: "Get keys to issue requests against a service", + options: [ + { + name: ["--name", "-n"], + description: "Service Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the service to show", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "get-logs", + description: "Get logs for a service", + options: [ + { + name: ["--name", "-n"], + description: "Service Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--init", "-i"], + description: + "Get logs of init container instead of the scoring container", + }, + { + name: ["--num_lines", "-l"], + description: + "Number of log lines to return from tail (default is 5000)", + args: { name: "num_lines" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the service to show", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "list", + description: "List services in the workspace", + options: [ + { + name: ["--compute-type", "-c"], + description: + "If provided, will only show services that have the specified compute type. (Options are 'ACI', 'AKS')", + args: { name: "compute-type" }, + }, + { + name: "--image-digest", + description: + "If provided, will only show services that have the specified image digest", + args: { name: "image-digest" }, + }, + { + name: "--model-id", + description: + "If provided, will only show services that have the specified model id", + args: { name: "model-id" }, + }, + { + name: "--model-name", + description: + "If provided, will only show services that have the specified model name", + args: { name: "model-name" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: "--property", + description: + "If provided, will filter based on the provided key/value (e.g. key, or key=value). Multiple properties can be specified with multiple --property options", + args: { name: "property" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: "--tag", + description: + "If provided, will filter based on the provided key/value (e.g. key, or key=value). Multiple tags can be specified with multiple --tag options", + args: { name: "tag" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the services to list", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "regen-key", + description: "Regenerate keys for a service", + options: [ + { + name: ["--key", "-k"], + description: + "Which key to regenerate, if regen is specified. Options: Primary, Secondary", + args: { name: "key" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Service Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: ["--set-key", "-s"], + description: "Provide auth value for the specified key", + args: { name: "set-key" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the service to show", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "run", + description: "Run a service in the workspace", + options: [ + { + name: ["--name", "-n"], + description: "The service name to score against", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--input-data", "-d"], + description: "The data to use for calling the web service", + args: { name: "input-data" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the service to run", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "show", + description: "Show details for a service in the workspace", + options: [ + { + name: ["--name", "-n"], + description: "Name of the webservice to show", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the service to show", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + { + name: "update", + description: "Update a service in the workspace", + options: [ + { + name: ["--name", "-n"], + description: "The service name to update", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--add-property", + description: + "Key/value property to add (e.g. key=value ). Multiple properties can be specified with multiple --add-property options", + args: { name: "add-property" }, + }, + { + name: "--add-tag", + description: + "Key/value tag to add (e.g. key=value ). Multiple tags can be specified with multiple --add-tag options", + args: { name: "add-tag" }, + }, + { + name: ["--auth-enabled", "--ae"], + description: + "Whether or not to enable key auth for this Webservice. Defaults to False", + args: { name: "auth-enabled" }, + }, + { + name: ["--enable-app-insights", "--ai"], + description: + "Whether or not to enable AppInsights for this Webservice. Defaults to False", + args: { name: "enable-app-insights" }, + }, + { + name: ["--autoscale-refresh-seconds", "--ar"], + description: + "How often the autoscaler should attempt to scale this Webservice. Defaults to 1", + args: { name: "autoscale-refresh-seconds" }, + }, + { + name: ["--autoscale-enabled", "--as"], + description: + "Whether or not to enable autoscaling for this Webservice. Defaults to True if num_replicas is None", + args: { name: "autoscale-enabled" }, + }, + { + name: ["--autoscale-target-utilization", "--at"], + description: + "The target utilization (in percent out of 100) the autoscaler should attempt to maintain for this Webservice. Defaults to 70", + args: { name: "autoscale-target-utilization" }, + }, + { + name: ["--autoscale-max-replicas", "--ma"], + description: + "The maximum number of containers to use when autoscaling this Webservice. Defaults to 10", + args: { name: "autoscale-max-replicas" }, + }, + { + name: ["--autoscale-min-replicas", "--mi"], + description: + "The minimum number of containers to use when autoscaling this Webservice. Defaults to 1", + args: { name: "autoscale-min-replicas" }, + }, + { + name: ["--base-image", "--bi"], + description: + "A custom image to be used as base image. If no base image is given then the base image will be used based off of given runtime parameter", + args: { name: "base-image" }, + }, + { + name: ["--base-image-registry", "--ir"], + description: "Image registry that contains the base image", + args: { name: "base-image-registry" }, + }, + { + name: ["--cpu-cores", "--cc"], + description: + "The number of cpu cores to allocate for this Webservice. Can be a decimal. Defaults to 0.1", + args: { name: "cpu-cores" }, + }, + { + name: ["--cpu-cores-limit", "--ccl"], + description: + "The max number of CPU cores this Webservice is allowed to use. Can be a decimal", + args: { name: "cpu-cores-limit" }, + }, + { + name: ["--conda-file", "--cf"], + description: + "Path to local file containing a conda environment definition to use for the image", + args: { name: "conda-file" }, + }, + { + name: ["--collect-model-data", "--md"], + description: + "Whether or not to enable model data collection for this Webservice. Defaults to False", + args: { name: "collect-model-data" }, + }, + { + name: "--compute-target", + description: + "(Preview) Specifies the compute target with AzureML extension installed to host migrated Kubernetes online endpoint and deployment", + args: { name: "compute-target" }, + }, + { + name: ["--cuda-version", "--cv"], + description: + "Version of CUDA to install for images that need GPU support. The GPU image must be used on Microsoft Azure Services such as Azure Container Instances, Azure Machine Learning Compute, Azure Virtual Machines, and Azure Kubernetes Service. Supported versions are 9.0, 9.1, and 10.0. If 'enable_gpu' is set, this defaults to '9.1'", + args: { name: "cuda-version" }, + }, + { + name: ["--deploy-config-file", "--dc"], + description: "Path to a JSON file containing deployment metadata", + args: { name: "deploy-config-file" }, + }, + { + name: ["--description", "-d"], + description: "Description of the service", + args: { name: "description" }, + }, + { + name: ["--dns-name-label", "--dn"], + description: "The dns name for this Webservice", + args: { name: "dns-name-label" }, + }, + { + name: ["--extra-docker-file-steps", "--ds"], + description: + "Path to local file containing additional Docker steps to run when setting up image", + args: { name: "extra-docker-file-steps" }, + }, + { + name: ["--environment-directory", "--ed"], + description: + "Directory for Azure Machine Learning Environment for deployment. It is the same directory path as provided in 'az ml environment scaffold' command", + args: { name: "environment-directory" }, + }, + { + name: ["--enable-gpu", "--eg"], + description: + "Whether or not to enable GPU support in the image. The GPU image must be used on Microsoft Azure Services such as Azure Container Instances, Azure Machine Learning Compute, Azure Virtual Machines, and Azure Kubernetes Service. Defaults to False", + args: { name: "enable-gpu" }, + }, + { + name: ["--entry-script", "--es"], + description: + "Path to local file that contains the code to run for service (relative path from source_directory if one is provided)", + args: { name: "entry-script" }, + }, + { + name: ["--environment-name", "-e"], + description: + "Name of Azure Machine Learning Environment for deployment", + args: { name: "environment-name" }, + }, + { + name: ["--environment-version", "--ev"], + description: + "Version of an existing Azure Machine Learning Environment for deployment", + args: { name: "environment-version" }, + }, + { + name: ["--failure-threshold", "--ft"], + description: + "When a Pod starts and the liveness probe fails, Kubernetes will try --failure-threshold times before giving up. Defaults to 3. Minimum value is 1", + args: { name: "failure-threshold" }, + }, + { + name: ["--memory-gb", "--gb"], + description: + "The amount of memory (in GB) to allocate for this Webservice. Can be a decimal", + args: { name: "memory-gb" }, + }, + { + name: ["--memory-gb-limit", "--gbl"], + description: + "The max amount of memory (in GB) this Webservice is allowed to use. Can be a decimal", + args: { name: "memory-gb-limit" }, + }, + { + name: ["--gpu-cores", "--gc"], + description: + "The number of gpu cores to allocate for this Webservice. Default is 1", + args: { name: "gpu-cores" }, + }, + { + name: ["--inference-config-file", "--ic"], + description: + "Path to a JSON or YAML file containing inference configuration", + args: { name: "inference-config-file" }, + }, + { + name: ["--initial-delay-seconds", "--id"], + description: + "Number of seconds after the container has started before liveness probes are initiated. Defaults to 310", + args: { name: "initial-delay-seconds" }, + }, + { + name: "--is-migration", + description: + "(Preview) Whether or not to migrate AKS web service to Kubernetes online endpoint and deployment. Defaults to False", + args: { name: "is-migration" }, + }, + { + name: ["--primary-key", "--kp"], + description: "A primary auth key to use for this Webservice", + args: { name: "primary-key" }, + }, + { + name: ["--secondary-key", "--ks"], + description: "A secondary auth key to use for this Webservice", + args: { name: "secondary-key" }, + }, + { + name: ["--location", "--lo"], + description: + "The Azure region to deploy this Webservice to. If not specified the Workspace location will be used. More details on available regions can be found here: https://azure.microsoft.com/en-us/global-infrastructure/services/?regions=all&products=container-instances", + args: { name: "location" }, + }, + { + name: ["--max-request-wait-time", "--mr"], + description: + "The maximum amount of time a request will stay in the queue (in milliseconds) before returning a 503 error. Defaults to 500", + args: { name: "max-request-wait-time" }, + }, + { + name: ["--model", "-m"], + description: + "The ID of the model to be deployed. Multiple models can be specified with additional -m arguments. Models need to be registered first", + args: { name: "model" }, + }, + { + name: ["--model-metadata-file", "-f"], + description: + "Path to a JSON file containing model registration metadata. Multiple models can be provided using multiple -f parameters", + args: { name: "model-metadata-file" }, + }, + { + name: "--no-wait", + description: "Flag to not wait for asynchronous calls", + args: { name: "no-wait" }, + }, + { + name: ["--num-replicas", "--nr"], + description: + "The number of containers to allocate for this Webservice. No default, if this parameter is not set then the autoscaler is enabled by default", + args: { name: "num-replicas" }, + }, + { + name: "--path", + description: + "Path to a project folder. Default: current directory", + args: { name: "path" }, + }, + { + name: ["--period-seconds", "--ps"], + description: + "How often (in seconds) to perform the liveness probe. Default to 10 seconds. Minimum value is 1", + args: { name: "period-seconds" }, + }, + { + name: ["--port", "--po"], + description: + "The local port on which to expose the service's HTTP endpoint", + args: { name: "port" }, + }, + { + name: "--remove-tag", + description: + "Key of tag to remove. Multiple tags can be specified with multiple --remove-tag options", + args: { name: "remove-tag" }, + }, + { + name: ["--replica-max-concurrent-requests", "--rm"], + description: + "The number of maximum concurrent requests per node to allow for this Webservice. Defaults to 1", + args: { name: "replica-max-concurrent-requests" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource group corresponding to the provided workspace", + args: { name: "resource-group" }, + }, + { + name: ["--runtime", "--rt"], + description: + "Which runtime to use for image. Current supported runtimes are 'spark-py' and 'python'spark-py|python|python-slim", + args: { name: "runtime" }, + }, + { + name: ["--ssl-cname", "--sc"], + description: + "The cname for if SSL is enabled. Only applicable when updating an ACI service", + args: { name: "ssl-cname" }, + }, + { + name: ["--scoring-timeout-ms", "--tm"], + description: + "A timeout to enforce for scoring calls to this Webservice. Defaults to 60000", + args: { name: "scoring-timeout-ms" }, + }, + { + name: ["--source-directory", "--sd"], + description: + "Path to folders that contain all files to create the image", + args: { name: "source-directory" }, + }, + { + name: ["--ssl-enabled", "--se"], + description: + "Whether or not to enable SSL for this Webservice. Defaults to False", + args: { name: "ssl-enabled" }, + }, + { + name: ["--ssl-key-pem-file", "--sk"], + description: "The key file needed if SSL is enabled", + args: { name: "ssl-key-pem-file" }, + }, + { + name: ["--ssl-cert-pem-file", "--sp"], + description: "The cert file needed if SSL is enabled", + args: { name: "ssl-cert-pem-file" }, + }, + { + name: ["--success-threshold", "--st"], + description: + "Minimum consecutive successes for the liveness probe to be considered successful after having failed. Defaults to 1. Minimum value is 1", + args: { name: "success-threshold" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--timeout-seconds", "--ts"], + description: + "Number of seconds after which the liveness probe times out. Defaults to 2 second. Minimum value is 1", + args: { name: "timeout-seconds" }, + }, + { + name: "--token-auth-enabled", + description: + "Whether or not to enable token auth for this Webservice. Only available for AKS web services. Defaults to False", + args: { name: "token-auth-enabled" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the workspace containing the service to update", + args: { name: "workspace-name" }, + }, + { name: "-v", description: "Verbosity flag", args: { name: "v" } }, + ], + }, + ], + }, + { + name: "workspace", + description: "Workspace subgroup commands", + subcommands: [ + { + name: "create", + description: "Create a workspace", + options: [ + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--adb-workspace", + description: "Adb Workspace to be linked with this workspace", + args: { name: "adb-workspace" }, + }, + { + name: "--application-insights", + description: + "Application Insights to be associated with this workspace", + args: { name: "application-insights" }, + }, + { + name: "--cmk-keyvault", + description: + "The key vault containing the customer managed key in the Azure resource ID format", + args: { name: "cmk-keyvault" }, + }, + { + name: "--container-registry", + description: + "Container Registry to be associated with this workspace", + args: { name: "container-registry" }, + }, + { + name: "--exist-ok", + description: "Do not fail if workspace exists", + }, + { + name: ["--friendly-name", "-f"], + description: "Friendly name for this workspace", + args: { name: "friendly-name" }, + }, + { + name: "--hbi-workspace", + description: + "Specifies whether the customer data is of High Business Impact(HBI), i.e., contains sensitive business information", + }, + { + name: "--keyvault", + description: "Key Vault to be associated with this workspace", + args: { name: "keyvault" }, + }, + { + name: ["--location", "-l"], + description: "Location for resource", + args: { name: "location" }, + }, + { + name: "--pe-auto-approval", + description: + "Whether private endpoint connections to the workspace resource via a private link should be auto approved", + }, + { + name: "--pe-name", + description: + "Name of the workspace private endpoint. Use this parameter to restrict workspace access to private networks, via a private endpoint", + args: { name: "pe-name" }, + }, + { + name: "--pe-resource-group", + description: + "Name of the existing resource group to create the workspace private endpoint in. The vnet should be in the same resource group. If not specified, the resource group of the workspace will be used", + args: { name: "pe-resource-group" }, + }, + { + name: "--pe-subnet-name", + description: + "Name of the existing subnet to create the workspace private endpoint in", + args: { name: "pe-subnet-name" }, + }, + { + name: "--pe-subscription-id", + description: + "Id of the existing subscription to create the workspace private endpoint in. The vnet should be in the same subscription. If not specified, the subscription Id of the workspace will be used", + args: { name: "pe-subscription-id" }, + }, + { + name: "--pe-vnet-name", + description: + "Name of the existing vnet to create the workspace private endpoint in", + args: { name: "pe-vnet-name" }, + }, + { + name: "--primary-user-assigned-identity", + description: + "The resourceId of the user assigned identity that used to represent workspace identity", + args: { name: "primary-user-assigned-identity" }, + }, + { + name: "--resource-cmk-uri", + description: + "The key URI of the customer managed key to encrypt the data at rest", + args: { name: "resource-cmk-uri" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: + "SKU/edition of a workspace -can be a 'basic' workspace or a feature rich 'enterprise' workspace", + args: { name: "sku" }, + }, + { + name: "--storage-account", + description: + "Storage account to be associated with this workspace", + args: { name: "storage-account" }, + }, + { + name: "--system_datastores_auth_mode", + description: + "Determines whether or not to use credentials for the system datastores of the workspace 'workspaceblobstore' and 'workspacefilestore'. The default value is 'accessKey', in which case, the workspace will create the system datastores with credentials. If set to 'identity', the workspace will create the system datastores with no credentials", + args: { name: "system_datastores_auth_mode" }, + }, + { + name: ["--tags", "-t"], + description: + "Tags associated with this workspace with 'key=value' syntax", + args: { name: "tags" }, + }, + { + name: "--user-assigned-identity-for-cmk-encryption", + description: + "The resourceId of the user assigned identity that needs to be used to access the encryption key", + args: { name: "user-assigned-identity-for-cmk-encryption" }, + }, + { + name: ["--v1-legacy-mode", "-v"], + description: + "Prevent using v2 API service on public Azure Resource Manager if you set this parameter true. Learn more at aka.ms/amlv2network", + args: { name: "v1-legacy-mode" }, + }, + { + name: ["--yes", "-y"], + description: "Create a resource group for this workspace", + }, + ], + }, + { + name: "delete", + description: "Delete a workspace", + options: [ + { + name: "--all-resources", + description: + "Deletes resources which this workspace depends on like storage, acr, kv and app insights", + }, + { + name: "--no-wait", + description: "Do not wait for the workspace deletion to complete", + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "diagnose", + description: "Diagnose workspace setup problems", + options: [ + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list", + description: "List workspaces", + options: [ + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-keys", + description: + "List workspace keys for dependent resources such as storage, acr, and app insights", + options: [ + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "share", + description: "Share a workspace with another user with a given role", + options: [ + { + name: "--role", + description: "Role to assign to this user", + args: { name: "role" }, + isRequired: true, + }, + { + name: "--user", + description: "User with whom to share this workspace", + args: { name: "user" }, + isRequired: true, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show", + description: "Show a workspace", + options: [ + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "sync-keys", + description: + "Sync workspace keys for dependent resources such as storage, acr, and app insights", + options: [ + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update a workspace", + options: [ + { + name: "--allow-public-access", + description: "Allow public access to private link workspace", + args: { name: "allow-public-access" }, + }, + { + name: ["--description", "-d"], + description: "Description of this workspace", + args: { name: "description" }, + }, + { + name: ["--friendly-name", "-f"], + description: "Friendly name", + args: { name: "friendly-name" }, + }, + { + name: "--image-build-compute", + description: "Compute target for image build", + args: { name: "image-build-compute" }, + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: "--primary-user-assigned-identity", + description: + "The resourceId of the user assigned identity that used to represent workspace identity", + args: { name: "primary-user-assigned-identity" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: "--tags", + description: + "Tags associated with this workspace with 'key=value' syntax", + args: { name: "tags" }, + }, + { + name: ["--v1-legacy-mode", "-v"], + description: + "Prevent using v2 API service on public Azure Resource Manager if you set this parameter true. Learn more at aka.ms/amlv2network", + args: { name: "v1-legacy-mode" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update-dependencies", + description: "Update workspace dependent resources", + options: [ + { + name: "--acr", + description: + "The arm id of the container registry that you want to update this workspace with", + args: { name: "acr" }, + }, + { + name: "--force", + description: + "Force update dependent resources without user's confirmation", + }, + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "private-endpoint", + description: "Workspace private endpoint subgroup commands", + subcommands: [ + { + name: "add", + description: "Add private endpoint to a workspace", + options: [ + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: "--pe-auto-approval", + description: + "Whether private endpoint connections to the workspace resource via a private link should be auto approved", + }, + { + name: "--pe-location", + description: + "Location of the workspace private endpoint. If not specified it will be the same location of the workspace", + args: { name: "pe-location" }, + }, + { + name: "--pe-name", + description: + "Name of the workspace private endpoint. Use this parameter to restrict workspace access to private networks, via a private endpoint", + args: { name: "pe-name" }, + }, + { + name: "--pe-resource-group", + description: + "Name of the existing resource group to create the workspace private endpoint in. The vnet should be in the same resource group. If not specified, the resource group of the workspace will be used", + args: { name: "pe-resource-group" }, + }, + { + name: "--pe-subnet-name", + description: + "Name of the existing subnet to create the workspace private endpoint in", + args: { name: "pe-subnet-name" }, + }, + { + name: "--pe-subscription-id", + description: + "Id of the existing subscription to create the workspace private endpoint in. The vnet should be in the same subscription. If not specified, the subscription Id of the workspace will be used", + args: { name: "pe-subscription-id" }, + }, + { + name: "--pe-vnet-name", + description: + "Name of the existing vnet to create the workspace private endpoint in", + args: { name: "pe-vnet-name" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: "--tags", + description: + "Tags associated with this private endpoint with 'key=value' syntax", + args: { name: "tags" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the specified private endpoint Connection in the workspace", + options: [ + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--pe-connection-name", + description: "The name of the Private EndPoint Connection", + args: { name: "pe-connection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list", + description: "List all private endpoints in a workspace", + options: [ + { + name: ["--output-metadata-file", "-t"], + description: + "Provide an optional output file location for structured object output", + args: { name: "output-metadata-file" }, + }, + { + name: "--path", + description: + "Path to a root directory for run configuration files", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: "Resource group name", + args: { name: "resource-group" }, + }, + { + name: "--subscription-id", + description: "Specifies the subscription Id", + args: { name: "subscription-id" }, + }, + { + name: ["--workspace-name", "-w"], + description: "Workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/mobile-network.ts b/src/az/2.53.0/mobile-network.ts new file mode 100644 index 000000000000..1dc711477a99 --- /dev/null +++ b/src/az/2.53.0/mobile-network.ts @@ -0,0 +1,4108 @@ +const completion: Fig.Spec = { + name: "mobile-network", + description: "Manage mobile network", + subcommands: [ + { + name: "attached-data-network", + description: "Manage attached data net work", + subcommands: [ + { + name: "create", + description: "Create an attached data network", + options: [ + { + name: ["--adn-name", "--name", "-n"], + description: "The name of the attached data network", + args: { name: "adn-name" }, + isRequired: true, + }, + { + name: "--data-interface", + description: + 'The user plane interface on the data network. For 5G networks, this is the N6 interface. For 4G networks, this is the SGi interface. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "data-interface" }, + isRequired: true, + }, + { + name: "--dns-addresses", + description: + 'The DNS servers to signal to UEs to use for this attached data network. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-addresses" }, + isRequired: true, + }, + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + isRequired: true, + }, + { + name: "--pcdp-name", + description: "The name of the packet core data plane", + args: { name: "pcdp-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address-pool", + description: + 'The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will dynamically assign IP addresses to UEs. The packet core instance assigns an IP address to a UE when the UE sets up a PDU session. You must define at least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix. If you define both, they must be of the same size. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "address-pool" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--napt-configuration", + description: + 'The network address and port translation (NAPT) configuration. If this is not specified, the attached data network will use a default NAPT configuration with NAPT enabled. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "napt-configuration" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--static-address-pool", + description: + 'The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will assign static IP addresses to UEs. The packet core instance assigns an IP address to a UE when the UE sets up a PDU session. The static IP address for a specific UE is set in StaticIPConfiguration on the corresponding SIM resource. At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined, they must be of the same size. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "static-address-pool" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified attached data network", + options: [ + { + name: ["--adn-name", "--name", "-n"], + description: "The name of the attached data network", + args: { name: "adn-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: "--pcdp-name", + description: "The name of the packet core data plane", + args: { name: "pcdp-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the attached data networks associated with a packet core data plane", + options: [ + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + isRequired: true, + }, + { + name: "--pcdp-name", + description: "The name of the packet core data plane", + args: { name: "pcdp-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get information about the specified attached data network", + options: [ + { + name: ["--adn-name", "--name", "-n"], + description: "The name of the attached data network", + args: { name: "adn-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: "--pcdp-name", + description: "The name of the packet core data plane", + args: { name: "pcdp-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an attached data network", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--address-pool", + description: + 'The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will dynamically assign IP addresses to UEs. The packet core instance assigns an IP address to a UE when the UE sets up a PDU session. You must define at least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix. If you define both, they must be of the same size. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "address-pool" }, + }, + { + name: ["--adn-name", "--name", "-n"], + description: "The name of the attached data network", + args: { name: "adn-name" }, + }, + { + name: "--data-interface", + description: + 'The user plane interface on the data network. For 5G networks, this is the N6 interface. For 4G networks, this is the SGi interface. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "data-interface" }, + }, + { + name: "--dns-addresses", + description: + 'The DNS servers to signal to UEs to use for this attached data network. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-addresses" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--napt-configuration", + description: + 'The network address and port translation (NAPT) configuration. If this is not specified, the attached data network will use a default NAPT configuration with NAPT enabled. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "napt-configuration" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: "--pcdp-name", + description: "The name of the packet core data plane", + args: { name: "pcdp-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--static-address-pool", + description: + 'The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will assign static IP addresses to UEs. The packet core instance assigns an IP address to a UE when the UE sets up a PDU session. The static IP address for a specific UE is set in StaticIPConfiguration on the corresponding SIM resource. At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined, they must be of the same size. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "static-address-pool" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--adn-name", "--name", "-n"], + description: "The name of the attached data network", + args: { name: "adn-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: "--pcdp-name", + description: "The name of the packet core data plane", + args: { name: "pcdp-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "create", + description: "Create a mobile network", + options: [ + { + name: "--identifier", + description: + 'The unique public land mobile network identifier for the network. This is made up of the mobile country code and mobile network code, as defined in https://www.itu.int/rec/T-REC-E.212. The values 001-01 and 001-001 can be used for testing and the values 999-99 and 999-999 can be used on internal private networks. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identifier" }, + isRequired: true, + }, + { + name: ["--mobile-network-name", "--name", "-n"], + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified mobile network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--mobile-network-name", "--name", "-n"], + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the mobile networks in a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get information about the specified mobile network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--mobile-network-name", "--name", "-n"], + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update mobile network tags", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--mobile-network-name", "--name", "-n"], + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--mobile-network-name", "--name", "-n"], + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "data-network", + description: "Manage data network", + subcommands: [ + { + name: "create", + description: "Create a data network", + options: [ + { + name: ["--data-network-name", "--name", "-n"], + description: "The name of the data network", + args: { name: "data-network-name" }, + isRequired: true, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "An optional description for this data network", + args: { name: "description" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified data network", + options: [ + { + name: ["--data-network-name", "--name", "-n"], + description: "The name of the data network", + args: { name: "data-network-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all data networks in the mobile network", + options: [ + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get information about the specified data network", + options: [ + { + name: ["--data-network-name", "--name", "-n"], + description: "The name of the data network", + args: { name: "data-network-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a data network", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--data-network-name", "--name", "-n"], + description: "The name of the data network", + args: { name: "data-network-name" }, + }, + { + name: "--description", + description: "An optional description for this data network", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { + name: ["--data-network-name", "--name", "-n"], + description: "The name of the data network", + args: { name: "data-network-name" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "pccp", + description: "Manage packet core control plane", + subcommands: [ + { + name: "collect-diagnostics-package", + description: + "Collect a diagnostics package for the specified packet core control plane. This action will upload the diagnostics to a storage account", + options: [ + { + name: "--blob-url", + description: + "The Storage Account Blob URL to upload the diagnostics package to", + args: { name: "blob-url" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a packet core control plane", + options: [ + { + name: "--access-interface", + description: + 'The control plane interface on the access network. For 5G networks, this is the N2 interface. For 4G networks, this is the S1-MME interface. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "access-interface" }, + isRequired: true, + }, + { + name: "--local-diagnostics", + description: + 'The kubernetes ingress configuration to control access to packet core diagnostics over local APIs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "local-diagnostics" }, + isRequired: true, + }, + { + name: ["--pccp-name", "--name", "-n"], + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + isRequired: true, + }, + { + name: "--platform", + description: + 'The platform where the packet core is deployed. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "platform" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sites", + description: + 'Site(s) under which this packet core control plane should be deployed. The sites must be in the same location as the packet core control plane. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sites" }, + isRequired: true, + }, + { + name: "--sku", + description: + "The SKU defining the throughput and SIM allowances for this packet core control plane deployment", + args: { + name: "sku", + suggestions: ["G0", "G1", "G10", "G2", "G3", "G4", "G5"], + }, + isRequired: true, + }, + { + name: "--core-network-tec", + description: + "The core network technology generation (5G core or EPC / 4G core)", + args: { name: "core-network-tec", suggestions: ["5GC", "EPC"] }, + }, + { + name: "--identity", + description: + 'The identity used to retrieve the ingress certificate from Azure key vault. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--ue-mtu", + description: + "The MTU (in bytes) signaled to the UE. The same MTU is set on the user plane data links for all data networks. The MTU set on the user plane access link is calculated to be 60 bytes greater than this value to allow for GTP encapsulation", + args: { name: "ue-mtu" }, + }, + { + name: "--version", + description: + "The version of the packet core software that is deployed", + args: { name: "version" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified packet core control plane", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pccp-name", "--name", "-n"], + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the packet core control planes in a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "reinstall", + description: + "Reinstall the specified packet core control plane. This action will remove any transaction state from the packet core to return it to a known state. This action will cause a service outage", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "rollback", + description: + 'Roll back the specified packet core control plane to the previous version, "rollbackVersion". Multiple consecutive rollbacks are not possible. This action may cause a service outage', + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get information about the specified packet core control plane", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pccp-name", "--name", "-n"], + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a packet core control plane", + options: [ + { + name: "--access-interface", + description: + 'The control plane interface on the access network. For 5G networks, this is the N2 interface. For 4G networks, this is the S1-MME interface. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "access-interface" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--core-network-tec", + description: + "The core network technology generation (5G core or EPC / 4G core)", + args: { name: "core-network-tec", suggestions: ["5GC", "EPC"] }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + 'The identity used to retrieve the ingress certificate from Azure key vault. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-diagnostics", + description: + 'The kubernetes ingress configuration to control access to packet core diagnostics over local APIs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "local-diagnostics" }, + }, + { + name: ["--pccp-name", "--name", "-n"], + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--platform", + description: + 'The platform where the packet core is deployed. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "platform" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sites", + description: + 'Site(s) under which this packet core control plane should be deployed. The sites must be in the same location as the packet core control plane. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sites" }, + }, + { + name: "--sku", + description: + "The SKU defining the throughput and SIM allowances for this packet core control plane deployment", + args: { + name: "sku", + suggestions: ["G0", "G1", "G10", "G2", "G3", "G4", "G5"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--ue-mtu", + description: + "The MTU (in bytes) signaled to the UE. The same MTU is set on the user plane data links for all data networks. The MTU set on the user plane access link is calculated to be 60 bytes greater than this value to allow for GTP encapsulation", + args: { name: "ue-mtu" }, + }, + { + name: "--version", + description: + "The version of the packet core software that is deployed", + args: { name: "version" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--pccp-name", "--name", "-n"], + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "version", + description: "Manage packet core control plane version", + subcommands: [ + { + name: "list", + description: + "List all supported packet core control planes versions", + }, + { + name: "show", + description: + "Get information about the specified packet core control plane version", + options: [ + { + name: "--version-name", + description: + "The name of the packet core control plane version", + args: { name: "version-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "pcdp", + description: "Manage packet core data plane", + subcommands: [ + { + name: "create", + description: "Create a packet core data plane", + options: [ + { + name: "--access-interface", + description: + 'The user plane interface on the access network. For 5G networks, this is the N3 interface. For 4G networks, this is the S1-U interface. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "access-interface" }, + isRequired: true, + }, + { + name: ["--pcdp-name", "--name", "-n"], + description: "The name of the packet core data plane", + args: { name: "pcdp-name" }, + isRequired: true, + }, + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified packet core data plane", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pcdp-name", "--name", "-n"], + description: "The name of the packet core data plane", + args: { name: "pcdp-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the packet core data planes associated with a packet core control plane", + options: [ + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get information about the specified packet core data plane", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pcdp-name", "--name", "-n"], + description: "The name of the packet core data plane", + args: { name: "pcdp-name" }, + }, + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update packet core data planes tags", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pcdp-name", "--name", "-n"], + description: "The name of the packet core data plane", + args: { name: "pcdp-name" }, + }, + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--pcdp-name", "--name", "-n"], + description: "The name of the packet core data plane", + args: { name: "pcdp-name" }, + }, + { + name: "--pccp-name", + description: "The name of the packet core control plane", + args: { name: "pccp-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "service", + description: "Manage service", + subcommands: [ + { + name: "create", + description: "Create a service", + options: [ + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + isRequired: true, + }, + { + name: ["--service-name", "--name", "-n"], + description: + "The name of the service. You must not use any of the following reserved strings - default, requested or service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--pcc-rules", + description: + 'The set of data flow policy rules that make up this service. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "pcc-rules" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-precedence", + description: + "A precedence value that is used to decide between services when identifying the QoS values to use for a particular SIM. A lower value means a higher priority. This value should be unique among all services configured in the mobile network", + args: { name: "service-precedence" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--service-qos-policy", + description: + 'The QoS policy to use for packets matching this service. This can be overridden for particular flows using the ruleQosPolicy field in a PccRuleConfiguration. If this field is null then the UE\'s SIM policy will define the QoS settings. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "service-qos-policy" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--service-name", "--name", "-n"], + description: + "The name of the service. You must not use any of the following reserved strings - default, requested or service", + args: { name: "service-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the services in a mobile network", + options: [ + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get information about the specified service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--service-name", "--name", "-n"], + description: + "The name of the service. You must not use any of the following reserved strings - default, requested or service", + args: { name: "service-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a service", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--service-name", "--name", "-n"], + description: + "The name of the service. You must not use any of the following reserved strings - default, requested or service", + args: { name: "service-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--pcc-rules", + description: + 'The set of data flow policy rules that make up this service. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "pcc-rules" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--service-precedence", + description: + "A precedence value that is used to decide between services when identifying the QoS values to use for a particular SIM. A lower value means a higher priority. This value should be unique among all services configured in the mobile network", + args: { name: "service-precedence" }, + }, + { + name: "--service-qos-policy", + description: + 'The QoS policy to use for packets matching this service. This can be overridden for particular flows using the ruleQosPolicy field in a PccRuleConfiguration. If this field is null then the UE\'s SIM policy will define the QoS settings. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "service-qos-policy" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--service-name", "--name", "-n"], + description: + "The name of the service. You must not use any of the following reserved strings - default, requested or service", + args: { name: "service-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sim", + description: "Manage sim", + subcommands: [ + { + name: "create", + description: "Create a SIM", + options: [ + { + name: "--international-msi", + description: + "The international mobile subscriber identity (IMSI) for the SIM", + args: { name: "international-msi" }, + isRequired: true, + }, + { + name: ["--sim-name", "--name", "-n"], + description: "The name of the SIM", + args: { name: "sim-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sim-group-name", + description: "The name of the SIM Group", + args: { name: "sim-group-name" }, + isRequired: true, + }, + { + name: "--authentication-key", + description: "The Ki value for the SIM", + args: { name: "authentication-key" }, + }, + { + name: "--device-type", + description: + "An optional free-form text field that can be used to record the device type this SIM is associated with, for example 'Video camera'. The Azure portal allows SIMs to be grouped and filtered based on this value", + args: { name: "device-type" }, + }, + { + name: "--icc-id", + description: "The integrated circuit card ID (ICCID) for the SIM", + args: { name: "icc-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--operator-key-code", + description: "The Opc value for the SIM", + args: { name: "operator-key-code" }, + }, + { + name: "--sim-policy", + description: + 'The SIM policy used by this SIM. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sim-policy" }, + }, + { + name: "--static-ip-config", + description: + 'A list of static IP addresses assigned to this SIM. Each address is assigned at a defined network scope, made up of {attached data network, slice}. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "static-ip-config" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified SIM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--sim-name", "--name", "-n"], + description: "The name of the SIM", + args: { name: "sim-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sim-group-name", + description: "The name of the SIM Group", + args: { name: "sim-group-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the SIMs in a SIM group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sim-group-name", + description: "The name of the SIM Group", + args: { name: "sim-group-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get information about the specified SIM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--sim-name", "--name", "-n"], + description: "The name of the SIM", + args: { name: "sim-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sim-group-name", + description: "The name of the SIM Group", + args: { name: "sim-group-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--sim-name", "--name", "-n"], + description: "The name of the SIM", + args: { name: "sim-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sim-group-name", + description: "The name of the SIM Group", + args: { name: "sim-group-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "group", + description: "Manage sim group", + subcommands: [ + { + name: "bulk-delete-sims", + description: "Bulk delete SIMs from a SIM group", + options: [ + { + name: "--sims", + description: + 'A list of SIM resource names to delete. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sims" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sim-group-name", + description: "The name of the SIM Group", + args: { name: "sim-group-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "bulk-upload-sims", + description: "Bulk upload SIMs to a SIM group", + options: [ + { + name: "--sims", + description: + 'A list of SIMs to upload. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sims" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sim-group-name", + description: "The name of the SIM Group", + args: { name: "sim-group-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a SIM group", + options: [ + { + name: ["--sim-group-name", "--name", "-n"], + description: "The name of the SIM Group", + args: { name: "sim-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--encryption-key", + description: + 'A key to encrypt the SIM data that belongs to this SIM group. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "encryption-key" }, + }, + { + name: "--identity", + description: + 'The identity used to retrieve the encryption key from Azure key vault. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--mobile-network", + description: + 'Mobile network that this SIM belongs to Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "mobile-network" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified SIM group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--sim-group-name", "--name", "-n"], + description: "The name of the SIM Group", + args: { name: "sim-group-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the SIM groups in a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get information about the specified SIM group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--sim-group-name", "--name", "-n"], + description: "The name of the SIM Group", + args: { name: "sim-group-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a SIM group", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--encryption-key", + description: + 'A key to encrypt the SIM data that belongs to this SIM group. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "encryption-key" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + 'The identity used to retrieve the encryption key from Azure key vault. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network", + description: + 'Mobile network that this SIM belongs to Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "mobile-network" }, + }, + { + name: ["--sim-group-name", "--name", "-n"], + description: "The name of the SIM Group", + args: { name: "sim-group-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--sim-group-name", "--name", "-n"], + description: "The name of the SIM Group", + args: { name: "sim-group-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "policy", + description: "Manage sim policy", + subcommands: [ + { + name: "create", + description: "Create a SIM policy", + options: [ + { + name: "--default-slice", + description: + 'The default slice to use if the UE does not explicitly specify it. This slice must exist in the sliceConfigurations map. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "default-slice" }, + isRequired: true, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + isRequired: true, + }, + { + name: ["--sim-policy-name", "--name", "-n"], + description: "The name of the SIM policy", + args: { name: "sim-policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--slice-config", + description: + 'The allowed slices and the settings to use for them. The list must not contain duplicate items and must contain at least one item. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "slice-config" }, + isRequired: true, + }, + { + name: "--ue-ambr", + description: + 'Aggregate maximum bit rate across all non-GBR QoS flows of all PDU sessions of a given UE. See 3GPP TS23.501 section 5.7.2.6 for a full description of the UE-AMBR. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ue-ambr" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--registration-timer", + description: + "Interval for the UE periodic registration update procedure, in seconds", + args: { name: "registration-timer" }, + }, + { + name: "--rfsp-index", + description: + "RAT/Frequency Selection Priority Index, defined in 3GPP TS 36.413. This is an optional setting and by default is unspecified", + args: { name: "rfsp-index" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified SIM policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--sim-policy-name", "--name", "-n"], + description: "The name of the SIM policy", + args: { name: "sim-policy-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all the SIM policies in a mobile network", + options: [ + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get information about the specified SIM policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--sim-policy-name", "--name", "-n"], + description: "The name of the SIM policy", + args: { name: "sim-policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a SIM policy", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--default-slice", + description: + 'The default slice to use if the UE does not explicitly specify it. This slice must exist in the sliceConfigurations map. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "default-slice" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--sim-policy-name", "--name", "-n"], + description: "The name of the SIM policy", + args: { name: "sim-policy-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--registration-timer", + description: + "Interval for the UE periodic registration update procedure, in seconds", + args: { name: "registration-timer" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rfsp-index", + description: + "RAT/Frequency Selection Priority Index, defined in 3GPP TS 36.413. This is an optional setting and by default is unspecified", + args: { name: "rfsp-index" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--slice-config", + description: + 'The allowed slices and the settings to use for them. The list must not contain duplicate items and must contain at least one item. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "slice-config" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--ue-ambr", + description: + 'Aggregate maximum bit rate across all non-GBR QoS flows of all PDU sessions of a given UE. See 3GPP TS23.501 section 5.7.2.6 for a full description of the UE-AMBR. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ue-ambr" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--sim-policy-name", "--name", "-n"], + description: "The name of the SIM policy", + args: { name: "sim-policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "site", + description: "Manage site", + subcommands: [ + { + name: "create", + description: "Create a mobile network site", + options: [ + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + isRequired: true, + }, + { + name: ["--site-name", "--name", "-n"], + description: "The name of the mobile network site", + args: { name: "site-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified mobile network site", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--site-name", "--name", "-n"], + description: "The name of the mobile network site", + args: { name: "site-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all sites in the mobile network", + options: [ + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get information about the specified mobile network site", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--site-name", "--name", "-n"], + description: "The name of the mobile network site", + args: { name: "site-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a mobile network site", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--site-name", "--name", "-n"], + description: "The name of the mobile network site", + args: { name: "site-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--site-name", "--name", "-n"], + description: "The name of the mobile network site", + args: { name: "site-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "slice", + description: "Manage slice", + subcommands: [ + { + name: "create", + description: "Create a network slice", + options: [ + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + isRequired: true, + }, + { + name: ["--slice-name", "--name", "-n"], + description: "The name of the network slice", + args: { name: "slice-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--snssai", + description: + 'Single-network slice selection assistance information (S-NSSAI). Unique at the scope of a mobile network. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "snssai" }, + isRequired: true, + }, + { + name: "--description", + description: "An optional description for this network slice", + args: { name: "description" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified network slice", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--slice-name", "--name", "-n"], + description: "The name of the network slice", + args: { name: "slice-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all slices in the mobile network", + options: [ + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get information about the specified network slice", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--slice-name", "--name", "-n"], + description: "The name of the network slice", + args: { name: "slice-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a network slice", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "An optional description for this network slice", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--slice-name", "--name", "-n"], + description: "The name of the network slice", + args: { name: "slice-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--snssai", + description: + 'Single-network slice selection assistance information (S-NSSAI). Unique at the scope of a mobile network. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "snssai" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--mobile-network-name", + description: "The name of the mobile network", + args: { name: "mobile-network-name" }, + }, + { + name: ["--slice-name", "--name", "-n"], + description: "The name of the network slice", + args: { name: "slice-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/monitor.ts b/src/az/2.53.0/monitor.ts new file mode 100644 index 000000000000..3a9778d525d1 --- /dev/null +++ b/src/az/2.53.0/monitor.ts @@ -0,0 +1,11865 @@ +const completion: Fig.Spec = { + name: "monitor", + description: "Manage the Azure Monitor Service", + subcommands: [ + { + name: "account", + description: "Manage monitor account", + subcommands: [ + { + name: "create", + description: "Create a workspace", + options: [ + { + name: ["--azure-monitor-workspace-name", "--name", "-n"], + description: + "The name of the Azure Monitor workspace. The name is case insensitive", + args: { name: "azure-monitor-workspace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a workspace", + options: [ + { + name: ["--azure-monitor-workspace-name", "--name", "-n"], + description: + "The name of the Azure Monitor workspace. The name is case insensitive", + args: { name: "azure-monitor-workspace-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all workspaces in the specified subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the specific azure monitor workspace", + options: [ + { + name: ["--azure-monitor-workspace-name", "--name", "-n"], + description: + "The name of the Azure Monitor workspace. The name is case insensitive", + args: { name: "azure-monitor-workspace-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a workspace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--azure-monitor-workspace-name", "--name", "-n"], + description: + "The name of the Azure Monitor workspace. The name is case insensitive", + args: { name: "azure-monitor-workspace-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--azure-monitor-workspace-name", "--name", "-n"], + description: + "The name of the Azure Monitor workspace. The name is case insensitive", + args: { name: "azure-monitor-workspace-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "action-group", + description: "Manage action groups", + subcommands: [ + { + name: "create", + description: "Create a new action group", + options: [ + { + name: ["--action-group-name", "--name", "-n"], + description: "The name of the action group", + args: { name: "action-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--actions", "--action", "-a"], + description: + "Add receivers to the action group during the creation. Usage: --action TYPE NAME [ARG ...] Email: Format: --action email NAME EMAIL_ADDRESS [usecommonalertschema] Example: --action email bob bob@contoso.com SMS: Format: --action sms NAME COUNTRY_CODE PHONE_NUMBER Example: --action sms charli 1 5551234567 Webhook: Format: --action webhook NAME URI [useaadauth OBJECT_ID IDENTIFIER URI] [usecommonalertschema] Example: --action webhook alert_hook https://www.contoso.com/alert useaadauth testobj http://identifier usecommonalertschema Arm Role: Format: --action armrole NAME ROLE_ID [usecommonalertschema] Example: --action armole owner_role 8e3af657-a8ff-443c-a75c-2fe8c4bcb635 Azure App Push: Format: --action azureapppush NAME EMAIL_ADDRESS Example: --action azureapppush test_apppush bob@contoso.com ITSM: Format: --action itsm NAME WORKSPACE_ID CONNECTION_ID TICKET_CONFIGURATION REGION Example: --action itsm test_itsm test_workspace test_conn ticket_blob useast Automation runbook: Format: --action automationrunbook NAME AUTOMATION_ACCOUNT_ID RUNBOOK_NAME WEBHOOK_RESOURCE_ID SERVICE_URI [isglobalrunbook] [usecommonalertschema] Example: --action automationrunbook test_runbook test_acc test_book test_webhook test_rsrc http://example.com isglobalrunbook usecommonalertschema Voice: Format: --action voice NAME COUNTRY_CODE PHONE_NUMBER Example: --action voice charli 1 4441234567 Logic App: Format: --action logicapp NAME RESOURCE_ID CALLBACK_URL [usecommonalertschema] Example: --action logicapp test_logicapp test_rsrc http://callback Azure Function: Format: --action azurefunction NAME FUNCTION_APP_RESOURCE_ID FUNCTION_NAME HTTP_TRIGGER_URL [usecommonalertschema] Example: --action azurefunction test_function test_rsrc test_func http://trigger usecommonalertschema Event Hub: Format: --action eventhub NAME SUBSCRIPTION_ID EVENT_HUB_NAME_SPACE EVENT_HUB_NAME [usecommonalertschema] Example: --action eventhub test_eventhub 5def922a-3ed4-49c1-b9fd-05ec533819a3 eventhubNameSpace testEventHubName usecommonalertschema Multiple actions can be specified by using more than one --add-action argument. 'useaadauth', 'isglobalrunbook' and 'usecommonalertschema' are optional arguements that only need to be passed to set the respective parameter to True. If the 'useaadauth' argument is passed, then the OBJECT_ID and IDENTIFIER_URI values are required as well. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "actions" }, + }, + { + name: ["--group-short-name", "--short-name"], + description: + "The short name of the action group. This will be used in SMS messages", + args: { name: "group-short-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--tags", + description: + "Space-separated tags: key[=value] [key[=value] ...]. Use '' to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an action group", + options: [ + { + name: ["--action-group-name", "--name", "-n"], + description: "The name of the action group", + args: { name: "action-group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "enable-receiver", + description: "Enable a receiver in an action group", + options: [ + { + name: ["--receiver-name", "--name", "-n"], + description: "The name of the receiver to resubscribe", + args: { name: "receiver-name" }, + isRequired: true, + }, + { + name: ["--action-group-name", "--action-group"], + description: "The name of the action group", + args: { name: "action-group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List action groups under a resource group or the current subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the details of an action group", + options: [ + { + name: ["--action-group-name", "--name", "-n"], + description: "The name of the action group", + args: { name: "action-group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an action group", + options: [ + { + name: ["--action-group-name", "--name", "-n"], + description: "The name of the action group", + args: { name: "action-group-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--add-actions", "--add-action", "-a"], + description: + "Add receivers to the action group. Usage: --add-action TYPE NAME [ARG ...] Email: Format: --add-action email NAME EMAIL_ADDRESS [usecommonalertschema] Example: --add-action email bob bob@contoso.com SMS: Format: --add-action sms NAME COUNTRY_CODE PHONE_NUMBER Example: --add-action sms charli 1 5551234567 Webhook: Format: --add-action webhook NAME URI [useaadauth OBJECT_ID IDENTIFIER URI] [usecommonalertschema] Example: --add-action https://www.contoso.com/alert useaadauth testobj http://identifier usecommonalertschema Arm Role: Format: --add-action armrole NAME ROLE_ID [usecommonalertschema] Example: --add-action armole owner_role 8e3af657-a8ff-443c-a75c-2fe8c4bcb635 Azure App Push: Format: --add-action azureapppush NAME EMAIL_ADDRESS Example: --add-action azureapppush test_apppush bob@contoso.com ITSM: Format: --add-action itsm NAME WORKSPACE_ID CONNECTION_ID TICKET_CONFIGURATION REGION Example: --add-action itsm test_itsm test_workspace test_conn ticket_blob useast Automation runbook: Format: --add-action automationrunbook NAME AUTOMATION_ACCOUNT_ID RUNBOOK_NAME WEBHOOK_RESOURCE_ID SERVICE_URI [isglobalrunbook] [usecommonalertschema] Example: --add-action automationrunbook test_runbook test_acc test_book test_webhook test_rsrc http://example.com isglobalrunbook usecommonalertschema Voice: Format: --add-action voice NAME COUNTRY_CODE PHONE_NUMBER Example: --add-action voice charli 1 4441234567 Logic App: Format: --add-action logicapp NAME RESOURCE_ID CALLBACK_URL [usecommonalertschema] Example: --add-action logicapp test_logicapp test_rsrc http://callback Azure Function: Format: --add-action azurefunction NAME FUNCTION_APP_RESOURCE_ID FUNCTION_NAME HTTP_TRIGGER_URL [usecommonalertschema] Example: --add-action azurefunction test_function test_rsrc test_func http://trigger usecommonalertschema Event Hub: Format: --action eventhub NAME SUBSCRIPTION_ID EVENT_HUB_NAME_SPACE EVENT_HUB_NAME [usecommonalertschema] Example: --action eventhub test_eventhub 5def922a-3ed4-49c1-b9fd-05ec533819a3 eventhubNameSpace testEventHubName usecommonalertschema Multiple actions can be specified by using more than one --add-action argument. 'useaadauth', 'isglobalrunbook' and 'usecommonalertschema' are optional arguements that only need to be passed to set the respective parameter to True. If the 'useaadauth' argument is passed, then the OBJECT_ID and IDENTIFIER_URI values are required as well. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "add-actions" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--group-short-name", "--short-name"], + description: + "The short name of the action group. This will be used in SMS messages", + args: { name: "group-short-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--remove-action", "-r"], + description: + 'Remove receivers from the action group. Accept space-separated list of receiver names. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "remove-action" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + "Space-separated tags: key[=value] [key[=value] ...]. Use '' to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: "Place the CLI in a waiting state", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the action group. Required", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "test-notifications", + description: "Manage action groups test-notifications", + subcommands: [ + { + name: "create", + description: "Create an action group test-notifications", + options: [ + { + name: ["--action-group-name", "--action-group"], + description: "The name of the action group", + args: { name: "action-group-name" }, + isRequired: true, + }, + { + name: "--alert-type", + description: + "The value of the supported alert type. Supported alert type values are: servicehealth, metricstaticthreshold, metricsdynamicthreshold, logalertv2, smartalert, webtestalert, logalertv1numresult, logalertv1metricmeasurement, resourcehealth, activitylog, budget", + args: { name: "alert-type" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--add-actions", "--add-action", "-a"], + description: + "Add receivers to the action group. Usage: --add-action TYPE NAME [ARG ...] Email: Format: --add-action email NAME EMAIL_ADDRESS [usecommonalertschema] Example: --add-action email bob bob@contoso.com SMS: Format: --add-action sms NAME COUNTRY_CODE PHONE_NUMBER Example: --add-action sms charli 1 5551234567 Webhook: Format: --add-action webhook NAME URI [useaadauth OBJECT_ID IDENTIFIER URI] [usecommonalertschema] Example: --add-action https://www.contoso.com/alert useaadauth testobj http://identifier usecommonalertschema Arm Role: Format: --add-action armrole NAME ROLE_ID [usecommonalertschema] Example: --add-action armole owner_role 8e3af657-a8ff-443c-a75c-2fe8c4bcb635 Azure App Push: Format: --add-action azureapppush NAME EMAIL_ADDRESS Example: --add-action azureapppush test_apppush bob@contoso.com ITSM: Format: --add-action itsm NAME WORKSPACE_ID CONNECTION_ID TICKET_CONFIGURATION REGION Example: --add-action itsm test_itsm test_workspace test_conn ticket_blob useast Automation runbook: Format: --add-action automationrunbook NAME AUTOMATION_ACCOUNT_ID RUNBOOK_NAME WEBHOOK_RESOURCE_ID SERVICE_URI [isglobalrunbook] [usecommonalertschema] Example: --add-action automationrunbook test_runbook test_acc test_book test_webhook test_rsrc http://example.com isglobalrunbook usecommonalertschema Voice: Format: --add-action voice NAME COUNTRY_CODE PHONE_NUMBER Example: --add-action voice charli 1 4441234567 Logic App: Format: --add-action logicapp NAME RESOURCE_ID CALLBACK_URL [usecommonalertschema] Example: --add-action logicapp test_logicapp test_rsrc http://callback Azure Function: Format: --add-action azurefunction NAME FUNCTION_APP_RESOURCE_ID FUNCTION_NAME HTTP_TRIGGER_URL [usecommonalertschema] Example: --add-action azurefunction test_function test_rsrc test_func http://trigger usecommonalertschema Event Hub: Format: --action eventhub NAME SUBSCRIPTION_ID EVENT_HUB_NAME_SPACE EVENT_HUB_NAME [usecommonalertschema] Example: --action eventhub test_eventhub 5def922a-3ed4-49c1-b9fd-05ec533819a3 eventhubNameSpace testEventHubName usecommonalertschema Multiple actions can be specified by using more than one --add-action argument. 'useaadauth', 'isglobalrunbook' and 'usecommonalertschema' are optional arguements that only need to be passed to set the respective parameter to True. If the 'useaadauth' argument is passed, then the OBJECT_ID and IDENTIFIER_URI values are required as well. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "add-actions" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + ], + }, + ], + }, + { + name: "activity-log", + description: "Manage activity logs", + subcommands: [ + { + name: "list", + description: "List and query activity log events", + options: [ + { + name: "--caller", + description: + "Caller to query for, such as an e-mail address or service principal ID", + args: { name: "caller" }, + }, + { + name: "--correlation-id", + description: "Correlation ID to query", + args: { name: "correlation-id" }, + }, + { + name: "--end-time", + description: + "End time of the query. Defaults to the current time. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "end-time" }, + }, + { + name: "--max-events", + description: "Maximum number of records to return", + args: { name: "max-events" }, + }, + { + name: "--namespace", + description: "Resource provider namespace", + args: { name: "namespace" }, + }, + { + name: "--offset", + description: "Time offset of the query range, in ##d##h format", + args: { name: "offset" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-id", + description: "ARM ID of a resource", + args: { name: "resource-id" }, + }, + { + name: "--select", + description: "Space-separated list of properties to return", + args: { + name: "select", + suggestions: [ + "authorization", + "caller", + "category", + "claims", + "correlationId", + "description", + "eventDataId", + "eventName", + "eventTimestamp", + "httpRequest", + "id", + "level", + "operationId", + "operationName", + "properties", + "resourceGroupName", + "resourceId", + "resourceProviderName", + "resourceType", + "status", + "subStatus", + "submissionTimestamp", + "subscriptionId", + "tenantId", + ], + }, + }, + { + name: "--start-time", + description: + "Start time of the query. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "start-time" }, + }, + { + name: "--status", + description: "Status to query for (ex: Failed)", + args: { name: "status" }, + }, + ], + }, + { + name: "list-categories", + description: "List the event categories of activity logs", + }, + { + name: "alert", + description: "Manage activity log alert rules", + subcommands: [ + { + name: "create", + description: "Create a default activity log alert rule", + options: [ + { + name: ["--name", "-n"], + description: "Name of the activity log alert rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--action-group", "-a"], + description: + "Add an action group. Accepts space-separated action group identifiers. The identifier can be the action group's name or its resource ID", + args: { name: "action-group" }, + }, + { + name: ["--condition", "-c"], + description: + "The condition that will cause the alert rule to activate. The format is FIELD=VALUE[ and FIELD=VALUE...]", + args: { name: "condition" }, + }, + { + name: "--description", + description: "A description of this activity log alert rule", + args: { name: "description" }, + }, + { + name: "--disable", + description: + "Disable the activity log alert rule after it is created", + }, + { + name: ["--scope", "-s"], + description: + "A list of strings that will be used as prefixes", + args: { name: "scope" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--webhook-properties", "-w"], + description: + "Space-separated webhook properties in 'key[=value]' format. These properties are associated with the action groups added in this command", + args: { name: "webhook-properties" }, + }, + ], + }, + { + name: "delete", + description: "Delete an activity log alert", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the activity log alert. Required", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List activity log alert rules under a resource group or the current subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group under which the activity log alert rules are being listed. If it is omitted, all the activity log alert rules under the current subscription are listed", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get an activity log alert", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the activity log alert. Required", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the details of this activity log alert rule", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--condition", "-c"], + description: + "The conditional expression that will cause the alert rule to activate. The format is FIELD=VALUE[ and FIELD=VALUE...]", + args: { name: "condition" }, + }, + { + name: "--description", + description: "A description of this activity log alert rule", + args: { name: "description" }, + }, + { + name: "--enabled", + description: "", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the activity log alert. Required", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "action-group", + description: "Manage action groups for activity log alert rules", + subcommands: [ + { + name: "add", + description: + "Add action groups to this activity log alert rule. It can also be used to overwrite existing webhook properties of particular action groups", + options: [ + { + name: ["--action-group", "-a"], + description: + "The names or the resource ids of the action groups to be added", + args: { name: "action-group" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the activity log alert rule", + args: { name: "name" }, + }, + { + name: "--reset", + description: + "Remove all the existing action groups before add new conditions", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--strict", + description: + "Fails the command if an action group to be added will change existing webhook properties", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--webhook-properties", "-w"], + description: + "Space-separated webhook properties in 'key[=value]' format. These properties will be associated with the action groups added in this command", + args: { name: "webhook-properties" }, + }, + ], + }, + { + name: "remove", + description: + "Remove action groups from this activity log alert rule", + options: [ + { + name: ["--action-group", "-a"], + description: + "The names or the resource ids of the action groups to be removed", + args: { name: "action-group" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the activity log alert rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "scope", + description: "Manage scopes for activity log alert rules", + subcommands: [ + { + name: "add", + description: "Add scopes to this activity log alert rule", + options: [ + { + name: ["--scope", "-s"], + description: + "List of scopes to add. Each scope could be a resource ID, a resource group ID or a subscription ID", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the activity log alert rule", + args: { name: "name" }, + }, + { + name: "--reset", + description: + "Remove all the existing scopes before add new scopes", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: + "Removes scopes from this activity log alert rule", + options: [ + { + name: ["--scope", "-s"], + description: "The scopes to remove", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the activity log alert rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "alert-processing-rule", + description: "Manage alert processing rule with alertsmanagement", + subcommands: [ + { + name: "create", + description: "Create an alert processing rule", + options: [ + { + name: ["--name", "-n"], + description: "Name of the alert processing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-type", + description: "Indicate type of the alert processing rule", + args: { + name: "rule-type", + suggestions: ["AddActionGroups", "RemoveAllActionGroups"], + }, + isRequired: true, + }, + { + name: "--scopes", + description: + "List of resource IDs (space-delimited) for scope. The rule will apply to alerts that fired on resources within that scope", + args: { name: "scopes" }, + isRequired: true, + }, + { + name: "--action-groups", + description: + "List of resource ids (space-delimited) of action groups to add. A use of this argument requires that rule-type is AddActionGroups", + args: { name: "action-groups" }, + }, + { + name: "--description", + description: "Description of the alert processing rule", + args: { name: "description" }, + }, + { + name: "--enabled", + description: + "Indicate if the given alert processing rule is enabled or disabled (default is enabled)", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--filter-alert-context", + description: "Filter alerts by alert context (payload)", + args: { name: "filter-alert-context" }, + }, + { + name: "--filter-alert-rule-description", + description: "Filter alerts by alert rule description", + args: { name: "filter-alert-rule-description" }, + }, + { + name: "--filter-alert-rule-id", + description: "Filter alerts by alert ID", + args: { name: "filter-alert-rule-id" }, + }, + { + name: "--filter-alert-rule-name", + description: "Filter alerts by alert rule name", + args: { name: "filter-alert-rule-name" }, + }, + { + name: "--filter-monitor-condition", + description: "Filter alerts by monitor condition", + args: { name: "filter-monitor-condition" }, + }, + { + name: "--filter-monitor-service", + description: "Filter alerts by monitor service", + args: { name: "filter-monitor-service" }, + }, + { + name: "--filter-resource-group", + description: "Filter alerts by resource group", + args: { name: "filter-resource-group" }, + }, + { + name: "--filter-resource-type", + description: "Filter alerts by resource type", + args: { name: "filter-resource-type" }, + }, + { + name: "--filter-severity", + description: + "Filter alerts by severity ", + args: { name: "filter-severity" }, + }, + { + name: "--filter-signal-type", + description: "Filter alerts by signal type", + args: { name: "filter-signal-type" }, + }, + { + name: "--filter-target-resource", + description: "Filter alerts by resource", + args: { name: "filter-target-resource" }, + }, + { + name: "--schedule-end-datetime", + description: + "End date for the rule. Format: 'YYYY-MM-DD hh:mm:ss'", + args: { name: "schedule-end-datetime" }, + }, + { + name: "--schedule-recurrence", + description: "List of recurrence pattern values", + args: { name: "schedule-recurrence" }, + }, + { + name: "--schedule-recurrence-2", + description: + "List of recurrence pattern values for the second recurrence pattern", + args: { name: "schedule-recurrence-2" }, + }, + { + name: "--schedule-recurrence-2-end-time", + description: "End time for each recurrence. Format: hh:mm:ss", + args: { name: "schedule-recurrence-2-end-time" }, + }, + { + name: "--schedule-recurrence-2-start-time", + description: "Start time for each recurrence. Format: hh:mm:ss", + args: { name: "schedule-recurrence-2-start-time" }, + }, + { + name: "--schedule-recurrence-2-type", + description: + "Specifies when the processing rule should be applied. Default to Always", + args: { + name: "schedule-recurrence-2-type", + suggestions: ["Daily", "Monthly", "Weekly"], + }, + }, + { + name: "--schedule-recurrence-end-time", + description: "End time for each recurrence. Format: 'hh:mm:ss'", + args: { name: "schedule-recurrence-end-time" }, + }, + { + name: "--schedule-recurrence-start-time", + description: "Start time for each recurrence. Format: 'hh:mm:ss'", + args: { name: "schedule-recurrence-start-time" }, + }, + { + name: "--schedule-recurrence-type", + description: + "Specifies when the processing rule should be applied", + args: { + name: "schedule-recurrence-type", + suggestions: ["Daily", "Monthly", "Weekly"], + }, + }, + { + name: "--schedule-start-datetime", + description: + "Start date for the rule. Format: 'YYYY-MM-DD hh:mm:ss'", + args: { name: "schedule-start-datetime" }, + }, + { + name: "--schedule-time-zone", + description: "Schedule time zone", + args: { name: "schedule-time-zone" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an alert processing rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the alert processing rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all alert processing rules in a subscription or resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get an alert processing rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the alert processing rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Enable, disable, or update tags for an alert processing rule", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--enabled", + description: + "Indicate if the given processing rule is enabled or disabled (values are True and False)", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the alert processing rule", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "app-insights", + description: + "Commands for querying data in Application Insights applications", + subcommands: [ + { + name: "query", + description: "Execute a query over data in your application", + options: [ + { + name: "--analytics-query", + description: "Query to execute over Application Insights data", + args: { name: "analytics-query" }, + isRequired: true, + }, + { + name: ["--apps", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "apps" }, + }, + { + name: "--end-time", + description: + "End of time range for current operation. Defaults to the current time. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "end-time" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--offset", + description: "Time offset of the query range, in ##d##h format", + args: { name: "offset" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--start-time", + description: + "Start-time of time range for which to retrieve data. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "start-time" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "api-key", + description: + "Operations on API keys associated with an Application Insights component", + subcommands: [ + { + name: "create", + description: + "Create an API Key of an Application Insights component", + options: [ + { + name: "--api-key", + description: "Name of the API key to create", + args: { name: "api-key" }, + isRequired: true, + }, + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--read-properties", + description: + 'A space-separated list of names of read Roles for this API key to inherit. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "read-properties" }, + }, + { + name: "--write-properties", + description: + 'A space-separated list of names of write Roles for this API key to inherit. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "write-properties" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an API key from an Application Insights resource", + options: [ + { + name: "--api-key", + description: + "Name of the API key to delete. Can be found using api-key show", + args: { name: "api-key" }, + }, + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Get all keys or a specific API key associated with an Application Insights resource", + options: [ + { + name: ["--app", "-a"], + description: + "The name of the Application Insights component resource", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--api-key", + description: + "Name of the API key to fetch. Can be found using api-key show", + args: { name: "api-key" }, + }, + ], + }, + ], + }, + { + name: "component", + description: + "Manage an Application Insights component or its subcomponents", + subcommands: [ + { + name: "connect-function", + description: "Connect AI to an Azure function", + options: [ + { + name: "--function", + description: "Name or resource id of the Azure function", + args: { name: "function" }, + isRequired: true, + }, + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "connect-webapp", + description: "Connect AI to a web app", + options: [ + { + name: "--web-app", + description: "Name or resource id of the web app", + args: { name: "web-app" }, + isRequired: true, + }, + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: ["--enable-snapshot-debugger", "--enable-debugger"], + description: + "Enable snapshot debugger when an exception is thrown. Currently it is only supported for .NET/.NET Core Web Apps", + args: { + name: "enable-snapshot-debugger", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-profiler", + description: + "Enable collecting profiling traces that help you see where time is spent in code. Currently it is only supported for .NET/.NET Core Web Apps", + args: { + name: "enable-profiler", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a new Application Insights resource", + options: [ + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--application-type", + description: + "Type of application being monitored. Possible values include 'web', 'other'. Default value is'web'", + args: { name: "application-type" }, + }, + { + name: "--ingestion-access", + description: + "The public network access type for accessing Application Insights ingestion", + args: { + name: "ingestion-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--kind", "-k"], + description: + "The kind of application that this component refers to, used to customize UI. This value is a freeform string, values should typically be one of web, ios, other, store, java, phone", + args: { name: "kind" }, + }, + { + name: "--query-access", + description: + "The public network access type for accessing Application Insights query", + args: { + name: "query-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--retention-time", + description: + "Retention in days for Application Insights. The value can be one of the following values: 30,60,90,120,180,270,365,550,730. It can be set only when Application Insights is not connected to a Log Analytics workspace", + args: { name: "retention-time" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--workspace", + description: + "Name or resource ID of a log analytics workspace", + args: { name: "workspace" }, + }, + ], + }, + { + name: "delete", + description: "Delete a new Application Insights resource", + options: [ + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get an Application Insights resource", + options: [ + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update properties on an existing Application Insights resource. The primary value which can be updated is kind, which customizes the UI experience", + options: [ + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ingestion-access", + description: + "The public network access type for accessing Application Insights ingestion", + args: { + name: "ingestion-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--kind", "-k"], + description: + "The kind of application that this component refers to, used to customize UI. This value is a freeform string, values should typically be one of web, ios, other, store, java, phone", + args: { name: "kind" }, + }, + { + name: "--query-access", + description: + "The public network access type for accessing Application Insights query", + args: { + name: "query-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--retention-time", + description: + "Retention in days for Application Insights. The value can be one of the following values: 30,60,90,120,180,270,365,550,730. It can be set only when Application Insights is not connected to a Log Analytics workspace", + args: { name: "retention-time" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace", + description: + "Name or resource ID of a log analytics workspace", + args: { name: "workspace" }, + }, + ], + }, + { + name: "update-tags", + description: + "Update tags on an existing Application Insights resource", + options: [ + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + isRequired: true, + }, + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "billing", + description: + "Manage an Application Insights component billing features", + subcommands: [ + { + name: "show", + description: + "Show the billing features of an Application Insights resource", + options: [ + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the billing features of an Application Insights resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--cap", + description: "Daily data volume cap in GB", + args: { name: "cap" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: ["--stop", "-s"], + description: + "Do not send a notification email when the daily data volume cap is met", + args: { + name: "stop", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "continues-export", + description: + "Manage Continuous Export configurations for an Application Insights component", + subcommands: [ + { + name: "create", + description: + "Create a Continuous Export configuration for an Application Insights component", + options: [ + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--dest-account", + description: "The name of destination storage account", + args: { name: "dest-account" }, + isRequired: true, + }, + { + name: "--dest-container", + description: + "The name of the destination storage container", + args: { name: "dest-container" }, + isRequired: true, + }, + { + name: "--dest-sas", + description: + "The SAS token for the destination storage container. It must grant write permission", + args: { name: "dest-sas" }, + isRequired: true, + }, + { + name: "--dest-sub-id", + description: + "The subscription ID of the destination storage account", + args: { name: "dest-sub-id" }, + isRequired: true, + }, + { + name: "--record-types", + description: + "The document types to be exported, as comma separated values. Allowed values include 'Requests', 'Event', 'Exceptions', 'Metrics', 'PageViews', 'PageViewPerformance', 'Rdd', 'PerformanceCounters', 'Availability', 'Messages'", + args: { + name: "record-types", + suggestions: [ + "Availability", + "Event", + "Exceptions", + "Messages", + "Metrics", + "PageViewPerformance", + "PageViews", + "PerformanceCounters", + "Rdd", + "Requests", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--dest-type", + description: + "The Continuous Export destination type. This has to be 'Blob'", + args: { name: "dest-type", suggestions: ["Blob"] }, + }, + { + name: "--is-enabled", + description: + "Set to 'true' to create a Continuous Export configuration as enabled, otherwise set it to 'false'", + args: { + name: "is-enabled", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete a specific Continuous Export configuration of an Application Insights component", + options: [ + { + name: "--id", + description: + "The Continuous Export configuration ID. This is unique within a Application Insights component", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List a list of Continuous Export configuration of an Application Insights component", + options: [ + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the Continuous Export configuration for this export id", + options: [ + { + name: "--id", + description: + "The Continuous Export configuration ID. This is unique within a Application Insights component", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a Continuous Export configuration for an Application Insights component", + options: [ + { + name: "--id", + description: + "The Continuous Export configuration ID. This is unique within a Application Insights component", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--dest-account", + description: "The name of destination storage account", + args: { name: "dest-account" }, + }, + { + name: "--dest-container", + description: + "The name of the destination storage container", + args: { name: "dest-container" }, + }, + { + name: "--dest-sas", + description: + "The SAS token for the destination storage container. It must grant write permission", + args: { name: "dest-sas" }, + }, + { + name: "--dest-sub-id", + description: + "The subscription ID of the destination storage account", + args: { name: "dest-sub-id" }, + }, + { + name: "--dest-type", + description: + "The Continuous Export destination type. This has to be 'Blob'", + args: { name: "dest-type", suggestions: ["Blob"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--is-enabled", + description: + "Set to 'true' to create a Continuous Export configuration as enabled, otherwise set it to 'false'", + args: { + name: "is-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--record-types", + description: + "The document types to be exported, as comma separated values. Allowed values include 'Requests', 'Event', 'Exceptions', 'Metrics', 'PageViews', 'PageViewPerformance', 'Rdd', 'PerformanceCounters', 'Availability', 'Messages'", + args: { + name: "record-types", + suggestions: [ + "Availability", + "Event", + "Exceptions", + "Messages", + "Metrics", + "PageViewPerformance", + "PageViews", + "PerformanceCounters", + "Rdd", + "Requests", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "linked-storage", + description: + "Manage linked storage account for an Application Insights component", + subcommands: [ + { + name: "link", + description: + "Link a storage account with an Application Insights component", + options: [ + { + name: ["--storage-account", "-s"], + description: "Name or ID of a linked storage account", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get the current linked storage settings for an Application Insights component", + options: [ + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "unlink", + description: + "Unlink a storage account with an Application Insights component", + options: [ + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "update", + description: + "Update current linked storage account for an Application Insights component", + options: [ + { + name: ["--storage-account", "-s"], + description: "Name or ID of a linked storage account", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "events", + description: "Retrieve events from an application", + subcommands: [ + { + name: "show", + description: + "List events by type or view a single event from an application, specified by type and ID", + options: [ + { + name: "--type", + description: "The type of events to retrieve", + args: { + name: "type", + suggestions: [ + "$all", + "availabilityResults", + "browserTimings", + "customEvents", + "customMetrics", + "dependencies", + "exceptions", + "pageViews", + "performanceCounters", + "requests", + "traces", + ], + }, + isRequired: true, + }, + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--end-time", + description: + "End of time range for current operation. Defaults to the current time. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "end-time" }, + }, + { + name: "--event", + description: + "GUID of the event to retrieve. This could be obtained by first listing and filtering events, then selecting an event of interest", + args: { name: "event" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--offset", + description: + "Time offset of the query range, in ##d##h format", + args: { name: "offset" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--start-time", + description: + "Start-time of time range for which to retrieve data. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "start-time" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "metrics", + description: "Retrieve metrics from an application", + subcommands: [ + { + name: "get-metadata", + description: + "Get the metadata for metrics on a particular application", + options: [ + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "View the value of a single metric", + options: [ + { + name: ["--metrics", "-m"], + description: + "The metric to retrieve. May be either a standard AI metric or an application-specific custom metric", + args: { name: "metrics" }, + isRequired: true, + }, + { + name: "--aggregation", + description: + "The aggregation to use when computing the metric values. To retrieve more than one aggregation at a time, separate them with a comma. If no aggregation is specified, then the default aggregation for the metric is used", + args: { name: "aggregation" }, + }, + { + name: ["--app", "-a"], + description: + "GUID, app name, or fully-qualified Azure resource name of Application Insights component. The application GUID may be acquired from the API Access menu item on any Application Insights resource in the Azure portal. If using an application name, please specify resource group", + args: { name: "app" }, + }, + { + name: "--end-time", + description: + "End of time range for current operation. Defaults to the current time. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "end-time" }, + }, + { + name: "--filter", + description: + "An expression used to filter the results. This value should be a valid OData filter expression where the keys of each clause should be applicable dimensions for the metric you are retrieving", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: + "The interval over which to aggregate metrics, in ##h##m format", + args: { name: "interval" }, + }, + { + name: "--offset", + description: + "Time offset of the query range, in ##d##h format", + args: { name: "offset" }, + }, + { + name: "--orderby", + description: + "The aggregation function and direction to sort the segments by. This value is only valid when segment is specified", + args: { name: "orderby" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--segment", + description: + "The name of the dimension to segment the metric values by. This dimension must be applicable to the metric you are retrieving. To segment by more than one dimension at a time, separate them with a comma (,). In this case, the metric data will be segmented in the order the dimensions are listed in the parameter", + args: { name: "segment" }, + }, + { + name: "--start-time", + description: + "Start-time of time range for which to retrieve data. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "start-time" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: + "The number of segments to return. This value is only valid when segment is specified", + args: { name: "top" }, + }, + ], + }, + ], + }, + { + name: "web-test", + description: "Manage web test with application insights", + subcommands: [ + { + name: "create", + description: "Create an Application Insights web test definition", + options: [ + { + name: ["--web-test-name", "--name", "-n"], + description: + "The name of the Application Insights WebTest resource", + args: { name: "web-test-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--content-validation", + description: + "The collection of content validation properties", + args: { name: "content-validation" }, + }, + { + name: "--defined-web-test-name", + description: "User defined name if this WebTest", + args: { name: "defined-web-test-name" }, + }, + { + name: "--description", + description: "User defined description for this WebTest", + args: { name: "description" }, + }, + { + name: "--enabled", + description: "Is the test actively being monitored", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--expected-status-code", + description: + "Validate that the WebTest returns the http status code provided", + args: { name: "expected-status-code" }, + }, + { + name: "--follow-redirects", + description: "Follow redirects for this web test", + args: { + name: "follow-redirects", + suggestions: ["false", "true"], + }, + }, + { + name: "--frequency", + description: + "Interval in seconds between test runs for this WebTest. Default value is 300", + args: { name: "frequency" }, + }, + { + name: "--headers", + description: + "List of headers and their values to add to the WebTest call", + args: { name: "headers" }, + }, + { + name: "--http-verb", + description: "Http verb to use for this web test", + args: { name: "http-verb" }, + }, + { + name: "--ignore-status-code", + description: + "When set, validation will ignore the status code", + args: { + name: "ignore-status-code", + suggestions: ["false", "true"], + }, + }, + { + name: "--kind", + description: + "The kind of WebTest that this web test watches. Choices are ping and multistep", + args: { name: "kind", suggestions: ["multistep", "ping"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--locations", + description: + "A list of where to physically run the tests from to give global coverage for accessibility of your application", + args: { name: "locations" }, + }, + { + name: "--parse-requests", + description: "Parse Dependent request for this WebTest", + args: { + name: "parse-requests", + suggestions: ["false", "true"], + }, + }, + { + name: "--request-body", + description: + "Base64 encoded string body to send with this web test", + args: { name: "request-body" }, + }, + { + name: "--request-url", + description: "Url location to test", + args: { name: "request-url" }, + }, + { + name: "--retry-enabled", + description: "Allow for retries should this WebTest fail", + args: { + name: "retry-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--ssl-check", + description: "Checks to see if the SSL cert is still valid", + args: { name: "ssl-check", suggestions: ["false", "true"] }, + }, + { + name: "--ssl-lifetime-check", + description: + "A number of days to check still remain before the the existing SSL cert expires. Value must be positive and the SSLCheck must be set to true", + args: { name: "ssl-lifetime-check" }, + }, + { + name: "--synthetic-monitor-id", + description: + "Unique ID of this WebTest. This is typically the same value as the Name field", + args: { name: "synthetic-monitor-id" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--timeout", + description: + "Seconds until this WebTest will timeout and fail. Default value is 30", + args: { name: "timeout" }, + }, + { + name: "--web-test", + description: + "The XML specification of a WebTest to run against an application", + args: { name: "web-test" }, + }, + { + name: "--web-test-kind", + description: + "The kind of web test this is, valid choices are ping, multistep and standard", + args: { + name: "web-test-kind", + suggestions: ["multistep", "ping", "standard"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an Application Insights web test", + options: [ + { + name: ["--web-test-name", "--name", "-n"], + description: + "The name of the Application Insights WebTest resource", + args: { name: "web-test-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Get all Application Insights web tests defined for the specified component. And Get all Application Insights web tests defined within a specified resource group. And Get all Application Insights web test alerts definitions within a subscription", + options: [ + { + name: "--component-name", + description: + "The name of the Application Insights component resource", + args: { name: "component-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get a specific Application Insights web test definition", + options: [ + { + name: ["--web-test-name", "--name", "-n"], + description: + "The name of the Application Insights WebTest resource", + args: { name: "web-test-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an Application Insights web test definition", + options: [ + { + name: ["--web-test-name", "--name", "-n"], + description: + "The name of the Application Insights WebTest resource", + args: { name: "web-test-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--content-validation", + description: + "The collection of content validation properties", + args: { name: "content-validation" }, + }, + { + name: "--defined-web-test-name", + description: "User defined name if this WebTest", + args: { name: "defined-web-test-name" }, + }, + { + name: "--description", + description: "User defined description for this WebTest", + args: { name: "description" }, + }, + { + name: "--enabled", + description: "Is the test actively being monitored", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--expected-status-code", + description: + "Validate that the WebTest returns the http status code provided", + args: { name: "expected-status-code" }, + }, + { + name: "--follow-redirects", + description: "Follow redirects for this web test", + args: { + name: "follow-redirects", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--frequency", + description: + "Interval in seconds between test runs for this WebTest. Default value is 300", + args: { name: "frequency" }, + }, + { + name: "--headers", + description: + "List of headers and their values to add to the WebTest call", + args: { name: "headers" }, + }, + { + name: "--http-verb", + description: "Http verb to use for this web test", + args: { name: "http-verb" }, + }, + { + name: "--ignore-status-code", + description: + "When set, validation will ignore the status code", + args: { + name: "ignore-status-code", + suggestions: ["false", "true"], + }, + }, + { + name: "--kind", + description: + "The kind of WebTest that this web test watches. Choices are ping and multistep", + args: { name: "kind", suggestions: ["multistep", "ping"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--locations", + description: + "A list of where to physically run the tests from to give global coverage for accessibility of your application", + args: { name: "locations" }, + }, + { + name: "--parse-requests", + description: "Parse Dependent request for this WebTest", + args: { + name: "parse-requests", + suggestions: ["false", "true"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--request-body", + description: + "Base64 encoded string body to send with this web test", + args: { name: "request-body" }, + }, + { + name: "--request-url", + description: "Url location to test", + args: { name: "request-url" }, + }, + { + name: "--retry-enabled", + description: "Allow for retries should this WebTest fail", + args: { + name: "retry-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--ssl-check", + description: "Checks to see if the SSL cert is still valid", + args: { name: "ssl-check", suggestions: ["false", "true"] }, + }, + { + name: "--ssl-lifetime-check", + description: + "A number of days to check still remain before the the existing SSL cert expires. Value must be positive and the SSLCheck must be set to true", + args: { name: "ssl-lifetime-check" }, + }, + { + name: "--synthetic-monitor-id", + description: + "Unique ID of this WebTest. This is typically the same value as the Name field", + args: { name: "synthetic-monitor-id" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--timeout", + description: + "Seconds until this WebTest will timeout and fail. Default value is 30", + args: { name: "timeout" }, + }, + { + name: "--web-test", + description: + "The XML specification of a WebTest to run against an application", + args: { name: "web-test" }, + }, + { + name: "--web-test-kind", + description: + "The kind of web test this is, valid choices are ping, multistep and standard", + args: { + name: "web-test-kind", + suggestions: ["multistep", "ping", "standard"], + }, + }, + ], + }, + ], + }, + ], + }, + { + name: "autoscale", + description: "Manage autoscale settings", + subcommands: [ + { + name: "create", + description: "Create new autoscale settings", + options: [ + { + name: "--count", + description: + "The numer of instances to use. If used with --min/max-count, the default number of instances to use", + args: { name: "count" }, + isRequired: true, + }, + { + name: "--resource", + description: "Name or ID of the target resource", + args: { name: "resource" }, + isRequired: true, + }, + { + name: ["--action", "-a"], + description: "Add an action to fire when a scaling event occurs", + args: { name: "action" }, + }, + { + name: "--disabled", + description: "Create the autoscale settings in a disabled state", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--email-administrator", + description: + "Send email to subscription administrator on scaling", + args: { + name: "email-administrator", + suggestions: ["false", "true"], + }, + }, + { + name: "--email-coadministrators", + description: + "Send email to subscription co-administrators on scaling", + args: { + name: "email-coadministrators", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--max-count", + description: "The maximum number of instances", + args: { name: "max-count" }, + }, + { + name: "--min-count", + description: "The minimum number of instances", + args: { name: "min-count" }, + }, + { + name: ["--name", "-n"], + description: "Name of the autoscale settings", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-namespace", + description: "Target resource provider namespace", + args: { name: "resource-namespace" }, + }, + { + name: "--resource-parent", + description: "Target resource parent path, if applicable", + args: { name: "resource-parent" }, + }, + { + name: "--resource-type", + description: + "Target resource type. Can also accept namespace/type format (Ex: 'Microsoft.Compute/virtualMachines')", + args: { name: "resource-type" }, + }, + { + name: "--scale-look-ahead-time", + description: + "The amount of time to specify by which instances are launched in advance. It must be between 1 minute and 60 minutes in ISO 8601 format (for example, 100 days would be P100D)", + args: { name: "scale-look-ahead-time" }, + }, + { + name: "--scale-mode", + description: "The predictive autoscale mode", + args: { + name: "scale-mode", + suggestions: ["Disabled", "Enabled", "ForecastOnly"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an autoscale setting", + options: [ + { + name: ["--autoscale-name", "--name", "-n"], + description: "The autoscale setting name", + args: { name: "autoscale-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Lists the autoscale settings for a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get an autoscale setting", + options: [ + { + name: ["--autoscale-name", "--name", "-n"], + description: "The autoscale setting name", + args: { name: "autoscale-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-predictive-metric", + description: "Show predictive autoscale metric future data", + options: [ + { + name: "--aggregation", + description: + "The list of aggregation types (comma separated) to retrieve", + args: { name: "aggregation" }, + isRequired: true, + }, + { + name: "--interval", + description: "The interval (i.e. timegrain) of the query", + args: { name: "interval" }, + isRequired: true, + }, + { + name: "--metric-name", + description: + "The names of the metrics (comma separated) to retrieve. Special case: If a metricname itself has a comma in it then use %2 to indicate it. Eg: 'Metric,Name1' should be 'Metric%2Name1'", + args: { name: "metric-name" }, + isRequired: true, + }, + { + name: "--metric-namespace", + description: "Metric namespace to query metric definitions for", + args: { name: "metric-namespace" }, + isRequired: true, + }, + { + name: "--timespan", + description: + "The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'", + args: { name: "timespan" }, + isRequired: true, + }, + { + name: "--autoscale-setting-name", + description: "The autoscale setting name", + args: { name: "autoscale-setting-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an autoscale setting", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--add-actions", "--add-action", "-a"], + description: + 'Add an action to fire when a scaling event occurs. Usage: --add-action TYPE KEY [ARG ...] Email: --add-action email bob@contoso.com ann@contoso.com Webhook: --add-action webhook https://www.contoso.com/alert apiKey=value Webhook: --add-action webhook https://www.contoso.com/alert?apiKey=value Multiple actions can be specified by using more than one --add-action argument. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "add-actions" }, + }, + { + name: ["--autoscale-name", "--name", "-n"], + description: "The autoscale setting name", + args: { name: "autoscale-name" }, + }, + { + name: "--count", + description: + "The numer of instances to use. If used with --min/max-count, the default number of instances to use", + args: { name: "count" }, + }, + { + name: "--email-administrator", + description: + "Send email to subscription administrator on scaling", + args: { + name: "email-administrator", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--email-coadministrators", + description: + "Send email to subscription co-administrators on scaling", + args: { + name: "email-coadministrators", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enabled", + description: + "The enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'false'", + args: { + name: "enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--max-count", + description: "The maximum number of instances", + args: { name: "max-count" }, + }, + { + name: "--min-count", + description: "The minimum number of instances", + args: { name: "min-count" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--remove-actions", "--remove-action", "-r"], + description: + 'Remove one or more actions. Usage: --remove-action TYPE KEY [KEY ...] Email: --remove-action email bob@contoso.com ann@contoso.com Webhook: --remove-action webhook https://contoso.com/alert https://alerts.contoso.com. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "remove-actions" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scale-look-ahead-time", + description: + "The amount of time to specify by which instances are launched in advance. It must be between 1 minute and 60 minutes in ISO 8601 format (for example, 100 days would be P100D)", + args: { name: "scale-look-ahead-time" }, + }, + { + name: "--scale-mode", + description: "The predictive autoscale mode", + args: { + name: "scale-mode", + suggestions: ["Disabled", "Enabled", "ForecastOnly"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "profile", + description: + "Manage autoscaling profiles.\n\n\t\tFor more information on autoscaling, visit: https://docs.microsoft.com/azure/monitoring-and-diagnostics/monitoring-understanding-autoscale-settings", + subcommands: [ + { + name: "create", + description: "Create a fixed or recurring autoscale profile", + options: [ + { + name: "--autoscale-name", + description: "Name of the autoscale settings", + args: { name: "autoscale-name" }, + isRequired: true, + }, + { + name: "--count", + description: + "The numer of instances to use. If used with --min/max-count, the default number of instances to use", + args: { name: "count" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the autoscale profile", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--timezone", + description: + "Timezone name. value from: az monitor autoscale profile list-timezones", + args: { name: "timezone" }, + isRequired: true, + }, + { + name: "--copy-rules", + description: + "Name of an existing schedule from which to copy the scaling rules for the new schedule", + args: { name: "copy-rules" }, + }, + { + name: "--end", + description: + "When the autoscale profile ends. Format depends on the type of profile", + args: { name: "end" }, + }, + { + name: "--max-count", + description: "The maximum number of instances", + args: { name: "max-count" }, + }, + { + name: "--min-count", + description: "The minimum number of instances", + args: { name: "min-count" }, + }, + { + name: ["--recurrence", "-r"], + description: + "When the profile recurs. If omitted, a fixed (non-recurring) profile is created", + args: { name: "recurrence" }, + }, + { + name: "--start", + description: + "When the autoscale profile begins. Format depends on the type of profile", + args: { name: "start" }, + }, + ], + }, + { + name: "delete", + description: "Delete an autoscale profile", + options: [ + { + name: "--autoscale-name", + description: "Name of the autoscale settings", + args: { name: "autoscale-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the autoscale profile", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List autoscale profiles", + options: [ + { + name: "--autoscale-name", + description: "Name of the autoscale settings", + args: { name: "autoscale-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-timezones", + description: "Look up time zone information", + options: [ + { + name: "--offset", + description: "Filter results based on UTC hour offset", + args: { name: "offset" }, + }, + { + name: ["--search-query", "-q"], + description: "Query text to find", + args: { name: "search-query" }, + }, + ], + }, + { + name: "show", + description: "Show details of an autoscale profile", + options: [ + { + name: "--autoscale-name", + description: "Name of the autoscale settings", + args: { name: "autoscale-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the autoscale profile", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "rule", + description: + "Manage autoscale scaling rules.\n\n\t\tFor more information on autoscaling, visit: https://docs.microsoft.com/azure/monitoring-and-diagnostics/monitoring-understanding-autoscale-settings", + subcommands: [ + { + name: "copy", + description: "Copy autoscale rules from one profile to another", + options: [ + { + name: "--autoscale-name", + description: "Name of the autoscale settings", + args: { name: "autoscale-name" }, + isRequired: true, + }, + { + name: "--dest-schedule", + description: "Name of the profile to copy rules to", + args: { name: "dest-schedule" }, + isRequired: true, + }, + { + name: "--index", + description: + "Space-separated list of rule indices to copy, or '*' to copy all rules", + args: { name: "index" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--source-schedule", + description: "Name of the profile to copy rules from", + args: { name: "source-schedule" }, + }, + ], + }, + { + name: "create", + description: "Add a new autoscale rule", + options: [ + { + name: "--autoscale-name", + description: "Name of the autoscale settings", + args: { name: "autoscale-name" }, + isRequired: true, + }, + { + name: "--condition", + description: + "The condition which triggers the scaling action", + args: { name: "condition" }, + isRequired: true, + }, + { + name: "--scale", + description: "The direction and amount to scale", + args: { name: "scale" }, + isRequired: true, + }, + { + name: "--cooldown", + description: + "The number of minutes that must elapse before another scaling event can occur", + args: { name: "cooldown" }, + }, + { + name: "--profile-name", + description: "Name of the autoscale profile", + args: { name: "profile-name" }, + }, + { + name: "--resource", + description: "Name or ID of the target resource", + args: { name: "resource" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-namespace", + description: "Target resource provider namespace", + args: { name: "resource-namespace" }, + }, + { + name: "--resource-parent", + description: "Target resource parent path, if applicable", + args: { name: "resource-parent" }, + }, + { + name: "--resource-type", + description: + "Target resource type. Can also accept namespace/type format (Ex: 'Microsoft.Compute/virtualMachines')", + args: { name: "resource-type" }, + }, + { + name: "--timegrain", + description: "The way metrics are polled across instances", + args: { name: "timegrain" }, + }, + ], + }, + { + name: "delete", + description: "Remove autoscale rules from a profile", + options: [ + { + name: "--autoscale-name", + description: "Name of the autoscale settings", + args: { name: "autoscale-name" }, + isRequired: true, + }, + { + name: "--index", + description: + "Space-separated list of rule indices to remove, or '*' to clear all rules", + args: { name: "index" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--profile-name", + description: "Name of the autoscale profile", + args: { name: "profile-name" }, + }, + ], + }, + { + name: "list", + description: "List autoscale rules for a profile", + options: [ + { + name: "--autoscale-name", + description: "Name of the autoscale settings", + args: { name: "autoscale-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--profile-name", + description: "Name of the autoscale profile", + args: { name: "profile-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "clone", + description: + "Clone metrics alert rules from one resource to another resource", + options: [ + { + name: "--source-resource", + description: "Resource ID of the source resource", + args: { name: "source-resource" }, + isRequired: true, + }, + { + name: "--target-resource", + description: "Resource ID of the target resource", + args: { name: "target-resource" }, + isRequired: true, + }, + { + name: "--always-clone", + description: + "If this argument is applied, all monitor settings would be cloned instead of expanding its scope", + }, + { + name: ["--types", "-t"], + description: + "List of types of monitor settings which would be cloned", + args: { name: "types", suggestions: ["metricsAlert"] }, + }, + ], + }, + { + name: "data-collection", + description: "Manage data collection for monitor control service", + subcommands: [ + { + name: "endpoint", + description: + "Manage data collection endpoint for monitor control service", + subcommands: [ + { + name: "create", + description: "Create a data collection endpoint", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the data collection endpoint. The name is case insensitive", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--public-network-access", + description: + "The configuration to set whether network access from public internet to the endpoints are allowed", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of the data collection endpoint", + args: { name: "description" }, + }, + { + name: "--kind", + description: "The kind of the resource", + args: { name: "kind", suggestions: ["Linux", "Windows"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a data collection endpoint", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the data collection endpoint. The name is case insensitive", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all data collection endpoints", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the specified data collection endpoint", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the data collection endpoint. The name is case insensitive", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a data collection endpoint", + options: [ + { + name: "--description", + description: "Description of the data collection endpoint", + args: { name: "description" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kind", + description: "The kind of the resource", + args: { name: "kind", suggestions: ["Linux", "Windows"] }, + }, + { + name: ["--name", "-n"], + description: + "The name of the data collection endpoint. The name is case insensitive", + args: { name: "name" }, + }, + { + name: "--public-network-access", + description: + "The configuration to set whether network access from public internet to the endpoints are allowed", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "rule", + description: + "Manage data collection rule for monitor control service", + subcommands: [ + { + name: "create", + description: "Create a data collection rule", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-file", + description: "The json file for rule parameters", + args: { name: "rule-file" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of the data collection rule", + args: { name: "description" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a data collection rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all data collection rules in the specified resource group. And Lists all data collection rules in the specified subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Return the specified data collection rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a data collection rule", + options: [ + { + name: "--data-flows", + description: "The specification of data flows", + args: { name: "data-flows" }, + }, + { + name: "--description", + description: "Description of the data collection rule", + args: { name: "description" }, + }, + { + name: "--extensions", + description: + "The list of Azure VM extension data source configurations. Expected value: json-string/@json-file", + args: { name: "extensions" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--log-analytics", + description: "List of Log Analytics destinations", + args: { name: "log-analytics" }, + }, + { + name: "--monitor-metrics", + description: "Azure Monitor Metrics destination", + args: { name: "monitor-metrics" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "name" }, + }, + { + name: "--performance-counters", + description: + "The list of performance counter data source configurations", + args: { name: "performance-counters" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--syslog", + description: "The list of Syslog data source configurations", + args: { name: "syslog" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--windows-event-logs", + description: + "The list of Windows Event Log data source configurations", + args: { name: "windows-event-logs" }, + }, + ], + }, + { + name: "association", + description: + "Manage data collection rule association for monitor control service", + subcommands: [ + { + name: "create", + description: "Create an association", + options: [ + { + name: ["--name", "-n"], + description: "The name of the association", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--resource", + description: "The identifier of the resource", + args: { name: "resource" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of the association", + args: { name: "description" }, + }, + { + name: "--rule-id", + description: + "The resource ID of the data collection rule that is to be associated", + args: { name: "rule-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete an association", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the association. The name is case insensitive", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--resource", + description: "The identifier of the resource", + args: { name: "resource" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List associations for the specified data collection rule. And Lists associations for the specified resource", + options: [ + { + name: "--endpoint-name", + description: + "The name of the data collection endpoint. The name is case insensitive", + args: { name: "endpoint-name" }, + }, + { + name: "--resource", + description: "The identifier of the resource", + args: { name: "resource" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + ], + }, + { + name: "show", + description: "Return the specified association", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the association. The name is case insensitive", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--resource", + description: "The identifier of the resource", + args: { name: "resource" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an association", + options: [ + { + name: ["--name", "-n"], + description: "The name of the association", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--resource", + description: "The identifier of the resource", + args: { name: "resource" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of the association", + args: { name: "description" }, + }, + { + name: "--rule-id", + description: + "The resource ID of the data collection rule that is to be associated", + args: { name: "rule-id" }, + }, + ], + }, + ], + }, + { + name: "data-flow", + description: "Manage data flows", + subcommands: [ + { + name: "add", + description: "Add a data flow", + options: [ + { + name: "--destinations", + description: "List of destinations for this data flow", + args: { name: "destinations" }, + isRequired: true, + }, + { + name: "--streams", + description: "List of streams for this data flow", + args: { + name: "streams", + suggestions: [ + "Microsoft-Event", + "Microsoft-InsightsMetrics", + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent", + ], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List data flows", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "log-analytics", + description: "Manage Log Analytics destinations", + subcommands: [ + { + name: "add", + description: + "Add Log Analytics destinations of a data collection rule", + options: [ + { + name: ["--name", "-n"], + description: + "A friendly name for the destination. This name should be unique across all destinations (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--resource-id", + description: + "The resource ID of the Log Analytics workspace", + args: { name: "resource-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a Log Analytics destinations of a data collection rule", + options: [ + { + name: ["--name", "-n"], + description: + "A friendly name for the destination. This name should be unique across all destinations (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List Log Analytics destinations of a data collection rule", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show a Log Analytics destination of a data collection rule", + options: [ + { + name: ["--name", "-n"], + description: + "A friendly name for the destination. This name should be unique across all destinations (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a Log Analytics destination of a data collection rule", + options: [ + { + name: ["--name", "-n"], + description: + "A friendly name for the destination. This name should be unique across all destinations (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-id", + description: + "The resource ID of the Log Analytics workspace", + args: { name: "resource-id" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "performance-counter", + description: "Manage Log performance counter data source", + subcommands: [ + { + name: "add", + description: "Add a Log performance counter data source", + options: [ + { + name: "--counter-specifiers", + description: + "A list of specifier names of the performance counters you want to collect.Use a wildcard (*) to collect a counter for all instances. To get a list of performance counters on Windows, run the command 'typeperf'", + args: { name: "counter-specifiers" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "A friendly name for the data source. This name should be unique across all data sources (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--sampling-frequency", + description: + "The number of seconds between consecutive counter measurements (samples)", + args: { name: "sampling-frequency" }, + isRequired: true, + }, + { + name: "--streams", + description: + "List of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to", + args: { + name: "streams", + suggestions: [ + "Microsoft-InsightsMetrics", + "Microsoft-Perf", + ], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Log performance counter data source", + options: [ + { + name: ["--name", "-n"], + description: + "A friendly name for the data source. This name should be unique across all data sources (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Log performance counter data sources", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a Log performance counter data source", + options: [ + { + name: ["--name", "-n"], + description: + "A friendly name for the data source. This name should be unique across all data sources (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Log performance counter data source", + options: [ + { + name: ["--name", "-n"], + description: + "A friendly name for the data source. This name should be unique across all data sources (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--counter-specifiers", + description: + "A list of specifier names of the performance counters you want to collect.Use a wildcard (*) to collect a counter for all instances. To get a list of performance counters on Windows, run the command 'typeperf'", + args: { name: "counter-specifiers" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--sampling-frequency", + description: + "The number of seconds between consecutive counter measurements (samples)", + args: { name: "sampling-frequency" }, + }, + { + name: "--streams", + description: + "List of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to", + args: { + name: "streams", + suggestions: [ + "Microsoft-InsightsMetrics", + "Microsoft-Perf", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "syslog", + description: "Manage Syslog data source", + subcommands: [ + { + name: "add", + description: "Add a Syslog data source", + options: [ + { + name: "--facility-names", + description: "The list of facility names", + args: { + name: "facility-names", + suggestions: [ + "*", + "auth", + "authpriv", + "cron", + "daemon", + "kern", + "local0", + "local1", + "local2", + "local3", + "local4", + "local5", + "local6", + "local7", + "lpr", + "mail", + "mark", + "news", + "syslog", + "user", + "uucp", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "A friendly name for the data source. This name should be unique across all data sources (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--streams", + description: + "List of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to", + args: { + name: "streams", + suggestions: ["Microsoft-Syslog"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--log-levels", + description: "The log levels to collect", + args: { + name: "log-levels", + suggestions: [ + "*", + "Alert", + "Critical", + "Debug", + "Emergency", + "Error", + "Info", + "Notice", + "Warning", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Syslog data source", + options: [ + { + name: ["--name", "-n"], + description: + "A friendly name for the data source. This name should be unique across all data sources (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Syslog data sources", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a Syslog data source", + options: [ + { + name: ["--name", "-n"], + description: + "A friendly name for the data source. This name should be unique across all data sources (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Syslog data source", + options: [ + { + name: ["--name", "-n"], + description: + "A friendly name for the data source. This name should be unique across all data sources (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--facility-names", + description: "The list of facility names", + args: { + name: "facility-names", + suggestions: [ + "*", + "auth", + "authpriv", + "cron", + "daemon", + "kern", + "local0", + "local1", + "local2", + "local3", + "local4", + "local5", + "local6", + "local7", + "lpr", + "mail", + "mark", + "news", + "syslog", + "user", + "uucp", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--log-levels", + description: "The log levels to collect", + args: { + name: "log-levels", + suggestions: [ + "*", + "Alert", + "Critical", + "Debug", + "Emergency", + "Error", + "Info", + "Notice", + "Warning", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--streams", + description: + "List of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to", + args: { + name: "streams", + suggestions: ["Microsoft-Syslog"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "windows-event-log", + description: "Manage Windows Event Log data source", + subcommands: [ + { + name: "add", + description: "Add a Windows Event Log data source", + options: [ + { + name: ["--name", "-n"], + description: + "A friendly name for the data source. This name should be unique across all data sources (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--streams", + description: + "List of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to", + args: { + name: "streams", + suggestions: [ + "Microsoft-Event", + "Microsoft-WindowsEvent", + ], + }, + isRequired: true, + }, + { + name: "--x-path-queries", + description: + "A list of Windows Event Log queries in XPATH format", + args: { name: "x-path-queries" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Windows Event Log data source", + options: [ + { + name: ["--name", "-n"], + description: + "A friendly name for the data source. This name should be unique across all data sources (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Windows Event Log data sources", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a Windows Event Log data source", + options: [ + { + name: ["--name", "-n"], + description: + "A friendly name for the data source. This name should be unique across all data sources (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Windows Event Log data source", + options: [ + { + name: ["--name", "-n"], + description: + "A friendly name for the data source. This name should be unique across all data sources (regardless of type) within the data collection rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: + "The name of the data collection rule. The name is case insensitive", + args: { name: "rule-name" }, + }, + { + name: "--streams", + description: + "List of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to", + args: { + name: "streams", + suggestions: [ + "Microsoft-Event", + "Microsoft-WindowsEvent", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--x-path-queries", + description: + "A list of Windows Event Log queries in XPATH format", + args: { name: "x-path-queries" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "diagnostic-settings", + description: "Manage service diagnostic settings", + subcommands: [ + { + name: "create", + description: + "Create diagnostic settings for the specified resource. For more information, visit: https://docs.microsoft.com/rest/api/monitor/diagnosticsettings/createorupdate#metricsettings", + options: [ + { + name: ["--name", "-n"], + description: "The name of the diagnostic setting. Required", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--resource", + description: "Name or ID of the target resource", + args: { name: "resource" }, + isRequired: true, + }, + { + name: "--event-hub", + description: + "Name or ID an event hub. If none is specified, the default event hub will be selected", + args: { name: "event-hub" }, + }, + { + name: "--event-hub-rule", + description: "Name or ID of the event hub authorization rule", + args: { name: "event-hub-rule" }, + }, + { + name: "--export-to-resource-specific", + description: + "Indicate that the export to LA must be done to a resource specific table, a.k.a. dedicated or fixed schema table, as opposed to the default dynamic schema table called AzureDiagnostics. This argument is effective only when the argument --workspace is also given. Allowed values: false, true", + args: { + name: "export-to-resource-specific", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--logs", + description: + "JSON encoded list of logs settings. Use '@{file}' to load from a file.For more information, visit: https://docs.microsoft.com/rest/api/monitor/diagnosticsettings/createorupdate#logsettings. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "logs" }, + }, + { + name: "--marketplace-partner-id", + description: + "The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs", + args: { name: "marketplace-partner-id" }, + }, + { + name: "--metrics", + description: + 'The list of metric settings. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metrics" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-namespace", + description: "Target resource provider namespace", + args: { name: "resource-namespace" }, + }, + { + name: "--resource-parent", + description: "Target resource parent path, if applicable", + args: { name: "resource-parent" }, + }, + { + name: "--resource-type", + description: + "Target resource type. Can also accept namespace/type format (Ex: 'Microsoft.Compute/virtualMachines')", + args: { name: "resource-type" }, + }, + { + name: "--storage-account", + description: + "Name or ID of the storage account to send diagnostic logs to", + args: { name: "storage-account" }, + }, + { + name: "--workspace", + description: + "Name or ID of the Log Analytics workspace to send diagnostic logs to", + args: { name: "workspace" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes existing diagnostic settings for the specified resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the diagnostic setting. Required", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--resource", + description: "Name or ID of the target resource", + args: { name: "resource" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-namespace", + description: "Target resource provider namespace", + args: { name: "resource-namespace" }, + }, + { + name: "--resource-parent", + description: "Target resource parent path, if applicable", + args: { name: "resource-parent" }, + }, + { + name: "--resource-type", + description: + "Target resource type. Can also accept namespace/type format (Ex: 'Microsoft.Compute/virtualMachines')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "list", + description: + "Gets the active diagnostic settings list for the specified resource", + options: [ + { + name: "--resource", + description: "Name or ID of the target resource", + args: { name: "resource" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-namespace", + description: "Target resource provider namespace", + args: { name: "resource-namespace" }, + }, + { + name: "--resource-parent", + description: "Target resource parent path, if applicable", + args: { name: "resource-parent" }, + }, + { + name: "--resource-type", + description: + "Target resource type. Can also accept namespace/type format (Ex: 'Microsoft.Compute/virtualMachines')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "show", + description: + "Gets the active diagnostic settings for the specified resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the diagnostic setting. Required", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--resource", + description: "Name or ID of the target resource", + args: { name: "resource" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-namespace", + description: "Target resource provider namespace", + args: { name: "resource-namespace" }, + }, + { + name: "--resource-parent", + description: "Target resource parent path, if applicable", + args: { name: "resource-parent" }, + }, + { + name: "--resource-type", + description: + "Target resource type. Can also accept namespace/type format (Ex: 'Microsoft.Compute/virtualMachines')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "update", + description: "Update diagnostic settings for the specified resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the diagnostic setting. Required", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--resource", + description: "Name or ID of the target resource", + args: { name: "resource" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--event-hub", + description: + "The name of the event hub. If none is specified, the default event hub will be selected", + args: { name: "event-hub" }, + }, + { + name: "--event-hub-rule", + description: + "The resource Id for the event hub authorization rule", + args: { name: "event-hub-rule" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--log-analytics-destination-type", "--log-ana-dtype"], + description: + "A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.)", + args: { name: "log-analytics-destination-type" }, + }, + { + name: "--logs", + description: + 'The list of logs settings. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "logs" }, + }, + { + name: "--marketplace-partner-id", + description: + "The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs", + args: { name: "marketplace-partner-id" }, + }, + { + name: "--metrics", + description: + 'The list of metric settings. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metrics" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-namespace", + description: "Target resource provider namespace", + args: { name: "resource-namespace" }, + }, + { + name: "--resource-parent", + description: "Target resource parent path, if applicable", + args: { name: "resource-parent" }, + }, + { + name: "--resource-type", + description: + "Target resource type. Can also accept namespace/type format (Ex: 'Microsoft.Compute/virtualMachines')", + args: { name: "resource-type" }, + }, + { + name: "--service-bus-rule-id", + description: + "The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility", + args: { name: "service-bus-rule-id" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--storage-account-id", + description: + "The resource ID of the storage account to which you would like to send Diagnostic Logs", + args: { name: "storage-account-id" }, + }, + { + name: "--workspace-id", + description: + "The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2", + args: { name: "workspace-id" }, + }, + ], + }, + { + name: "categories", + description: "Retrieve service diagnostic settings categories", + subcommands: [ + { + name: "list", + description: + "List the diagnostic settings categories for the specified resource", + options: [ + { + name: "--resource", + description: "Name or ID of the target resource", + args: { name: "resource" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-namespace", + description: "Target resource provider namespace", + args: { name: "resource-namespace" }, + }, + { + name: "--resource-parent", + description: "Target resource parent path, if applicable", + args: { name: "resource-parent" }, + }, + { + name: "--resource-type", + description: + "Target resource type. Can also accept namespace/type format (Ex: 'Microsoft.Compute/virtualMachines')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "show", + description: + "Gets the diagnostic settings category for the specified resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the diagnostic setting. Required", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--resource", + description: "Name or ID of the target resource", + args: { name: "resource" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-namespace", + description: "Target resource provider namespace", + args: { name: "resource-namespace" }, + }, + { + name: "--resource-parent", + description: "Target resource parent path, if applicable", + args: { name: "resource-parent" }, + }, + { + name: "--resource-type", + description: + "Target resource type. Can also accept namespace/type format (Ex: 'Microsoft.Compute/virtualMachines')", + args: { name: "resource-type" }, + }, + ], + }, + ], + }, + { + name: "subscription", + description: "Manage diagnostic settings for subscription", + subcommands: [ + { + name: "create", + description: + "Create subscription diagnostic settings for the specified resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the diagnostic setting", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--event-hub-auth-rule", + description: + "The resource Id for the event hub authorization rule", + args: { name: "event-hub-auth-rule" }, + }, + { + name: "--event-hub-name", + description: + "The name of the event hub. If none is specified, the default event hub will be selected", + args: { name: "event-hub-name" }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: "--logs", + description: + "JSON encoded list of logs settings. Use '@{file}' to load from a file. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "logs" }, + }, + { + name: "--service-bus-rule", + description: + "The service bus rule ID of the service bus namespace in which you would like to have Event Hubs created for streaming the Activity Log. The rule ID is of the format '{service bus resourceID}/authorizationrules/{key name}'", + args: { name: "service-bus-rule" }, + }, + { + name: "--storage-account", + description: + "The resource id of the storage account to which you would like to send the Activity Log", + args: { name: "storage-account" }, + }, + { + name: "--workspace", + description: "The resource id of the log analytics workspace", + args: { name: "workspace" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes existing subscription diagnostic settings for the specified resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the diagnostic setting", + args: { name: "name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Gets the active subscription diagnostic settings list for the specified subscriptionId. :keyword callable cls: A custom type or function that will be passed the direct response:return: SubscriptionDiagnosticSettingsResourceCollection or the result of cls(response):rtype: ~$(python-base-namespace).v2017_05_01_preview.models.SubscriptionDiagnosticSettingsResourceCollection:raises ~azure.core.exceptions.HttpResponseError:", + }, + { + name: "show", + description: + "Gets the active subscription diagnostic settings for the specified resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the diagnostic setting", + args: { name: "name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update subscription diagnostic settings for the specified resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--event-hub-auth-rule", + description: + "The resource Id for the event hub authorization rule", + args: { name: "event-hub-auth-rule" }, + }, + { + name: "--event-hub-name", + description: + "The name of the event hub. If none is specified, the default event hub will be selected", + args: { name: "event-hub-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: "--logs", + description: + "JSON encoded list of logs settings. Use '@{file}' to load from a file. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "logs" }, + }, + { + name: ["--name", "-n"], + description: "The name of the diagnostic setting", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--service-bus-rule", + description: + "The service bus rule ID of the service bus namespace in which you would like to have Event Hubs created for streaming the Activity Log. The rule ID is of the format '{service bus resourceID}/authorizationrules/{key name}'", + args: { name: "service-bus-rule" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--storage-account", + description: + "The resource id of the storage account to which you would like to send the Activity Log", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace", + description: "The resource id of the log analytics workspace", + args: { name: "workspace" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "log-analytics", + description: "Manage Azure log analytics", + subcommands: [ + { + name: "query", + description: "Query a Log Analytics workspace", + options: [ + { + name: "--analytics-query", + description: "Query to execute over Log Analytics data", + args: { name: "analytics-query" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: "GUID of the Log Analytics Workspace", + args: { name: "workspace" }, + isRequired: true, + }, + { + name: ["--timespan", "-t"], + description: + "Timespan over which to query. Defaults to querying all available data", + args: { name: "timespan" }, + }, + { + name: "--workspaces", + description: + "Additional workspaces to union data for querying. Specify additional workspace IDs separated by space", + args: { name: "workspaces" }, + }, + ], + }, + { + name: "cluster", + description: "Manage Azure log analytics cluster", + subcommands: [ + { + name: "create", + description: "Create a cluster instance", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the Log Analytics cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--billing-type", + description: "The cluster's billing type", + args: { + name: "billing-type", + suggestions: ["Cluster", "Workspaces"], + }, + }, + { + name: "--identity-type", + description: "Type of managed service identity", + args: { + name: "identity-type", + suggestions: ["None", "SystemAssigned", "UserAssigned"], + }, + }, + { + name: "--key-name", + description: + "The name of the key associated with the Log Analytics cluster", + args: { name: "key-name" }, + }, + { + name: "--key-rsa-size", + description: "Selected key minimum required size", + args: { name: "key-rsa-size" }, + }, + { + name: "--key-vault-uri", + description: + "The Key Vault uri which holds they key associated with the Log Analytics cluster", + args: { name: "key-vault-uri" }, + }, + { + name: "--key-version", + description: + "The version of the key associated with the Log Analytics cluster", + args: { name: "key-version" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--sku-capacity", + description: + "The capacity of the SKU. It can be decreased only after 31 days", + args: { + name: "sku-capacity", + suggestions: ["1000", "2000", "500", "5000"], + }, + }, + { + name: "--sku-name", + description: "The name of the SKU", + args: { + name: "sku-name", + suggestions: ["CapacityReservation"], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--user-assigned", + description: + "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "delete", + description: "Delete a cluster instance", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "Name of the Log Analytics Cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all cluster instances in a resource group or in current subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the properties of a cluster instance", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "Name of the Log Analytics Cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a cluster instance", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--billing-type", + description: "The cluster's billing type", + args: { + name: "billing-type", + suggestions: ["Cluster", "Workspaces"], + }, + }, + { + name: ["--cluster-name", "--name", "-n"], + description: "Name of the Log Analytics Cluster", + args: { name: "cluster-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity-type", + description: "Type of managed service identity", + args: { + name: "identity-type", + suggestions: ["None", "SystemAssigned", "UserAssigned"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-name", + description: + "The name of the key associated with the Log Analytics cluster", + args: { name: "key-name" }, + }, + { + name: "--key-rsa-size", + description: "Selected key minimum required size", + args: { name: "key-rsa-size" }, + }, + { + name: "--key-vault-uri", + description: + "The Key Vault uri which holds they key associated with the Log Analytics cluster", + args: { name: "key-vault-uri" }, + }, + { + name: "--key-version", + description: + "The version of the key associated with the Log Analytics cluster", + args: { name: "key-version" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku-capacity", + description: + "The capacity of the SKU. It can be decreased only after 31 days", + args: { + name: "sku-capacity", + suggestions: ["1000", "2000", "500", "5000"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--user-assigned", + description: + "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "Name of the Log Analytics Cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "query-pack", + description: "Manage Azure log analytics query pack", + subcommands: [ + { + name: "create", + description: "Create a log analytics query pack", + options: [ + { + name: ["--query-pack-name", "--name", "-n"], + description: "The name of the log analytics query pack", + args: { name: "query-pack-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Resource location When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a log analytics query pack", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--query-pack-name", "--name", "-n"], + description: "The name of the log analytics query pack", + args: { name: "query-pack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List of all log analytics query packs", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show a log analytics query pack", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--query-pack-name", "--name", "-n"], + description: "The name of the log analytics query pack", + args: { name: "query-pack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a log analytics query pack", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--query-pack-name", "--name", "-n"], + description: "The name of the log analytics query pack", + args: { name: "query-pack-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "query", + description: "Manage the query of log analytics query pack", + subcommands: [ + { + name: "create", + description: + "Create a specific query within a log analytics query pack", + options: [ + { + name: "--body", + description: "Content of the query", + args: { name: "body" }, + isRequired: true, + }, + { + name: "--display-name", + description: + "Unique display name for your query within the query pack", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: ["--query-id", "--name", "-n"], + description: + "The id name of a specific query defined in the log analytics query pack. It must be of type GUID", + args: { name: "query-id" }, + isRequired: true, + }, + { + name: "--query-pack-name", + description: "The name of the log analytics query pack", + args: { name: "query-pack-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--categories", + description: + 'The related categories for the function. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "categories" }, + }, + { + name: "--description", + description: "Description of the query", + args: { name: "description" }, + }, + { + name: "--resource-types", + description: + 'The related resource types for the function. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "resource-types" }, + }, + { + name: "--solutions", + description: + 'The related Log Analytics solutions for the function. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "solutions" }, + }, + { + name: "--tags", + description: + 'Tags associated with the query. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a specific query defined within a log analytics query pack", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--query-id", "--name", "-n"], + description: + "The id name of a specific query defined in the log analytics query pack. It must be of type GUID", + args: { name: "query-id" }, + }, + { + name: "--query-pack-name", + description: "The name of the log analytics query pack", + args: { name: "query-pack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List queries defined within a log analytics query pack", + options: [ + { + name: "--query-pack-name", + description: "The name of the log analytics query pack", + args: { name: "query-pack-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--include-body", + description: + "Whether or not to return the body of each applicable query. If false, only return the query information. Default: true", + args: { + name: "include-body", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "search", + description: + "Search a list of queries defined within a log analytics query pack according to given search properties", + options: [ + { + name: "--categories", + description: + 'The related categories for the function. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "categories" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--include-body", + description: + "Whether or not to return the body of each applicable query. If false, only return the query information. Default: true", + args: { + name: "include-body", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--query-pack-name", + description: "The name of the log analytics query pack", + args: { name: "query-pack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-types", + description: + 'The related resource types for the function. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "resource-types" }, + }, + { + name: "--solutions", + description: + 'The related Log Analytics solutions for the function. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "solutions" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Tags associated with the query. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "show", + description: + "Show a specific query defined within a log analytics query pack", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--query-id", "--name", "-n"], + description: + "The id name of a specific query defined in the log analytics query pack. It must be of type GUID", + args: { name: "query-id" }, + }, + { + name: "--query-pack-name", + description: "The name of the log analytics query pack", + args: { name: "query-pack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a specific query within a log analytics query pack", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--body", + description: "Content of the query", + args: { name: "body" }, + }, + { + name: "--categories", + description: + 'The related categories for the function. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "categories" }, + }, + { + name: "--description", + description: "Description of the query", + args: { name: "description" }, + }, + { + name: "--display-name", + description: + "Unique display name for your query within the query pack", + args: { name: "display-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--query-id", "--name", "-n"], + description: + "The id name of a specific query defined in the log analytics query pack. It must be of type GUID", + args: { name: "query-id" }, + }, + { + name: "--query-pack-name", + description: "The name of the log analytics query pack", + args: { name: "query-pack-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-types", + description: + 'The related resource types for the function. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "resource-types" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--solutions", + description: + 'The related Log Analytics solutions for the function. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "solutions" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Tags associated with the query. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "solution", + description: "Commands to manage monitor log-analytics solution", + subcommands: [ + { + name: "create", + description: "Create the Solution", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--solution-type", "-t"], + description: + "Type of the log-analytics solution. The most used are: SecurityCenterFree, Security, Updates, ContainerInsights, ServiceMap, AzureActivity, ChangeTracking, VMInsights, SecurityInsights, NetworkMonitoring, SQLVulnerabilityAssessment, SQLAdvancedThreatProtection, AntiMalware, AzureAutomation, LogicAppsManagement, SQLDataClassification", + args: { name: "solution-type" }, + isRequired: true, + }, + { + name: ["--workspace", "-w"], + description: + "The name or resource ID of the log analytics workspace with which the solution will be linked", + args: { name: "workspace" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the solution in the subscription", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the log-analytics solution. It should be in the format of solutionType(workspaceName). SolutionType part is case sensitive", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the solution list. It will retrieve both first party and third party solutions", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the user solution", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the log-analytics solution. It should be in the format of solutionType(workspaceName). SolutionType part is case sensitive", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a Solution. Only updating tags supported", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the log-analytics solution. It should be in the format of solutionType(workspaceName). SolutionType part is case sensitive", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the log-analytics solution. It should be in the format of solutionType(workspaceName). SolutionType part is case sensitive", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "workspace", + description: "Manage Azure log analytics workspace", + subcommands: [ + { + name: "create", + description: "Create a workspace instance", + options: [ + { + name: ["--workspace-name", "--name", "-n"], + description: "Name of the Log Analytics Workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--capacity-reservation-level", "--level"], + description: + "The capacity reservation level for this workspace, when CapacityReservation sku is selected. The maximum value is 1000 and must be in multiples of 100. If you want to increase the limit, please contact LAIngestionRate@microsoft.com", + args: { + name: "capacity-reservation-level", + suggestions: [ + "100", + "1000", + "200", + "2000", + "300", + "400", + "500", + "5000", + ], + }, + }, + { + name: "--ingestion-access", + description: + "The public network access type to access workspace ingestion", + args: { + name: "ingestion-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--query-access", + description: + "The public network access type to access workspace query", + args: { + name: "query-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--quota", + description: + "The workspace daily quota for ingestion in gigabytes. The minimum value is 0.023 and default is -1 which means unlimited", + args: { name: "quota" }, + }, + { + name: "--retention-time", + description: + "The workspace data retention in days. Allowed values are per pricing plan. See pricing tiers documentation for details", + args: { name: "retention-time" }, + }, + { + name: ["--sku-name", "--sku"], + description: "The name of the SKU", + args: { + name: "sku-name", + suggestions: [ + "CapacityReservation", + "Free", + "LACluster", + "PerGB2018", + "PerNode", + "Premium", + "Standalone", + "Standard", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a workspace resource", + options: [ + { + name: ["--force", "-f"], + description: + "Deletes the workspace without the recovery option. A workspace that was deleted with this flag cannot be recovered", + args: { + name: "force", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--workspace-name", "--name", "-n"], + description: "Name of the Log Analytics Workspace", + args: { name: "workspace-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-schema", + description: "Get the schema for a given workspace", + options: [ + { + name: ["--workspace-name", "--name", "-n"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "get-shared-keys", + description: "Get the shared keys for a workspace", + options: [ + { + name: ["--workspace-name", "--name", "-n"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Get a list of workspaces under a resource group or a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-deleted-workspaces", + description: + "Get a list of deleted workspaces that can be recovered in a subscription or a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-management-groups", + description: + "Get a list of management groups connected to a workspace", + options: [ + { + name: ["--workspace-name", "--name", "-n"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-usages", + description: "Get a list of usage metrics for a workspace", + options: [ + { + name: ["--workspace-name", "--name", "-n"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "recover", + description: + "Recover a workspace in a soft-delete state within 14 days", + options: [ + { + name: ["--workspace-name", "-n"], + description: "Name of the Log Analytics Workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show a workspace instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--workspace-name", "--name", "-n"], + description: "Name of the Log Analytics Workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a workspace instance", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--capacity-reservation-level", "--level"], + description: + "The capacity reservation level for this workspace, when CapacityReservation sku is selected. The maximum value is 1000 and must be in multiples of 100. If you want to increase the limit, please contact LAIngestionRate@microsoft.com", + args: { + name: "capacity-reservation-level", + suggestions: [ + "100", + "1000", + "200", + "2000", + "300", + "400", + "500", + "5000", + ], + }, + }, + { + name: "--data-collection-rule", + description: + "The resource ID of the default Data Collection Rule to use for this workspace. Expected format is - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dcrName}", + args: { name: "data-collection-rule" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ingestion-access", + description: + "The public network access type to access workspace ingestion", + args: { + name: "ingestion-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--workspace-name", "--name", "-n"], + description: "Name of the Log Analytics Workspace", + args: { name: "workspace-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--query-access", + description: + "The public network access type to access workspace query", + args: { + name: "query-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--quota", + description: + "The workspace daily quota for ingestion in gigabytes. The minimum value is 0.023 and default is -1 which means unlimited", + args: { name: "quota" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--retention-time", + description: + "The workspace data retention in days. Allowed values are per pricing plan. See pricing tiers documentation for details", + args: { name: "retention-time" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--workspace-name", "--name", "-n"], + description: "Name of the Log Analytics Workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "data-export", + description: + "Manage data export ruls for log analytics workspace", + subcommands: [ + { + name: "create", + description: + "Create a data export rule for a given workspace", + options: [ + { + name: ["--data-export-name", "--name", "-n"], + description: "The data export rule name", + args: { name: "data-export-name" }, + isRequired: true, + }, + { + name: "--destination", + description: + "The destination resource ID. It should be a storage account, an event hub namespace. If event hub namespace is provided without --event-hub-name, event hub would be created for each table automatically", + args: { name: "destination" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--tables", "-t"], + description: + 'An array of tables to export. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tables" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--enable", + description: "Active when enabled", + args: { + name: "enable", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--event-hub-name", + description: + "Optional. Allows to define an Event Hub name. Not applicable when destination is Storage Account", + args: { name: "event-hub-name" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a data export rule for a given workspace", + options: [ + { + name: ["--data-export-name", "--name", "-n"], + description: "The data export rule name", + args: { name: "data-export-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all data export ruleses for a given workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a data export rule for a given workspace", + options: [ + { + name: ["--data-export-name", "--name", "-n"], + description: "The data export rule name", + args: { name: "data-export-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: + "Update a data export rule for a given workspace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--data-export-name", "--name", "-n"], + description: "The data export rule name", + args: { name: "data-export-name" }, + }, + { + name: "--destination", + description: + "The destination resource ID. It should be a storage account, an event hub namespace. If event hub namespace is provided without --event-hub-name, event hub would be created for each table automatically", + args: { name: "destination" }, + }, + { + name: "--enable", + description: "Active when enabled", + args: { + name: "enable", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--event-hub-name", + description: + "Optional. Allows to define an Event Hub name. Not applicable when destination is Storage Account", + args: { name: "event-hub-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--tables", "-t"], + description: + 'An array of tables to export. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tables" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "linked-service", + description: + "Manage linked service for log analytics workspace.\n\n\t\tLinked services is used to define a relation from the workspace to another Azure resource. Log Analytics and Azure resources then leverage this connection in their operations. Example uses of Linked Services in Log Analytics workspace are Automation account and workspace association to CMK", + subcommands: [ + { + name: "create", + description: "Create a linked service", + options: [ + { + name: ["--linked-service-name", "--name", "-n"], + description: + "Name of the linkedServices resource. Supported values: cluster, automation", + args: { name: "linked-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--resource-id", + description: + "The resource id of the resource that will be linked to the workspace. This should be used for linking resources which require read access", + args: { name: "resource-id" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--write-access-resource-id", + description: + "The resource id of the resource that will be linked to the workspace. This should be used for linking resources which require write access", + args: { name: "write-access-resource-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete a linked service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--linked-service-name", "--name", "-n"], + description: + "Name of the linkedServices resource. Supported values: cluster, automation", + args: { name: "linked-service-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all the linked services in a workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the properties of a linked service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--linked-service-name", "--name", "-n"], + description: + "Name of the linkedServices resource. Supported values: cluster, automation", + args: { name: "linked-service-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update a linked service", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--linked-service-name", "--name", "-n"], + description: + "Name of the linkedServices resource. Supported values: cluster, automation", + args: { name: "linked-service-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-id", + description: + "The resource id of the resource that will be linked to the workspace. This should be used for linking resources which require read access", + args: { name: "resource-id" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: "--write-access-resource-id", + description: + "The resource id of the resource that will be linked to the workspace. This should be used for linking resources which require write access", + args: { name: "write-access-resource-id" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--linked-service-name", "--name", "-n"], + description: + "Name of the linkedServices resource. Supported values: cluster, automation", + args: { name: "linked-service-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "linked-storage", + description: + "Manage linked storage account for log analytics workspace", + subcommands: [ + { + name: "add", + description: + "Add some linked storage accounts with specific data source type for log analytics workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-accounts", + description: + "List of Name or ID of Azure Storage Account", + args: { name: "storage-accounts" }, + isRequired: true, + }, + { + name: "--type", + description: + "Data source type for the linked storage account", + args: { + name: "type", + suggestions: [ + "Alerts", + "AzureWatson", + "CustomLogs", + "Ingestion", + "Query", + ], + }, + isRequired: true, + }, + { + name: ["--workspace-name", "-n"], + description: "Name of the Log Analytics Workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: + "Create some linked storage accounts for log analytics workspace", + options: [ + { + name: ["--data-source-type", "--type"], + description: + "Data source type for the linked storage account", + args: { + name: "data-source-type", + suggestions: [ + "Alerts", + "AzureWatson", + "CustomLogs", + "Ingestion", + "Query", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-accounts", + description: + 'List of Name or ID of Azure Storage Account. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "storage-accounts" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-n"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Delete all linked storage accounts with specific data source type for log analytics workspace", + options: [ + { + name: ["--data-source-type", "--type"], + description: + "Data source type for the linked storage account", + args: { + name: "data-source-type", + suggestions: [ + "Alerts", + "AzureWatson", + "CustomLogs", + "Ingestion", + "Query", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-n"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all linked storage accounts for a log analytics workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-n"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove some linked storage accounts with specific data source type for log analytics workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-accounts", + description: + "List of Name or ID of Azure Storage Account", + args: { name: "storage-accounts" }, + isRequired: true, + }, + { + name: "--type", + description: + "Data source type for the linked storage account", + args: { + name: "type", + suggestions: [ + "Alerts", + "AzureWatson", + "CustomLogs", + "Ingestion", + "Query", + ], + }, + isRequired: true, + }, + { + name: ["--workspace-name", "-n"], + description: "Name of the Log Analytics Workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show all linked storage accounts with specific data source type for a log analytics workspace", + options: [ + { + name: ["--data-source-type", "--type"], + description: + "Data source type for the linked storage account", + args: { + name: "data-source-type", + suggestions: [ + "Alerts", + "AzureWatson", + "CustomLogs", + "Ingestion", + "Query", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-n"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "pack", + description: + "Manage intelligent packs for log analytics workspace", + subcommands: [ + { + name: "disable", + description: + "Disable an intelligence pack for a given workspace", + options: [ + { + name: ["--intelligence-pack-name", "--name", "-n"], + description: + "The name of the intelligence pack to be enabled", + args: { name: "intelligence-pack-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "enable", + description: + "Enable an intelligence pack for a given workspace", + options: [ + { + name: ["--intelligence-pack-name", "--name", "-n"], + description: + "The name of the intelligence pack to be enabled", + args: { name: "intelligence-pack-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List all the intelligence packs possible and whether they are enabled or disabled for a given workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "saved-search", + description: "Manage saved search for log analytics workspace", + subcommands: [ + { + name: "create", + description: "Create a saved search for a given workspace", + options: [ + { + name: "--category", + description: + "The category of the saved search. This helps the user to find a saved search faster", + args: { name: "category" }, + isRequired: true, + }, + { + name: "--display-name", + description: "Display name of the saved search", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the saved search and it's unique in a given workspace", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--saved-query", "-q"], + description: "The query expression for the saved search", + args: { name: "saved-query" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "Name of the Log Analytics Workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: ["--func-alias", "--fa"], + description: + "Function Aliases are short names given to Saved Searches so they can be easily referenced in query. They are required for Computer Groups", + args: { name: "func-alias" }, + }, + { + name: ["--func-param", "--fp"], + description: + "The optional function parameters if query serves as a function. Value should be in the following format: 'param-name1:type1 = default_value1, param-name2:type2 = default_value2'. For more examples and proper syntax please refer to https://docs.microsoft.com/azure/kusto/query/functions/user-defined-functions", + args: { name: "func-param" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a saved search for a given workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--saved-search-name", "--name", "-n"], + description: + "Name of the saved search and it's unique in a given workspace", + args: { name: "saved-search-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all saved searches for a given workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a saved search for a given workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--saved-search-name", "--name", "-n"], + description: + "Name of the saved search and it's unique in a given workspace", + args: { name: "saved-search-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update a saved search for a given workspace", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the saved search and it's unique in a given workspace", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "Name of the Log Analytics Workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--category", + description: + "The category of the saved search. This helps the user to find a saved search faster", + args: { name: "category" }, + }, + { + name: "--display-name", + description: "Display name of the saved search", + args: { name: "display-name" }, + }, + { + name: ["--func-alias", "--fa"], + description: + "Function Aliases are short names given to Saved Searches so they can be easily referenced in query. They are required for Computer Groups", + args: { name: "func-alias" }, + }, + { + name: ["--func-param", "--fp"], + description: + "The optional function parameters if query serves as a function. Value should be in the following format: 'param-name1:type1 = default_value1, param-name2:type2 = default_value2'. For more examples and proper syntax please refer to https://docs.microsoft.com/azure/kusto/query/functions/user-defined-functions", + args: { name: "func-param" }, + }, + { + name: ["--saved-query", "-q"], + description: "The query expression for the saved search", + args: { name: "saved-query" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "table", + description: "Manage tables for log analytics workspace", + subcommands: [ + { + name: "create", + description: + "Create a Log Analytics workspace microsoft/custom log table. The table name needs to end with '_CL'", + options: [ + { + name: ["--name", "-n"], + description: "Name of the table", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "Name of the Log Analytics Workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--columns", + description: + "A list of table custom columns.Extracts multiple space-separated columns in column_name=column_type format", + args: { name: "columns" }, + }, + { + name: "--description", + description: "Schema description", + args: { name: "description" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--plan", + description: + 'The table plan. Possible values include: "Basic", "Analytics"', + args: { + name: "plan", + suggestions: ["Analytics", "Basic"], + }, + }, + { + name: "--retention-time", + description: + "The data table data retention in days, between 4 and 730. Setting this property to null will default to the workspace", + args: { name: "retention-time" }, + }, + { + name: "--total-retention-time", + description: + "The table data total retention in days, between 4 and 2555. Setting this property to null will default to table retention", + args: { name: "total-retention-time" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Log Analytics workspace table", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--table-name", "--name", "-n"], + description: "The name of the table", + args: { name: "table-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the tables for the given Log Analytics workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "migrate", + description: + "Migrate a Log Analytics table from support of the Data Collector API and Custom Fields features to support of Data Collection Rule-based Custom Logs", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--table-name", + description: "The name of the table", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a Log Analytics workspace table", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--table-name", "--name", "-n"], + description: "The name of the table", + args: { name: "table-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: + "Update the properties of a Log Analytics workspace table", + options: [ + { + name: ["--name", "-n"], + description: "Name of the table", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "Name of the Log Analytics Workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--columns", + description: + "A list of table custom columns.Extracts multiple space-separated columns in column_name=column_type format", + args: { name: "columns" }, + }, + { + name: "--description", + description: "Table description", + args: { name: "description" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--plan", + description: + 'The table plan. Possible values include: "Basic", "Analytics"', + args: { + name: "plan", + suggestions: ["Analytics", "Basic"], + }, + }, + { + name: "--retention-time", + description: + "The data table data retention in days, between 4 and 730. Setting this property to null will default to the workspace", + args: { name: "retention-time" }, + }, + { + name: "--total-retention-time", + description: + "The table data total retention in days, between 4 and 2555. Setting this property to null will default to table retention", + args: { name: "total-retention-time" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--table-name", "--name", "-n"], + description: "The name of the table", + args: { name: "table-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "restore", + description: + "Manage tables for log analytics workspace restore logs table", + subcommands: [ + { + name: "create", + description: + "Create a Log Analytics workspace restore logs table. The table name needs to end with '_RST'", + options: [ + { + name: "--end-restore-time", + description: + "Datetime format. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "end-restore-time" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the table", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--restore-source-table", + description: "The table to restore data from", + args: { name: "restore-source-table" }, + isRequired: true, + }, + { + name: "--start-restore-time", + description: + "Datetime format. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "start-restore-time" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "Name of the Log Analytics Workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + ], + }, + { + name: "search-job", + description: + "Manage tables for log analytics workspace search results table", + subcommands: [ + { + name: "create", + description: + "Create a Log Analytics workspace search results table. The table name needs to end with '_SRCH'", + options: [ + { + name: "--end-search-time", + description: + "Datetime format. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "end-search-time" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the table", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--search-query", + description: "Search job query", + args: { name: "search-query" }, + isRequired: true, + }, + { + name: "--start-search-time", + description: + "Datetime format. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "start-search-time" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "Name of the Log Analytics Workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--limit", + description: + "Limit the search job to return up to specified number of rows", + args: { name: "limit" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--retention-time", + description: + "The data table data retention in days, between 4 and 730. Setting this property to null will default to the workspace", + args: { name: "retention-time" }, + }, + { + name: "--total-retention-time", + description: + "The table data total retention in days, between 4 and 2555. Setting this property to null will default to table retention", + args: { name: "total-retention-time" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "log-profiles", + description: "Manage log profiles", + subcommands: [ + { + name: "create", + description: "Create a log profile in Azure Monitoring REST API", + options: [ + { + name: "--categories", + description: + "Space-separated categories of the logs. These categories are created as is convenient to the user. Some values are: 'Write', 'Delete', and/or 'Action.' Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "categories" }, + isRequired: true, + }, + { + name: "--days", + description: + "The number of days for the retention in days. A value of 0 will retain the events indefinitely", + args: { name: "days" }, + isRequired: true, + }, + { + name: "--enabled", + description: + "Whether the retention policy is enabled. Allowed values: false, true", + args: { + name: "enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--locations", + description: + 'Space-separated list of regions for which Activity Log events should be stored. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "locations" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the log profile", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--service-bus-rule-id", + description: + "The service bus rule ID of the service bus namespace in which you would like to have Event Hubs created for streaming the Activity Log. The rule ID is of the format: '{service bus resource ID}/authorizationrules/{key name}'", + args: { name: "service-bus-rule-id" }, + }, + { + name: "--storage-account-id", + description: + "The resource id of the storage account to which you would like to send the Activity Log", + args: { name: "storage-account-id" }, + }, + { + name: "--tags", + description: + "Space-separated tags: key[=value] [key[=value] ...]. Use '' to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the log profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the log profile", + args: { name: "name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { name: "list", description: "List the log profiles" }, + { + name: "show", + description: "Get the log profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the log profile", + args: { name: "name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a log profile in Azure Monitoring REST API", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--categories", + description: + "Space-separated categories of the logs. These categories are created as is convenient to the user. Some values are: 'Write', 'Delete', and/or 'Action.' Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "categories" }, + }, + { + name: "--days", + description: + "The number of days for the retention in days. A value of 0 will retain the events indefinitely", + args: { name: "days" }, + }, + { + name: "--enabled", + description: + "Whether the retention policy is enabled. Allowed values: false, true", + args: { + name: "enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--locations", + description: + 'Space-separated list of regions for which Activity Log events should be stored. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "locations" }, + }, + { + name: ["--name", "-n"], + description: "The name of the log profile", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--service-bus-rule-id", + description: + "The service bus rule ID of the service bus namespace in which you would like to have Event Hubs created for streaming the Activity Log. The rule ID is of the format: '{service bus resource ID}/authorizationrules/{key name}'", + args: { name: "service-bus-rule-id" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--storage-account-id", + description: + "The resource id of the storage account to which you would like to send the Activity Log", + args: { name: "storage-account-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + "Space-separated tags: key[=value] [key[=value] ...]. Use '' to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "metrics", + description: "View Azure resource metrics", + subcommands: [ + { + name: "list", + description: "List the metric values for a resource", + options: [ + { + name: "--resource", + description: "Name or ID of the target resource", + args: { name: "resource" }, + isRequired: true, + }, + { + name: "--aggregation", + description: + "The list of aggregation types (space-separated) to retrieve. value from: az monitor metrics list-definitions", + args: { + name: "aggregation", + suggestions: [ + "Average", + "Count", + "Maximum", + "Minimum", + "None", + "Total", + ], + }, + }, + { + name: "--dimension", + description: + "The list of dimensions (space-separated) the metrics are queried into. value from: az monitor metrics list-definitions", + args: { name: "dimension" }, + }, + { + name: "--end-time", + description: + "End time of the query. Defaults to the current time. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "end-time" }, + }, + { + name: "--filter", + description: + "A string used to reduce the set of metric data returned. eg. \"BlobType eq '*'\"", + args: { name: "filter" }, + }, + { + name: "--interval", + description: + "The interval over which to aggregate metrics, in ##h##m format", + args: { name: "interval" }, + }, + { + name: "--metadata", + description: "Returns the metadata values instead of metric data", + args: { name: "metadata" }, + }, + { + name: "--metrics", + description: + "Space-separated list of metric names to retrieve. value from: az monitor metrics list-definitions", + args: { name: "metrics" }, + }, + { + name: "--namespace", + description: + "Namespace to query metric definitions for. value from: az monitor metrics list-namespaces", + args: { name: "namespace" }, + }, + { + name: "--offset", + description: "Time offset of the query range, in ##d##h format", + args: { name: "offset" }, + }, + { + name: "--orderby", + description: + "Aggregation to use for sorting results and the direction of the sort. Only one order can be specificed. Examples: sum asc", + args: { name: "orderby" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-namespace", + description: "Target resource provider namespace", + args: { name: "resource-namespace" }, + }, + { + name: "--resource-parent", + description: "Target resource parent path, if applicable", + args: { name: "resource-parent" }, + }, + { + name: "--resource-type", + description: + "Target resource type. Can also accept namespace/type format (Ex: 'Microsoft.Compute/virtualMachines')", + args: { name: "resource-type" }, + }, + { + name: "--start-time", + description: + "Start time of the query. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "start-time" }, + }, + { + name: "--top", + description: + "Max number of records to retrieve. Valid only if --filter used", + args: { name: "top" }, + }, + ], + }, + { + name: "list-definitions", + description: "List the metric definitions for the resource", + options: [ + { + name: "--resource", + description: "Name or ID of the target resource", + args: { name: "resource" }, + isRequired: true, + }, + { + name: "--namespace", + description: + "Namespace to query metric definitions for. value from: az monitor metrics list-namespaces", + args: { name: "namespace" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-namespace", + description: "Target resource provider namespace", + args: { name: "resource-namespace" }, + }, + { + name: "--resource-parent", + description: "Target resource parent path, if applicable", + args: { name: "resource-parent" }, + }, + { + name: "--resource-type", + description: + "Target resource type. Can also accept namespace/type format (Ex: 'Microsoft.Compute/virtualMachines')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "list-namespaces", + description: "List the metric namespaces for the resource", + options: [ + { + name: "--resource-uri", + description: "The identifier of the resource", + args: { name: "resource-uri" }, + isRequired: true, + }, + { + name: "--start-time", + description: + "Start time of the query. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "start-time" }, + }, + ], + }, + { + name: "alert", + description: "Manage near-realtime metric alert rules", + subcommands: [ + { + name: "create", + description: "Create a metric-based alert rule", + options: [ + { + name: "--condition", + description: + "The condition which triggers the rule. It can be created by 'az monitor metrics alert condition create' command", + args: { name: "condition" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the alert rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scopes", + description: + "Space-separated list of scopes the rule applies to. The resources specified in this parameter must be of the same type and exist in the same location", + args: { name: "scopes" }, + isRequired: true, + }, + { + name: ["--action", "-a"], + description: + "Add an action group and optional webhook properties to fire when the alert is triggered", + args: { name: "action" }, + }, + { + name: "--auto-mitigate", + description: "Automatically resolve the alert", + args: { + name: "auto-mitigate", + suggestions: ["false", "true"], + }, + }, + { + name: "--description", + description: "Free-text description of the rule", + args: { name: "description" }, + }, + { + name: "--disabled", + description: "Create the rule in a disabled state", + }, + { + name: "--evaluation-frequency", + description: + 'Frequency with which to evaluate the rule in "##h##m##s" format', + args: { name: "evaluation-frequency" }, + }, + { + name: ["--target-resource-region", "--region"], + description: + "The region of the target resource(s) in scopes. This must be provided when scopes is resource group or subscription", + args: { name: "target-resource-region" }, + }, + { + name: "--severity", + description: + "Severity of the alert from 0 (critical) to 4 (verbose)", + args: { name: "severity" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--target-resource-type", "--type"], + description: + "The resource type of the target resource(s) in scopes. This must be provided when scopes is resource group or subscription", + args: { name: "target-resource-type" }, + }, + { + name: "--window-size", + description: + 'Time over which to aggregate metrics in "##h##m##s" format', + args: { name: "window-size" }, + }, + ], + }, + { + name: "delete", + description: "Delete a metrics-based alert rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the alert rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List metric-based alert rules", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show a metrics-based alert rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the alert rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a metric-based alert rule", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--add-action", + description: + "Add an action group and optional webhook properties to fire when the alert is triggered", + args: { name: "add-action" }, + }, + { + name: "--add-condition", + description: "Add a condition which triggers the rule", + args: { name: "add-condition" }, + }, + { + name: "--auto-mitigate", + description: "Automatically resolve the alert", + args: { + name: "auto-mitigate", + suggestions: ["false", "true"], + }, + }, + { + name: "--description", + description: "Free-text description of the rule", + args: { name: "description" }, + }, + { + name: "--enabled", + description: "Whether the metric alert rule is enabled", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--evaluation-frequency", + description: + 'Frequency with which to evaluate the rule in "##h##m##s" format', + args: { name: "evaluation-frequency" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the alert rule", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--remove-actions", + description: + "Space-separated list of action group names to remove", + args: { name: "remove-actions" }, + }, + { + name: "--remove-conditions", + description: + "Space-separated list of condition names to remove", + args: { name: "remove-conditions" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scopes", + description: + "Space-separated list of scopes the rule applies to. The resources specified in this parameter must be of the same type and exist in the same location", + args: { name: "scopes" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--severity", + description: + "Severity of the alert from 0 (critical) to 4 (verbose)", + args: { name: "severity" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--window-size", + description: + 'Time over which to aggregate metrics in "##h##m##s" format', + args: { name: "window-size" }, + }, + ], + }, + { + name: "condition", + description: "Manage near-realtime metric alert rule conditions", + subcommands: [ + { + name: "create", + description: "Build a metric alert rule condition", + options: [ + { + name: "--aggregation", + description: "Time aggregation", + args: { + name: "aggregation", + suggestions: [ + "Average", + "Count", + "Maximum", + "Minimum", + "Total", + ], + }, + isRequired: true, + }, + { + name: "--metric", + description: + "Name of the metric to base the rule on. value from: az monitor metrics list-definitions", + args: { name: "metric" }, + isRequired: true, + }, + { + name: ["--operator", "--op"], + description: + "Operator for static threshold can be 'Equals', 'NotEquals', 'GreaterThan', 'GreaterThanOrEqual', 'LessThan' or 'LessThanOrEqual'. Operator for dynamic threshold can be 'GreaterThan', 'LessThan', 'GreaterOrLessThan'", + args: { + name: "operator", + suggestions: [ + "Equals", + "GreaterOrLessThan", + "GreaterThan", + "GreaterThanOrEqual", + "LessThan", + "LessThanOrEqual", + "NotEquals", + ], + }, + isRequired: true, + }, + { + name: ["--type", "-t"], + description: "Type of condition threshold", + args: { + name: "type", + suggestions: ["dynamic", "static"], + }, + isRequired: true, + }, + { + name: "--dimension", + description: + "Dimension created by 'az monitor metrics alert dimension create'", + args: { name: "dimension" }, + }, + { + name: "--namespace", + description: "Namespace of metric", + args: { name: "namespace" }, + }, + { + name: "--num-periods", + description: + "The number of evaluation periods for dynamic threshold. Range: 1-6", + args: { name: "num-periods" }, + }, + { + name: "--num-violations", + description: + "The number of violations to trigger an dynamic alert. Range: 1-6. It should be less than or equal to --num-periods", + args: { name: "num-violations" }, + }, + { + name: "--sensitivity", + description: "Alert sensitivity for dynamic threshold", + args: { + name: "sensitivity", + suggestions: ["High", "Low", "Medium"], + }, + }, + { + name: "--since", + description: + "The date from which to start learning the metric historical data and calculate the dynamic thresholds. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "since" }, + }, + { + name: "--skip-metric-validation", + description: + "Cause the metric validation to be skipped. This allows to use a metric that has not been emitted yet", + args: { + name: "skip-metric-validation", + suggestions: ["false", "true"], + }, + }, + { + name: "--threshold", + description: "Static threshold value", + args: { name: "threshold" }, + }, + ], + }, + ], + }, + { + name: "dimension", + description: "Manage near-realtime metric alert rule dimensions", + subcommands: [ + { + name: "create", + description: "Build a metric alert rule dimension", + options: [ + { + name: ["--name", "-n"], + description: "Name of the dimension", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--value", "-v"], + description: "The values to apply on the operation", + args: { name: "value" }, + isRequired: true, + }, + { + name: ["--operator", "--op"], + description: "Dimension operator", + args: { + name: "operator", + suggestions: ["Exclude", "Include"], + }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "private-link-scope", + description: "Manage monitor private link scope resource", + subcommands: [ + { + name: "create", + description: "Create a private link scope resource", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a monitor private link scope resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all monitor private link scope resources", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show a monitor private link scope resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a monitor private link scope resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "private-endpoint-connection", + description: + "Manage private endpoint connection of a private link scope resource", + subcommands: [ + { + name: "approve", + description: + "Approve a private endpoint connection of a private link scope resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "Description of private link service connection", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--id", + description: + "ID of the private endpoint connection associated with the private link scope. Values from az monitor private-link-scope show", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the private endpoint connection associated with the private link scope", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "scope-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a private endpoint connection of a private link scope resource", + options: [ + { + name: "--id", + description: + "ID of the private endpoint connection associated with the private link scope. Values from az monitor private-link-scope show", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the private endpoint connection associated with the private link scope", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "scope-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all private endpoint connections on a private link scope", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scope-name", + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "scope-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "reject", + description: + "Reject a private endpoint connection of a private link scope resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "Description of private link service connection", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--id", + description: + "ID of the private endpoint connection associated with the private link scope. Values from az monitor private-link-scope show", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the private endpoint connection associated with the private link scope", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "scope-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show a private endpoint connection of a private link scope resource", + options: [ + { + name: "--id", + description: + "ID of the private endpoint connection associated with the private link scope. Values from az monitor private-link-scope show", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the private endpoint connection associated with the private link scope", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "scope-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the private endpoint connection associated with the private link scope", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "scope-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: + "Manage private link resource of a private link scope resource", + subcommands: [ + { + name: "list", + description: + "List all private link resources of a private link scope resource", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scope-name", + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "scope-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Show a private link resource of a private link scope resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private link resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "scope-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "scoped-resource", + description: + "Manage scoped resource of a private link scope resource", + subcommands: [ + { + name: "create", + description: + "Create a scoped resource for a private link scope resource", + options: [ + { + name: ["--name", "-n"], + description: "Name of the assigned resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scope-name", + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "scope-name" }, + isRequired: true, + }, + { + name: "--linked-resource", + description: + "ARM resource ID of the linked resource. It should be one of log analytics workspace or application insights component", + args: { name: "linked-resource" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete a scoped resource of a private link scope resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the assigned resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "scope-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all scoped resource of a private link scope resource", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scope-name", + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "scope-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Show a scoped resource of a private link scope resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the assigned resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "scope-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the assigned resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-name", + description: "Name of the Azure Monitor Private Link Scope", + args: { name: "scope-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "scheduled-query", + description: "Commands to manage scheduled queries", + subcommands: [ + { + name: "create", + description: "Create a scheduled query", + options: [ + { + name: "--condition", + description: "The condition which triggers the rule", + args: { name: "condition" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the scheduled query rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scopes", + description: + "Space-separated list of scopes the rule applies to. The resources specified in this parameter must be of the same type and exist in the same location", + args: { name: "scopes" }, + isRequired: true, + }, + { + name: "--action-groups", + description: + "Action Group resource Ids to invoke when the alert fires", + args: { name: "action-groups" }, + }, + { + name: "--auto-mitigate", + description: + "The flag that indicates whether the alert should be automatically resolved or not. The default is true", + args: { name: "auto-mitigate", suggestions: ["false", "true"] }, + }, + { + name: ["--check-ws-alerts-storage", "--cwas"], + description: + "The flag which indicates whether this scheduled query rule should be stored in the customer's storage", + }, + { + name: "--condition-query", + description: + "Query deteils to replace the placeholders in --condition argument", + args: { name: "condition-query" }, + }, + { + name: "--custom-properties", + description: "The properties of an alert payload", + args: { name: "custom-properties" }, + }, + { + name: "--description", + description: "Free-text description of the rule", + args: { name: "description" }, + }, + { name: "--disabled", description: "Disable the scheduled query" }, + { + name: "--evaluation-frequency", + description: + 'Frequency with which to evaluate the rule in "##h##m##s" format', + args: { name: "evaluation-frequency" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--mute-actions-duration", "--mad"], + description: + "Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired", + args: { name: "mute-actions-duration" }, + }, + { + name: "--severity", + description: + "Severity of the alert from 0 (critical) to 4 (verbose)", + args: { name: "severity" }, + }, + { + name: "--skip-query-validation", + description: + "The flag which indicates whether the provided query should be validated or not", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--target-resource-type", "--type"], + description: + "The resource type of the target resource(s) in scopes. This must be provided when scopes is resource group or subscription", + args: { name: "target-resource-type" }, + }, + { + name: "--window-size", + description: + 'Time over which to aggregate metrics in "##h##m##s" format', + args: { name: "window-size" }, + }, + ], + }, + { + name: "delete", + description: "Delete a scheduled query", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the scheduled query rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all scheduled queries", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show detail of a scheduled query", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the scheduled query rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a scheduled query", + options: [ + { + name: "--action-groups", + description: + "Action Group resource Ids to invoke when the alert fires", + args: { name: "action-groups" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--auto-mitigate", + description: + "The flag that indicates whether the alert should be automatically resolved or not. The default is true", + args: { name: "auto-mitigate", suggestions: ["false", "true"] }, + }, + { + name: ["--check-ws-alerts-storage", "--cwas"], + description: + "The flag which indicates whether this scheduled query rule should be stored in the customer's storage", + args: { + name: "check-ws-alerts-storage", + suggestions: ["false", "true"], + }, + }, + { + name: "--condition", + description: "The condition which triggers the rule", + args: { name: "condition" }, + }, + { + name: "--condition-query", + description: + "Query deteils to replace the placeholders in --condition argument", + args: { name: "condition-query" }, + }, + { + name: "--custom-properties", + description: "The properties of an alert payload", + args: { name: "custom-properties" }, + }, + { + name: "--description", + description: "Free-text description of the rule", + args: { name: "description" }, + }, + { + name: "--disabled", + description: "Disable the scheduled query", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--evaluation-frequency", + description: + 'Frequency with which to evaluate the rule in "##h##m##s" format', + args: { name: "evaluation-frequency" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--mute-actions-duration", "--mad"], + description: + "Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired", + args: { name: "mute-actions-duration" }, + }, + { + name: ["--name", "-n"], + description: "Name of the scheduled query rule", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--severity", + description: + "Severity of the alert from 0 (critical) to 4 (verbose)", + args: { name: "severity" }, + }, + { + name: "--skip-query-validation", + description: + "The flag which indicates whether the provided query should be validated or not", + args: { + name: "skip-query-validation", + suggestions: ["false", "true"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--target-resource-type", "--type"], + description: + "The resource type of the target resource(s) in scopes. This must be provided when scopes is resource group or subscription", + args: { name: "target-resource-type" }, + }, + { + name: "--window-size", + description: + 'Time over which to aggregate metrics in "##h##m##s" format', + args: { name: "window-size" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/mysql.ts b/src/az/2.53.0/mysql.ts new file mode 100644 index 000000000000..67bb4749085a --- /dev/null +++ b/src/az/2.53.0/mysql.ts @@ -0,0 +1,4961 @@ +const completion: Fig.Spec = { + name: "mysql", + description: "Manage Azure Database for MySQL servers", + subcommands: [ + { + name: "db", + description: "Manage MySQL databases on a server", + subcommands: [ + { + name: "create", + description: "Create a MySQL database", + options: [ + { + name: ["--name", "-n"], + description: "The name of the database", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--charset", + description: "The charset of the database", + args: { name: "charset" }, + }, + { + name: "--collation", + description: "The collation of the database", + args: { name: "collation" }, + }, + ], + }, + { + name: "delete", + description: "Delete a database", + options: [ + { + name: ["--name", "-n"], + description: "The name of the database", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the databases for a server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: "Name of the Server", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of a database", + options: [ + { + name: ["--name", "-n"], + description: "The name of the database", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "down", + description: "Delete the MySQL server and its cached information", + options: [ + { + name: "--delete-group", + description: "Delete the resource group", + args: { name: "delete-group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show-connection-string", + description: "Show the connection strings for a MySQL server database", + options: [ + { + name: ["--admin-password", "-p"], + description: "The login password of the administrator", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: "The login username of the administrator", + args: { name: "admin-user" }, + }, + { + name: ["--database-name", "-d"], + description: "The name of a database", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "up", + description: + "Set up an Azure Database for MySQL server and configurations", + options: [ + { + name: ["--admin-password", "-p"], + description: + "The login password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters.Your password cannot contain all or part of the login name. Part of a login name is defined as three or more consecutive alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: "The login username of the administrator", + args: { name: "admin-user" }, + }, + { + name: "--backup-retention", + description: "The number of days a backup is retained", + args: { name: "backup-retention" }, + }, + { + name: ["--database-name", "-d"], + description: "The name of a database to initialize", + args: { name: "database-name" }, + }, + { + name: "--generate-password", + description: "Generate a password", + args: { name: "generate-password" }, + }, + { + name: "--geo-redundant-backup", + description: "Enable Geo-redundant or not for server backup", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the server", + args: { name: "server-name" }, + }, + { + name: "--sku-name", + description: + "The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8", + args: { name: "sku-name" }, + }, + { + name: "--ssl-enforcement", + description: "Enable ssl enforcement or not when connect to server", + args: { + name: "ssl-enforcement", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: "The max storage size of the server. Unit is megabytes", + args: { name: "storage-size" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--version", + description: "Server version", + args: { name: "version" }, + }, + ], + }, + { + name: "flexible-server", + description: "Manage Azure Database for MySQL Flexible Servers", + subcommands: [ + { + name: "connect", + description: "Connect to a flexible server", + options: [ + { + name: ["--admin-user", "-u"], + description: "The login username of the administrator", + args: { name: "admin-user" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--admin-password", "-p"], + description: "The login password of the administrator", + args: { name: "admin-password" }, + }, + { + name: ["--database-name", "-d"], + description: "The name of a database", + args: { name: "database-name" }, + }, + { + name: "--interactive", + description: + "Pass this parameter to connect to database in interactive mode", + args: { name: "interactive" }, + }, + { + name: ["--querytext", "-q"], + description: + "Argument 'querytext' has been deprecated and will be removed in a future release. Use 'execute' instead. A query to run against the flexible server", + args: { name: "querytext" }, + }, + ], + }, + { + name: "create", + description: "Create a MySQL flexible server", + options: [ + { + name: "--address-prefixes", + description: + "The IP address prefix to use when creating a new virtual network in CIDR format. Default value is 10.0.0.0/16", + args: { name: "address-prefixes" }, + }, + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: + "Administrator username for the server. Once set, it cannot be changed", + args: { name: "admin-user" }, + }, + { + name: "--auto-scale-iops", + description: + "Enable or disable the auto scale iops. Default value is Disabled", + args: { + name: "auto-scale-iops", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--backup-identity", + description: + "The name or resource ID of the geo backup user identity for data encryption. The identity needs to be in the same region as the backup region", + args: { name: "backup-identity" }, + }, + { + name: "--backup-key", + description: + "The resource ID of the geo backup keyvault key for data encryption. The key needs to be in the same region as the backup region", + args: { name: "backup-key" }, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 1 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: ["--database-name", "-d"], + description: + "The name of the database to be created when provisioning the database server", + args: { name: "database-name" }, + }, + { + name: "--geo-redundant-backup", + description: "Whether or not geo redundant backup is enabled", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--high-availability", + description: + "Enable (ZoneRedundant or SameZone) or disable high availability feature", + args: { + name: "high-availability", + suggestions: ["Disabled", "SameZone", "ZoneRedundant"], + }, + }, + { + name: "--identity", + description: + "The name or resource ID of the user assigned identity for data encryption", + args: { name: "identity" }, + }, + { + name: "--iops", + description: + "Number of IOPS to be allocated for this server. You will get certain amount of free IOPS based on compute and storage provisioned. The default value for IOPS is free IOPS. To learn more about IOPS based on compute and storage, refer to IOPS in Azure Database for MySQL Flexible Server", + args: { name: "iops" }, + }, + { + name: "--key", + description: + "The resource ID of the primary keyvault key for data encryption", + args: { name: "key" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--private-dns-zone", + description: + "This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. The name or id of new or existing private dns zone. You can use the private dns zone from same resource group, different resource group, or different subscription. If you want to use a zone from different resource group or subscription, please provide resource Id. CLI creates a new private dns zone within the same resource group as virtual network if not provided by users", + args: { name: "private-dns-zone" }, + }, + { + name: "--public-access", + description: + 'Determines the public access. Enter single or range of IP addresses to be included in the allowed list of IPs. IP address ranges must be dash-separated and not contain any spaces. Specifying 0.0.0.0 allows public access from any resources deployed within Azure to access your server. Setting it to "None" sets the server in public access mode but does not create a firewall rule', + args: { name: "public-access" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku-name", + description: + "The name of the compute SKU. Follows the convention Standard_{VM name}. Examples: Standard_B1ms", + args: { name: "sku-name" }, + }, + { + name: "--standby-zone", + description: + "The availability zone information of the standby server when high availability is enabled", + args: { name: "standby-zone" }, + }, + { + name: "--storage-auto-grow", + description: + "Enable or disable autogrow of the storage. Default value is Enabled", + args: { + name: "storage-auto-grow", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: + "The storage capacity of the server. Minimum is 32 GiB and max is 16 TiB", + args: { name: "storage-size" }, + }, + { + name: "--subnet", + description: + "Name or resource ID of a new or existing subnet. This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. If you want to use a subnet from different resource group or subscription, please provide resource ID instead of name. Please note that the subnet will be delegated to flexibleServers. After delegation, this subnet cannot be used for any other type of Azure resources", + args: { name: "subnet" }, + }, + { + name: "--subnet-prefixes", + description: + "The subnet IP address prefix to use when creating a new subnet in CIDR format. Default value is 10.0.0.0/24", + args: { name: "subnet-prefixes" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "Compute tier of the server. Accepted values: Burstable, GeneralPurpose, MemoryOptimized", + args: { name: "tier" }, + }, + { + name: "--version", + description: "Server major version", + args: { name: "version" }, + }, + { + name: "--vnet", + description: + "Name or ID of a new or existing virtual network. This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. If you want to use a vnet from different resource group or subscription, please provide a resource ID. The name must be between 2 to 64 characters. The name must begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens", + args: { name: "vnet" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone", "-z"], + description: + "Availability zone into which to provision the resource", + args: { name: "zone" }, + }, + ], + }, + { + name: "delete", + description: "Delete a flexible server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "execute", + description: "Connect to a flexible server", + options: [ + { + name: ["--admin-password", "-p"], + description: "The login password of the administrator", + args: { name: "admin-password" }, + isRequired: true, + }, + { + name: ["--admin-user", "-u"], + description: "The login username of the administrator", + args: { name: "admin-user" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "The name of a database", + args: { name: "database-name" }, + }, + { + name: ["--file-path", "-f"], + description: "The path of the sql file to execute", + args: { name: "file-path" }, + }, + { + name: ["--querytext", "-q"], + description: "A query to run against the flexible server", + args: { name: "querytext" }, + }, + ], + }, + { + name: "geo-restore", + description: "Geo-restore a flexible server from backup", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--source-server", + description: + "The name or resource ID of the source server to restore from", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: "--address-prefixes", + description: + "The IP address prefix to use when creating a new virtual network in CIDR format. Default value is 10.0.0.0/16", + args: { name: "address-prefixes" }, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 1 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--geo-redundant-backup", + description: "Whether or not geo redundant backup is enabled", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-dns-zone", + description: + "This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. The name or id of new or existing private dns zone. You can use the private dns zone from same resource group, different resource group, or different subscription. If you want to use a zone from different resource group or subscription, please provide resource Id. CLI creates a new private dns zone within the same resource group as virtual network if not provided by users", + args: { name: "private-dns-zone" }, + }, + { + name: "--public-access", + description: "Determines the public access", + args: { + name: "public-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku-name", + description: + "The name of the compute SKU. Follows the convention Standard_{VM name}. Examples: Standard_B1ms", + args: { name: "sku-name" }, + }, + { + name: "--storage-auto-grow", + description: + "Enable or disable autogrow of the storage. Default value is Enabled", + args: { + name: "storage-auto-grow", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: + "The storage capacity of the server. Minimum is 32 GiB and max is 16 TiB", + args: { name: "storage-size" }, + }, + { + name: "--subnet", + description: + "Name or resource ID of a new or existing subnet. This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. If you want to use a subnet from different resource group or subscription, please provide resource ID instead of name. Please note that the subnet will be delegated to flexibleServers. After delegation, this subnet cannot be used for any other type of Azure resources", + args: { name: "subnet" }, + }, + { + name: "--subnet-prefixes", + description: + "The subnet IP address prefix to use when creating a new subnet in CIDR format. Default value is 10.0.0.0/24", + args: { name: "subnet-prefixes" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "Compute tier of the server. Accepted values: Burstable, GeneralPurpose, MemoryOptimized", + args: { name: "tier" }, + }, + { + name: "--vnet", + description: + "Name or ID of a new or existing virtual network. This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. If you want to use a vnet from different resource group or subscription, please provide a resource ID. The name must be between 2 to 64 characters. The name must begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens", + args: { name: "vnet" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone", "-z"], + description: + "Availability zone into which to provision the resource", + args: { name: "zone" }, + }, + ], + }, + { + name: "list", + description: "List available flexible servers", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-skus", + description: "Lists available sku's in the given region", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "restart", + description: "Restart a flexible server", + options: [ + { + name: "--failover", + description: + "Forced failover for server restart operation. Allowed values: Forced", + args: { name: "failover" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restore", + description: "Restore a flexible server from backup", + options: [ + { + name: "--source-server", + description: + "The name or resource ID of the source server to restore from", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: "--address-prefixes", + description: + "The IP address prefix to use when creating a new virtual network in CIDR format. Default value is 10.0.0.0/16", + args: { name: "address-prefixes" }, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 1 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--geo-redundant-backup", + description: "Whether or not geo redundant backup is enabled", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-dns-zone", + description: + "This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. The name or id of new or existing private dns zone. You can use the private dns zone from same resource group, different resource group, or different subscription. If you want to use a zone from different resource group or subscription, please provide resource Id. CLI creates a new private dns zone within the same resource group as virtual network if not provided by users", + args: { name: "private-dns-zone" }, + }, + { + name: "--public-access", + description: "Determines the public access", + args: { + name: "public-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--restore-time", + description: + "The point in time in UTC to restore from (ISO8601 format), e.g., 2017-04-26T02:10:00+00:00The default value is set to current time", + args: { name: "restore-time" }, + }, + { + name: "--sku-name", + description: + "The name of the compute SKU. Follows the convention Standard_{VM name}. Examples: Standard_B1ms", + args: { name: "sku-name" }, + }, + { + name: "--storage-auto-grow", + description: + "Enable or disable autogrow of the storage. Default value is Enabled", + args: { + name: "storage-auto-grow", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: + "The storage capacity of the server. Minimum is 32 GiB and max is 16 TiB", + args: { name: "storage-size" }, + }, + { + name: "--subnet", + description: + "Name or resource ID of a new or existing subnet. This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. If you want to use a subnet from different resource group or subscription, please provide resource ID instead of name. Please note that the subnet will be delegated to flexibleServers. After delegation, this subnet cannot be used for any other type of Azure resources", + args: { name: "subnet" }, + }, + { + name: "--subnet-prefixes", + description: + "The subnet IP address prefix to use when creating a new subnet in CIDR format. Default value is 10.0.0.0/24", + args: { name: "subnet-prefixes" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "Compute tier of the server. Accepted values: Burstable, GeneralPurpose, MemoryOptimized", + args: { name: "tier" }, + }, + { + name: "--vnet", + description: + "Name or ID of a new or existing virtual network. This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. If you want to use a vnet from different resource group or subscription, please provide a resource ID. The name must be between 2 to 64 characters. The name must begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens", + args: { name: "vnet" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone", "-z"], + description: + "Availability zone into which to provision the resource", + args: { name: "zone" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a flexible server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-connection-string", + description: + "Show the connection strings for a MySQL flexible-server database", + options: [ + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: + "Administrator username for the server. Once set, it cannot be changed", + args: { name: "admin-user" }, + }, + { + name: ["--database-name", "-d"], + description: + "The name of the database to be created when provisioning the database server", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a flexible server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop a flexible server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a flexible server", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: "--auto-scale-iops", + description: + "Enable or disable the auto scale iops. Default value is Disabled", + args: { + name: "auto-scale-iops", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--backup-identity", + description: + "The name or resource ID of the geo backup user identity for data encryption. The identity needs to be in the same region as the backup region", + args: { name: "backup-identity" }, + }, + { + name: "--backup-key", + description: + "The resource ID of the geo backup keyvault key for data encryption. The key needs to be in the same region as the backup region", + args: { name: "backup-key" }, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 1 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--disable-data-encryption", + description: "Disable data encryption by removing key(s)", + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--geo-redundant-backup", + description: "Whether or not geo redundant backup is enabled", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--high-availability", + description: + "Enable (ZoneRedundant or SameZone) or disable high availability feature", + args: { + name: "high-availability", + suggestions: ["Disabled", "SameZone", "ZoneRedundant"], + }, + }, + { + name: "--identity", + description: + "The name or resource ID of the user assigned identity for data encryption", + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--iops", + description: + "Number of IOPS to be allocated for this server. You will get certain amount of free IOPS based on compute and storage provisioned. The default value for IOPS is free IOPS. To learn more about IOPS based on compute and storage, refer to IOPS in Azure Database for MySQL Flexible Server", + args: { name: "iops" }, + }, + { + name: "--key", + description: + "The resource ID of the primary keyvault key for data encryption", + args: { name: "key" }, + }, + { + name: "--maintenance-window", + description: + 'Period of time (UTC) designated for maintenance. Examples: "Sun:23:30" to schedule on Sunday, 11:30pm UTC. To set back to default pass in "Disabled"', + args: { name: "maintenance-window" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--public-access", + description: "Enable or disable the public access on a server", + args: { + name: "public-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--replication-role", + description: "The replication role of the server", + args: { name: "replication-role" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku-name", + description: + "The name of the compute SKU. Follows the convention Standard_{VM name}. Examples: Standard_B1ms", + args: { name: "sku-name" }, + }, + { + name: "--standby-zone", + description: + "The availability zone information of the standby server when high availability is enabled", + args: { name: "standby-zone" }, + }, + { + name: "--storage-auto-grow", + description: + "Enable or disable autogrow of the storage. Default value is Enabled", + args: { + name: "storage-auto-grow", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: + "The storage capacity of the server. Minimum is 32 GiB and max is 16 TiB", + args: { name: "storage-size" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "Compute tier of the server. Accepted values: Burstable, GeneralPurpose, MemoryOptimized", + args: { name: "tier" }, + }, + ], + }, + { + name: "upgrade", + description: "Upgrade the major version of a flexible server", + options: [ + { + name: ["--version", "-v"], + description: "Server major version", + args: { name: "version", suggestions: ["8"] }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "wait", + description: + "Wait for the flexible server to satisfy certain conditions", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "ad-admin", + description: "Manage server Active Directory administrator", + subcommands: [ + { + name: "create", + description: "Create an Active Directory administrator", + options: [ + { + name: ["--display-name", "-u"], + description: + "Display name of the Azure AD administrator user or group", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--identity", + description: + "Name or ID of identity used for AAD Authentication", + args: { name: "identity" }, + isRequired: true, + }, + { + name: ["--object-id", "-i"], + description: "The unique ID of the Azure AD administrator", + args: { name: "object-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete an Active Directory administrator", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all Active Directory administrators", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get an Active Directory administrator", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Wait for the Active Directory administrator to satisfy certain conditions", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "backup", + description: "Manage flexible server backups", + subcommands: [ + { + name: "create", + description: + "Create a backup for a given server with specified backup name", + options: [ + { + name: ["--backup-name", "-b"], + description: "The name of the new backup", + args: { name: "backup-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all the backups for a given server", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a specific backup for a given server", + options: [ + { + name: ["--backup-name", "-b"], + description: "The name of the backup", + args: { name: "backup-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "db", + description: "Manage MySQL databases on a flexible server", + subcommands: [ + { + name: "create", + description: "Create a MySQL database on a flexible server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--charset", + description: + "The charset of the database. The default value is UTF8", + args: { name: "charset" }, + }, + { + name: "--collation", + description: "The collation of the database", + args: { name: "collation" }, + }, + { + name: ["--database-name", "-d"], + description: + "The name of the database to be created when provisioning the database server", + args: { name: "database-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a database on a flexible server", + options: [ + { + name: ["--database-name", "-d"], + description: + "The name of the database to be created when provisioning the database server", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the databases for a flexible server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of a database", + options: [ + { + name: ["--database-name", "-d"], + description: + "The name of the database to be created when provisioning the database server", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "deploy", + description: + "Enable and run GitHub Actions workflow for MySQL server", + subcommands: [ + { + name: "run", + description: "Run an existing workflow in your github repository", + options: [ + { + name: "--action-name", + description: "The name of the github action", + args: { name: "action-name" }, + isRequired: true, + }, + { + name: "--branch", + description: + "The name of the branch you want upload github action file. The default will be your current branch", + args: { name: "branch" }, + isRequired: true, + }, + ], + }, + { + name: "setup", + description: + "Create GitHub Actions workflow file for MySQL server", + options: [ + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + isRequired: true, + }, + { + name: ["--admin-user", "-u"], + description: + "Administrator username for the server. Once set, it cannot be changed", + args: { name: "admin-user" }, + isRequired: true, + }, + { + name: "--repo", + description: + "The name of your github username and repository e.g., Azure/azure-cli", + args: { name: "repo" }, + isRequired: true, + }, + { + name: "--sql-file", + description: + "The path of the sql file. The sql file should be already in the repository", + args: { name: "sql-file" }, + isRequired: true, + }, + { + name: "--action-name", + description: "The name of the github action", + args: { name: "action-name" }, + }, + { + name: "--allow-push", + description: + "Push the action yml file to the remote repository. The changes will be pushed to origin repository, speicified branch or current branch if not specified", + }, + { + name: "--branch", + description: + "The name of the branch you want upload github action file. The default will be your current branch", + args: { name: "branch" }, + }, + { + name: ["--database-name", "-d"], + description: + "The name of the database to be created when provisioning the database server", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "export", + description: "Manage export backup on a server", + subcommands: [ + { + name: "create", + description: + "Create an export backup for a given server with specified backup name", + options: [ + { + name: ["--backup-name", "-b"], + description: "The name of the new export backup", + args: { name: "backup-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--sas-uri", "-u"], + description: "SAS URI for destination container", + args: { name: "sas-uri" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "firewall-rule", + description: "Manage firewall rules for a server", + subcommands: [ + { + name: "create", + description: "Create a new firewall rule for a flexible server", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--end-ip-address", + description: + "The end IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "end-ip-address" }, + }, + { + name: ["--rule-name", "-r"], + description: + "The name of the firewall rule. If name is omitted, default name will be chosen for firewall name. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "rule-name" }, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "start-ip-address" }, + }, + ], + }, + { + name: "delete", + description: "Delete a firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rule-name", "-r"], + description: + "The name of the firewall rule. If name is omitted, default name will be chosen for firewall name. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all firewall rules for a flexible server", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rule-name", "-r"], + description: + "The name of the firewall rule. If name is omitted, default name will be chosen for firewall name. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a firewall rule", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--end-ip-address", + description: + "The end IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "end-ip-address" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rule-name", "-r"], + description: + "The name of the firewall rule. If name is omitted, default name will be chosen for firewall name. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "rule-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "start-ip-address" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "gtid", + description: "Manage GTID on a server", + subcommands: [ + { + name: "reset", + description: "Resets GTID on a server", + options: [ + { + name: "--gtid-set", + description: + "A GTID set is a set comprising one or more single GTIDs or ranges of GTIDs. A GTID is represented as a pair of coordinates, separated by a colon character (:), as shown: source_id:transaction_id", + args: { name: "gtid-set" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage server user assigned identities", + subcommands: [ + { + name: "assign", + description: "Add user asigned managed identities to the server", + options: [ + { + name: ["--identity", "-n"], + description: "Space-separated names or ID's of identities", + args: { name: "identity" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: + "List all user assigned managed identities from the server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove user asigned managed identites from the server", + options: [ + { + name: ["--identity", "-n"], + description: "Space-separated names or ID's of identities", + args: { name: "identity" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Get an user assigned managed identity from the server", + options: [ + { + name: ["--identity", "-n"], + description: "Name or ID of identity to show", + args: { name: "identity" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "import", + description: "Manage import workflows for MySQL Flexible Servers", + subcommands: [ + { + name: "create", + description: "Create a new import workflow for flexible server", + options: [ + { + name: "--data-source", + description: + "Data source for importing to Flexible Server. Based on the data source type provide the data source as mentioned below. e.g., mysql_single: The name or resource ID of the Azure MySQL single server", + args: { name: "data-source" }, + isRequired: true, + }, + { + name: "--data-source-type", + description: + "Data source type. e.g., mysql_single: Azure Database for MySQL Servers", + args: { + name: "data-source-type", + suggestions: ["mysql_single"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address-prefixes", + description: + "The IP address prefix to use when creating a new virtual network in CIDR format. Default value is 10.0.0.0/16", + args: { name: "address-prefixes" }, + }, + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: + "Administrator username for the server. Once set, it cannot be changed", + args: { name: "admin-user" }, + }, + { + name: "--auto-scale-iops", + description: + "Enable or disable the auto scale iops. Default value is Disabled", + args: { + name: "auto-scale-iops", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--backup-identity", + description: + "The name or resource ID of the geo backup user identity for data encryption. The identity needs to be in the same region as the backup region", + args: { name: "backup-identity" }, + }, + { + name: "--backup-key", + description: + "The resource ID of the geo backup keyvault key for data encryption. The key needs to be in the same region as the backup region", + args: { name: "backup-key" }, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 1 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--geo-redundant-backup", + description: "Whether or not geo redundant backup is enabled", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--high-availability", + description: + "Enable (ZoneRedundant or SameZone) or disable high availability feature", + args: { + name: "high-availability", + suggestions: ["Disabled", "SameZone", "ZoneRedundant"], + }, + }, + { + name: "--identity", + description: + "The name or resource ID of the user assigned identity for data encryption", + args: { name: "identity" }, + }, + { + name: "--iops", + description: + "Number of IOPS to be allocated for this server. You will get certain amount of free IOPS based on compute and storage provisioned. The default value for IOPS is free IOPS. To learn more about IOPS based on compute and storage, refer to IOPS in Azure Database for MySQL Flexible Server", + args: { name: "iops" }, + }, + { + name: "--key", + description: + "The resource ID of the primary keyvault key for data encryption", + args: { name: "key" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mode", + description: + "Mode of import. Enum values: [Offline]. Default is Offline", + args: { name: "mode", suggestions: ["Offline"] }, + }, + { + name: "--private-dns-zone", + description: + "This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. The name or id of new or existing private dns zone. You can use the private dns zone from same resource group, different resource group, or different subscription. If you want to use a zone from different resource group or subscription, please provide resource Id. CLI creates a new private dns zone within the same resource group as virtual network if not provided by users", + args: { name: "private-dns-zone" }, + }, + { + name: "--public-access", + description: + 'Determines the public access. Enter single or range of IP addresses to be included in the allowed list of IPs. IP address ranges must be dash-separated and not contain any spaces. Specifying 0.0.0.0 allows public access from any resources deployed within Azure to access your server. Setting it to "None" sets the server in public access mode but does not create a firewall rule', + args: { name: "public-access" }, + }, + { + name: "--sku-name", + description: + "The name of the compute SKU. Follows the convention Standard_{VM name}. Examples: Standard_B1ms", + args: { name: "sku-name" }, + }, + { + name: "--standby-zone", + description: + "The availability zone information of the standby server when high availability is enabled", + args: { name: "standby-zone" }, + }, + { + name: "--storage-auto-grow", + description: + "Enable or disable autogrow of the storage. Default value is Enabled", + args: { + name: "storage-auto-grow", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: + "The storage capacity of the server. Minimum is 32 GiB and max is 16 TiB", + args: { name: "storage-size" }, + }, + { + name: "--subnet", + description: + "Name or resource ID of a new or existing subnet. This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. If you want to use a subnet from different resource group or subscription, please provide resource ID instead of name. Please note that the subnet will be delegated to flexibleServers. After delegation, this subnet cannot be used for any other type of Azure resources", + args: { name: "subnet" }, + }, + { + name: "--subnet-prefixes", + description: + "The subnet IP address prefix to use when creating a new subnet in CIDR format. Default value is 10.0.0.0/24", + args: { name: "subnet-prefixes" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "Compute tier of the server. Accepted values: Burstable, GeneralPurpose, MemoryOptimized", + args: { name: "tier" }, + }, + { + name: "--version", + description: "Server major version", + args: { name: "version" }, + }, + { + name: "--vnet", + description: + "Name or ID of a new or existing virtual network. This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. If you want to use a vnet from different resource group or subscription, please provide a resource ID. The name must be between 2 to 64 characters. The name must begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens", + args: { name: "vnet" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone", "-z"], + description: + "Availability zone into which to provision the resource", + args: { name: "zone" }, + }, + ], + }, + ], + }, + { + name: "parameter", + description: + "Commands for managing server parameter values for flexible server", + subcommands: [ + { + name: "list", + description: "List the parameter values for a flexible server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--keyword", + description: + "The keyword of the server configuration. Default value is None", + args: { name: "keyword" }, + }, + { + name: "--page", + description: + "The page of the server configuration. Default value is None", + args: { name: "page" }, + }, + { + name: "--page-size", + description: + "The pageSize of the server configuration. Default value is None", + args: { name: "page-size" }, + }, + { + name: "--tags", + description: + "The tags of the server configuration. Default value is None", + args: { name: "tags" }, + }, + ], + }, + { + name: "set", + description: "Update the parameter of a flexible server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the server configuration", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--source", + description: "Source of the configuration", + args: { name: "source" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--value", "-v"], + description: "Value of the configuration", + args: { name: "value" }, + }, + ], + }, + { + name: "set-batch", + description: "Batch update parameters of a flexible server", + options: [ + { + name: "--args", + description: "List of the configuration key-value pair", + args: { name: "args" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--source", + description: "Source of the configuration", + args: { name: "source" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: 'Get the parameter for a flexible server."', + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the server configuration", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "replica", + description: "Manage read replicas", + subcommands: [ + { + name: "create", + description: "Create a read replica for a server", + options: [ + { + name: "--replica-name", + description: "The name of the server to restore to", + args: { name: "replica-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--source-server", + description: + "The name or resource ID of the source server to restore from", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 1 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--geo-redundant-backup", + description: "Whether or not geo redundant backup is enabled", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--iops", + description: + "Number of IOPS to be allocated for this server. You will get certain amount of free IOPS based on compute and storage provisioned. The default value for IOPS is free IOPS. To learn more about IOPS based on compute and storage, refer to IOPS in Azure Database for MySQL Flexible Server", + args: { name: "iops" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-dns-zone", + description: + "This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. The name or id of new or existing private dns zone. You can use the private dns zone from same resource group, different resource group, or different subscription. If you want to use a zone from different resource group or subscription, please provide resource Id. CLI creates a new private dns zone within the same resource group as virtual network if not provided by users", + args: { name: "private-dns-zone" }, + }, + { + name: "--public-access", + description: "Determines the public access", + args: { + name: "public-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--sku-name", + description: + "The name of the compute SKU. Follows the convention Standard_{VM name}. Examples: Standard_B1ms", + args: { name: "sku-name" }, + }, + { + name: "--storage-size", + description: + "The storage capacity of the server. Minimum is 32 GiB and max is 16 TiB", + args: { name: "storage-size" }, + }, + { + name: "--subnet", + description: + "Name or resource ID of a new or existing subnet. This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. If you want to use a subnet from different resource group or subscription, please provide resource ID instead of name. Please note that the subnet will be delegated to flexibleServers. After delegation, this subnet cannot be used for any other type of Azure resources", + args: { name: "subnet" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "Compute tier of the server. Accepted values: Burstable, GeneralPurpose, MemoryOptimized", + args: { name: "tier" }, + }, + { + name: "--vnet", + description: + "Name or ID of a new or existing virtual network. This parameter only applies if you are creating cross region replica server with private access. For in-region read replica with private access, source server settings are carried over and this parameter is ignored. If you want to use a vnet from different resource group or subscription, please provide a resource ID. The name must be between 2 to 64 characters. The name must begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens", + args: { name: "vnet" }, + }, + { + name: ["--zone", "-z"], + description: + "Availability zone into which to provision the resource", + args: { name: "zone" }, + }, + ], + }, + { + name: "list", + description: "List all read replicas for a given server", + options: [ + { + name: ["--name", "-n"], + description: "Name of the source server", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "stop-replication", + description: + "Stop replication to a read replica and make it a read/write server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "server-logs", + description: "Manage server logs", + subcommands: [ + { + name: "download", + description: "Download log files", + options: [ + { + name: ["--name", "-n"], + description: + "Space-separated list of log filenames on the server to download", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List log files for a server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--file-last-written", + description: + "Integer in hours to indicate file last modify time", + args: { name: "file-last-written" }, + }, + { + name: "--filename-contains", + description: "The pattern that file name should match", + args: { name: "filename-contains" }, + }, + { + name: "--max-file-size", + description: "The file size limitation to filter files", + args: { name: "max-file-size" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "server", + description: "Manage MySQL servers", + subcommands: [ + { + name: "create", + description: "Create a server", + options: [ + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: + "Administrator username for the server. Once set, it cannot be changed", + args: { name: "admin-user" }, + }, + { + name: "--assign-identity", + description: + "Generate and assign an Azure Active Directory Identity for this server for use with key management services like Azure KeyVault", + }, + { + name: "--auto-grow", + description: + "Enable or disable autogrow of the storage. Default value is Enabled", + args: { name: "auto-grow", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 7 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--geo-redundant-backup", + description: + "Enable or disable geo-redundant backups. Default value is Disabled. Not supported in Basic pricing tier", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--infrastructure-encryption", "-i"], + description: + "Add an optional second layer of encryption for data using new encryption algorithm. Default value is Disabled", + args: { + name: "infrastructure-encryption", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--minimal-tls-version", + description: + "Set the minimal TLS version for connections to server when SSL is enabled. Default is TLSEnforcementDisabled", + args: { + name: "minimal-tls-version", + suggestions: [ + "TLS1_0", + "TLS1_1", + "TLS1_2", + "TLSEnforcementDisabled", + ], + }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--public-network-access", "--public"], + description: + "Enable or disable public network access to server. When disabled, only connections made through Private Links can reach this server. Allowed values are : Enabled, Disabled, all, 0.0.0.0, , . Default is Enabled", + args: { name: "public-network-access" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku-name", + description: + "The name of the sku. Follows the convention {pricing tier}{compute generation}{vCores} in shorthand. Examples: B_Gen5_1, GP_Gen5_4, MO_Gen5_16", + args: { name: "sku-name" }, + }, + { + name: "--ssl-enforcement", + description: + "Enable or disable ssl enforcement for connections to server. Default is Enabled", + args: { + name: "ssl-enforcement", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: + "The storage capacity of the server (unit is megabytes). Minimum 5120 and increases in 1024 increments. Default is 5120", + args: { name: "storage-size" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--version", + description: "Server major version", + args: { name: "version" }, + }, + ], + }, + { + name: "delete", + description: "Delete a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "georestore", + description: "Geo-restore a server from backup", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--source-server", "-s"], + description: + "The name or ID of the source server to restore from", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 7 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--geo-redundant-backup", + description: + "Enable or disable geo-redundant backups. Default value is Disabled. Not supported in Basic pricing tier", + args: { name: "geo-redundant-backup" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku-name", + description: + "The name of the sku. Defaults to sku of the source server. Follows the convention {pricing tier}{compute generation}{vCores} in shorthand. Examples: B_Gen5_1, GP_Gen5_4, MO_Gen5_16", + args: { name: "sku-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List available servers", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-skus", + description: "List available sku's in the given region", + options: [ + { + name: ["--location", "-l"], + description: "The name of the location. Required", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "restart", + description: "Restart a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restore", + description: "Restore a server from backup", + options: [ + { + name: ["--restore-point-in-time", "--pitr-time"], + description: + "The point in time in UTC to restore from (ISO8601 format), e.g., 2017-04-26T02:10:00+08:00", + args: { name: "restore-point-in-time" }, + isRequired: true, + }, + { + name: ["--source-server", "-s"], + description: + "The name or resource ID of the source server to restore from", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-connection-string", + description: + "Show the connection strings for a MySQL server database", + options: [ + { + name: ["--admin-password", "-p"], + description: "The login password of the administrator", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: "The login username of the administrator", + args: { name: "admin-user" }, + }, + { + name: ["--database-name", "-d"], + description: "The name of a database", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a stopped server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop a running server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a server", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: "--assign-identity", + description: + "Generate and assign an Azure Active Directory Identity for this server for use with key management services like Azure KeyVault", + }, + { + name: "--auto-grow", + description: + "Enable or disable autogrow of the storage. Default value is Enabled", + args: { name: "auto-grow", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 7 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--minimal-tls-version", + description: + "Set the minimal TLS version for connections to server when SSL is enabled. Default is TLSEnforcementDisabled", + args: { + name: "minimal-tls-version", + suggestions: [ + "TLS1_0", + "TLS1_1", + "TLS1_2", + "TLSEnforcementDisabled", + ], + }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--public-network-access", "--public"], + description: + "Enable or disable public network access to server. When disabled, only connections made through Private Links can reach this server. Allowed values are : Enabled, Disabled, all, 0.0.0.0, , . Default is Enabled", + args: { name: "public-network-access" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku-name", + description: + "The name of the sku. Follows the convention {pricing tier}{compute generation}{vCores} in shorthand. Examples: B_Gen5_1, GP_Gen5_4, MO_Gen5_16", + args: { name: "sku-name" }, + }, + { + name: "--ssl-enforcement", + description: + "Enable or disable ssl enforcement for connections to server. Default is Enabled", + args: { + name: "ssl-enforcement", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: + "The storage capacity of the server (unit is megabytes). Minimum 5120 and increases in 1024 increments. Default is 5120", + args: { name: "storage-size" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "upgrade", + description: + "Upgrade mysql server to a higher version, like 5.6 to 5.7", + options: [ + { + name: ["--target-server-version", "-t"], + description: + "The server version you want to upgrade your mysql server to, currently only support 5.7", + args: { name: "target-server-version" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: "Wait for server to satisfy certain conditions", + options: [ + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + ], + }, + { + name: "ad-admin", + description: "Manage a MySQL server's Active Directory administrator", + subcommands: [ + { + name: "create", + description: + "Create an Active Directory administrator for MySQL server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: ["--display-name", "-u"], + description: + "Display name of the Azure AD administrator user or group", + args: { name: "display-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--object-id", "-i"], + description: "The unique ID of the Azure AD administrator", + args: { name: "object-id" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an Active Directory Administrator for MySQL server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all Active Directory Administrators for MySQL server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get Active Directory Administrator information for a MySQL server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the MySQL server Active Directory Administrator is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "configuration", + description: "Manage configuration values for a server", + subcommands: [ + { + name: "list", + description: "List the configuration values for a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set", + description: "Update the configuration of a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the configuration", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--value", + description: + "Value of the configuration. If not provided, configuration value will be set to default", + args: { name: "value" }, + }, + ], + }, + { + name: "show", + description: 'Get the configuration for a server."', + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the server configuration. Required", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "firewall-rule", + description: "Manage firewall rules for a server", + subcommands: [ + { + name: "create", + description: "Create a new firewall rule for a server", + options: [ + { + name: "--end-ip-address", + description: + "The end IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "end-ip-address" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the firewall rule. The firewall rule name cannot be empty. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "start-ip-address" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the firewall rule. The firewall rule name cannot be empty. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all firewall rules for a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the firewall rule. The firewall rule name cannot be empty. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a firewall rule", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--end-ip-address", + description: + "The end IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "end-ip-address" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the firewall rule. The firewall rule name cannot be empty. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "start-ip-address" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "key", + description: "Manage MySQL server keys", + subcommands: [ + { + name: "create", + description: "Create server key", + options: [ + { + name: ["--kid", "-k"], + description: + 'The Azure Key Vault key identifier of the server key. An example key identifier is "https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"', + args: { name: "kid" }, + isRequired: true, + }, + { + name: ["--name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete server key", + options: [ + { + name: ["--kid", "-k"], + description: + 'The Azure Key Vault key identifier of the server key. An example key identifier is "https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"', + args: { name: "kid" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Gets a list of Server keys", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show server key", + options: [ + { + name: ["--kid", "-k"], + description: + 'The Azure Key Vault key identifier of the server key. An example key identifier is "https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"', + args: { name: "kid" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: "Manage MySQL server private endpoint connections", + subcommands: [ + { + name: "approve", + description: + "Approve the specified private endpoint connection associated with a MySQL server", + options: [ + { + name: "--description", + description: "Comments for approve operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Server. If specified --server-name/-s and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Server. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name of specified server", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the Server. Required if --id is not specified", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the specified private endpoint connection associated with a MySQL server", + options: [ + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Server. If specified --server-name/-s and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Server. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name of specified server", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the Server. Required if --id is not specified", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reject", + description: + "Reject the specified private endpoint connection associated with a MySQL server", + options: [ + { + name: "--description", + description: "Comments for reject operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Server. If specified --server-name/-s and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Server. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name of specified server", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the Server. Required if --id is not specified", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a private endpoint connection associated with a MySQL server", + options: [ + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Server. If specified --server-name/-s and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Server. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name of specified server", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the Server. Required if --id is not specified", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage MySQL server private link resources", + subcommands: [ + { + name: "list", + description: + "List the private link resources supported for a MySQL server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the Server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "replica", + description: "Manage read replicas", + subcommands: [ + { + name: "create", + description: "Create a read replica for a server", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--source-server", "-s"], + description: + "The name or resource ID of the master server to the create replica for", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. If not provided, the create replica will be in the same location as the master server", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--sku-name", + description: + "The name of the sku. Follows the convention {pricing tier}{compute generation}{vCores} in shorthand. Examples: B_Gen5_1, GP_Gen5_4, MO_Gen5_16", + args: { name: "sku-name" }, + }, + ], + }, + { + name: "list", + description: "List all read replicas for a given server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the master server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: + "Stop replication to a read replica and make it a read/write server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "vnet-rule", + description: "Manage a server's virtual network rules", + subcommands: [ + { + name: "create", + description: + "Create a virtual network rule to allows access to a MySQL server", + options: [ + { + name: ["--name", "-n"], + description: "The name of the vnet rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "Name or ID of the subnet that allows access to an Azure Postgres Server. If subnet name is provided, --vnet-name must be provided", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: ["--ignore-missing-endpoint", "-i"], + description: + "Create vnet rule before virtual network has vnet service endpoint enabled", + args: { + name: "ignore-missing-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vnet-name", + description: "The virtual network name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes the virtual network rule with the given name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the vnet rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Gets a list of virtual network rules in a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Gets a virtual network rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the vnet rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a virtual network rule", + options: [ + { + name: "--subnet", + description: + "Name or ID of the subnet that allows access to an Azure Postgres Server. If subnet name is provided, --vnet-name must be provided", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--ignore-missing-endpoint", "-i"], + description: + "Create vnet rule before virtual network has vnet service endpoint enabled", + args: { + name: "ignore-missing-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--name", "-n"], + description: "The name of the vnet rule", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "The virtual network name", + args: { name: "vnet-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "server-logs", + description: "Manage server logs", + subcommands: [ + { + name: "download", + description: "Download log files", + options: [ + { + name: ["--name", "-n"], + description: + "Space-separated list of log filenames on the server to download", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List log files for a server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: "Name of the Server", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--file-last-written", + description: + "Integer in hours to indicate file last modify time, default value is 72", + args: { name: "file-last-written" }, + }, + { + name: "--filename-contains", + description: "The pattern that file name should match", + args: { name: "filename-contains" }, + }, + { + name: "--max-file-size", + description: "The file size limitation to filter files", + args: { name: "max-file-size" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/netappfiles.ts b/src/az/2.53.0/netappfiles.ts new file mode 100644 index 000000000000..54bed29cbcba --- /dev/null +++ b/src/az/2.53.0/netappfiles.ts @@ -0,0 +1,6838 @@ +const completion: Fig.Spec = { + name: "netappfiles", + description: "Manage Azure NetApp Files (ANF) Resources", + subcommands: [ + { + name: "account", + description: "Manage Azure NetApp Files (ANF) Account Resources", + subcommands: [ + { + name: "create", + description: + "Create a new Azure NetApp Files (ANF) account. Note that active directories are added using the subgroup commands", + options: [ + { + name: ["--account-name", "--name", "-a", "-n"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--encryption", + description: + "Argument 'encryption' has been deprecated and will be removed in a future release. Use '--key-source' instead. This argument will be deprecated, please use --key-source instead", + args: { name: "encryption" }, + }, + { + name: "--identity-type", + description: "The identity type", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--key-name", + description: "The name of KeyVault key", + args: { name: "key-name" }, + }, + { + name: "--key-source", + description: "The encryption keySource (provider)", + args: { + name: "key-source", + suggestions: ["Microsoft.KeyVault", "Microsoft.NetApp"], + }, + }, + { + name: ["--key-vault-uri", "-v"], + description: "The Uri of KeyVault", + args: { name: "key-vault-uri" }, + }, + { + name: "--keyvault-resource-id", + description: "The resource ID of KeyVault", + args: { name: "keyvault-resource-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: "Space-separated tags in key[=value] format", + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identity", "-u"], + description: + "The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has UserAssigned. It should match key of identity.userAssignedIdentities", + args: { name: "user-assigned-identity" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified ANF account", + options: [ + { + name: ["--account-name", "--name", "-a", "-n"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List ANF accounts by subscription or by resource group name", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "renew-credentials", + description: + "Renew identity credentials that are used to authenticate to key vault, for customer-managed key encryption. If encryption.identity.principalId does not match identity.principalId, running this operation will fix it", + options: [ + { + name: ["--account-name", "--name", "-a", "-n"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the specified ANF account", + options: [ + { + name: ["--account-name", "--name", "-a", "-n"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Set/modify the tags for a specified ANF account", + options: [ + { + name: ["--account-name", "--name", "-a", "-n"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--encryption", + description: + "Argument 'encryption' has been deprecated and will be removed in a future release. Use '--key-source' instead. Encryption settings", + args: { name: "encryption" }, + }, + { + name: "--identity-type", + description: "The identity type", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-name", + description: "The name of KeyVault key", + args: { name: "key-name" }, + }, + { + name: "--key-source", + description: "The encryption keySource (provider)", + args: { + name: "key-source", + suggestions: ["Microsoft.KeyVault", "Microsoft.NetApp"], + }, + }, + { + name: ["--key-vault-uri", "-v"], + description: "The Uri of KeyVault", + args: { name: "key-vault-uri" }, + }, + { + name: "--keyvault-resource-id", + description: "The resource ID of KeyVault", + args: { name: "keyvault-resource-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: "Space-separated tags in key[=value] format", + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identity", "-u"], + description: + "The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has UserAssigned. It should match key of identity.userAssignedIdentities", + args: { name: "user-assigned-identity" }, + }, + ], + }, + { + name: "wait", + description: "Wait for a account operation", + options: [ + { + name: ["--account-name", "--name", "-a", "-n"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "ad", + description: + "Manage Azure NetApp Files (ANF) Account active directories", + subcommands: [ + { + name: "add", + description: "Add an active directory to the account", + options: [ + { + name: "--dns", + description: + "Comma separated list of DNS server IP addresses for the Active Directory domain", + args: { name: "dns" }, + isRequired: true, + }, + { + name: "--domain", + description: "Name of the Active Directory domain", + args: { name: "domain" }, + isRequired: true, + }, + { + name: "--password", + description: + "Plain text password of Active Directory domain administrator", + args: { name: "password" }, + isRequired: true, + }, + { + name: "--smb-server-name", + description: + "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes. Must be 10 characters or less", + args: { name: "smb-server-name" }, + isRequired: true, + }, + { + name: "--username", + description: + "Username of Active Directory domain administrator", + args: { name: "username" }, + isRequired: true, + }, + { + name: ["--account-name", "--name", "-a", "-n"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ad-name", + description: + "Name of the active directory machine. This optional parameter is used only while creating kerberos volume", + args: { name: "ad-name" }, + }, + { + name: "--administrators", + description: + "Users to be added to the Built-in Administrators active directory group. A space separated string of unique usernames without domain specifier", + args: { name: "administrators" }, + }, + { + name: "--aes-encryption", + description: + "If enabled, AES encryption will be enabled for SMB communication", + args: { + name: "aes-encryption", + suggestions: ["false", "true"], + }, + }, + { + name: "--allow-local-ldap-users", + description: + "If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes", + args: { + name: "allow-local-ldap-users", + suggestions: ["false", "true"], + }, + }, + { + name: "--backup-operators", + description: + "Users to be added to the Built-in Backup Operator active directory group. A space separated string of unique usernames without domain specifier", + args: { name: "backup-operators" }, + }, + { + name: "--encrypt-dc-conn", + description: + "If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted", + args: { + name: "encrypt-dc-conn", + suggestions: ["false", "true"], + }, + }, + { + name: "--group-dn", + description: + "This specifies the group DN, which overrides the base DN for group lookups", + args: { name: "group-dn" }, + }, + { + name: "--group-filter", + description: + "This specifies the custom LDAP search filter to be used when looking up group membership from LDAP server", + args: { name: "group-filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kdc-ip", + description: + "Kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume", + args: { name: "kdc-ip" }, + }, + { + name: "--ldap-over-tls", + description: + "Specifies whether or not the LDAP traffic needs to be secured via TLS", + args: { name: "ldap-over-tls" }, + }, + { + name: "--ldap-signing", + description: + "Specifies whether or not the LDAP traffic needs to be signed", + args: { + name: "ldap-signing", + suggestions: ["false", "true"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--organizational-unit", + description: + "The Organizational Unit (OU) within the Windows Active Directory", + args: { name: "organizational-unit" }, + }, + { + name: ["--preferred-servers-for-ldap-client", "-p"], + description: + "Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed", + args: { name: "preferred-servers-for-ldap-client" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--security-operators", + description: + "Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A space separated list of unique usernames without domain specifier", + args: { name: "security-operators" }, + }, + { + name: "--server-root-ca-cert", + description: + "When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes", + args: { name: "server-root-ca-cert" }, + }, + { + name: "--site", + description: + "The Active Directory site the service will limit Domain Controller discovery to", + args: { name: "site" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--user-dn", + description: + "This specifies the user DN, which overrides the base DN for user lookups", + args: { name: "user-dn" }, + }, + ], + }, + { + name: "list", + description: "List the active directories of an account", + options: [ + { + name: ["--account-name", "--name", "-a", "-n"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove an active directory from the account", + options: [ + { + name: "--active-directory", + description: "The id of the active directory", + args: { name: "active-directory" }, + isRequired: true, + }, + { + name: ["--account-name", "--name", "-a", "-n"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates an active directory to the account", + options: [ + { + name: "--active-directory-id", + description: "The id of the Active Directory", + args: { name: "active-directory-id" }, + isRequired: true, + }, + { + name: "--dns", + description: + "Comma separated list of DNS server IP addresses for the Active Directory domain", + args: { name: "dns" }, + isRequired: true, + }, + { + name: "--domain", + description: "Name of the Active Directory domain", + args: { name: "domain" }, + isRequired: true, + }, + { + name: "--password", + description: + "Plain text password of Active Directory domain administrator", + args: { name: "password" }, + isRequired: true, + }, + { + name: "--smb-server-name", + description: + "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes. Must be 10 characters or less", + args: { name: "smb-server-name" }, + isRequired: true, + }, + { + name: "--username", + description: + "Username of Active Directory domain administrator", + args: { name: "username" }, + isRequired: true, + }, + { + name: ["--account-name", "--name", "-a", "-n"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ad-name", + description: + "Name of the active directory machine. This optional parameter is used only while creating kerberos volume", + args: { name: "ad-name" }, + }, + { + name: "--administrators", + description: + "Users to be added to the Built-in Administrators active directory group. A space separated list of unique usernames without domain specifier", + args: { name: "administrators" }, + }, + { + name: "--aes-encryption", + description: + "If enabled, AES encryption will be enabled for SMB communication", + args: { + name: "aes-encryption", + suggestions: ["false", "true"], + }, + }, + { + name: "--allow-local-ldap-users", + description: + "If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes", + args: { + name: "allow-local-ldap-users", + suggestions: ["false", "true"], + }, + }, + { + name: "--backup-operators", + description: + "Users to be added to the Built-in Backup Operator active directory group. A space separated list of unique usernames without domain specifier", + args: { name: "backup-operators" }, + }, + { + name: "--encrypt-dc-conn", + description: + "If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted", + args: { + name: "encrypt-dc-conn", + suggestions: ["false", "true"], + }, + }, + { + name: "--group-dn", + description: + "This specifies the group DN, which overrides the base DN for group lookups", + args: { name: "group-dn" }, + }, + { + name: "--group-filter", + description: + "This specifies the custom LDAP search filter to be used when looking up group membership from LDAP server", + args: { name: "group-filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kdc-ip", + description: + "Kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume", + args: { name: "kdc-ip" }, + }, + { + name: "--ldap-over-tls", + description: + "Specifies whether or not the LDAP traffic needs to be secured via TLS", + args: { name: "ldap-over-tls" }, + }, + { + name: "--ldap-signing", + description: + "Specifies whether or not the LDAP traffic needs to be signed", + args: { + name: "ldap-signing", + suggestions: ["false", "true"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--organizational-unit", + description: + "The Organizational Unit (OU) within the Windows Active Directory", + args: { name: "organizational-unit" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--security-operators", + description: + "Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A space separated list of unique usernames without domain specifier", + args: { name: "security-operators" }, + }, + { + name: "--server-root-ca-cert", + description: + "When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes", + args: { name: "server-root-ca-cert" }, + }, + { + name: "--site", + description: + "The Active Directory site the service will limit Domain Controller discovery to", + args: { name: "site" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--user-dn", + description: + "This specifies the user DN, which overrides the base DN for user lookups", + args: { name: "user-dn" }, + }, + ], + }, + { + name: "wait", + description: "Wait for a account ad operation", + options: [ + { + name: ["--account-name", "--name", "-a", "-n"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "backup", + description: + "Manage Azure NetApp Files (ANF) Account Backup Resources", + subcommands: [ + { + name: "delete", + description: "Delete Backup for a Netapp Files (ANF) Account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--backup-name", + description: "The name of the backup", + args: { name: "backup-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Get list of all Azure NetApp Files (ANF) Account Backups", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get Backup for a Netapp Files (ANF) Account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--backup-name", + description: "The name of the backup", + args: { name: "backup-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: "Wait for a account backup operation", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--backup-name", + description: "The name of the backup. Required", + args: { name: "backup-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "backup-policy", + description: + "Manage Azure NetApp Files (ANF) Backup Policy Resources", + subcommands: [ + { + name: "create", + description: + "Create a new Azure NetApp Files (ANF) backup policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--backup-policy-name", "-b"], + description: "The name of the ANF backup policy", + args: { name: "backup-policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--daily-backups", "-d"], + description: "Daily backups count to keep", + args: { name: "daily-backups" }, + }, + { + name: ["--enabled", "-e"], + description: + "The property to decide policy is enabled or not", + }, + { + name: ["--location", "-l"], + description: "The location of the backup", + args: { name: "location" }, + }, + { + name: ["--monthly-backups", "-m"], + description: "Monthly backups count to keep", + args: { name: "monthly-backups" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: "Space-separated tags in key[=value] format", + args: { name: "tags" }, + }, + { + name: ["--weekly-backups", "-w"], + description: "Weekly backups count to keep", + args: { name: "weekly-backups" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified ANF backup policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: ["--backup-policy-name", "-b"], + description: "The name of the ANF backup policy", + args: { name: "backup-policy-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List the ANF backup policy for the specified account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the specified ANF backup policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: ["--backup-policy-name", "-b"], + description: "The name of the ANF backup policy", + args: { name: "backup-policy-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the specified ANF backup policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--backup-policy-name", "-b"], + description: "The name of the ANF backup policy", + args: { name: "backup-policy-name" }, + }, + { + name: ["--daily-backups", "-d"], + description: "Daily backups count to keep", + args: { name: "daily-backups" }, + }, + { + name: ["--enabled", "-e"], + description: + "The property to decide policy is enabled or not", + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--monthly-backups", "-m"], + description: "Monthly backups count to keep", + args: { name: "monthly-backups" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--weekly-backups", "-w"], + description: "Weekly backups count to keep", + args: { name: "weekly-backups" }, + }, + ], + }, + { + name: "wait", + description: "Wait for a account backup-policy operation", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: ["--backup-policy-name", "-b"], + description: "The name of the backup policy", + args: { name: "backup-policy-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "backup-vault", + description: "Manage Azure NetApp Files (ANF) BackupVault Resources", + subcommands: [ + { + name: "create", + description: + "Create the specified Backup Vault in the NetApp account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--backup-vault-name", "--name", "-n"], + description: "The name of the Backup Vault", + args: { name: "backup-vault-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified Backup Vault", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + }, + { + name: ["--backup-vault-name", "--name", "-n"], + description: "The name of the Backup Vault", + args: { name: "backup-vault-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List and describe all Backup Vaults in the NetApp account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get the Backup Vault", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + }, + { + name: ["--backup-vault-name", "--name", "-n"], + description: "The name of the Backup Vault", + args: { name: "backup-vault-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the specified Backup Vault in the NetApp account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--backup-vault-name", "--name", "-n"], + description: "The name of the Backup Vault", + args: { name: "backup-vault-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + }, + { + name: ["--backup-vault-name", "--name", "-n"], + description: "The name of the Backup Vault", + args: { name: "backup-vault-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "backup", + description: "Manage Azure NetApp Files (ANF) Backup Resources", + subcommands: [ + { + name: "create", + description: "Create a backup under the Backup Vault", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--backup-name", "--name", "-n"], + description: "The name of the backup", + args: { name: "backup-name" }, + isRequired: true, + }, + { + name: "--backup-vault-name", + description: "The name of the Backup Vault", + args: { name: "backup-vault-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--volume-resource-id", + description: "ResourceId used to identify the Volume", + args: { name: "volume-resource-id" }, + isRequired: true, + }, + { + name: "--label", + description: "Label for backup", + args: { name: "label" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--snapshot-name", + description: "The name of the snapshot", + args: { name: "snapshot-name" }, + }, + { + name: "--use-existing-snapshot", + description: + "Manual backup an already existing snapshot. This will always be false for scheduled backups and true/false for manual backups", + }, + ], + }, + { + name: "delete", + description: "Delete a Backup under the Backup Vault", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + }, + { + name: ["--backup-name", "--name", "-n"], + description: "The name of the backup", + args: { name: "backup-name" }, + }, + { + name: "--backup-vault-name", + description: "The name of the Backup Vault", + args: { name: "backup-vault-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all backups Under a Backup Vault", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--backup-vault-name", + description: "The name of the Backup Vault", + args: { name: "backup-vault-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: + "An option to specify the VolumeResourceId. If present, then only returns the backups under the specified volume", + args: { name: "filter" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "restore-file", + description: + "Restore the specified files from the specified backup to the active filesystem", + options: [ + { + name: "--destination-volume-id", + description: + "Resource Id of the destination volume on which the files need to be restored", + args: { name: "destination-volume-id" }, + isRequired: true, + }, + { + name: "--file-list", + description: + 'List of files to be restored Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "file-list" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + }, + { + name: "--backup-name", + description: "The name of the backup", + args: { name: "backup-name" }, + }, + { + name: "--backup-vault-name", + description: "The name of the Backup Vault", + args: { name: "backup-vault-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--restore-file-path", + description: + "Destination folder where the files will be restored. The path name should start with a forward slash. If it is omitted from request then restore is done at the root folder of the destination volume by default", + args: { name: "restore-file-path" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the specified Backup under Backup Vault", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + }, + { + name: ["--backup-name", "--name", "-n"], + description: "The name of the backup", + args: { name: "backup-name" }, + }, + { + name: "--backup-vault-name", + description: "The name of the Backup Vault", + args: { name: "backup-vault-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a backup under the Backup Vault", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--backup-name", "--name", "-n"], + description: "The name of the backup", + args: { name: "backup-name" }, + }, + { + name: "--backup-vault-name", + description: "The name of the Backup Vault", + args: { name: "backup-vault-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--label", + description: "Label for backup", + args: { name: "label" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--use-existing-snapshot", + description: + "Manual backup an already existing snapshot. This will always be false for scheduled backups and true/false for manual backups", + args: { + name: "use-existing-snapshot", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + }, + { + name: ["--backup-name", "--name", "-n"], + description: "The name of the backup", + args: { name: "backup-name" }, + }, + { + name: "--backup-vault-name", + description: "The name of the Backup Vault", + args: { name: "backup-vault-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "pool", + description: "Manage Azure NetApp Files (ANF) Pool Resources", + subcommands: [ + { + name: "create", + description: "Create a new Azure NetApp Files (ANF) pool", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "--name", "-n", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-level", + description: "The service level for the ANF pool", + args: { + name: "service-level", + suggestions: ["Premium", "Standard", "Ultra"], + }, + isRequired: true, + }, + { + name: "--size", + description: + "The size for the ANF pool. Must be an integer number of tebibytes in multiples of 4", + args: { name: "size" }, + isRequired: true, + }, + { + name: "--cool-access", + description: + "If enabled (true) the pool can contain cool Access enabled volumes", + args: { name: "cool-access", suggestions: ["false", "true"] }, + }, + { + name: "--encryption-type", + description: + "Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. Possible values are Single or Double. Default value is Single", + args: { name: "encryption-type" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--qos-type", + description: "The qos type of the ANF pool", + args: { name: "qos-type" }, + }, + { + name: "--tags", + description: "Space-separated tags in key[=value] format", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified ANF pool", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pool-name", "--name", "-n", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "L:ist the ANF pools for the specified account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the specified ANF pool", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pool-name", "--name", "-n", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the tags of the specified ANF pool", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--cool-access", + description: + "If enabled (true) the pool can contain cool Access enabled volumes", + args: { name: "cool-access", suggestions: ["false", "true"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pool-name", "--name", "-n", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--qos-type", + description: "The qos type of the ANF pool", + args: { name: "qos-type" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--size", + description: + "The size for the ANF pool. Must be an integer number of tebibytes in multiples of 4", + args: { name: "size" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: "Space-separated tags in key[=value] format", + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: "Wait for a pool operation", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--pool-name", "--name", "-n", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "resource", + description: + "Provides operations for Azure NetApp Files (ANF) Account Resources", + subcommands: [ + { + name: "query-region-info", + description: + "Provides storage to network proximity and logical zone mapping information", + options: [ + { + name: ["--location", "-l"], + description: "The location", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "snapshot", + description: "Manage Azure NetApp Files (ANF) Snapshot Resources", + subcommands: [ + { + name: "create", + description: "Create a new Azure NetApp Files (ANF) snapshot", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--snapshot-name", "--name", "-n", "-s"], + description: "The name of the ANF snapshot", + args: { name: "snapshot-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--volume-name", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete the specified ANF snapshot", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--snapshot-name", "--name", "-n", "-s"], + description: "The name of the ANF snapshot", + args: { name: "snapshot-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--volume-name", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + ], + }, + { + name: "list", + description: "List the snapshots of an ANF volume", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--volume-name", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + isRequired: true, + }, + ], + }, + { + name: "restore-files", + description: + "Restore specified files from the specified snapshot to the active filesystem", + options: [ + { + name: "--file-paths", + description: + "Required. A space separated string of filed to be restored", + args: { name: "file-paths" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--destination-path", + description: + "Destination folder where the files will be restored", + args: { name: "destination-path" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--snapshot-name", "--name", "-n", "-s"], + description: "The name of the ANF snapshot", + args: { name: "snapshot-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--volume-name", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + ], + }, + { + name: "show", + description: "Get the specified ANF snapshot", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--snapshot-name", "--name", "-n", "-s"], + description: "The name of the ANF snapshot", + args: { name: "snapshot-name" }, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--volume-name", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + ], + }, + { + name: "update", + description: "Update a snapshot", + options: [ + { + name: "--body", + description: + "Snapshot object supplied in the body of the operation. Required", + args: { name: "body" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--snapshot-name", "--name", "-n", "-s"], + description: "The name of the ANF snapshot", + args: { name: "snapshot-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--volume-name", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + ], + }, + { + name: "wait", + description: "Wait for a snapshot operation", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--snapshot-name", "--name", "-n", "-s"], + description: "The name of the ANF snapshot", + args: { name: "snapshot-name" }, + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: ["--volume-name", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + ], + }, + { + name: "policy", + description: + "Manage Azure NetApp Files (ANF) Snapshot Policy Resources", + subcommands: [ + { + name: "create", + description: + "Create a new Azure NetApp Files (ANF) snapshot policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--snapshot-policy-name", + description: "The name of the ANF snapshot policy", + args: { name: "snapshot-policy-name" }, + isRequired: true, + }, + { + name: "--daily-hour", + description: + "Which hour in UTC timezone the daily snapshot should be taken", + args: { name: "daily-hour" }, + }, + { + name: "--daily-minute", + description: + "Which minute the daily snapshot should be taken", + args: { name: "daily-minute" }, + }, + { + name: ["--daily-snapshots", "-d"], + description: "Daily snapshots count to keep", + args: { name: "daily-snapshots" }, + }, + { + name: ["--enabled", "-e"], + description: + "The property to decide policy is enabled or not", + }, + { + name: "--hourly-minute", + description: + "Which minute the hourly snapshot should be taken", + args: { name: "hourly-minute" }, + }, + { + name: ["--hourly-snapshots", "-u"], + description: "Hourly snapshots count to keep", + args: { name: "hourly-snapshots" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--monthly-days", + description: + "Which days of the month the weekly snapshot should be taken, accepts a comma separated list of days", + args: { name: "monthly-days" }, + }, + { + name: "--monthly-hour", + description: + "Which hour in UTC timezone the monthly snapshot should be taken", + args: { name: "monthly-hour" }, + }, + { + name: "--monthly-minute", + description: + "Which minute the monthly snapshot should be taken", + args: { name: "monthly-minute" }, + }, + { + name: ["--monthly-snapshots", "-m"], + description: "Monthly snapshots count to keep", + args: { name: "monthly-snapshots" }, + }, + { + name: "--tags", + description: "Space-separated tags in key[=value] format", + args: { name: "tags" }, + }, + { + name: "--weekly-day", + description: + "Which weekday the weekly snapshot should be taken, accepts a comma separated list of week day names in english", + args: { name: "weekly-day" }, + }, + { + name: "--weekly-hour", + description: + "Which hour in UTC timezone the weekly snapshot should be taken", + args: { name: "weekly-hour" }, + }, + { + name: "--weekly-minute", + description: + "Which minute the weekly snapshot should be taken", + args: { name: "weekly-minute" }, + }, + { + name: ["--weekly-snapshots", "-w"], + description: "Weekly snapshots count to keep", + args: { name: "weekly-snapshots" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified ANF snapshot policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--snapshot-policy-name", + description: "The name of the ANF snapshot policy", + args: { name: "snapshot-policy-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List the ANF snapshot policies for the specified account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the specified ANF snapshot policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--snapshot-policy-name", + description: "The name of the ANF snapshot policy", + args: { name: "snapshot-policy-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the specified ANF snapshot policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--daily-hour", + description: + "Which hour in UTC timezone the daily snapshot should be taken", + args: { name: "daily-hour" }, + }, + { + name: "--daily-minute", + description: + "Which minute the daily snapshot should be taken", + args: { name: "daily-minute" }, + }, + { + name: ["--daily-snapshots", "-d"], + description: "Daily snapshots count to keep", + args: { name: "daily-snapshots" }, + }, + { + name: ["--enabled", "-e"], + description: + "The property to decide policy is enabled or not", + }, + { + name: "--hourly-minute", + description: + "Which minute the hourly snapshot should be taken", + args: { name: "hourly-minute" }, + }, + { + name: ["--hourly-snapshots", "-u"], + description: "Hourly snapshots count to keep", + args: { name: "hourly-snapshots" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monthly-days", + description: + "Which days of the month the weekly snapshot should be taken, accepts a comma separated list of days", + args: { name: "monthly-days" }, + }, + { + name: "--monthly-hour", + description: + "Which hour in UTC timezone the monthly snapshot should be taken", + args: { name: "monthly-hour" }, + }, + { + name: "--monthly-minute", + description: + "Which minute the monthly snapshot should be taken", + args: { name: "monthly-minute" }, + }, + { + name: ["--monthly-snapshots", "-m"], + description: "Monthly snapshots count to keep", + args: { name: "monthly-snapshots" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--snapshot-policy-name", + description: "The name of the ANF snapshot policy", + args: { name: "snapshot-policy-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--weekly-day", + description: + "Which weekday the weekly snapshot should be taken, accepts a comma separated list of week day names in english", + args: { name: "weekly-day" }, + }, + { + name: "--weekly-hour", + description: + "Which hour in UTC timezone the weekly snapshot should be taken", + args: { name: "weekly-hour" }, + }, + { + name: "--weekly-minute", + description: + "Which minute the weekly snapshot should be taken", + args: { name: "weekly-minute" }, + }, + { + name: ["--weekly-snapshots", "-w"], + description: "Weekly snapshots count to keep", + args: { name: "weekly-snapshots" }, + }, + ], + }, + { + name: "volumes", + description: + "Get the all ANF volumes associated with snapshot policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--snapshot-policy-name", + description: "The name of the ANF snapshot policy", + args: { name: "snapshot-policy-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: "Wait for a snapshot policy operation", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--snapshot-policy-name", + description: "The name of the snapshot policy", + args: { name: "snapshot-policy-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "subvolume", + description: "Manage Azure NetApp Files (ANF) Subvolume Resources", + subcommands: [ + { + name: "create", + description: + "Create a subvolume in the specified path or clones the subvolume specified in the parentPath", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subvolume-name", + description: "The name of the ANF subvolume", + args: { name: "subvolume-name" }, + isRequired: true, + }, + { + name: ["--volume-name", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--parent-path", + description: "Path to the parent subvolume", + args: { name: "parent-path" }, + }, + { + name: "--path", + description: "Path to the subvolume", + args: { name: "path" }, + }, + { + name: "--size", + description: "Size of the subvolume", + args: { name: "size" }, + }, + ], + }, + { + name: "delete", + description: "Delete a specified ANF subvolume", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--subvolume-name", + description: "The name of the ANF subvolume", + args: { name: "subvolume-name" }, + }, + { + name: ["--volume-name", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all ANF subvolumes in the specified NetApp volume", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--volume-name", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the path associated with a subvolumeName", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--subvolume-name", + description: "The name of the ANF subvolume", + args: { name: "subvolume-name" }, + }, + { + name: ["--volume-name", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + ], + }, + { + name: "update", + description: "Update a specified ANF subvolume", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--path", + description: "Path to the subvolume", + args: { name: "path" }, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--size", + description: "Size of the subvolume", + args: { name: "size" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--subvolume-name", + description: "The name of the ANF subvolume", + args: { name: "subvolume-name" }, + }, + { + name: ["--volume-name", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + ], + }, + { + name: "wait", + description: "Wait for a subvolume operation", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--subvolume-name", + description: "The name of the subvolume. Required", + args: { name: "subvolume-name" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: ["--volume-name", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + ], + }, + { + name: "metadata", + description: + "Manage Azure NetApp Files (ANF) Subvolume Metadata Resources", + subcommands: [ + { + name: "show", + description: "Get the specified ANF metadata of a subvolume", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--subvolume-name", + description: "The name of the ANF subvolume", + args: { name: "subvolume-name" }, + }, + { + name: ["--volume-name", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "volume", + description: "Manage Azure NetApp Files (ANF) Volume Resources", + subcommands: [ + { + name: "break-file-locks", + description: "Break file locks", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: ["--client-ip", "-i"], + description: + "To clear file locks on a volume for a particular client", + args: { name: "client-ip" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "create", + description: + "Create a new Azure NetApp Files (ANF) volume. Export policies are applied with the subgroup commands but note that volumes are always created with a default export policy", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--file-path", + description: + "A 1-80 character long alphanumeric string value that identifies a unique file share or mount point in the target delegate subnet", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--usage-threshold", + description: + 'The maximum storage quota allowed for a file system as integer number of GiB. Min 100 GiB, max 100TiB"', + args: { name: "usage-threshold" }, + isRequired: true, + }, + { + name: "--vnet", + description: + "Name or Resource ID of the vnet. If you want to use a vnet in other resource group or subscription, please provide the Resource ID instead of the name of the vnet", + args: { name: "vnet" }, + isRequired: true, + }, + { + name: "--allowed-clients", + description: + "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names", + args: { name: "allowed-clients" }, + }, + { + name: "--avs-data-store", + description: + "Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose. Possible values are Enabled and Disabled. Default value is Disabled", + args: { name: "avs-data-store" }, + }, + { + name: "--backup-enabled", + description: "Backup Enabled", + args: { name: "backup-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--backup-id", + description: + "Backup ID. UUID v4 or resource identifier used to identify the Backup", + args: { name: "backup-id" }, + }, + { + name: "--backup-policy-id", + description: "Backup Policy Resource ID", + args: { name: "backup-policy-id" }, + }, + { + name: "--chown-mode", + description: + "This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own. Possible values include- Restricted, Unrestricted. Default value- Restricted", + args: { name: "chown-mode" }, + }, + { + name: "--cifs", + description: + "Allows CIFS protocol. Enable only for CIFS type volumes", + args: { name: "cifs", suggestions: ["false", "true"] }, + }, + { + name: "--cool-access", + description: + "Specifies whether Cool Access(tiering) is enabled for the volume", + args: { name: "cool-access", suggestions: ["false", "true"] }, + }, + { + name: "--coolness-period", + description: + "Specifies the number of days after which data that is not accessed by clients will be tiered", + args: { name: "coolness-period" }, + }, + { + name: "--default-group-quota", + description: + "Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies", + args: { name: "default-group-quota" }, + }, + { + name: "--default-user-quota", + description: + "Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies", + args: { name: "default-user-quota" }, + }, + { + name: "--delete-base-snapshot", + description: + "If enabled (true) the snapshot the volume was created from will be automatically deleted after the volume create operation has finished. Defaults to false", + args: { + name: "delete-base-snapshot", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-subvolumes", + description: + "Flag indicating whether subvolume operations are enabled on the volume. Possible values are Enabled and Disabled. Default value is Disabled", + args: { name: "enable-subvolumes" }, + }, + { + name: "--encryption-key-source", + description: + "Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'", + args: { + name: "encryption-key-source", + suggestions: ["Microsoft.KeyVault", "Microsoft.NetApp"], + }, + }, + { + name: "--endpoint-type", + description: + 'Whether the volume is source ("src") or destination ("dst")', + args: { name: "endpoint-type" }, + }, + { + name: "--has-root-access", + description: + "Has root access to volume. Possible values are True or False", + args: { name: "has-root-access", suggestions: ["false", "true"] }, + }, + { + name: "--is-def-quota-enabled", + description: + "Specifies if default quota is enabled for the volume", + args: { + name: "is-def-quota-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--is-large-volume", + description: + "Specifies whether volume is a Large Volume or Regular Volume", + }, + { + name: "--kerberos-enabled", + description: "Describe if a volume is KerberosEnabled", + args: { + name: "kerberos-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--kerberos5-r", + description: "Kerberos5 Read only access", + args: { name: "kerberos5-r" }, + }, + { + name: "--kerberos5-rw", + description: "Kerberos5 Read and write access", + args: { name: "kerberos5-rw" }, + }, + { + name: "--kerberos5i-r", + description: "Kerberos5i Read only access", + args: { name: "kerberos5i-r" }, + }, + { + name: "--kerberos5i-rw", + description: "Kerberos5i Read and write access", + args: { name: "kerberos5i-rw" }, + }, + { + name: "--kerberos5p-r", + description: "Kerberos5p Read only access", + args: { name: "kerberos5p-r" }, + }, + { + name: "--kerberos5p-rw", + description: "Kerberos5p Read and write access", + args: { name: "kerberos5p-rw" }, + }, + { + name: "--kv-private-endpoint-id", + description: + "The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'", + args: { name: "kv-private-endpoint-id" }, + }, + { + name: "--ldap-enabled", + description: + "Specifies whether LDAP is enabled or not for a given NFS volume", + args: { name: "ldap-enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--network-features", + description: + "Basic network, or Standard features available to the volume. Possible values are Basic and Standard. Default value is Basic", + args: { name: "network-features" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--policy-enforced", + description: "Policy Enforced", + args: { name: "policy-enforced", suggestions: ["false", "true"] }, + }, + { + name: "--protocol-types", + description: + 'Space separated list of protocols that the volume can use, available protocols are "NFSv4.1", "NFSv3", "CIFS"', + args: { name: "protocol-types" }, + }, + { + name: "--remote-volume-resource-id", + description: + 'The volume id of the remote volume of the replication (the destination for "src" volume endpoints and the source for "dst" endpoints)', + args: { name: "remote-volume-resource-id" }, + }, + { + name: "--replication-schedule", + description: + 'The replication schedule, e.g. "_10minutely, hourly, daily, weekly, monthly"', + args: { name: "replication-schedule" }, + }, + { + name: "--rule-index", + description: "Order index", + args: { name: "rule-index" }, + }, + { + name: "--security-style", + description: + "The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol", + args: { name: "security-style", suggestions: ["ntfs", "unix"] }, + }, + { + name: "--service-level", + description: "The service level", + args: { + name: "service-level", + suggestions: ["Premium", "Standard", "Ultra"], + }, + }, + { + name: "--smb-access", + description: + "Enables access based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume", + args: { + name: "smb-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--smb-browsable", + description: + "Enables non browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume", + args: { + name: "smb-browsable", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--smb-continuously-avl", + description: + "Enables continuously available share property for smb volume. Only applicable for SMB volume. Default value is False", + args: { + name: "smb-continuously-avl", + suggestions: ["false", "true"], + }, + }, + { + name: "--smb-encryption", + description: + "Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later. Default value is False", + args: { name: "smb-encryption", suggestions: ["false", "true"] }, + }, + { + name: "--snapshot-dir-visible", + description: + "If enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots (default to true)", + args: { + name: "snapshot-dir-visible", + suggestions: ["false", "true"], + }, + }, + { + name: "--snapshot-id", + description: + 'Create a volume created from this snapshot. UUID v4 or resource identifier used to identify the Snapshot. example snapshot-id "9760acf5-4638-11e7-9bdb-020073ca3333"', + args: { name: "snapshot-id" }, + }, + { + name: "--snapshot-policy-id", + description: "Snapshot Policy ResourceId", + args: { name: "snapshot-policy-id" }, + }, + { + name: "--subnet", + description: "The name of the subnet for the volume", + args: { name: "subnet" }, + }, + { + name: "--tags", + description: "Space-separated tags in key[=value] format", + args: { name: "tags" }, + }, + { + name: "--throughput-mibps", + description: + "Maximum throughput in Mibps that can be achieved by this volume", + args: { name: "throughput-mibps" }, + }, + { + name: "--unix-permissions", + description: + "UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file- read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users", + args: { name: "unix-permissions" }, + }, + { + name: "--unix-read-only", + description: "Read only access", + args: { name: "unix-read-only", suggestions: ["false", "true"] }, + }, + { + name: "--unix-read-write", + description: "Read and write access", + args: { name: "unix-read-write", suggestions: ["false", "true"] }, + }, + { + name: "--volume-type", + description: + 'Whether the volume should be a data protection volume ("DataProtection"), empty if this is not a data protection volume', + args: { name: "volume-type" }, + }, + { + name: "--zones", + description: "Availability Zone", + args: { name: "zones" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified ANF volume", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--force-delete", + description: + "An option to force delete the volume. Will cleanup resources connected to the particular volume", + args: { name: "force-delete", suggestions: ["false", "true"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "finalize-relocation", + description: + "Finalizes the relocation of the Azure NetApp Files (ANF) volume and cleans up the old volume", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-groupid-list-for-ldapuser", + description: "Returns the list of group Ids for a specific LDAP User", + options: [ + { + name: ["--username", "-u"], + description: + "Username is required to fetch the group to which user is part of", + args: { name: "username" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List the ANF Pools for the specified account", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "migrate-backup", + description: "Migrate the backups under volume to backup vault", + options: [ + { + name: "--backup-vault-id", + description: "The ResourceId of the Backup Vault", + args: { name: "backup-vault-id" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the capacity pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--volume-name", + description: "The name of the volume", + args: { name: "volume-name" }, + }, + ], + }, + { + name: "pool-change", + description: "Change pool for an Azure NetApp Files (ANF) volume", + options: [ + { + name: ["--new-pool-resource-id", "-d"], + description: "The resource id of the new ANF pool", + args: { name: "new-pool-resource-id" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "relocate", + description: + "Relocates an Azure NetApp Files (ANF) volume to a new stamp", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--body", + description: + "Relocate volume request. Is either a RelocateVolumeRequest type or a IO type. Default value is None", + args: { name: "body" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reset-cifs-pw", + description: + "Reset CIFS password from an Azure NetApp Files (ANF) volume", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "revert", + description: "Revert a volume to one of its snapshots", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--snapshot-id", "-s"], + description: + 'SnapshotId of the snapshot. UUID v4 used to identify the Snapshot, example "9760acf5-4638-11e7-9bdb-020073ca3333"', + args: { name: "snapshot-id" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "revert-relocation", + description: + "Reverts the Azure NetApp Files (ANF) volume relocation process, cleans up the new volume and starts using the former-existing volume", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Get the specified ANF volume", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF pool", + args: { name: "volume-name" }, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the specified ANF volume with the values provided. Unspecified values will remain unchanged. Export policies are amended/created with the subgroup commands", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--backup-enabled", + description: "Backup Enabled", + args: { name: "backup-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--backup-policy-id", + description: "Backup Policy Resource ID", + args: { name: "backup-policy-id" }, + }, + { + name: "--cool-access", + description: + "If enabled (true) the pool can contain cool Access enabled volumes", + args: { name: "cool-access", suggestions: ["false", "true"] }, + }, + { + name: "--coolness-period", + description: + "Specifies the number of days after which data that is not accessed by clients will be tiered", + args: { name: "coolness-period" }, + }, + { + name: "--default-group-quota", + description: + "Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies", + args: { name: "default-group-quota" }, + }, + { + name: "--default-user-quota", + description: + "Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies", + args: { name: "default-user-quota" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--is-def-quota-enabled", + description: + "Specifies if default quota is enabled for the volume", + args: { + name: "is-def-quota-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--policy-enforced", + description: "Backup Policy Enforced", + args: { name: "policy-enforced", suggestions: ["false", "true"] }, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--service-level", + description: "The service level", + args: { + name: "service-level", + suggestions: ["Premium", "Standard", "Ultra"], + }, + }, + { + name: "--snapshot-dir-visible", + description: + "If enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots (default to true)", + args: { + name: "snapshot-dir-visible", + suggestions: ["false", "true"], + }, + }, + { + name: "--snapshot-policy-id", + description: "Snapshot Policy ResourceId", + args: { name: "snapshot-policy-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: "Space-separated tags in key[=value] format", + args: { name: "tags" }, + }, + { + name: "--throughput-mibps", + description: + "Maximum throughput in Mibps that can be achieved by this volume and this will be accepted as input only for manual qosType volume", + args: { name: "throughput-mibps" }, + }, + { + name: "--unix-permissions", + description: + "UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file- read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users", + args: { name: "unix-permissions" }, + }, + { + name: "--usage-threshold", + description: + "The maximum storage quota allowed for a file system as integer number of GiB. Min 100 GiB, max 100TiB", + args: { name: "usage-threshold" }, + }, + ], + }, + { + name: "wait", + description: "Wait for a volume operation", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "backup", + description: + "Manage Azure NetApp Files (ANF) Volume Backup Resources", + subcommands: [ + { + name: "create", + description: "Create specified ANF volume backup", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--backup-name", "-b"], + description: "The name of the ANF backup", + args: { name: "backup-name" }, + isRequired: true, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--use-existing-snapshot", + description: + "Manual backup an already existing snapshot. This will always be false for scheduled backups and true/false for manual backups", + args: { + name: "use-existing-snapshot", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete backup", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: ["--backup-name", "-b"], + description: "The name of the backup", + args: { name: "backup-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List the ANF Backups for the specified volume", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "restore-files", + description: + "Restore the specified files from the specified backup to the active filesystem", + options: [ + { + name: "--destination-path", + description: + "Destination folder where the files will be restored", + args: { name: "destination-path" }, + isRequired: true, + }, + { + name: "--destination-volume-id", + description: + "Resource Id of the destination volume on which the files need to be restored", + args: { name: "destination-volume-id" }, + isRequired: true, + }, + { + name: "--file-paths", + description: + "Required. A space separated string of filed to be restored", + args: { name: "file-paths" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: ["--backup-name", "-b"], + description: "The name of the ANF backup", + args: { name: "backup-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restore-status", + description: + "Get backup restore status of the specified ANF Volume", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF pool", + args: { name: "volume-name" }, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the specified ANF Backup", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: ["--backup-name", "-b"], + description: "The name of the ANF backup", + args: { name: "backup-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF pool", + args: { name: "volume-name" }, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "status", + description: "Get backup status of the specified ANF Volume", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the specified ANF backup with the values provided", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--backup-name", "-b"], + description: "The name of the ANF backup", + args: { name: "backup-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--label", + description: "Label for backup", + args: { name: "label" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--use-existing-snapshot", + description: + "Manual backup an already existing snapshot. This will always be false for scheduled backups and true or false for manual backups", + args: { + name: "use-existing-snapshot", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "wait", + description: "Wait for a volume backup operation", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: ["--backup-name", "-b"], + description: "The name of the backup", + args: { name: "backup-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "export-policy", + description: "Manage Azure NetApp Files (ANF) Volume export policies", + subcommands: [ + { + name: "add", + description: "Add a new rule to the export policy for a volume", + options: [ + { + name: "--allowed-clients", + description: + "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names)", + args: { name: "allowed-clients" }, + isRequired: true, + }, + { + name: "--cifs", + description: "Indication that CIFS protocol is allowed", + args: { name: "cifs", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--nfsv3", + description: "Indication that NFSv3 protocol is allowed", + args: { name: "nfsv3", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--nfsv41", + description: "Indication that NFSv4.1 protocol is allowed", + args: { name: "nfsv41", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--unix-read-only", + description: "Indication of read only access", + args: { + name: "unix-read-only", + suggestions: ["false", "true"], + }, + isRequired: true, + }, + { + name: "--unix-read-write", + description: "Indication of read and write access", + args: { + name: "unix-read-write", + suggestions: ["false", "true"], + }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--chown-mode", + description: + "This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own. Possible values include- Restricted, Unrestricted. Default value- Restricted", + args: { name: "chown-mode" }, + }, + { + name: "--has-root-access", + description: "Vol Has root access to volume", + args: { + name: "has-root-access", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kerberos5-r", + description: "Kerberos5 Read only access", + args: { name: "kerberos5-r" }, + }, + { + name: "--kerberos5-rw", + description: "Kerberos5 Read and write access", + args: { name: "kerberos5-rw" }, + }, + { + name: "--kerberos5i-r", + description: "Kerberos5i Read only access", + args: { name: "kerberos5i-r" }, + }, + { + name: "--kerberos5i-rw", + description: "Kerberos5i Read and write access", + args: { name: "kerberos5i-rw" }, + }, + { + name: "--kerberos5p-r", + description: "Kerberos5p Read only access", + args: { name: "kerberos5p-r" }, + }, + { + name: "--kerberos5p-rw", + description: "Kerberos5p Read and write access", + args: { name: "kerberos5p-rw" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-index", + description: + "Order index. No number can be repeated. Max 6 rules", + args: { name: "rule-index" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List the export policy rules for a volume", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a rule from the export policy for a volume by rule index. The current rules can be obtained by performing the subgroup list command", + options: [ + { + name: "--rule-index", + description: "Order index. Range 1 to 6", + args: { name: "rule-index" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: "Wait for a volume export-policy operation", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "latest-backup-status", + description: "Get the latest backup status of a volume", + subcommands: [ + { + name: "current", + description: "Get the latest backup status of the current volume", + subcommands: [ + { + name: "show", + description: + "Get the latest status of the backup for a volume", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the NetApp account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the capacity pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--volume-name", + description: "The name of the volume", + args: { name: "volume-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "quota-rule", + description: + "Manage Azure NetApp Files (ANF) Volume Quota Rules Resources", + subcommands: [ + { + name: "create", + description: "Create a ANF Volume Quota Rule", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: "--quota-rule-name", + description: "Name of Quota rule", + args: { name: "quota-rule-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--volume-name", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--quota-size", + description: "Size of quota", + args: { name: "quota-size" }, + }, + { + name: "--quota-target", + description: + "UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running :code:", + args: { name: "quota-target" }, + }, + { + name: "--quota-type", + description: + 'Type of quota. Known values are "DefaultUserQuota", "DefaultGroupQuota", "IndividualUserQuota", and "IndividualGroupQuota"', + args: { name: "quota-type" }, + }, + { + name: "--tags", + description: "Resource tags", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a specified ANF Volume Quota Rule for Volume", + options: [ + { + name: "--quota-rule-name", + description: "The name of the quota rule", + args: { name: "quota-rule-name" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--volume-name", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all ANF Volume Quota Rule for specified Volume", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the ANF volume", + args: { name: "volume-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get ANF Volume Quota Rule for Volume", + options: [ + { + name: "--quota-rule-name", + description: "The name of the quota rule", + args: { name: "quota-rule-name" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--volume-name", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + ], + }, + { + name: "update", + description: "Update a specified ANF Volume Quota Rule", + options: [ + { + name: "--quota-rule-name", + description: "The name of the quota rule", + args: { name: "quota-rule-name" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: "--quota-size", + description: "Size of quota", + args: { name: "quota-size" }, + }, + { + name: "--quota-target", + description: + "UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running :code:", + args: { name: "quota-target" }, + }, + { + name: "--quota-type", + description: + 'Type of quota. Known values are "DefaultUserQuota", "DefaultGroupQuota", "IndividualUserQuota", and "IndividualGroupQuota"', + args: { name: "quota-type" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--volume-name", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + ], + }, + { + name: "wait", + description: "Wait for a volume quota-rule operation", + options: [ + { + name: "--quota-rule-name", + description: "The name of the quota rule", + args: { name: "quota-rule-name" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: ["--volume-name", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + ], + }, + ], + }, + { + name: "replication", + description: + "Manage Azure NetApp Files (ANF) Volume replication operations", + subcommands: [ + { + name: "approve", + description: + "Authorize a volume as a replication destination for a specified source", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the replication source volume", + args: { name: "volume-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--remote-volume-resource-id", "-d"], + description: + "The resource id of the destination replication volume", + args: { name: "remote-volume-resource-id" }, + }, + ], + }, + { + name: "list", + description: "List replication for ANF volume", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "re-initialize", + description: + "Re-initialise a volume replication for the specified destination volume. The replication process is resumed from source to destination", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the replication destination volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: + "Delete a volume replication for the specified destination volume. The data replication objects of source and destination volumes will be removed", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the replication destination volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "resume", + description: + "Resync a volume replication for the specified destination volume. The replication process is resumed from source to destination. If any quota rules exists on destination volume they will be overwritten with source volume's quota rules", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the replication destination volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "status", + description: + "Get the replication status for the specified replication volume", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the replication destination volume", + args: { name: "volume-name" }, + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "suspend", + description: + "Suspend/break a volume replication for the specified destination volume. The replication process is suspended until resumed or deleted", + options: [ + { + name: ["--account-name", "-a"], + description: "The name of the ANF account", + args: { name: "account-name" }, + }, + { + name: ["--force-break-replication", "--force", "-f"], + description: "Force break the replication", + args: { + name: "force-break-replication", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "The name of the replication destination volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--pool-name", "-p"], + description: "The name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: "Wait for a volume replication operation", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--volume-name", "--name", "-n", "-v"], + description: "Name of the ANF volume", + args: { name: "volume-name" }, + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "volume-group", + description: "Manage Azure NetApp Files (ANF) Volume Group Resources", + subcommands: [ + { + name: "create", + description: "Create ANF Volume Groups", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--volume-group-name", "--group-name"], + description: "The name of the ANF volume group", + args: { name: "volume-group-name" }, + isRequired: true, + }, + { + name: ["--pool-name", "-p"], + description: "Name of the ANF pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: "--ppg", + description: + "The resource id of the Proximity Placement Group for volume placement", + args: { name: "ppg" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vnet", + description: "The ARM Id or name of the vnet for the volumes", + args: { name: "vnet" }, + isRequired: true, + }, + { + name: "--add-snapshot-capacity", + description: + "Additional memory to store snapshots, must be specified as % of RAM (range 0-200). This is used to auto compute storage size", + args: { name: "add-snapshot-capacity" }, + }, + { + name: "--backup-nfsv3", + description: + "Indicates if NFS Protocol version 3 is preferred for data backup and log backup volumes. Default is false", + }, + { + name: "--data-backup-repl-skd", + description: "Replication Schedule for data backup volume", + args: { name: "data-backup-repl-skd" }, + }, + { + name: "--data-backup-size", + description: + "Capacity (in GiB) for data backup volumes. If not provided size will automatically be calculated", + args: { name: "data-backup-size" }, + }, + { + name: "--data-backup-src-id", + description: "ResourceId of the data backup source volume", + args: { name: "data-backup-src-id" }, + }, + { + name: "--data-backup-throughput", + description: + "Throughput in MiB/s for data backup volumes. If not provided size will automatically be calculated", + args: { name: "data-backup-throughput" }, + }, + { + name: "--data-repl-skd", + description: "Replication Schedule for data volume", + args: { name: "data-repl-skd" }, + }, + { + name: "--data-size", + description: + "Capacity (in GiB) for data volumes. If not provided size will automatically be calculated", + args: { name: "data-size" }, + }, + { + name: "--data-src-id", + description: "ResourceId of the data source volume", + args: { name: "data-src-id" }, + }, + { + name: "--data-throughput", + description: + "Throughput in MiB/s for data volumes. If not provided size will automatically be calculated", + args: { name: "data-throughput" }, + }, + { + name: ["--global-placement-rules", "--gp-rules"], + description: + "Application specific identifier of deployment rules for the volume group. Space-separated string in key=value format", + args: { name: "global-placement-rules" }, + }, + { + name: "--kv-private-endpoint-id", + description: + "The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'", + args: { name: "kv-private-endpoint-id" }, + }, + { + name: ["--location", "-l"], + description: + "ANF Location. If the resource group location is different than ANF location, ANF location needs to be specified", + args: { name: "location" }, + }, + { + name: "--log-backup-repl-skd", + description: "Replication Schedule for log backup volume", + args: { name: "log-backup-repl-skd" }, + }, + { + name: "--log-backup-size", + description: + "Capacity (in GiB) for log backup volumes. If not provided size will automatically be calculated", + args: { name: "log-backup-size" }, + }, + { + name: "--log-backup-src-id", + description: "ResourceId of the log backup source volume", + args: { name: "log-backup-src-id" }, + }, + { + name: "--log-backup-throughput", + description: + "Throughput in MiB/s for log backup volumes. If not provided size will automatically be calculated", + args: { name: "log-backup-throughput" }, + }, + { + name: "--log-size", + description: + "Capacity (in GiB) for log volumes. If not provided size will automatically be calculated", + args: { name: "log-size" }, + }, + { + name: "--log-throughput", + description: + "Throughput in MiB/s for log volumes. If not provided size will automatically be calculated", + args: { name: "log-throughput" }, + }, + { + name: "--memory", + description: + "SAP HANA memory in GiB (max 12000 GiB), used to auto compute storage size and throughput", + args: { name: "memory" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--number-of-hots", + description: + "Total Number of SAP HANA host in this deployment (currently max 3 nodes can be configured)", + args: { name: "number-of-hots" }, + }, + { + name: "--prefix", + description: + 'All volume names will be prefixed with the given text. The default values for prefix text depends on system role. For PRIMARY it will be "" and HA it will be "HA-"', + args: { name: "prefix" }, + }, + { + name: "--sap-sid", + description: + "The SAP system ID. Three characters long alpha-numeric string", + args: { name: "sap-sid" }, + }, + { + name: "--shared-repl-skd", + description: "Replication Schedule for shared volume", + args: { name: "shared-repl-skd" }, + }, + { + name: "--shared-size", + description: + "Capacity (in GiB) for shared volume. If not provided size will automatically be calculated", + args: { name: "shared-size" }, + }, + { + name: "--shared-src-id", + description: "ResourceId of the shared source volume", + args: { name: "shared-src-id" }, + }, + { + name: "--shared-throughput", + description: + "Throughput in MiB/s for shared volume. If not provided size will automatically be calculated", + args: { name: "shared-throughput" }, + }, + { + name: "--smb-access", + description: + "Enables access based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume", + args: { + name: "smb-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--smb-browsable", + description: + "Enables non browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume", + args: { + name: "smb-browsable", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--start-host-id", + description: + "Starting SAP HANA Host ID. Host ID 1 indicates Master Host. Shared, Data Backup and Log Backup volumes are only provisioned for Master Host i.e. HostID == 1", + args: { name: "start-host-id" }, + }, + { + name: "--subnet", + description: "The delegated Subnet name", + args: { name: "subnet" }, + }, + { + name: "--system-role", + description: + "Type of role for the storage account. Primary indicates first of a SAP HANA Replication (HSR) setup or No HSR. High Availability (HA) specifies local scenario. Default is PRIMARY", + args: { + name: "system-role", + suggestions: ["DR", "HA", "PRIMARY"], + }, + }, + { + name: "--tags", + description: "Space-separated tags in key=value format", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a volume group", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--volume-group-name", "--group-name"], + description: "The name of the ANF volume group", + args: { name: "volume-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get a list of ANF Volume Groups", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the specified ANF Volume Group", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--volume-group-name", "--group-name"], + description: "The name of the ANF volume group", + args: { name: "volume-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: "Wait for a volume group to be created", + options: [ + { + name: ["--account-name", "-a"], + description: "Name of the ANF account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--volume-group-name", "--group-name"], + description: "The name of the ANF volume group", + args: { name: "volume-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/network-function.ts b/src/az/2.53.0/network-function.ts new file mode 100644 index 000000000000..8443271149af --- /dev/null +++ b/src/az/2.53.0/network-function.ts @@ -0,0 +1,683 @@ +const completion: Fig.Spec = { + name: "network-function", + description: "Manage network function", + subcommands: [ + { + name: "traffic-collector", + description: "Manage Azure Traffic Collector resources", + subcommands: [ + { + name: "create", + description: "Create an Azure Traffic Collector resource", + options: [ + { + name: ["--traffic-collector-name", "--name", "-n"], + description: "Azure Traffic Collector name", + args: { name: "traffic-collector-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Resource location. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a specified Azure Traffic Collector resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--traffic-collector-name", "--name", "-n"], + description: "Azure Traffic Collector name", + args: { name: "traffic-collector-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Return a list of Azure Traffic Collectors", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the specified Azure Traffic Collector resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--traffic-collector-name", "--name", "-n"], + description: "Azure Traffic Collector name", + args: { name: "traffic-collector-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Azure Traffic Collector resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "Resource location", + args: { name: "location" }, + }, + { + name: ["--traffic-collector-name", "--name", "-n"], + description: "Azure Traffic Collector name", + args: { name: "traffic-collector-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--traffic-collector-name", "--name", "-n"], + description: "Azure Traffic Collector name", + args: { name: "traffic-collector-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "collector-policy", + description: + "Manage Collector Policy for Azure Traffic Collector resource", + subcommands: [ + { + name: "create", + description: "Create a Collector Policy", + options: [ + { + name: ["--collector-policy-name", "--name", "-n"], + description: "Collector Policy Name", + args: { name: "collector-policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--traffic-collector-name", "-t"], + description: "Azure Traffic Collector name", + args: { name: "traffic-collector-name" }, + isRequired: true, + }, + { + name: "--emission-policies", + description: + 'Emission policies. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "emission-policies" }, + }, + { + name: "--ingestion-policy", + description: + 'Ingestion policies. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ingestion-policy" }, + }, + { + name: ["--location", "-l"], + description: + "Resource location. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a specified Collector Policy", + options: [ + { + name: ["--collector-policy-name", "--name", "-n"], + description: "Collector Policy Name", + args: { name: "collector-policy-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--traffic-collector-name", "-t"], + description: "Azure Traffic Collector name", + args: { name: "traffic-collector-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List Collector policies", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--traffic-collector-name", "-t"], + description: "Azure Traffic Collector name", + args: { name: "traffic-collector-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the specified Collector Policy", + options: [ + { + name: ["--collector-policy-name", "--name", "-n"], + description: "Collector Policy Name", + args: { name: "collector-policy-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--traffic-collector-name", "-t"], + description: "Azure Traffic Collector name", + args: { name: "traffic-collector-name" }, + }, + ], + }, + { + name: "update", + description: "Update a specified Collector Policy", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--collector-policy-name", "--name", "-n"], + description: "Collector Policy Name", + args: { name: "collector-policy-name" }, + }, + { + name: "--emission-policies", + description: + 'Emission policies. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "emission-policies" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ingestion-policy", + description: + 'Ingestion policies. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ingestion-policy" }, + }, + { + name: ["--location", "-l"], + description: "Resource location", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: ["--traffic-collector-name", "-t"], + description: "Azure Traffic Collector name", + args: { name: "traffic-collector-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--collector-policy-name", "--name", "-n"], + description: "Collector Policy Name", + args: { name: "collector-policy-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: ["--traffic-collector-name", "-t"], + description: "Azure Traffic Collector name", + args: { name: "traffic-collector-name" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/network.ts b/src/az/2.53.0/network.ts new file mode 100644 index 000000000000..af04fce080f8 --- /dev/null +++ b/src/az/2.53.0/network.ts @@ -0,0 +1,70054 @@ +const completion: Fig.Spec = { + name: "network", + description: "Manage Azure Network resources", + subcommands: [ + { + name: "alb", + description: "Manage and Configure Application Gateway for Containers", + subcommands: [ + { + name: "create", + description: "Create an Application Gateway for Containers resource", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "The geo-location for the resource When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Application Gateway for Containers resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List Application Gateway for Containers resource", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get an Application Gateway for Containers resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Application Gateway for Containers resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "association", + description: + "Manage and Configure Associations for Application Gateway for Containers resource", + subcommands: [ + { + name: "create", + description: + "Create an Application Gateway for Containers association resource", + options: [ + { + name: "--alb-name", + description: + "Name of the Application Gateway for Containers resource", + args: { name: "alb-name" }, + isRequired: true, + }, + { + name: ["--association-name", "--name", "-n"], + description: "Name of the association resource", + args: { name: "association-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--association-type", + description: "Type of Association", + args: { name: "association-type", suggestions: ["subnets"] }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location for the resource When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--subnet", + description: "Name or Id of exiting subnet resource", + args: { name: "subnet" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vnet-name", + description: + "Name of the virtual network corresponding to the subnet", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an Application Gateway for Containers association resource", + options: [ + { + name: "--alb-name", + description: + "Name of the Application Gateway for Containers resource", + args: { name: "alb-name" }, + }, + { + name: ["--association-name", "--name", "-n"], + description: "Name of the association resource", + args: { name: "association-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all associations for an Application Gateway for Containers resource", + options: [ + { + name: "--alb-name", + description: + "Name of the Application Gateway for Containers resource", + args: { name: "alb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get an Application Gateway for Containers association resource", + options: [ + { + name: "--alb-name", + description: + "Name of the Application Gateway for Containers resource", + args: { name: "alb-name" }, + }, + { + name: ["--association-name", "--name", "-n"], + description: "Name of the association resource", + args: { name: "association-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an Application Gateway for Containers association resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--alb-name", + description: + "Name of the Application Gateway for Containers resource", + args: { name: "alb-name" }, + }, + { + name: ["--association-name", "--name", "-n"], + description: "Name of the association resource", + args: { name: "association-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--alb-name", + description: + "Name of the Application Gateway for Containers resource", + args: { name: "alb-name" }, + }, + { + name: ["--association-name", "--name", "-n"], + description: "Name of the association resource", + args: { name: "association-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "frontend", + description: + "Manage and Configure Frontends for Application Gateway for Containers resource", + subcommands: [ + { + name: "create", + description: + "Create an Application Gateway for Containers frontend resource", + options: [ + { + name: "--alb-name", + description: + "Name of the Application Gateway for Containers resource", + args: { name: "alb-name" }, + isRequired: true, + }, + { + name: ["--frontend-name", "--name", "-n"], + description: "Name of the frontend resource", + args: { name: "frontend-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "The geo-location for the resource When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an Application Gateway for Containers frontend resource", + options: [ + { + name: "--alb-name", + description: + "Name of the Application Gateway for Containers resource", + args: { name: "alb-name" }, + }, + { + name: ["--frontend-name", "--name", "-n"], + description: "Name of the frontend resource", + args: { name: "frontend-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all frontends for an Application Gateway for Containers resource", + options: [ + { + name: "--alb-name", + description: + "Name of the Application Gateway for Containers resource", + args: { name: "alb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get an Application Gateway for Containers frontend resource", + options: [ + { + name: "--alb-name", + description: + "Name of the Application Gateway for Containers resource", + args: { name: "alb-name" }, + }, + { + name: ["--frontend-name", "--name", "-n"], + description: "Name of the frontend resource", + args: { name: "frontend-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an Application Gateway for Containers frontend resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--alb-name", + description: + "Name of the Application Gateway for Containers resource", + args: { name: "alb-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--frontend-name", "--name", "-n"], + description: "Name of the frontend resource", + args: { name: "frontend-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--alb-name", + description: + "Name of the Application Gateway for Containers resource", + args: { name: "alb-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: ["--frontend-name", "--name", "-n"], + description: "Name of the frontend resource", + args: { name: "frontend-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "application-gateway", + description: + "Manage application-level routing and load balancing services.\n\n\t\tTo learn more about Application Gateway, visit https://learn.microsoft.com/en-us/azure/application-gateway/quick-create-cli", + subcommands: [ + { + name: "create", + description: "Create an application gateway", + options: [ + { + name: ["--name", "-n"], + description: "Name of the application gateway", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--capacity", + description: + "The number of instances to use with the application gateway", + args: { name: "capacity" }, + }, + { + name: "--cert-file", + description: "The path to the PFX certificate file", + args: { name: "cert-file" }, + }, + { + name: "--cert-password", + description: "The certificate password", + args: { name: "cert-password" }, + }, + { + name: "--connection-draining-timeout", + description: + "The time in seconds after a backend server is removed during which on open connection remains active. Range: 0 (disabled) to 3600", + args: { name: "connection-draining-timeout" }, + }, + { + name: "--custom-error-pages", + description: + "Space-separated list of custom error pages in STATUS_CODE=URL format", + args: { name: "custom-error-pages" }, + }, + { + name: "--enable-private-link", + description: + "Enable Private Link feature for this application gateway. If both public IP and private IP are enbaled, taking effect only in public frontend IP", + }, + { + name: "--frontend-port", + description: "The front end port number", + args: { name: "frontend-port" }, + }, + { + name: "--http-settings-cookie-based-affinity", + description: + "Enable or disable HTTP settings cookie-based affinity", + args: { + name: "http-settings-cookie-based-affinity", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--http-settings-port", + description: "The HTTP settings port", + args: { name: "http-settings-port" }, + }, + { + name: "--http-settings-protocol", + description: "The HTTP settings protocol", + args: { + name: "http-settings-protocol", + suggestions: ["Http", "Https", "Tcp", "Tls"], + }, + }, + { + name: "--http2", + description: "Use HTTP2 for the application gateway", + args: { name: "http2", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--identity", + description: "Name or ID of the ManagedIdentity Resource", + args: { name: "identity" }, + }, + { + name: "--key-vault-secret-id", + description: + "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in Azure KeyVault. You need enable soft delete for keyvault to use this feature", + args: { name: "key-vault-secret-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--max-capacity", + description: + "Upper bound on the number of application gateway instances", + args: { name: "max-capacity" }, + }, + { + name: "--min-capacity", + description: + "Lower bound on the number of application gateway instances", + args: { name: "min-capacity" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--priority", + description: + "Priority of the request routing rule. Supported SKU tiers are Standard_v2, WAF_v2", + args: { name: "priority" }, + }, + { + name: "--private-ip-address", + description: "Static private IP address to use", + args: { name: "private-ip-address" }, + }, + { + name: "--private-link-ip-address", + description: + "The static private IP address of a subnet for Private Link. If omitting, a dynamic one will be created", + args: { name: "private-link-ip-address" }, + }, + { + name: "--private-link-primary", + description: "Whether the IP configuration is primary or not", + args: { + name: "private-link-primary", + suggestions: ["false", "true"], + }, + }, + { + name: "--private-link-subnet", + description: + "The name of the subnet within the same vnet of an application gateway", + args: { name: "private-link-subnet" }, + }, + { + name: "--private-link-subnet-prefix", + description: "The CIDR prefix to use when creating a new subnet", + args: { name: "private-link-subnet-prefix" }, + }, + { + name: "--public-ip-address", + description: + "Name or ID of a public IP address. Uses existing resource or creates new if specified, or none if omitted", + args: { name: "public-ip-address" }, + }, + { + name: "--public-ip-address-allocation", + description: + "The kind of IP allocation to use when creating a new public IP", + args: { name: "public-ip-address-allocation" }, + }, + { + name: "--routing-rule-type", + description: "The request routing rule type", + args: { + name: "routing-rule-type", + suggestions: ["Basic", "PathBasedRouting"], + }, + }, + { + name: "--servers", + description: + "Space-separated list of IP addresses or DNS names corresponding to backend servers", + args: { name: "servers" }, + }, + { + name: "--sku", + description: "The name of the SKU", + args: { + name: "sku", + suggestions: [ + "Standard_Medium", + "Standard_Small", + "Standard_v2", + "WAF_Large", + "WAF_Medium", + "WAF_v2", + ], + }, + }, + { + name: "--ssl-certificate-name", + description: + "The certificate name. Default will be SslCert", + args: { name: "ssl-certificate-name" }, + }, + { + name: "--ssl-profile", + description: "The application gateway ssl profiles", + args: { name: "ssl-profile" }, + }, + { + name: "--ssl-profile-id", + description: "SSL profile resource of the application gateway", + args: { name: "ssl-profile-id" }, + }, + { + name: "--subnet", + description: + "Name or ID of the subnet. Will create resource if it does not exist. If name specified, also specify --vnet-name. If you want to use an existing subnet in other resource group or subscription, please provide the ID instead of the name of the subnet", + args: { name: "subnet" }, + }, + { + name: "--subnet-address-prefix", + description: "The CIDR prefix to use when creating a new subnet", + args: { name: "subnet-address-prefix" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--trusted-client-cert", + description: "The application gateway trusted client certificate", + args: { name: "trusted-client-cert" }, + }, + { + name: "--validate", + description: + "Generate and validate the ARM template without creating any resources", + }, + { + name: "--vnet-address-prefix", + description: "The CIDR prefix to use when creating a new VNet", + args: { name: "vnet-address-prefix" }, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + }, + { + name: "--waf-policy", + description: + "Name or ID of a web application firewall (WAF) policy", + args: { name: "waf-policy" }, + }, + { + name: ["--zones", "-z"], + description: + "Space-separated list of availability zones into which to provision the resource", + args: { name: "zones", suggestions: ["1", "2", "3"] }, + }, + ], + }, + { + name: "delete", + description: "Delete an application gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the application gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List application gateways", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an application gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the application gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-backend-health", + description: + "Get information on the backend health of an application gateway", + options: [ + { + name: "--address-pool", + description: "The name or ID of the backend address pool", + args: { name: "address-pool" }, + }, + { + name: "--expand", + description: + "Expands BackendAddressPool and BackendHttpSettings referenced in backend health", + args: { name: "expand" }, + }, + { + name: "--host", + description: "The name of the host to send the probe", + args: { name: "host" }, + }, + { + name: "--host-name-from-http-settings", + description: "Use host header from HTTP settings", + args: { + name: "host-name-from-http-settings", + suggestions: ["false", "true"], + }, + }, + { + name: "--http-settings", + description: "The name or ID of the HTTP settings", + args: { name: "http-settings" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--match-body", + description: "Body that must be contained in the health response", + args: { name: "match-body" }, + }, + { + name: "--match-status-codes", + description: + "Space-separated list of allowed ranges of healthy status codes for the health response", + args: { name: "match-status-codes" }, + }, + { + name: ["--name", "-n"], + description: "Name of the application gateway", + args: { name: "name" }, + }, + { + name: "--path", + description: + 'The relative path of the probe. Valid paths start from "/"', + args: { name: "path" }, + }, + { + name: "--protocol", + description: "The HTTP settings protocol", + args: { + name: "protocol", + suggestions: ["Http", "Https", "Tcp", "Tls"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "The probe timeout in seconds", + args: { name: "timeout" }, + }, + ], + }, + { + name: "start", + description: "Start an application gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the application gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop an application gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the application gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an application gateway", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--capacity", + description: + "Number of instances to use with the application gateway", + args: { name: "capacity" }, + }, + { + name: "--custom-error-pages", + description: + 'Space-separated list of custom error pages in STATUS_CODE=URL format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "custom-error-pages" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--http2", + description: "Use HTTP2 for the application gateway", + args: { name: "http2", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--identity", + description: + 'The identity of the application gateway, if configured. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--max-capacity", + description: + "Upper bound on the number of application gateway instances", + args: { name: "max-capacity" }, + }, + { + name: "--min-capacity", + description: + "Lower bound on the number of application gateway instances", + args: { name: "min-capacity" }, + }, + { + name: ["--name", "-n"], + description: "Name of the application gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "Name of an application gateway SKU", + args: { + name: "sku", + suggestions: [ + "Standard_Large", + "Standard_Medium", + "Standard_Small", + "Standard_v2", + "WAF_Large", + "WAF_Medium", + "WAF_v2", + ], + }, + }, + { + name: "--ssl-profiles", + description: + 'SSL profiles of the application gateway resource. For default limits, see Application Gateway limits. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ssl-profiles" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the application gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "address-pool", + description: "Manage address pools of an application gateway", + subcommands: [ + { + name: "create", + description: "Create an address pool", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend address pool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--servers", + description: + 'Space-separated list of IP addresses or DNS names corresponding to backend servers. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "servers" }, + }, + ], + }, + { + name: "delete", + description: "Delete an address pool", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend address pool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List address pools", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of an address pool", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend address pool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an address pool", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend address pool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--servers", + description: + 'Space-separated list of IP addresses or DNS names corresponding to backend servers. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "servers" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "auth-cert", + description: + "Manage authorization certificates of an application gateway", + subcommands: [ + { + name: "create", + description: "Create an authorization certificate", + options: [ + { + name: "--cert-file", + description: "Path to the certificate file", + args: { name: "cert-file" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the authentication certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an authorization certificate", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the authentication certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List authorization certificates", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show an authorization certificate", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the authentication certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an authorization certificate", + options: [ + { + name: "--cert-file", + description: "Path to the certificate file", + args: { name: "cert-file" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the authentication certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "client-cert", + description: + "Manage trusted client certificates of application gateway", + subcommands: [ + { + name: "add", + description: + "Add trusted client certificate of the application gateway", + options: [ + { + name: "--data", + description: "Path to the certificate file", + args: { name: "data" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the trusted client certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: + "List the existing trusted client certificates of the application gateway", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove an existing trusted client certificate of the application gateway", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the trusted client certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "show", + description: + "Show an existing trusted client certificate of the application gateway", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the trusted client certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update trusted client certificate of the application gateway", + options: [ + { + name: "--data", + description: "Path to the certificate file", + args: { name: "data" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the trusted client certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "frontend-ip", + description: "Manage frontend IP addresses of an application gateway", + subcommands: [ + { + name: "create", + description: "Create a frontend IP address", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the frontend IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-ip-address", + description: "Static private IP address to use", + args: { name: "private-ip-address" }, + }, + { + name: "--public-ip-address", + description: "Name or ID of the public IP address", + args: { name: "public-ip-address" }, + }, + { + name: "--subnet", + description: + "Name or ID of the subnet. If using Name, you need to provide --vnet-name as well", + args: { name: "subnet" }, + }, + { + name: "--vnet-name", + description: + "Name of the virtual network corresponding to the subnet", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a frontend IP address", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the frontend IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List frontend IP addresses", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a frontend IP address", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the frontend IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a frontend IP address", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the frontend IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-ip-address", + description: "Static private IP address to use", + args: { name: "private-ip-address" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subnet", + description: + "Name or ID of the subnet. If using Name, you need to provide --vnet-name as well", + args: { name: "subnet" }, + }, + { + name: "--vnet-name", + description: + "Name of the virtual network corresponding to the subnet", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "frontend-port", + description: "Manage frontend ports of an application gateway", + subcommands: [ + { + name: "create", + description: "Create a frontend port", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the frontend port", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--port", + description: "Number of the port", + args: { name: "port" }, + }, + ], + }, + { + name: "delete", + description: "Delete a frontend port", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the frontend port", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List frontend ports", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a frontend port", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the frontend port", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a frontend port", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the frontend port", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--port", + description: "Number of the port", + args: { name: "port" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "http-listener", + description: "Manage HTTP listeners of an application gateway", + subcommands: [ + { + name: "create", + description: "Create an HTTP listener", + options: [ + { + name: "--frontend-port", + description: "Name or ID of the frontend port", + args: { name: "frontend-port" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the HTTP listener", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--frontend-ip", + description: "Name or ID of the frontend IP configuration", + args: { name: "frontend-ip" }, + }, + { + name: "--host-name", + description: "Host name to use for multisite gateways", + args: { name: "host-name" }, + }, + { + name: "--host-names", + description: + 'Space-separated list of host names that allows special wildcard characters as well. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "host-names" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ssl-cert", + description: "Name or ID of the SSL certificate to use", + args: { name: "ssl-cert" }, + }, + { + name: "--ssl-profile-id", + description: "Name or ID of a SSL profile resource", + args: { name: "ssl-profile-id" }, + }, + { + name: "--waf-policy", + description: + "Name or ID of a web application firewall policy resource", + args: { name: "waf-policy" }, + }, + ], + }, + { + name: "delete", + description: "Delete an HTTP listener", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the HTTP listener", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List HTTP listeners", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of an HTTP listener", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the HTTP listener", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an HTTP listener", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the HTTP listener", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--frontend-ip", + description: "Name or ID of the frontend IP configuration", + args: { name: "frontend-ip" }, + }, + { + name: "--frontend-port", + description: "Name or ID of the frontend port", + args: { name: "frontend-port" }, + }, + { + name: "--host-name", + description: "Host name to use for multisite gateways", + args: { name: "host-name" }, + }, + { + name: "--host-names", + description: + 'Space-separated list of host names that allows special wildcard characters as well. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "host-names" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--ssl-cert", + description: "Name or ID of the SSL certificate to use", + args: { name: "ssl-cert" }, + }, + { + name: "--ssl-profile-id", + description: "Name or ID of a SSL profile resource", + args: { name: "ssl-profile-id" }, + }, + { + name: "--waf-policy", + description: + "Name or ID of a web application firewall policy resource", + args: { name: "waf-policy" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "http-settings", + description: "Manage HTTP settings of an application gateway", + subcommands: [ + { + name: "create", + description: "Create HTTP settings", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend http settings", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--port", + description: "Number of the destination port on the backend", + args: { name: "port" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--affinity-cookie-name", + description: "Name used for the affinity cookie", + args: { name: "affinity-cookie-name" }, + }, + { + name: "--auth-certs", + description: + 'Space-separated list of authentication certificates (Names and IDs) to associate with the HTTP settings. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "auth-certs" }, + }, + { + name: "--connection-draining-timeout", + description: + "Time in seconds after a backend server is removed during which on open connection remains active. Range from 0 (Disabled) to 3600", + args: { name: "connection-draining-timeout" }, + }, + { + name: "--cookie-based-affinity", + description: "Enable or disable cookie-based affinity", + args: { + name: "cookie-based-affinity", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--enable-probe", + description: "Whether the probe is enabled", + args: { + name: "enable-probe", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--host-name", + description: "Host header sent to the backend servers", + args: { name: "host-name" }, + }, + { + name: "--host-name-from-backend-pool", + description: + "Whether to pick host header should be picked from the host name of the backend server", + args: { + name: "host-name-from-backend-pool", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--path", + description: "Path that will prefix all HTTP requests", + args: { name: "path" }, + }, + { + name: "--probe", + description: + "Name or ID of the probe to associate with the HTTP settings", + args: { name: "probe" }, + }, + { + name: "--protocol", + description: "Protocol used to communicate with the backend", + args: { + name: "protocol", + suggestions: ["Http", "Https", "Tcp", "Tls"], + }, + }, + { + name: "--root-certs", + description: + 'Space-separated list of trusted root certificates (Names and IDs) to associate with the HTTP settings. --host-name or --host-name-from-backend-pool is required when this field is set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "root-certs" }, + }, + { + name: "--timeout", + description: "Request timeout in seconds", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete", + description: "Delete HTTP settings", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend http settings", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List HTTP settings", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of HTTP settings", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend http settings", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update HTTP settings", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend http settings", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--affinity-cookie-name", + description: "Name used for the affinity cookie", + args: { name: "affinity-cookie-name" }, + }, + { + name: "--auth-certs", + description: + 'Space-separated list of authentication certificates (Names and IDs) to associate with the HTTP settings. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "auth-certs" }, + }, + { + name: "--connection-draining-timeout", + description: + "Time in seconds after a backend server is removed during which on open connection remains active. Range from 0 (Disabled) to 3600", + args: { name: "connection-draining-timeout" }, + }, + { + name: "--cookie-based-affinity", + description: "Enable or disable cookie-based affinity", + args: { + name: "cookie-based-affinity", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--enable-probe", + description: "Whether the probe is enabled", + args: { + name: "enable-probe", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--host-name", + description: "Host header sent to the backend servers", + args: { name: "host-name" }, + }, + { + name: "--host-name-from-backend-pool", + description: + "Whether to pick host header should be picked from the host name of the backend server", + args: { + name: "host-name-from-backend-pool", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--path", + description: "Path that will prefix all HTTP requests", + args: { name: "path" }, + }, + { + name: "--port", + description: "Number of the destination port on the backend", + args: { name: "port" }, + }, + { + name: "--probe", + description: + "Name or ID of the probe to associate with the HTTP settings", + args: { name: "probe" }, + }, + { + name: "--protocol", + description: "Protocol used to communicate with the backend", + args: { + name: "protocol", + suggestions: ["Http", "Https", "Tcp", "Tls"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--root-certs", + description: + 'Space-separated list of trusted root certificates (Names and IDs) to associate with the HTTP settings. --host-name or --host-name-from-backend-pool is required when this field is set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "root-certs" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--timeout", + description: "Request timeout in seconds", + args: { name: "timeout" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "identity", + description: + "Manage the managed service identity of an application gateway", + subcommands: [ + { + name: "assign", + description: + "Assign a managed service identity to an application gateway", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: "--identity", + description: "Name or ID of the ManagedIdentity Resource", + args: { name: "identity" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "remove", + description: + "Remove the managed service identity of an application-gateway", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show the managed service identity of an application gateway", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "listener", + description: "Manage listeners of an application gateway", + subcommands: [ + { + name: "create", + description: "Create a listener", + options: [ + { + name: "--frontend-port", + description: "Name or ID of the frontend port", + args: { name: "frontend-port" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the listener", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--frontend-ip", + description: + "Name or ID of the frontend IP configuration. If only one exists, omit to use as default", + args: { name: "frontend-ip" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ssl-cert", + description: "Name or ID of the SSL certificate to use", + args: { name: "ssl-cert" }, + }, + { + name: "--ssl-profile-id", + description: "Name or ID of the SSL profile to use", + args: { name: "ssl-profile-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete a listener", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the listener", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List listeners", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a listener", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the listener", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a listener", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the listener", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--frontend-ip", + description: + "Name or ID of the frontend IP configuration. If only one exists, omit to use as default", + args: { name: "frontend-ip" }, + }, + { + name: "--frontend-port", + description: "Name or ID of the frontend port", + args: { name: "frontend-port" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--ssl-cert", + description: "Name or ID of the SSL certificate to use", + args: { name: "ssl-cert" }, + }, + { + name: "--ssl-profile-id", + description: "Name or ID of the SSL profile to use", + args: { name: "ssl-profile-id" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "private-link", + description: "Manage private link of an application gateway", + subcommands: [ + { + name: "add", + description: + "Add a new private link with a default IP configuration and associate it with an existing frontend IP", + options: [ + { + name: "--frontend-ip", + description: + "Frontend IP that the private link will associate to", + args: { name: "frontend-ip" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the private link configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "Name or ID of a subnet within the same vnet of an application gateway", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--ip-address", + description: + "Static private IP address of a subnet for private link. If omitting, a dynamic one will be created", + args: { name: "ip-address" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--primary", + description: "Whether the IP configuration is primary or not", + args: { + name: "primary", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--subnet-prefix", + description: "CIDR prefix to use when creating a new subnet", + args: { name: "subnet-prefix" }, + }, + ], + }, + { + name: "list", + description: "List all the private links", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a private link and clear association with Frontend IP. The subnet associate with a private link might need to clear manually", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the private link configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show a private link", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the private link configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "ip-config", + description: + "Manage IP configuration of a private link to configure its capability", + subcommands: [ + { + name: "add", + description: + "Add an IP configuration to a private link to scale up its capability", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the private IP for private link", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--private-link", + description: "Name of private link", + args: { name: "private-link" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ip-address", + description: + "Static private IP address of a subnet for private link. If omitting, a dynamic one will be created", + args: { name: "ip-address" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--primary", + description: + "Whether the IP configuration is primary or not", + args: { + name: "primary", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: + "List all the IP configurations of a private link", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: "--private-link", + description: "Name of private link", + args: { name: "private-link" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove an IP configuration from a private link to scale down its capability", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the private IP for private link", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--private-link", + description: "Name of private link", + args: { name: "private-link" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show an IP configuration of a private link", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the private IP for private link", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--private-link", + description: "Name of private link", + args: { name: "private-link" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "probe", + description: + "Manage probes to gather and evaluate information on an application gateway", + subcommands: [ + { + name: "create", + description: "Create a probe", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the probe", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: [ + "--host-name-from-http-settings", + "--from-http-settings", + ], + description: "Whether to use host header from HTTP settings", + args: { + name: "host-name-from-http-settings", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--host-name-from-settings", "--from-settings"], + description: + "Whether to use host header from settings. Pick hostname from settings is currently not supported, now only support false", + args: { + name: "host-name-from-settings", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--host", + description: "Name of the host to send the probe", + args: { name: "host" }, + }, + { + name: "--interval", + description: + "Time interval in seconds between consecutive probes", + args: { name: "interval" }, + }, + { + name: "--match-body", + description: + "Body that must be contained in the health response", + args: { name: "match-body" }, + }, + { + name: "--match-status-codes", + description: + 'Space-separated list of allowed ranges of healthy status codes for the health response. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "match-status-codes" }, + }, + { + name: "--min-servers", + description: + "Minimum number of servers that are always marked healthy", + args: { name: "min-servers" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--path", + description: + 'Relative path of probe. Valid path starts from "/". Probe is sent to ://:', + args: { name: "path" }, + }, + { + name: "--port", + description: + "Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will be used. This property is valid for Standard_v2 and WAF_v2 only", + args: { name: "port" }, + }, + { + name: "--protocol", + description: "Protocol used for the probe", + args: { + name: "protocol", + suggestions: ["Http", "Https", "Tcp", "Tls"], + }, + }, + { + name: "--threshold", + description: + "Number of failed probes after which the back end server is marked down", + args: { name: "threshold" }, + }, + { + name: "--timeout", + description: "Probe timeout in seconds", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete", + description: "Delete a probe", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the probe", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List probes", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a probe", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the probe", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a probe", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the probe", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: [ + "--host-name-from-http-settings", + "--from-http-settings", + ], + description: "Whether to use host header from HTTP settings", + args: { + name: "host-name-from-http-settings", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--host-name-from-settings", "--from-settings"], + description: + "Whether to use host header from settings. Pick hostname from settings is currently not supported, now only support false", + args: { + name: "host-name-from-settings", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--host", + description: "Name of the host to send the probe", + args: { name: "host" }, + }, + { + name: "--interval", + description: + "Time interval in seconds between consecutive probes", + args: { name: "interval" }, + }, + { + name: "--match-body", + description: + "Body that must be contained in the health response", + args: { name: "match-body" }, + }, + { + name: "--match-status-codes", + description: + 'Space-separated list of allowed ranges of healthy status codes for the health response. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "match-status-codes" }, + }, + { + name: "--min-servers", + description: + "Minimum number of servers that are always marked healthy", + args: { name: "min-servers" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--path", + description: + 'Relative path of probe. Valid path starts from "/". Probe is sent to ://:', + args: { name: "path" }, + }, + { + name: "--port", + description: + "Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will be used. This property is valid for Standard_v2 and WAF_v2 only", + args: { name: "port" }, + }, + { + name: "--protocol", + description: "Protocol used for the probe", + args: { + name: "protocol", + suggestions: ["Http", "Https", "Tcp", "Tls"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--threshold", + description: + "Number of failed probes after which the back end server is marked down", + args: { name: "threshold" }, + }, + { + name: "--timeout", + description: "Probe timeout in seconds", + args: { name: "timeout" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "redirect-config", + description: + "Manage redirect configurations of an application gateway", + subcommands: [ + { + name: "create", + description: "Create a redirect configuration", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the redirect configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--type", "-t"], + description: "HTTP redirection type", + args: { + name: "type", + suggestions: [ + "Found", + "Permanent", + "SeeOther", + "Temporary", + ], + }, + isRequired: true, + }, + { + name: "--include-path", + description: "Whether to include path in the redirected url", + args: { + name: "include-path", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--include-query-string", + description: + "Whether to include query string in the redirected url", + args: { + name: "include-query-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--target-listener", + description: + "Name or ID of the HTTP listener to redirect the request to", + args: { name: "target-listener" }, + }, + { + name: "--target-url", + description: "URL to redirect the request to", + args: { name: "target-url" }, + }, + ], + }, + { + name: "delete", + description: "Delete a redirect configuration", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the redirect configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List redirect configurations", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a redirect configuration", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the redirect configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a redirect configuration", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the redirect configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--include-path", + description: "Whether to include path in the redirected url", + args: { + name: "include-path", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--include-query-string", + description: + "Whether to include query string in the redirected url", + args: { + name: "include-query-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--target-listener", + description: + "Name or ID of the HTTP listener to redirect the request to", + args: { name: "target-listener" }, + }, + { + name: "--target-url", + description: "URL to redirect the request to", + args: { name: "target-url" }, + }, + { + name: ["--type", "-t"], + description: "HTTP redirection type", + args: { + name: "type", + suggestions: [ + "Found", + "Permanent", + "SeeOther", + "Temporary", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "rewrite-rule", + description: "Manage rewrite rules of an application gateway", + subcommands: [ + { + name: "create", + description: "Create a rewrite rule", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rewrite rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rewrite rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + { + name: "--conditions", + description: + 'Conditions based on which the action set execution will be evaluated. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "conditions" }, + }, + { + name: "--enable-reroute", + description: + "If set as true, it will re-evaluate the url path map provided in path based request routing rules using modified path", + args: { + name: "enable-reroute", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--modified-path", + description: "URL path for url rewrite", + args: { name: "modified-path" }, + }, + { + name: "--modified-query-string", + description: "Query string for url rewrite", + args: { name: "modified-query-string" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--request-headers", + description: + 'Space-separated list of HEADER=VALUE pairs. Values from: az network application-gateway rewrite-rule list-request-headers. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "request-headers" }, + }, + { + name: "--response-headers", + description: + 'Space-separated list of HEADER=VALUE pairs. Values from: az network application-gateway rewrite-rule list-response-headers. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "response-headers" }, + }, + { + name: "--sequence", + description: + "Determine the execution order of the rule in the rule set", + args: { name: "sequence" }, + }, + ], + }, + { + name: "delete", + description: "Delete a rewrite rule", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rewrite rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rewrite rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List rewrite rules", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rewrite rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + ], + }, + { + name: "list-request-headers", + description: "List all available request headers", + }, + { + name: "list-response-headers", + description: "List all available response headers", + }, + { + name: "show", + description: "Get the details of a rewrite rule", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rewrite rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rewrite rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a rewrite rule", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rewrite rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rewrite rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--conditions", + description: + 'Conditions based on which the action set execution will be evaluated. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "conditions" }, + }, + { + name: "--enable-reroute", + description: + "If set as true, it will re-evaluate the url path map provided in path based request routing rules using modified path", + args: { + name: "enable-reroute", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--modified-path", + description: "URL path for url rewrite", + args: { name: "modified-path" }, + }, + { + name: "--modified-query-string", + description: "Query string for url rewrite", + args: { name: "modified-query-string" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--request-headers", + description: + 'Space-separated list of HEADER=VALUE pairs. Values from: az network application-gateway rewrite-rule list-request-headers. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "request-headers" }, + }, + { + name: "--response-headers", + description: + 'Space-separated list of HEADER=VALUE pairs. Values from: az network application-gateway rewrite-rule list-response-headers. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "response-headers" }, + }, + { + name: "--sequence", + description: + "Determine the execution order of the rule in the rule set", + args: { name: "sequence" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "condition", + description: + "Manage rewrite rule conditions of an application gateway", + subcommands: [ + { + name: "create", + description: "Create a rewrite rule condition", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the rewrite rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rewrite rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + { + name: "--variable", + description: + "Variable whose value is being evaluated. Values from: az network application-gateway rewrite-rule condition list-server-variables (prefix headers needed)", + args: { name: "variable" }, + isRequired: true, + }, + { + name: "--ignore-case", + description: "Make comparison case-insensitive", + args: { + name: "ignore-case", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--negate", + description: "Check the negation of the condition", + args: { + name: "negate", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--pattern", + description: + "Pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition", + args: { name: "pattern" }, + }, + ], + }, + { + name: "delete", + description: "Delete a rewrite rule condition", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the rewrite rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rewrite rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + { + name: "--variable", + description: + "Variable whose value is being evaluated. Values from: az network application-gateway rewrite-rule condition list-server-variables (prefix headers needed)", + args: { name: "variable" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List rewrite rule conditions", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the rewrite rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rewrite rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + ], + }, + { + name: "list-server-variables", + description: "List all available server variables", + }, + { + name: "show", + description: "Get the details of a rewrite rule condition", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the rewrite rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rewrite rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + { + name: "--variable", + description: + "Variable whose value is being evaluated. Values from: az network application-gateway rewrite-rule condition list-server-variables (prefix headers needed)", + args: { name: "variable" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a rewrite rule condition", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of the rewrite rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--rule-set-name", + description: "Name of the rewrite rule set", + args: { name: "rule-set-name" }, + isRequired: true, + }, + { + name: "--variable", + description: + "Variable whose value is being evaluated. Values from: az network application-gateway rewrite-rule condition list-server-variables (prefix headers needed)", + args: { name: "variable" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ignore-case", + description: "Make comparison case-insensitive", + args: { + name: "ignore-case", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--negate", + description: "Check the negation of the condition", + args: { + name: "negate", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--pattern", + description: + "Pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition", + args: { name: "pattern" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "set", + description: "Manage rewrite rule sets of an application gateway", + subcommands: [ + { + name: "create", + description: "Create a rewrite rule set", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rewrite rule set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--rules", + description: + 'Rewrite rules in the rewrite rule set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rules" }, + }, + ], + }, + { + name: "delete", + description: "Delete a rewrite rule set", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rewrite rule set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List rewrite rule sets", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a rewrite rule set", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rewrite rule set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a rewrite rule set", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rewrite rule set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--rules", + description: + 'Rewrite rules in the rewrite rule set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rules" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "root-cert", + description: + "Manage trusted root certificates of an application gateway", + subcommands: [ + { + name: "create", + description: "Upload a trusted root certificate", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the trusted root certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--cert-file", + description: "Path to the certificate file", + args: { name: "cert-file" }, + }, + { + name: "--keyvault-secret", + description: "ID of keyvault secret", + args: { name: "keyvault-secret" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a trusted root certificate", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the trusted root certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List trusted root certificates", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a trusted root certificate", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the trusted root certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a trusted root certificate", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the trusted root certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--cert-file", + description: "Path to the certificate file", + args: { name: "cert-file" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--keyvault-secret", + description: "ID of keyvault secret", + args: { name: "keyvault-secret" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "routing-rule", + description: + "Evaluate probe information and define TCP/TLS routing rules", + subcommands: [ + { + name: "create", + description: "Create a rule", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the routing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address-pool", + description: + "Name or ID of the backend address pool. If only one exists, omit to use as default", + args: { name: "address-pool" }, + }, + { + name: "--listener", + description: + "Name or ID of the listener. If only one exists, omit to use as default", + args: { name: "listener" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--priority", + description: + "Priority of the routing rule. Supported SKU tiers are Standard_v2, WAF_v2", + args: { name: "priority" }, + }, + { + name: "--rule-type", + description: "Type of the routing rule", + args: { + name: "rule-type", + suggestions: ["Basic", "PathBasedRouting"], + }, + }, + { + name: "--settings", + description: + "Name or ID of the settings. If only one exists, omit to use as default", + args: { name: "settings" }, + }, + ], + }, + { + name: "delete", + description: "Delete a rule", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the routing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List rules", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a rule", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the routing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a rule", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the routing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--address-pool", + description: "Name or ID of the backend address pool", + args: { name: "address-pool" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--listener", + description: "Name or ID of the listener", + args: { name: "listener" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--priority", + description: + "Priority of the routing rule. Supported SKU tiers are Standard_v2, WAF_v2", + args: { name: "priority" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--rule-type", + description: "Type of the routing rule", + args: { + name: "rule-type", + suggestions: ["Basic", "PathBasedRouting"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--settings", + description: "Name or ID of the settings", + args: { name: "settings" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "rule", + description: + "Evaluate probe information and define HTTP/HTTPS routing rules.\n\n\t\tFor more information, visit https://learn.microsoft.com/en-us/azure/web-application-firewall/ag/application-gateway-customize-waf-rules-cli", + subcommands: [ + { + name: "create", + description: "Create a rule", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the request routing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address-pool", + description: + "Name or ID of the backend address pool. If only one exists, omit to use as default", + args: { name: "address-pool" }, + }, + { + name: "--http-listener", + description: + "Name or ID of the HTTP listener. If only one exists, omit to use as default", + args: { name: "http-listener" }, + }, + { + name: "--http-settings", + description: + "Name or ID of the HTTP settings. If only one exists, omit to use as default", + args: { name: "http-settings" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--priority", + description: + "Priority of the request routing rule. Supported SKU tiers are Standard_v2, WAF_v2", + args: { name: "priority" }, + }, + { + name: "--redirect-config", + description: + "Name or ID of the redirect configuration to use with the created rule", + args: { name: "redirect-config" }, + }, + { + name: "--rewrite-rule-set", + description: "Name or ID of the rewrite rule set", + args: { name: "rewrite-rule-set" }, + }, + { + name: "--rule-type", + description: "Type of the request routing rule", + args: { + name: "rule-type", + suggestions: ["Basic", "PathBasedRouting"], + }, + }, + { + name: "--url-path-map", + description: "Name or ID of the url path map", + args: { name: "url-path-map" }, + }, + ], + }, + { + name: "delete", + description: "Delete a rule", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the request routing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List rules", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a rule", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the request routing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a rule", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the request routing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--address-pool", + description: + "Name or ID of the backend address pool. If only one exists, omit to use as default", + args: { name: "address-pool" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--http-listener", + description: + "Name or ID of the HTTP listener. If only one exists, omit to use as default", + args: { name: "http-listener" }, + }, + { + name: "--http-settings", + description: + "Name or ID of the HTTP settings. If only one exists, omit to use as default", + args: { name: "http-settings" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--priority", + description: + "Priority of the request routing rule. Supported SKU tiers are Standard_v2, WAF_v2", + args: { name: "priority" }, + }, + { + name: "--redirect-config", + description: + "Name or ID of the redirect configuration to use with the created rule", + args: { name: "redirect-config" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--rewrite-rule-set", + description: "Name or ID of the rewrite rule set", + args: { name: "rewrite-rule-set" }, + }, + { + name: "--rule-type", + description: "Type of the request routing rule", + args: { + name: "rule-type", + suggestions: ["Basic", "PathBasedRouting"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--url-path-map", + description: "Name or ID of the url path map", + args: { name: "url-path-map" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "settings", + description: "Manage settings of an application gateway", + subcommands: [ + { + name: "create", + description: "Create settings", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend settings", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--port", + description: "Number of the destination port on the backend", + args: { name: "port" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--backend-pool-host-name", + description: + "Whether to use host name of the backend server as the host header", + args: { + name: "backend-pool-host-name", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--host-name", + description: "Host header sent to the backend servers", + args: { name: "host-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--probe", + description: + "Name or ID of the probe to associate with the settings", + args: { name: "probe" }, + }, + { + name: "--protocol", + description: "Protocol used to communicate with the backend", + args: { + name: "protocol", + suggestions: ["Http", "Https", "Tcp", "Tls"], + }, + }, + { + name: "--root-certs", + description: + 'Space-separated list of trusted root certificates (Names and IDs) to associate with the HTTP settings. --host-name or --backend-pool-host-name is required when this field is set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "root-certs" }, + }, + { + name: "--timeout", + description: "Request timeout in seconds", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete", + description: "Delete settings", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend settings", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List settings", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of settings", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend settings", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update settings", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend settings", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--backend-pool-host-name", + description: + "Whether to use host name of the backend server as the host header", + args: { + name: "backend-pool-host-name", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--host-name", + description: "Host header sent to the backend servers", + args: { name: "host-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--port", + description: "Number of the destination port on the backend", + args: { name: "port" }, + }, + { + name: "--probe", + description: + "Name or ID of the probe to associate with the settings", + args: { name: "probe" }, + }, + { + name: "--protocol", + description: "Protocol used to communicate with the backend", + args: { + name: "protocol", + suggestions: ["Http", "Https", "Tcp", "Tls"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--root-certs", + description: + 'Space-separated list of trusted root certificates (Names and IDs) to associate with the HTTP settings. --host-name or --backend-pool-host-name is required when this field is set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "root-certs" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--timeout", + description: "Request timeout in seconds", + args: { name: "timeout" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "ssl-cert", + description: + "Manage SSL certificates of an application gateway.\n\n\t\tFor more information visit https://learn.microsoft.com/en-us/azure/application-gateway/tutorial-ssl-cli", + subcommands: [ + { + name: "create", + description: "Upload an SSL certificate", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the SSL certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--cert-file", + description: "Path to the pfx certificate file", + args: { name: "cert-file" }, + }, + { + name: "--cert-password", + description: "Certificate password", + args: { name: "cert-password" }, + }, + { + name: "--key-vault-secret-id", + description: + "Secret ID of (base-64 encoded unencrypted pfx) Secret or Certificate object stored in Azure KeyVault", + args: { name: "key-vault-secret-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an SSL certificate", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the SSL certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List SSL certificates", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of an SSL certificate", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the SSL certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an SSL certificate", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the SSL certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--cert-file", + description: "Path to the pfx certificate file", + args: { name: "cert-file" }, + }, + { + name: "--cert-password", + description: "Certificate password", + args: { name: "cert-password" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--key-vault-secret-id", + description: + "Secret ID of (base-64 encoded unencrypted pfx) Secret or Certificate object stored in Azure KeyVault", + args: { name: "key-vault-secret-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "ssl-policy", + description: "Manage the SSL policy of an application gateway", + subcommands: [ + { + name: "list-options", + description: + "List available SSL options for configuring SSL policy", + }, + { + name: "set", + description: "Update an SSL policy settings", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--cipher-suites", + description: + 'SSL cipher suites to be enabled in the specified order to application gateway. Values from az network application-gateway ssl-policy list-options. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "cipher-suites" }, + }, + { + name: "--disabled-ssl-protocols", + description: + 'Space-separated list of protocols to disable. Values from az network application-gateway ssl-policy list-options. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "disabled-ssl-protocols" }, + }, + { + name: "--min-protocol-version", + description: + "Minimum version of SSL protocol to be supported on application gateway. Values from: az network application-gateway ssl-policy list-options", + args: { + name: "min-protocol-version", + suggestions: ["TLSv1_0", "TLSv1_1", "TLSv1_2", "TLSv1_3"], + }, + }, + { + name: ["--name", "-n"], + description: "Name of SSL policy", + args: { + name: "name", + suggestions: [ + "AppGwSslPolicy20150501", + "AppGwSslPolicy20170401", + "AppGwSslPolicy20170401S", + "AppGwSslPolicy20220101", + "AppGwSslPolicy20220101S", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--policy-type", + description: "Type of SSL policy", + args: { + name: "policy-type", + suggestions: ["Custom", "CustomV2", "Predefined"], + }, + }, + ], + }, + { + name: "show", + description: "Get the details of an SSL policy settings", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "predefined", + description: "Get information on predefined SSL policies", + subcommands: [ + { + name: "list", + description: + "List all SSL predefined policies for configuring SSL policy", + }, + { + name: "show", + description: + "Get SSL predefined policy with the specified policy name", + options: [ + { + name: ["--name", "-n"], + description: "Name of SSL predefined policy", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "ssl-profile", + description: "Manage SSL profiles of application gateway", + subcommands: [ + { + name: "add", + description: "Add an SSL profile of the application gateway", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the SSL profile", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--cipher-suites", + description: + 'SSL cipher suites to be enabled in the specified order to application gateway. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "cipher-suites" }, + }, + { + name: ["--client-auth-configuration", "--client-auth-config"], + description: + "Client authentication configuration of the application gateway resource", + args: { + name: "client-auth-configuration", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--disabled-ssl-protocols", "--disabled-protocols"], + description: + 'Space-separated list of protocols to disable. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "disabled-ssl-protocols" }, + }, + { + name: "--min-protocol-version", + description: + "Minimum version of SSL protocol to be supported on application gateway", + args: { + name: "min-protocol-version", + suggestions: ["TLSv1_0", "TLSv1_1", "TLSv1_2", "TLSv1_3"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--policy-name", + description: "Name of SSL policy", + args: { + name: "policy-name", + suggestions: [ + "AppGwSslPolicy20150501", + "AppGwSslPolicy20170401", + "AppGwSslPolicy20170401S", + "AppGwSslPolicy20220101", + "AppGwSslPolicy20220101S", + ], + }, + }, + { + name: "--policy-type", + description: "Type of SSL policy", + args: { + name: "policy-type", + suggestions: ["Custom", "CustomV2", "Predefined"], + }, + }, + { + name: [ + "--trusted-client-certificates", + "--trusted-client-cert", + ], + description: + 'Array of references to application gateway trusted client certificates. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "trusted-client-certificates" }, + }, + ], + }, + { + name: "list", + description: + "List the existing SSL profiles of the application gateway", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove an existing SSL profile of the application gateway", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the SSL profile", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "show", + description: + "Show an existing SSL profile of the application gateway", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the SSL profile", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update SSL profile of the application gateway", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the SSL profile", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--cipher-suites", + description: + 'SSL cipher suites to be enabled in the specified order to application gateway. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "cipher-suites" }, + }, + { + name: ["--client-auth-configuration", "--client-auth-config"], + description: + "Client authentication configuration of the application gateway resource", + args: { + name: "client-auth-configuration", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--disabled-ssl-protocols", "--disabled-protocols"], + description: + 'Space-separated list of protocols to disable. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "disabled-ssl-protocols" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--min-protocol-version", + description: + "Minimum version of SSL protocol to be supported on application gateway", + args: { + name: "min-protocol-version", + suggestions: ["TLSv1_0", "TLSv1_1", "TLSv1_2", "TLSv1_3"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--policy-name", + description: "Name of SSL policy", + args: { + name: "policy-name", + suggestions: [ + "AppGwSslPolicy20150501", + "AppGwSslPolicy20170401", + "AppGwSslPolicy20170401S", + "AppGwSslPolicy20220101", + "AppGwSslPolicy20220101S", + ], + }, + }, + { + name: "--policy-type", + description: "Type of SSL policy", + args: { + name: "policy-type", + suggestions: ["Custom", "CustomV2", "Predefined"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: [ + "--trusted-client-certificates", + "--trusted-client-cert", + ], + description: + 'Array of references to application gateway trusted client certificates. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "trusted-client-certificates" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "url-path-map", + description: "Manage URL path maps of an application gateway", + subcommands: [ + { + name: "create", + description: "Create a URL path map", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the URL path map", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--paths", + description: + 'Space-separated list of paths to associate with the rule. Valid paths start and end with "/", e.g, "/bar/". Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "paths" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address-pool", + description: + "Name or ID of the backend address pool to use with the created rule", + args: { name: "address-pool" }, + }, + { + name: "--default-address-pool", + description: + "Name or ID of the default backend address pool. It is mandatory unless target type is redirection", + args: { name: "default-address-pool" }, + }, + { + name: "--default-http-settings", + description: + "Name or ID of the default HTTP settings. It is mandatory unless target type is redirection", + args: { name: "default-http-settings" }, + }, + { + name: "--default-redirect-config", + description: + "Name or ID of the default redirect configuration", + args: { name: "default-redirect-config" }, + }, + { + name: "--default-rewrite-rule-set", + description: "Name or ID of the default rewrite rule set", + args: { name: "default-rewrite-rule-set" }, + }, + { + name: "--http-settings", + description: + "Name or ID of the HTTP settings to use with the created rule", + args: { name: "http-settings" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--redirect-config", + description: + "Name or ID of the redirect configuration to use with the created rule", + args: { name: "redirect-config" }, + }, + { + name: "--rewrite-rule-set", + description: + "Name or ID of the rewrite rule set. If not specified, the default for the map will be used", + args: { name: "rewrite-rule-set" }, + }, + { + name: "--rule-name", + description: "Name of the rule for a URL path map", + args: { name: "rule-name" }, + }, + { + name: "--rules", + description: + 'Path rule of URL path map resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rules" }, + }, + { + name: "--waf-policy", + description: + "Name or ID of a web application firewall policy resource", + args: { name: "waf-policy" }, + }, + ], + }, + { + name: "delete", + description: "Delete a URL path map", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the URL path map", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List URL path maps", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a URL path map", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the URL path map", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a URL path map", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the URL path map", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--default-address-pool", + description: "Name or ID of the default backend address pool", + args: { name: "default-address-pool" }, + }, + { + name: "--default-http-settings", + description: "Name or ID of the default HTTP settings", + args: { name: "default-http-settings" }, + }, + { + name: "--default-redirect-config", + description: + "Name or ID of the default redirect configuration", + args: { name: "default-redirect-config" }, + }, + { + name: "--default-rewrite-rule-set", + description: "Name or ID of the default rewrite rule set", + args: { name: "default-rewrite-rule-set" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--rules", + description: + 'Path rule of URL path map resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rules" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "rule", + description: "Manage the rules of a URL path map", + subcommands: [ + { + name: "create", + description: "Create a rule for a URL path map", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rule for a URL path map", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path-map-name", + description: "Name of the URL path map", + args: { name: "path-map-name" }, + isRequired: true, + }, + { + name: "--paths", + description: + 'Space-separated list of paths to associate with the rule. Valid paths start and end with "/", e.g, "/bar/". Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "paths" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address-pool", + description: + "Name or ID of the backend address pool to use with the created rule", + args: { name: "address-pool" }, + }, + { + name: "--http-settings", + description: + "Name or ID of the HTTP settings to use with the created rule", + args: { name: "http-settings" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--redirect-config", + description: + "Name or ID of the redirect configuration to use with the created rule", + args: { name: "redirect-config" }, + }, + { + name: "--rewrite-rule-set", + description: + "Name or ID of the rewrite rule set. If not specified, the default for the map will be used", + args: { name: "rewrite-rule-set" }, + }, + { + name: "--waf-policy", + description: + "Name or ID of a web application firewall policy resource", + args: { name: "waf-policy" }, + }, + ], + }, + { + name: "delete", + description: "Delete a rule for a URL path map", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rule for a URL path map", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path-map-name", + description: "Name of the URL path map", + args: { name: "path-map-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "waf-config", + description: + "Configure the settings of a web application firewall.\n\n\t\tThese commands are only applicable to application gateways with an SKU type of WAF. To learn more, visit https://learn.microsoft.com/en-us/azure/web-application-firewall/ag/tutorial-restrict-web-traffic-cli", + subcommands: [ + { + name: "list-rule-sets", + description: + "Get information on available WAF rule sets, rule groups, and rule IDs", + options: [ + { + name: "--group", + description: + "List rules for the specified rule group. Use * to list rules for all groups. Omit to suppress listing individual rules", + args: { name: "group" }, + }, + { + name: "--type", + description: "Rule set type to list. Omit to list all types", + args: { name: "type" }, + }, + { + name: "--version", + description: + "Rule set version to list. Omit to list all versions", + args: { name: "version" }, + }, + ], + }, + { + name: "set", + description: + "Update the firewall configuration of a web application", + options: [ + { + name: "--enabled", + description: + "Specify whether the application firewall is enabled", + args: { name: "enabled", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--disabled-rule-groups", + description: + "Space-separated list of rule groups to disable. To disable individual rules, use --disabled-rules. value from: az network application-gateway waf-config list-rule-sets", + args: { name: "disabled-rule-groups" }, + }, + { + name: "--disabled-rules", + description: + "Space-separated list of rule IDs to disable. value from: az network application-gateway waf-config list-rule-sets", + args: { name: "disabled-rules" }, + }, + { + name: "--exclusion", + description: "Add an exclusion expression to the WAF check", + args: { name: "exclusion" }, + }, + { + name: "--file-upload-limit", + description: "File upload size limit in MB", + args: { name: "file-upload-limit" }, + }, + { + name: "--firewall-mode", + description: "Web application firewall mode", + args: { + name: "firewall-mode", + suggestions: ["detection", "prevention"], + }, + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--max-request-body-size", + description: "Max request body size in KB", + args: { name: "max-request-body-size" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--request-body-check", + description: "Allow WAF to check the request body", + args: { + name: "request-body-check", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-set-type", + description: + "Rule set type. value from: az network application-gateway waf-config list-rule-sets", + args: { name: "rule-set-type" }, + }, + { + name: "--rule-set-version", + description: + "Rule set version. value from: az network application-gateway waf-config list-rule-sets", + args: { name: "rule-set-version" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get the firewall configuration of a web application", + options: [ + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "waf-policy", + description: + "Manage application gateway web application firewall (WAF) policies.\n\n\t\tTo learn more about Web Application Firewall visit https://learn.microsoft.com/en-us/azure/web-application-firewall/ag/ag-overview", + subcommands: [ + { + name: "create", + description: "Create an application gateway WAF policy", + options: [ + { + name: ["--name", "-n"], + description: "Name of the application gateway WAF policy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--custom-rules", + description: + 'The custom rules inside the policy. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "custom-rules" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--managed-rules", + description: + 'Describes the managedRules structure. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "managed-rules" }, + }, + { + name: "--policy-settings", + description: + 'The PolicySettings for policy. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "policy-settings" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--type", + description: "Type of the web application firewall rule set", + args: { + name: "type", + suggestions: ["Microsoft_BotManagerRuleSet", "OWASP"], + }, + }, + { + name: "--version", + description: + "Version of the web application firewall rule set type. 0.1 and 1.0 are used for Microsoft_BotManagerRuleSet", + args: { + name: "version", + suggestions: ["0.1", "1.0", "2.2.9", "3.0", "3.1", "3.2"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an application gateway WAF policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the application gateway WAF policy", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List application gateway WAF policies", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of an application gateway WAF policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the application gateway WAF policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an application gateway WAF policy", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--custom-rules", + description: + 'The custom rules inside the policy. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "custom-rules" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--managed-rules", + description: + 'Describes the managedRules structure. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "managed-rules" }, + }, + { + name: ["--name", "-n"], + description: "The name of the application gateway WAF policy", + args: { name: "name" }, + }, + { + name: "--policy-settings", + description: + 'The PolicySettings for policy. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "policy-settings" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the application gateway WAF policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "custom-rule", + description: + "Manage application gateway web application firewall (WAF) policy custom rules", + subcommands: [ + { + name: "create", + description: + "Create an application gateway WAF policy custom rule", + options: [ + { + name: "--action", + description: "Action to take", + args: { + name: "action", + suggestions: ["Allow", "Block", "Log"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the WAF policy rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: "Name of the application gateway WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: "--priority", + description: + "Rule priority. Lower values are evaluated prior to higher values", + args: { name: "priority" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-type", + description: "Type of rule", + args: { + name: "rule-type", + suggestions: ["Invalid", "MatchRule", "RateLimitRule"], + }, + isRequired: true, + }, + { + name: "--group-by-user-session", + description: + 'List of user session identifier group by clauses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "group-by-user-session" }, + }, + { + name: "--match-conditions", + description: + 'List of match conditions. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "match-conditions" }, + }, + { + name: "--rate-limit-duration", + description: + "Duration over which Rate Limit policy will be applied. Applies only when ruleType is RateLimitRule", + args: { + name: "rate-limit-duration", + suggestions: ["FiveMins", "OneMin"], + }, + }, + { + name: "--rate-limit-threshold", + description: + "Rate Limit threshold to apply in case ruleType is RateLimitRule. Must be greater than or equal to 1", + args: { name: "rate-limit-threshold" }, + }, + { + name: "--state", + description: + "Describe if the custom rule is in enabled or disabled state", + args: { + name: "state", + suggestions: ["Disabled", "Enabled"], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete an application gateway WAF policy custom rule", + options: [ + { + name: ["--name", "-n"], + description: "Name of the WAF policy rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: "Name of the application gateway WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List application gateway WAF policy custom rules", + options: [ + { + name: "--policy-name", + description: "Name of the application gateway WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of an application gateway WAF policy custom rule", + options: [ + { + name: ["--name", "-n"], + description: "Name of the WAF policy rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: "Name of the application gateway WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an application gateway WAF policy custom rule", + options: [ + { + name: ["--name", "-n"], + description: "Name of the WAF policy rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: "Name of the application gateway WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--action", + description: "Action to take", + args: { + name: "action", + suggestions: ["Allow", "Block", "Log"], + }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--group-by-user-session", + description: + 'List of user session identifier group by clauses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "group-by-user-session" }, + }, + { + name: "--match-conditions", + description: + 'List of match conditions. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "match-conditions" }, + }, + { + name: "--priority", + description: + "Rule priority. Lower values are evaluated prior to higher values", + args: { name: "priority" }, + }, + { + name: "--rate-limit-duration", + description: + "Duration over which Rate Limit policy will be applied. Applies only when ruleType is RateLimitRule", + args: { + name: "rate-limit-duration", + suggestions: ["FiveMins", "OneMin"], + }, + }, + { + name: "--rate-limit-threshold", + description: + "Rate Limit threshold to apply in case ruleType is RateLimitRule. Must be greater than or equal to 1", + args: { name: "rate-limit-threshold" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--rule-type", + description: "Type of rule", + args: { + name: "rule-type", + suggestions: ["Invalid", "MatchRule", "RateLimitRule"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: + "Describe if the custom rule is in enabled or disabled state", + args: { + name: "state", + suggestions: ["Disabled", "Enabled"], + }, + }, + ], + }, + { + name: "match-condition", + description: + "Manage match conditions in an application gateway web application firewall (WAF) policy custom rule", + subcommands: [ + { + name: "add", + description: + "Add a match condition to an application gateway WAF policy custom rule", + options: [ + { + name: "--match-variables", + description: + 'Space-separated list of variables to use when matching. Variable values: RemoteAddr, RequestMethod, QueryString, PostArgs, RequestUri, RequestHeaders, RequestBody, RequestCookies. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "match-variables" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the WAF policy rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--operator", + description: "Operator for matching", + args: { + name: "operator", + suggestions: [ + "Any", + "BeginsWith", + "Contains", + "EndsWith", + "Equal", + "GeoMatch", + "GreaterThan", + "GreaterThanOrEqual", + "IPMatch", + "LessThan", + "LessThanOrEqual", + "Regex", + ], + }, + isRequired: true, + }, + { + name: "--policy-name", + description: + "Name of the application gateway WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--index", + description: + "Index of match condition. If no index is provided, the default behavior is append", + args: { name: "index" }, + }, + { + name: "--negate", + description: "Match the negative of the condition", + args: { + name: "negate", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--transforms", + description: + 'Space-separated list of transforms to apply when matching. Allowed values: HtmlEntityDecode, Uppercase, Lowercase, RemoveNulls, Trim, UrlDecode, UrlEncode. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "transforms" }, + }, + { + name: "--values", + description: + 'Space-separated list of values to match. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "values" }, + }, + ], + }, + { + name: "list", + description: + "List application gateway WAF policy custom rule match conditions", + options: [ + { + name: ["--name", "-n"], + description: "Name of the WAF policy rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: + "Name of the application gateway WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a match condition from an application gateway WAF policy custom rule", + options: [ + { + name: "--index", + description: "Index of the match condition to remove", + args: { name: "index" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the WAF policy rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: + "Name of the application gateway WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "managed-rule", + description: + "Manage managed rules of a WAF policy.\n\n\t\tVisit https://learn.microsoft.com/en-us/azure/web-application-firewall/afds/afds-overview", + subcommands: [ + { + name: "exclusion", + description: + "Manage OWASP CRS exclusions that are applied on a WAF policy managed rules", + subcommands: [ + { + name: "add", + description: + "Add an OWASP CRS exclusion rule to the WAF policy managed rules", + options: [ + { + name: [ + "--selector-match-operator", + "--match-operator", + ], + description: + "When match-variable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to", + args: { + name: "selector-match-operator", + suggestions: [ + "Contains", + "EndsWith", + "Equals", + "EqualsAny", + "StartsWith", + ], + }, + isRequired: true, + }, + { + name: "--match-variable", + description: "Variable to be excluded", + args: { + name: "match-variable", + suggestions: [ + "RequestArgKeys", + "RequestArgNames", + "RequestArgValues", + "RequestCookieKeys", + "RequestCookieNames", + "RequestCookieValues", + "RequestHeaderKeys", + "RequestHeaderNames", + "RequestHeaderValues", + ], + }, + isRequired: true, + }, + { + name: "--policy-name", + description: + "Name of the web application firewall policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--selector", + description: + "When match-variable is a collection, operator used to specify which elements in the collection this exclusion applies to", + args: { name: "selector" }, + isRequired: true, + }, + { + name: "--index", + description: + "Index of exclusion. If no index is provided, the default behavior is append", + args: { name: "index" }, + }, + { + name: "--rule-sets", + description: + 'The managed rule sets that are associated with the exclusion. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rule-sets" }, + }, + ], + }, + { + name: "list", + description: + "List all OWASP CRS exclusion rules that are applied on a WAF policy managed rules", + options: [ + { + name: "--policy-name", + description: + "The name of the web application firewall policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove all OWASP CRS exclusion rules that are applied on a WAF policy managed rules", + options: [ + { + name: "--policy-name", + description: + "The name of the web application firewall policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "rule-set", + description: "Define a managed rule set for exclusions", + subcommands: [ + { + name: "add", + description: "Add a managed rule set to an exclusion", + options: [ + { + name: [ + "--selector-match-operator", + "--match-operator", + ], + description: + "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to", + args: { + name: "selector-match-operator", + suggestions: [ + "Contains", + "EndsWith", + "Equals", + "EqualsAny", + "StartsWith", + ], + }, + isRequired: true, + }, + { + name: "--match-variable", + description: "The variable to be excluded", + args: { + name: "match-variable", + suggestions: [ + "RequestArgKeys", + "RequestArgNames", + "RequestArgValues", + "RequestCookieKeys", + "RequestCookieNames", + "RequestCookieValues", + "RequestHeaderKeys", + "RequestHeaderNames", + "RequestHeaderValues", + ], + }, + isRequired: true, + }, + { + name: "--policy-name", + description: + "The name of the web application firewall policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--selector", + description: + "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to", + args: { name: "selector" }, + isRequired: true, + }, + { + name: "--type", + description: + "The type of the web application firewall rule set", + args: { + name: "type", + suggestions: [ + "Microsoft_BotManagerRuleSet", + "OWASP", + ], + }, + isRequired: true, + }, + { + name: "--version", + description: + "The version of the web application firewall rule set type. 0.1 and 1.0 are used for Microsoft_BotManagerRuleSet", + args: { + name: "version", + suggestions: [ + "0.1", + "1.0", + "2.2.9", + "3.0", + "3.1", + "3.2", + ], + }, + isRequired: true, + }, + { + name: "--group-name", + description: + "The managed rule group for exclusion", + args: { name: "group-name" }, + }, + { + name: "--rule-ids", + description: + "List of rules that will be disabled. If provided, --group-name must be provided too", + args: { name: "rule-ids" }, + }, + ], + }, + { + name: "list", + description: + "List all managed rule sets of an exclusion", + options: [ + { + name: "--policy-name", + description: + "The name of the web application firewall policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove managed rule set within an exclusion", + options: [ + { + name: [ + "--selector-match-operator", + "--match-operator", + ], + description: + "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to", + args: { + name: "selector-match-operator", + suggestions: [ + "Contains", + "EndsWith", + "Equals", + "EqualsAny", + "StartsWith", + ], + }, + isRequired: true, + }, + { + name: "--match-variable", + description: "The variable to be excluded", + args: { + name: "match-variable", + suggestions: [ + "RequestArgKeys", + "RequestArgNames", + "RequestArgValues", + "RequestCookieKeys", + "RequestCookieNames", + "RequestCookieValues", + "RequestHeaderKeys", + "RequestHeaderNames", + "RequestHeaderValues", + ], + }, + isRequired: true, + }, + { + name: "--policy-name", + description: + "The name of the web application firewall policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--selector", + description: + "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to", + args: { name: "selector" }, + isRequired: true, + }, + { + name: "--type", + description: + "The type of the web application firewall rule set", + args: { + name: "type", + suggestions: [ + "Microsoft_BotManagerRuleSet", + "OWASP", + ], + }, + isRequired: true, + }, + { + name: "--version", + description: + "The version of the web application firewall rule set type. 0.1 and 1.0 are used for Microsoft_BotManagerRuleSet", + args: { + name: "version", + suggestions: [ + "0.1", + "1.0", + "2.2.9", + "3.0", + "3.1", + "3.2", + ], + }, + isRequired: true, + }, + { + name: "--group-name", + description: + "The managed rule group for exclusion", + args: { name: "group-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "rule-set", + description: + "Manage managed rule set of managed rules of a WAF policy", + subcommands: [ + { + name: "add", + description: + "Add managed rule set to the WAF policy managed rules. For rule set and rules, please visit: https://docs.microsoft.com/azure/web-application-firewall/ag/application-gateway-crs-rulegroups-rules", + options: [ + { + name: "--policy-name", + description: + "The name of the web application firewall policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--type", + description: + "The type of the web application firewall rule set", + args: { + name: "type", + suggestions: [ + "Microsoft_BotManagerRuleSet", + "OWASP", + ], + }, + isRequired: true, + }, + { + name: "--version", + description: + "The version of the web application firewall rule set type. 0.1 and 1.0 are used for Microsoft_BotManagerRuleSet", + args: { + name: "version", + suggestions: [ + "0.1", + "1.0", + "2.2.9", + "3.0", + "3.1", + "3.2", + ], + }, + isRequired: true, + }, + { + name: "--group-name", + description: + "The name of the web application firewall rule set group", + args: { name: "group-name" }, + }, + { + name: "--rule", + description: + "The rule that will be disabled. If none specified, all rules in the group will be disabled. If provided, --group-name must be provided too", + args: { name: "rule" }, + }, + ], + }, + { + name: "list", + description: "List all managed rule set", + options: [ + { + name: "--policy-name", + description: + "The name of the web application firewall policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a managed rule set by rule set group name if rule_group_name is specified. Otherwise, remove all rule set", + options: [ + { + name: "--policy-name", + description: + "The name of the web application firewall policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--type", + description: + "The type of the web application firewall rule set", + args: { + name: "type", + suggestions: [ + "Microsoft_BotManagerRuleSet", + "OWASP", + ], + }, + isRequired: true, + }, + { + name: "--version", + description: + "The version of the web application firewall rule set type. 0.1 and 1.0 are used for Microsoft_BotManagerRuleSet", + args: { + name: "version", + suggestions: [ + "0.1", + "1.0", + "2.2.9", + "3.0", + "3.1", + "3.2", + ], + }, + isRequired: true, + }, + { + name: "--group-name", + description: + "The name of the web application firewall rule set group", + args: { name: "group-name" }, + }, + ], + }, + { + name: "update", + description: + "Manage rules of a WAF policy. If --group-name and --rules are provided, override existing rules. If --group-name is provided, clear all rules under a certain rule group. If neither of them are provided, update rule set and clear all rules under itself. For rule set and rules, please visit: https://docs.microsoft.com/azure/web-application-firewall/ag/application-gateway-crs-rulegroups-rules", + options: [ + { + name: "--policy-name", + description: + "The name of the web application firewall policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--type", + description: + "The type of the web application firewall rule set", + args: { + name: "type", + suggestions: [ + "Microsoft_BotManagerRuleSet", + "OWASP", + ], + }, + isRequired: true, + }, + { + name: "--version", + description: + "The version of the web application firewall rule set type. 0.1 and 1.0 are used for Microsoft_BotManagerRuleSet", + args: { + name: "version", + suggestions: [ + "0.1", + "1.0", + "2.2.9", + "3.0", + "3.1", + "3.2", + ], + }, + isRequired: true, + }, + { + name: "--group-name", + description: + "The name of the web application firewall rule set group", + args: { name: "group-name" }, + }, + { + name: "--rule", + description: + "The rule that will be disabled. If none specified, all rules in the group will be disabled. If provided, --group-name must be provided too", + args: { name: "rule" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "policy-setting", + description: + "Define contents of a web application firewall global configuration", + subcommands: [ + { + name: "list", + description: + "List properties of a web application firewall global configuration", + options: [ + { + name: "--policy-name", + description: + "The name of the web application firewall policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update properties of a web application firewall global configuration", + options: [ + { + name: "--policy-name", + description: + "Name of the web application firewall policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--custom-body", + description: + "If the action type is block, customer can override the response body. The body must be specified in base64 encoding", + args: { name: "custom-body" }, + }, + { + name: "--custom-status-code", + description: + "If the action type is block, customer can override the response status code", + args: { name: "custom-status-code" }, + }, + { + name: [ + "--file-upload-enforcement", + "--file-upload-enforce", + ], + description: + "Whether allow WAF to enforce file upload limits", + args: { + name: "file-upload-enforcement", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--file-upload-limit-in-mb", + description: "Maximum file upload size in Mb for WAF", + args: { name: "file-upload-limit-in-mb" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--log-scrubbing-state", + description: + "State of the log scrubbing config. Default value is Enabled", + args: { + name: "log-scrubbing-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--max-request-body-size-in-kb", + description: "Maximum request body size in Kb for WAF", + args: { name: "max-request-body-size-in-kb" }, + }, + { + name: "--mode", + description: + "If it is in detection mode or prevention mode at policy level", + args: { + name: "mode", + suggestions: ["Detection", "Prevention"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--request-body-check", + description: + "Specified to require WAF to check request body", + }, + { + name: [ + "--request-body-enforcement", + "--request-body-enforce", + ], + description: + "Whether allow WAF to enforce request body limits", + args: { + name: "request-body-enforcement", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: [ + "--request-body-inspect-limit-in-kb", + "--request-limit-in-kb", + ], + description: + "Max inspection limit in KB for request body inspection for WAF", + args: { name: "request-body-inspect-limit-in-kb" }, + }, + { + name: ["--scrubbing-rules", "--scrubbing-rule"], + description: + 'The rules that are applied to the logs for scrubbing. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more. Singular flags: --scrubbing-rule', + args: { name: "scrubbing-rules" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: + "If the policy is in enabled state or disabled state", + args: { + name: "state", + suggestions: ["Disabled", "Enabled"], + }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "asg", + description: + "Manage application security groups (ASGs).\n\n\t\tYou can configure network security as a natural extension of an application's structure, ASG allows you to group virtual machines and define network security policies based on those groups. You can specify an application security group as the source and destination in a NSG security rule. For more information, visit https://docs.microsoft.com/azure/virtual-network/create-network-security-group-preview", + subcommands: [ + { + name: "create", + description: "Create an application security group", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the new application security group resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an application security group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the new application security group resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all application security groups", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get details of an application security group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the new application security group resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an application security group", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the new application security group resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the new application security group resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "bastion", + description: "Manage Azure Bastion host machines", + subcommands: [ + { + name: "create", + description: "Create a Azure Bastion host machine", + options: [ + { + name: ["--name", "-n"], + description: "Name of the bastion host", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--public-ip-address", + description: + "Name or ID of Azure Public IP. The SKU of the public IP must be Standard", + args: { name: "public-ip-address" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vnet-name", + description: + "Name of the virtual network. It must have a subnet called AzureBastionSubnet", + args: { name: "vnet-name" }, + isRequired: true, + }, + { + name: "--disable-copy-paste", + description: + "Disable copy and paste for all sessions on this Azure Bastion resource", + }, + { + name: "--enable-ip-connect", + description: + "Enable IP-based Connections on this Azure Bastion resource", + }, + { + name: "--enable-tunneling", + description: + "Enable Native Client Support on this Azure Bastion resource", + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--scale-units", + description: + "Scale units for the Bastion Host resource with the range of [2, 50]", + args: { name: "scale-units" }, + }, + { + name: "--sku", + description: "SKU of this Bastion Host", + args: { name: "sku", suggestions: ["Basic", "Standard"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Azure Bastion host machine", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the bastion host", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all Azure Bastion host machines", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "rdp", + description: + "RDP to target Virtual Machine using Tunneling from Azure Bastion", + options: [ + { + name: "--configure", + description: "Flag to configure RDP session", + }, + { + name: "--disable-gateway", + description: "Flag to disable access through RD gateway", + }, + { + name: "--enable-mfa", + description: + "Enable RDS auth for MFA if supported by the target machine", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the bastion host", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-port", + description: + "Resource port of the target VM to which the bastion will connect", + args: { name: "resource-port" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-ip-address", + description: "IP address of target Virtual Machine", + args: { name: "target-ip-address" }, + }, + { + name: "--target-resource-id", + description: "ResourceId of the target Virtual Machine", + args: { name: "target-resource-id" }, + }, + ], + }, + { + name: "show", + description: "Show a Azure Bastion host machine", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the bastion host", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "ssh", + description: + "SSH to a virtual machine using Tunneling from Azure Bastion", + options: [ + { + name: "--auth-type", + description: "Auth type to use for SSH connections", + args: { name: "auth-type" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the bastion host", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-port", + description: + "Resource port of the target VM to which the bastion will connect", + args: { name: "resource-port" }, + }, + { + name: "--ssh-key", + description: "SSH key file location for SSH connections", + args: { name: "ssh-key" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-ip-address", + description: "IP address of target Virtual Machine", + args: { name: "target-ip-address" }, + }, + { + name: "--target-resource-id", + description: "ResourceId of the target Virtual Machine", + args: { name: "target-resource-id" }, + }, + { + name: "--username", + description: "User name for SSH connections", + args: { name: "username" }, + }, + ], + }, + { + name: "tunnel", + description: + "Open a tunnel through Azure Bastion to a target virtual machine", + options: [ + { + name: "--port", + description: "Local port to use for the tunneling", + args: { name: "port" }, + isRequired: true, + }, + { + name: "--resource-port", + description: + "Resource port of the target VM to which the bastion will connect", + args: { name: "resource-port" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the bastion host", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-ip-address", + description: "IP address of target Virtual Machine", + args: { name: "target-ip-address" }, + }, + { + name: "--target-resource-id", + description: "ResourceId of the target Virtual Machine", + args: { name: "target-resource-id" }, + }, + { + name: "--timeout", + description: "Timeout for connection to bastion host tunnel", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: "Update a Azure Bastion host machine", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--disable-copy-paste", + description: + "Disable copy and paste for all sessions on this Azure Bastion resource", + args: { + name: "disable-copy-paste", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-ip-connect", + description: + "Enable IP-based Connections on this Azure Bastion resource", + args: { + name: "enable-ip-connect", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-tunneling", + description: + "Enable Native Client Support on this Azure Bastion resource", + args: { + name: "enable-tunneling", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the bastion host", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scale-units", + description: + "Scale units for the Bastion Host resource with the range of [2, 50]", + args: { name: "scale-units" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "SKU of this Bastion Host", + args: { name: "sku", suggestions: ["Basic", "Standard"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the bastion host", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "cross-connection", + description: + "Manage customers' ExpressRoute circuits.\n\n\t\tTo learn more about ExpressRoute circuits visit https://docs.microsoft.com/en-us/azure/expressroute/howto-circuit-cli", + subcommands: [ + { + name: "list", + description: + "List all ExpressRoute cross-connections for the current subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-arp-tables", + description: + "Show the current Address Resolution Protocol (ARP) table of an ExpressRoute cross-connection peering", + options: [ + { + name: "--path", + description: "The path of the device", + args: { name: "path", suggestions: ["primary", "secondary"] }, + isRequired: true, + }, + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute cross-connection name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-route-tables", + description: + "Show the current routing table of an ExpressRoute cross-connection peering", + options: [ + { + name: "--path", + description: "The path of the device", + args: { name: "path", suggestions: ["primary", "secondary"] }, + isRequired: true, + }, + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute cross-connection name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an ExpressRoute cross-connection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute cross-connection name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "summarize-route-table", + description: + "Gets the route table summary associated with the express route cross connection in a resource group", + options: [ + { + name: "--path", + description: "The path of the device", + args: { name: "path", suggestions: ["primary", "secondary"] }, + isRequired: true, + }, + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute cross-connection name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update settings of an ExpressRoute cross-connection", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute cross-connection name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--notes", + description: "Service provider notes", + args: { name: "notes" }, + }, + { + name: "--provisioning-state", + description: + "Provisioning state of the customer ExpressRoute circuit", + args: { + name: "provisioning-state", + suggestions: ["NotProvisioned", "Provisioned", "Provisioning"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the ExpressRoute is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute cross-connection name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "peering", + description: + "Manage ExpressRoute peering of an ExpressRoute cross-connection", + subcommands: [ + { + name: "create", + description: + "Create peering settings for an ExpressRoute cross-connection", + options: [ + { + name: "--cross-connection-name", + description: "ExpressRoute cross-connection name", + args: { name: "cross-connection-name" }, + isRequired: true, + }, + { + name: "--peer-asn", + description: + "Autonomous system number of the customer/connectivity provider", + args: { name: "peer-asn" }, + isRequired: true, + }, + { + name: "--peering-type", + description: "BGP peering type for the circuit", + args: { + name: "peering-type", + suggestions: [ + "AzurePrivatePeering", + "AzurePublicPeering", + "MicrosoftPeering", + ], + }, + isRequired: true, + }, + { + name: "--primary-peer-subnet", + description: + "/30 subnet used to configure IP addresses for primary interface", + args: { name: "primary-peer-subnet" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--secondary-peer-subnet", + description: + "/30 subnet used to configure IP addresses for secondary interface", + args: { name: "secondary-peer-subnet" }, + isRequired: true, + }, + { + name: "--vlan-id", + description: "Identifier used to identify the customer", + args: { name: "vlan-id" }, + isRequired: true, + }, + { + name: "--advertised-public-prefixes", + description: + "Space-separated list of prefixes to be advertised through the BGP peering", + args: { name: "advertised-public-prefixes" }, + }, + { + name: "--customer-asn", + description: "Autonomous system number of the customer", + args: { name: "customer-asn" }, + }, + { + name: "--routing-registry-name", + description: + "Internet Routing Registry / Regional Internet Registry", + args: { + name: "routing-registry-name", + suggestions: [ + "AFRINIC", + "ALTDB", + "APNIC", + "ARIN", + "LACNIC", + "LEVEL3", + "RADB", + "RIPENCC", + ], + }, + }, + { + name: "--shared-key", + description: "Key for generating an MD5 for the BGP session", + args: { name: "shared-key" }, + }, + ], + }, + { + name: "delete", + description: "Delete peering settings", + options: [ + { + name: "--cross-connection-name", + description: "ExpressRoute cross-connection name", + args: { name: "cross-connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the peering", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List peering settings of an ExpressRoute cross-connection", + options: [ + { + name: "--cross-connection-name", + description: "ExpressRoute cross-connection name", + args: { name: "cross-connection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of an express route peering", + options: [ + { + name: "--cross-connection-name", + description: "ExpressRoute cross-connection name", + args: { name: "cross-connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the peering", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update peering settings for an ExpressRoute cross-connection", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--advertised-public-prefixes", + description: + "Space-separated list of prefixes to be advertised through the BGP peering", + args: { name: "advertised-public-prefixes" }, + }, + { + name: "--cross-connection-name", + description: "ExpressRoute cross-connection name", + args: { name: "cross-connection-name" }, + }, + { + name: "--customer-asn", + description: "Autonomous system number of the customer", + args: { name: "customer-asn" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-version", + description: + "The IP version to update Microsoft Peering settings for", + args: { name: "ip-version", suggestions: ["IPv4", "IPv6"] }, + }, + { + name: ["--name", "-n"], + description: "The name of the peering", + args: { name: "name" }, + }, + { + name: "--peer-asn", + description: + "Autonomous system number of the customer/connectivity provider", + args: { name: "peer-asn" }, + }, + { + name: "--primary-peer-subnet", + description: + "/30 subnet used to configure IP addresses for primary interface", + args: { name: "primary-peer-subnet" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--routing-registry-name", + description: + "Internet Routing Registry / Regional Internet Registry", + args: { + name: "routing-registry-name", + suggestions: [ + "AFRINIC", + "ALTDB", + "APNIC", + "ARIN", + "LACNIC", + "LEVEL3", + "RADB", + "RIPENCC", + ], + }, + }, + { + name: "--secondary-peer-subnet", + description: + "/30 subnet used to configure IP addresses for secondary interface", + args: { name: "secondary-peer-subnet" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--shared-key", + description: "Key for generating an MD5 for the BGP session", + args: { name: "shared-key" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vlan-id", + description: "Identifier used to identify the customer", + args: { name: "vlan-id" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "cross-region-lb", + description: + "Manage and configure cross-region load balancers.\n\n\t\tTo learn more about Azure Load Balancer visit https://learn.microsoft.com/en-us/azure/load-balancer/tutorial-cross-region-cli", + subcommands: [ + { + name: "create", + description: "Create a cross-region load balancer", + options: [ + { + name: ["--name", "-n"], + description: "The load balancer name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--public-ip-address-allocation", "--address-allocation"], + description: "IP allocation method", + args: { + name: "public-ip-address-allocation", + suggestions: ["Dynamic", "Static"], + }, + }, + { + name: "--backend-pool-name", + description: "The name of the backend address pool", + args: { name: "backend-pool-name" }, + }, + { + name: "--frontend-ip-name", + description: "The name of the frontend IP configuration", + args: { name: "frontend-ip-name" }, + }, + { + name: "--frontend-ip-zone", + description: "Used to create internal facing Load balancer", + args: { name: "frontend-ip-zone", suggestions: ["1", "2", "3"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--public-ip-address", + description: + 'Name or ID of the public IP address, or "" for none. Uses existing resource if available or will create a new resource with defaults if omitted', + args: { name: "public-ip-address" }, + }, + { + name: "--public-ip-dns-name", + description: "Globally unique DNS name for a new public IP", + args: { name: "public-ip-dns-name" }, + }, + { + name: "--public-ip-zone", + description: + "Used to created a new public ip for the load balancer, a.k.a public facing Load balancer", + args: { name: "public-ip-zone", suggestions: ["1", "2", "3"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--validate", + description: + "Generate and validate the ARM template without creating any resources", + }, + ], + }, + { + name: "delete", + description: "Delete the specified load balancer", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The load balancer name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List load balancers", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a load balancer", + options: [ + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The load balancer name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a load balancer", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The load balancer name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--probes", + description: + 'Collection of probe objects used in the load balancer. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "probes" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The load balancer name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "address-pool", + description: "Manage address pools of a cross-region load balancer", + subcommands: [ + { + name: "create", + description: "Create load balancer backend address pool", + options: [ + { + name: ["--address-pool-name", "--name", "-n"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--backend-addresses", "--backend-address"], + description: + 'An array of backend addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more. Singular flags: --backend-address', + args: { name: "backend-addresses" }, + }, + { + name: ["--drain-period-in-seconds", "--drain-period"], + description: + "Amount of seconds Load Balancer waits for before sending RESET to client and backend address", + args: { name: "drain-period-in-seconds" }, + }, + { + name: "--location", + description: "The location of the backend address pool", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete the specified load balancer backend address pool", + options: [ + { + name: ["--address-pool-name", "--name", "-n"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all the load balancer backed address pools", + options: [ + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get load balancer backend address pool", + options: [ + { + name: ["--address-pool-name", "--name", "-n"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a load balancer backend address pool", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--address-pool-name", "--name", "-n"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + }, + { + name: ["--backend-addresses", "--backend-address"], + description: + 'An array of backend addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more. Singular flags: --backend-address', + args: { name: "backend-addresses" }, + }, + { + name: ["--drain-period-in-seconds", "--drain-period"], + description: + "Amount of seconds Load Balancer waits for before sending RESET to client and backend address", + args: { name: "drain-period-in-seconds" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + }, + { + name: "--location", + description: "The location of the backend address pool", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "address", + description: + "Manage backend addresses of the cross-region load balance backend address pool", + subcommands: [ + { + name: "add", + description: + "Add one backend address into the load balance backend address pool", + options: [ + { + name: ["--frontend-ip-address", "--frontend-ip"], + description: + "The frontend IP configuration ID of a regional load balance", + args: { name: "frontend-ip-address" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend address", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--pool-name", + description: "The name of the backend address pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: + "List all backend addresses of the load balance backend address pool", + options: [ + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: "--pool-name", + description: "The name of the backend address pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove one backend address from the load balance backend address pool", + options: [ + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend address", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--pool-name", + description: "The name of the backend address pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "show", + description: + "Show the backend address from the load balance backend address pool", + options: [ + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend address", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--pool-name", + description: "The name of the backend address pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the backend address into the load balance backend address pool", + options: [ + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend address", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--pool-name", + description: "The name of the backend address pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--frontend-ip-address", "--frontend-ip"], + description: + "The frontend IP configuration ID of a regional load balance", + args: { name: "frontend-ip-address" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "frontend-ip", + description: + "Manage frontend IP addresses of a cross-region load balancer", + subcommands: [ + { + name: "create", + description: "Create a frontend IP address", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the frontend IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--public-ip-address", + description: + "Name or ID of the existing public IP to associate with the configuration", + args: { name: "public-ip-address" }, + }, + { + name: "--public-ip-prefix", + description: "Name or ID of a public IP prefix", + args: { name: "public-ip-prefix" }, + }, + { + name: ["--zones", "--zone", "-z"], + description: + 'A list of availability zones denoting the IP allocated for the resource needs to come from. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "zones" }, + }, + ], + }, + { + name: "delete", + description: "Delete a frontend IP address", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the frontend IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List frontend IP addresses", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a frontend IP address", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the frontend IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a frontend IP address", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the frontend IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--public-ip-address", + description: + "Name or ID of the existing public IP to associate with the configuration", + args: { name: "public-ip-address" }, + }, + { + name: "--public-ip-prefix", + description: "Name or ID of a public IP prefix", + args: { name: "public-ip-prefix" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: ["--zones", "--zone", "-z"], + description: + 'A list of availability zones denoting the IP allocated for the resource needs to come from. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "zones" }, + }, + ], + }, + ], + }, + { + name: "rule", + description: "Manage cross-region load balancing rules", + subcommands: [ + { + name: "create", + description: "Create a load balancing rule", + options: [ + { + name: "--backend-port", + description: + 'The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables "Any Port"', + args: { name: "backend-port" }, + isRequired: true, + }, + { + name: "--frontend-port", + description: + 'The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port"', + args: { name: "frontend-port" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the load balancing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--protocol", + description: + "The reference to the transport protocol used by the load balancing rule", + args: { + name: "protocol", + suggestions: ["All", "Tcp", "Udp"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--backend-pool-name", + description: + "ID or name of the backend address pools. If only one exists, omit to use as default", + args: { name: "backend-pool-name" }, + }, + { + name: ["--enable-floating-ip", "--floating-ip"], + description: + "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint", + args: { + name: "enable-floating-ip", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--frontend-ip-name", "--frontend-ip"], + description: + "The name of ID of the frontend IP configuration", + args: { name: "frontend-ip-name" }, + }, + { + name: "--load-distribution", + description: "The load distribution policy for this rule", + args: { + name: "load-distribution", + suggestions: ["Default", "SourceIP", "SourceIPProtocol"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--probe-name", "--probe"], + description: + "The ID or Name of an existing probe to associate with this rule", + args: { name: "probe-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a load balancing rule", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the load balancing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List load balancing rules", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a load balancing rule", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the load balancing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a load balancing rule", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the load balancing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--backend-pool-name", + description: + "ID or name of the backend address pools. If only one exists, omit to use as default", + args: { name: "backend-pool-name" }, + }, + { + name: "--backend-port", + description: + 'The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables "Any Port"', + args: { name: "backend-port" }, + }, + { + name: ["--enable-floating-ip", "--floating-ip"], + description: + "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint", + args: { + name: "enable-floating-ip", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--frontend-ip-name", "--frontend-ip"], + description: + "The name of ID of the frontend IP configuration", + args: { name: "frontend-ip-name" }, + }, + { + name: "--frontend-port", + description: + 'The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port"', + args: { name: "frontend-port" }, + }, + { + name: "--load-distribution", + description: "The load distribution policy for this rule", + args: { + name: "load-distribution", + suggestions: ["Default", "SourceIP", "SourceIPProtocol"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--probe-name", "--probe"], + description: + "The ID or Name of an existing probe to associate with this rule", + args: { name: "probe-name" }, + }, + { + name: "--protocol", + description: + "The reference to the transport protocol used by the load balancing rule", + args: { + name: "protocol", + suggestions: ["All", "Tcp", "Udp"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "custom-ip", + description: "Manage custom IP", + subcommands: [ + { + name: "prefix", + description: "Manage custom IP prefix resources", + subcommands: [ + { + name: "create", + description: "Create a custom IP prefix resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the custom IP prefix", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--asn", + description: + "The ASN for CIDR advertising. Should be an integer as string", + args: { name: "asn" }, + }, + { + name: "--authorization-message", + description: "Authorization message for WAN validation", + args: { name: "authorization-message" }, + }, + { + name: "--cidr", + description: + "The prefix range in CIDR notation. Should include the start address and the prefix length", + args: { name: "cidr" }, + }, + { + name: ["--cip-prefix-parent", "-c"], + description: + "The Parent CustomIpPrefix for IPv6 /64 CustomIpPrefix", + args: { name: "cip-prefix-parent" }, + }, + { + name: ["--express-route-advertise", "--is-advertised"], + description: "Whether to do express route advertise", + args: { + name: "express-route-advertise", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--geo", + description: + "The Geo for CIDR advertising. Should be an Geo code", + args: { + name: "geo", + suggestions: [ + "AFRI", + "APAC", + "AQ", + "EURO", + "GLOBAL", + "LATAM", + "ME", + "NAM", + "OCEANIA", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--signed-message", + description: "Signed message for WAN validation", + args: { name: "signed-message" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: ["--zone", "-z"], + description: + 'Space-separated list of availability zones into which to provision the resource. Allowed values: 1, 2, 3. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "zone" }, + }, + ], + }, + { + name: "delete", + description: "Delete a custom IP prefix resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the custom IP prefix", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List custom IP prefix resources", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a custom IP prefix resource", + options: [ + { + name: "--expand", + description: + "Expand referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the custom IP prefix", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a custom IP prefix resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--authorization-message", + description: "Authorization message for WAN validation", + args: { name: "authorization-message" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the custom IP prefix", + args: { name: "name" }, + }, + { + name: "--no-internet-advertise", + description: "Whether to Advertise the range to Internet", + args: { + name: "no-internet-advertise", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--signed-message", + description: "Signed message for WAN validation", + args: { name: "signed-message" }, + }, + { + name: "--state", + description: "Commissioned State of the custom ip prefix", + args: { + name: "state", + suggestions: [ + "commission", + "decommission", + "deprovision", + "provision", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--expand", + description: + "Expand referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the custom IP prefix", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "ddos-protection", + description: "Manage DDoS Protection Plans", + subcommands: [ + { + name: "create", + description: "Create a DDoS protection plan", + options: [ + { + name: ["--name", "-n"], + description: "Name of the DDoS protection plan", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vnets", + description: + "Space-separated list of VNets (name or IDs) to associate with the plan", + args: { name: "vnets" }, + }, + ], + }, + { + name: "delete", + description: "Delete a DDoS protection plan", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the DDoS protection plan", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List DDoS protection plans", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of a DDoS protection plan", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the DDoS protection plan", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a DDoS protection plan", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the DDoS protection plan", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vnets", + description: + "Space-separated list of VNets (name or IDs) to associate with the plan", + args: { name: "vnets" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the DDoS protection plan", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "dns", + description: "Manage DNS domains in Azure", + subcommands: [ + { + name: "list-references", + description: + "Returns the DNS records specified by the referencing targetResourceIds", + options: [ + { + name: "--parameters", + description: + 'A space-separated list of resource IDs for which referencing dns records need to be queried. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "parameters" }, + }, + ], + }, + { + name: "dnssec-config", + description: "Manage DNSSEC configurations", + subcommands: [ + { + name: "create", + description: "Create the DNSSEC configuration on a DNS zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The etag of the DNSSEC configuration. Omit this value to always overwrite the DNSSEC configuration. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow this DNSSEC configuration to be created, but to prevent updating existing DNSSEC configuration. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete the DNSSEC configuration on a DNS zone. This operation cannot be undone", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "The etag of this DNSSEC configuration. Omit this value to always delete the DNSSEC configuration. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "show", + description: "Get the DNSSEC configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "record-set", + description: "Manage DNS records and record sets", + subcommands: [ + { + name: "list", + description: "List all record sets within a DNS zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + ], + }, + { + name: "a", + description: "Manage DNS A records", + subcommands: [ + { + name: "add-record", + description: "Add an A record", + options: [ + { + name: ["--ipv4-address", "-a"], + description: "IPv4 address in string notation", + args: { name: "ipv4-address" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-none-match", + description: + "Create the record set only if it does not already exist", + args: { name: "if-none-match" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "create", + description: "Create an A record set", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'The metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: "--ttl", + description: + "The TTL (time-to-live) of the records in the record set", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: "Delete an A record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always delete the current record set. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List A record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--recordsetnamesuffix", + description: + "The suffix label of the record set name that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with", + args: { name: "recordsetnamesuffix" }, + }, + { + name: "--top", + description: + "The maximum number of record sets to return. If not specified, returns up to 100 record sets", + args: { name: "top" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove an A record from its record set", + options: [ + { + name: ["--ipv4-address", "-a"], + description: "IPv4 address in string notation", + args: { name: "ipv4-address" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get an A record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update an A record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to * to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'Metadata in space-separated key=value pairs. This overwrites any existing metadata. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "aaaa", + description: "Manage DNS AAAA records", + subcommands: [ + { + name: "add-record", + description: "Add an AAAA record", + options: [ + { + name: ["--ipv6-address", "-a"], + description: "IPv6 address in string notation", + args: { name: "ipv6-address" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-none-match", + description: + "Create the record set only if it does not already exist", + args: { name: "if-none-match" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "create", + description: "Create an AAAA record set", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'The metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: "--ttl", + description: + "The TTL (time-to-live) of the records in the record set", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: "Delete an AAAA record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always delete the current record set. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List AAAA record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--recordsetnamesuffix", + description: + "The suffix label of the record set name that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with", + args: { name: "recordsetnamesuffix" }, + }, + { + name: "--top", + description: + "The maximum number of record sets to return. If not specified, returns up to 100 record sets", + args: { name: "top" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove AAAA record from its record set", + options: [ + { + name: ["--ipv6-address", "-a"], + description: "IPv6 address in string notation", + args: { name: "ipv6-address" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get an AAAA record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update an AAAA record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to * to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'Metadata in space-separated key=value pairs. This overwrites any existing metadata. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "caa", + description: "Manage DNS CAA records", + subcommands: [ + { + name: "add-record", + description: "Add a CAA record", + options: [ + { + name: "--flags", + description: "Integer flags for the record", + args: { name: "flags" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tag", + description: "Record tag", + args: { name: "tag" }, + isRequired: true, + }, + { + name: "--value", + description: "Value of the CAA record", + args: { name: "value" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-none-match", + description: + "Create the record set only if it does not already exist", + args: { name: "if-none-match" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "create", + description: "Create a CAA record set", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'The metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: "--ttl", + description: + "The TTL (time-to-live) of the records in the record set", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: "Delete a CAA record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always delete the current record set. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List CAA record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--recordsetnamesuffix", + description: + "The suffix label of the record set name that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with", + args: { name: "recordsetnamesuffix" }, + }, + { + name: "--top", + description: + "The maximum number of record sets to return. If not specified, returns up to 100 record sets", + args: { name: "top" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove a CAA record from its record set", + options: [ + { + name: "--flags", + description: "Integer flags for the record", + args: { name: "flags" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tag", + description: "Record tag", + args: { name: "tag" }, + isRequired: true, + }, + { + name: "--value", + description: "Value of the CAA record", + args: { name: "value" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get a CAA record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update a CAA record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to * to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'Metadata in space-separated key=value pairs. This overwrites any existing metadata. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "cname", + description: "Manage DNS CNAME records", + subcommands: [ + { + name: "create", + description: "Create a CNAME record set", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'The metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: "--ttl", + description: + "The TTL (time-to-live) of the records in the record set", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: "Delete a CNAME record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always delete the current record set. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List CNAME record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--recordsetnamesuffix", + description: + "The suffix label of the record set name that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with", + args: { name: "recordsetnamesuffix" }, + }, + { + name: "--top", + description: + "The maximum number of record sets to return. If not specified, returns up to 100 record sets", + args: { name: "top" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove a CNAME record from its record set", + options: [ + { + name: ["--cname", "-c"], + description: + "Value of the cname record-set. It should be Canonical name", + args: { name: "cname" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "set-record", + description: "Set the value of a CNAME record", + options: [ + { + name: ["--cname", "-c"], + description: + "Value of the cname record-set. It should be Canonical name", + args: { name: "cname" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-none-match", + description: + "Create the record set only if it does not already exist", + args: { name: "if-none-match" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "show", + description: "Get a CNAME record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update a CNAME record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to * to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'Metadata in space-separated key=value pairs. This overwrites any existing metadata. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "ds", + description: "Manage DNS DS records", + subcommands: [ + { + name: "add-record", + description: "Add a DS record", + options: [ + { + name: "--algorithm", + description: + "The security algorithm type represents the standard security algorithm number of the DNSKEY Resource Record. See: https://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml", + args: { name: "algorithm" }, + isRequired: true, + }, + { + name: "--digest", + description: + "The digest value is a cryptographic hash value of the referenced DNSKEY Resource Record", + args: { name: "digest" }, + isRequired: true, + }, + { + name: "--digest-type", + description: + "The digest algorithm type represents the standard digest algorithm number used to construct the digest. See: https://www.iana.org/assignments/ds-rr-types/ds-rr-types.xhtml", + args: { name: "digest-type" }, + isRequired: true, + }, + { + name: "--key-tag", + description: + "The key tag value is used to determine which DNSKEY Resource Record is used for signature verification", + args: { name: "key-tag" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-none-match", + description: + "Create the record set only if it does not already exist", + args: { name: "if-none-match" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "create", + description: "Create an DS record set", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'The metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: "--ttl", + description: + "The TTL (time-to-live) of the records in the record set", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: "Delete an DS record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always delete the current record set. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List DS record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--recordsetnamesuffix", + description: + "The suffix label of the record set name that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with", + args: { name: "recordsetnamesuffix" }, + }, + { + name: "--top", + description: + "The maximum number of record sets to return. If not specified, returns up to 100 record sets", + args: { name: "top" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove a DS record from its record set", + options: [ + { + name: "--algorithm", + description: + "The security algorithm type represents the standard security algorithm number of the DNSKEY Resource Record. See: https://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml", + args: { name: "algorithm" }, + isRequired: true, + }, + { + name: "--digest", + description: + "The digest value is a cryptographic hash value of the referenced DNSKEY Resource Record", + args: { name: "digest" }, + isRequired: true, + }, + { + name: "--digest-type", + description: + "The digest algorithm type represents the standard digest algorithm number used to construct the digest. See: https://www.iana.org/assignments/ds-rr-types/ds-rr-types.xhtml", + args: { name: "digest-type" }, + isRequired: true, + }, + { + name: "--key-tag", + description: + "The key tag value is used to determine which DNSKEY Resource Record is used for signature verification", + args: { name: "key-tag" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get an DS record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update an DS record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to * to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'Metadata in space-separated key=value pairs. This overwrites any existing metadata. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "mx", + description: "Manage DNS MX records", + subcommands: [ + { + name: "add-record", + description: "Add an MX record", + options: [ + { + name: ["--exchange", "-e"], + description: "Exchange metric", + args: { name: "exchange" }, + isRequired: true, + }, + { + name: ["--preference", "-p"], + description: "Preference metric", + args: { name: "preference" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-none-match", + description: + "Create the record set only if it does not already exist", + args: { name: "if-none-match" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "create", + description: "Create an MX record set", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'The metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: "--ttl", + description: + "The TTL (time-to-live) of the records in the record set", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: "Delete an MX record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always delete the current record set. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List MX record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--recordsetnamesuffix", + description: + "The suffix label of the record set name that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with", + args: { name: "recordsetnamesuffix" }, + }, + { + name: "--top", + description: + "The maximum number of record sets to return. If not specified, returns up to 100 record sets", + args: { name: "top" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove an MX record from its record set", + options: [ + { + name: ["--exchange", "-e"], + description: "Exchange metric", + args: { name: "exchange" }, + isRequired: true, + }, + { + name: ["--preference", "-p"], + description: "Preference metric", + args: { name: "preference" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get an MX record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update an MX record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to * to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'Metadata in space-separated key=value pairs. This overwrites any existing metadata. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "ns", + description: "Manage DNS NS records", + subcommands: [ + { + name: "add-record", + description: "Add an NS record", + options: [ + { + name: ["--nsdname", "-d"], + description: "Name server domain name", + args: { name: "nsdname" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-none-match", + description: + "Create the record set only if it does not already exist", + args: { name: "if-none-match" }, + }, + { + name: ["--subscriptionid", "-s"], + description: "Subscription id to add name server record", + args: { name: "subscriptionid" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "create", + description: "Create an NS record set", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'The metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: "--ttl", + description: + "The TTL (time-to-live) of the records in the record set", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: "Delete an NS record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always delete the current record set. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List NS record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--recordsetnamesuffix", + description: + "The suffix label of the record set name that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with", + args: { name: "recordsetnamesuffix" }, + }, + { + name: "--top", + description: + "The maximum number of record sets to return. If not specified, returns up to 100 record sets", + args: { name: "top" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove an NS record from its record set", + options: [ + { + name: ["--nsdname", "-d"], + description: "Name server domain name", + args: { name: "nsdname" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get an NS record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update an NS record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to * to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'Metadata in space-separated key=value pairs. This overwrites any existing metadata. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "ptr", + description: "Manage DNS PTR records", + subcommands: [ + { + name: "add-record", + description: "Add a PTR record", + options: [ + { + name: ["--ptrdname", "-d"], + description: "PTR target domain name", + args: { name: "ptrdname" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-none-match", + description: + "Create the record set only if it does not already exist", + args: { name: "if-none-match" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "create", + description: "Create a PTR record set", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'The metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: "--ttl", + description: + "The TTL (time-to-live) of the records in the record set", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: "Delete a PTR record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always delete the current record set. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List PTR record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--recordsetnamesuffix", + description: + "The suffix label of the record set name that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with", + args: { name: "recordsetnamesuffix" }, + }, + { + name: "--top", + description: + "The maximum number of record sets to return. If not specified, returns up to 100 record sets", + args: { name: "top" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove a PTR record from its record set", + options: [ + { + name: ["--ptrdname", "-d"], + description: "PTR target domain name", + args: { name: "ptrdname" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get a PTR record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update a PTR record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to * to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'Metadata in space-separated key=value pairs. This overwrites any existing metadata. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "soa", + description: "Manage a DNS SOA record", + subcommands: [ + { + name: "show", + description: "Get a SOA record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update properties of an SOA record", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: ["--email", "-e"], + description: "Email address", + args: { name: "email" }, + }, + { + name: ["--expire-time", "-x"], + description: "Expire time (seconds)", + args: { name: "expire-time" }, + }, + { + name: ["--host", "-t"], + description: "Host name", + args: { name: "host" }, + }, + { + name: "--if-none-match", + description: + "Create the record set only if it does not already exist", + args: { name: "if-none-match" }, + }, + { + name: ["--minimum-ttl", "-m"], + description: "Minimum TTL (time-to-live, seconds)", + args: { name: "minimum-ttl" }, + }, + { + name: ["--refresh-time", "-f"], + description: "Refresh value (seconds)", + args: { name: "refresh-time" }, + }, + { + name: ["--retry-time", "-r"], + description: "Retry time (seconds)", + args: { name: "retry-time" }, + }, + { + name: ["--serial-number", "-s"], + description: "Serial number", + args: { name: "serial-number" }, + }, + ], + }, + ], + }, + { + name: "srv", + description: "Manage DNS SRV records", + subcommands: [ + { + name: "add-record", + description: "Add an SRV record", + options: [ + { + name: ["--port", "-r"], + description: "Service port", + args: { name: "port" }, + isRequired: true, + }, + { + name: ["--priority", "-p"], + description: "Priority metric", + args: { name: "priority" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--target", "-t"], + description: "Target domain name", + args: { name: "target" }, + isRequired: true, + }, + { + name: ["--weight", "-w"], + description: "Weight metric", + args: { name: "weight" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-none-match", + description: + "Create the record set only if it does not already exist", + args: { name: "if-none-match" }, + }, + ], + }, + { + name: "create", + description: "Create an SRV record set", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'The metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: "--ttl", + description: + "The TTL (time-to-live) of the records in the record set", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: "Delete an SRV record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always delete the current record set. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List SRV record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--recordsetnamesuffix", + description: + "The suffix label of the record set name that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with", + args: { name: "recordsetnamesuffix" }, + }, + { + name: "--top", + description: + "The maximum number of record sets to return. If not specified, returns up to 100 record sets", + args: { name: "top" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove an SRV record from its record set", + options: [ + { + name: ["--port", "-r"], + description: "Service port", + args: { name: "port" }, + isRequired: true, + }, + { + name: ["--priority", "-p"], + description: "Priority metric", + args: { name: "priority" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--target", "-t"], + description: "Target domain name", + args: { name: "target" }, + isRequired: true, + }, + { + name: ["--weight", "-w"], + description: "Weight metric", + args: { name: "weight" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get an SRV record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update an SRV record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to * to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'Metadata in space-separated key=value pairs. This overwrites any existing metadata. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "tlsa", + description: "Manage DNS TLSA records", + subcommands: [ + { + name: "add-record", + description: "Add a TLSA record", + options: [ + { + name: "--certificate-data", + description: + "This specifies the certificate association data to be matched", + args: { name: "certificate-data" }, + isRequired: true, + }, + { + name: "--certificate-usage", + description: + "The usage specifies the provided association that will be used to match the certificate presented in the TLS handshake", + args: { name: "certificate-usage" }, + isRequired: true, + }, + { + name: "--matching-type", + description: + "The matching type specifies how the certificate association is presented", + args: { name: "matching-type" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--selector", + description: + "The selector specifies which part of the TLS certificate presented by the server will be matched against the association data", + args: { name: "selector" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-none-match", + description: + "Create the record set only if it does not already exist", + args: { name: "if-none-match" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "create", + description: "Create a TLSA record set", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'The metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: "--ttl", + description: + "The TTL (time-to-live) of the records in the record set", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: "Delete a TLSA record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always delete the current record set. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List TLSA record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--recordsetnamesuffix", + description: + "The suffix label of the record set name that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with", + args: { name: "recordsetnamesuffix" }, + }, + { + name: "--top", + description: + "The maximum number of record sets to return. If not specified, returns up to 100 record sets", + args: { name: "top" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove a TLSA record from its record set", + options: [ + { + name: "--certificate-data", + description: + "This specifies the certificate association data to be matched", + args: { name: "certificate-data" }, + isRequired: true, + }, + { + name: "--certificate-usage", + description: + "The usage specifies the provided association that will be used to match the certificate presented in the TLS handshake", + args: { name: "certificate-usage" }, + isRequired: true, + }, + { + name: "--matching-type", + description: + "The matching type specifies how the certificate association is presented", + args: { name: "matching-type" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--selector", + description: + "The selector specifies which part of the TLS certificate presented by the server will be matched against the association data", + args: { name: "selector" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get a TLSA record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update a TLSA record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to * to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'Metadata in space-separated key=value pairs. This overwrites any existing metadata. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "txt", + description: "Manage DNS TXT records", + subcommands: [ + { + name: "add-record", + description: "Add a TXT record", + options: [ + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--value", "-v"], + description: + "Space-separated list of text values which will be concatenated together", + args: { name: "value" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-none-match", + description: + "Create the record set only if it does not already exist", + args: { name: "if-none-match" }, + }, + ], + }, + { + name: "create", + description: "Create a TXT record set", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'The metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: "--ttl", + description: + "The TTL (time-to-live) of the records in the record set", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: "Delete a TXT record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always delete the current record set. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List TXT record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--recordsetnamesuffix", + description: + "The suffix label of the record set name that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with", + args: { name: "recordsetnamesuffix" }, + }, + { + name: "--top", + description: + "The maximum number of record sets to return. If not specified, returns up to 100 record sets", + args: { name: "top" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove a TXT record from its record set", + options: [ + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--value", "-v"], + description: + "Space-separated list of text values which will be concatenated together", + args: { name: "value" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get a TXT record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update a TXT record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "Etag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to * to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored", + args: { name: "if-none-match" }, + }, + { + name: "--metadata", + description: + 'Metadata in space-separated key=value pairs. This overwrites any existing metadata. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-resource", + description: + "ID of an Azure resource from which the DNS resource value is taken", + args: { name: "target-resource" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "zone", + description: "Manage DNS zones", + subcommands: [ + { + name: "create", + description: "Create a DNS zone", + options: [ + { + name: ["--name", "-n"], + description: "The name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-none-match", + description: + "Only create a DNS zone if one doesn't exist that matches the given name", + }, + { + name: ["--parent-name", "-p"], + description: + "Specify if parent zone exists for this zone and delegation for the child zone in the parent is to be added", + args: { name: "parent-name" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a DNS zone. WARNING: All DNS records in the zone will also be deleted. This operation cannot be undone", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "The etag of the DNS zone. Omit this value to always delete the current zone. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--zone-name", "--name", "-n"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "export", + description: "Export a DNS zone as a DNS zone file", + options: [ + { + name: ["--name", "-n"], + description: "The name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--file-name", "-f"], + description: "Path to the DNS zone file to save", + args: { name: "file-name" }, + }, + ], + }, + { + name: "import", + description: "Create a DNS zone using a DNS zone file", + options: [ + { + name: ["--file-name", "-f"], + description: "Path to the DNS zone file to import", + args: { name: "file-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List the DNS zones", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: + "The maximum number of record sets to return. If not specified, returns up to 100 record sets", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Get a DNS zone. Retrieves the zone properties, but not the record sets within the zone", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--zone-name", "--name", "-n"], + description: + "The name of the DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a DNS zone properties. Does not modify DNS records within the zone", + options: [ + { + name: ["--name", "-n"], + description: "The name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--if-match", + description: + "Update only if the resource with the same ETAG exists", + args: { name: "if-match" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "express-route", + description: + "Manage dedicated private network fiber connections to Azure.\n\n\t\tTo learn more about ExpressRoute circuits visit https://docs.microsoft.com/azure/expressroute/howto-circuit-cli", + subcommands: [ + { + name: "create", + description: "Create an express route circuit", + options: [ + { + name: ["--name", "-n"], + description: "ExpressRoute circuit name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--allow-classic-operations", + description: + "Allow classic operations. Allowed values: false, true", + args: { + name: "allow-classic-operations", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--allow-global-reach", + description: "Enable global reach on the circuit", + args: { + name: "allow-global-reach", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--bandwidth", + description: + 'Bandwidth of the circuit. Usage: INT {Mbps,Gbps}. Defaults to Mbps. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "bandwidth" }, + }, + { + name: "--express-route-port", + description: "Name or ID of an ExpressRoute port", + args: { name: "express-route-port" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peering-location", + description: + "Name of the peering location. Values from: az network express-route list-service-providers", + args: { name: "peering-location" }, + }, + { + name: "--provider", + description: + "Name of the ExpressRoute Service Provider. Values from: az network express-route list-service-providers", + args: { name: "provider" }, + }, + { + name: "--sku-family", + description: + "Chosen SKU family of ExpressRoute circuit. Allowed values: MeteredData, UnlimitedData. Default: MeteredData", + args: { + name: "sku-family", + suggestions: ["MeteredData", "UnlimitedData"], + }, + }, + { + name: "--sku-tier", + description: + "SKU Tier of ExpressRoute circuit. Allowed values: Basic, Local, Premium, Standard. Default: Standard", + args: { + name: "sku-tier", + suggestions: ["Basic", "Local", "Premium", "Standard"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an ExpressRoute circuit", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute circuit name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-stats", + description: "Get the statistics of an ExpressRoute circuit", + options: [ + { + name: ["--name", "-n"], + description: "ExpressRoute circuit name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List all ExpressRoute circuits for the current subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-arp-tables", + description: + "Show the current Address Resolution Protocol (ARP) table of an ExpressRoute circuit", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute circuit name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--path", + description: + "The path of the device. Allowed values: primary, secondary", + args: { name: "path" }, + }, + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-route-tables", + description: + "Show the current routing table of an ExpressRoute circuit peering", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute circuit name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--path", + description: + "The path of the device. Allowed values: primary, secondary", + args: { name: "path" }, + }, + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-route-tables-summary", + description: + "Show the current routing table summary of an ExpressRoute circuit peering", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute circuit name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--path", + description: + "The path of the device. Allowed values: primary, secondary", + args: { name: "path" }, + }, + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-service-providers", + description: "List available ExpressRoute service providers", + }, + { + name: "show", + description: "Get the details of an ExpressRoute circuit", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute circuit name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update settings of an ExpressRoute circuit", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--allow-classic-operations", + description: "Allow classic operations", + args: { + name: "allow-classic-operations", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--allow-global-reach", + description: "Enable global reach on the circuit", + args: { + name: "allow-global-reach", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--bandwidth", + description: + 'Bandwidth of the circuit. Usage: INT {Mbps,Gbps}. Defaults to Mbps. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "bandwidth" }, + }, + { + name: "--express-route-port", + description: "Name or ID of an ExpressRoute port", + args: { name: "express-route-port" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute circuit name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peering-location", + description: "Name of the peering location", + args: { name: "peering-location" }, + }, + { + name: "--provider", + description: "Name of the ExpressRoute Service Provider", + args: { name: "provider" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku-family", + description: + "Chosen SKU family of ExpressRoute circuit. Allowed values: MeteredData, UnlimitedData", + args: { + name: "sku-family", + suggestions: ["MeteredData", "UnlimitedData"], + }, + }, + { + name: "--sku-tier", + description: + "SKU Tier of ExpressRoute circuit. Allowed values: Basic, Local, Premium, Standard", + args: { + name: "sku-tier", + suggestions: ["Basic", "Local", "Premium", "Standard"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute circuit name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "auth", + description: + "Manage authentication of an ExpressRoute circuit.\n\n\t\tTo learn more about ExpressRoute circuit authentication visit https://docs.microsoft.com/azure/expressroute/howto-linkvnet-cli#connect-a-virtual-network-in-a-different-subscription-to-a-circuit", + subcommands: [ + { + name: "create", + description: + "Create a new link authorization for an ExpressRoute circuit", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Authorization name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete a link authorization of an ExpressRoute circuit", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Authorization name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List link authorizations of an ExpressRoute circuit", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of a link authorization of an ExpressRoute circuit", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Authorization name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Authorization name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "gateway", + description: "Manage ExpressRoute gateways", + subcommands: [ + { + name: "create", + description: "Create an ExpressRoute gateway", + options: [ + { + name: ["--name", "-n"], + description: "ExpressRoute gateway name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--max-val", + description: + "Maximum number of scale units deployed for gateway", + args: { name: "max-val" }, + }, + { + name: "--min-val", + description: + "Minimum number of scale units deployed for gateway. Default: 2", + args: { name: "min-val" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--virtual-hub", + description: + "Name or ID of the virtual hub to associate with the gateway", + args: { name: "virtual-hub" }, + }, + ], + }, + { + name: "delete", + description: "Delete an ExpressRoute gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute gateway name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List ExpressRoute gateways", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an ExpressRoute gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute gateway name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update settings of an ExpressRoute gateway", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--max-val", + description: + "Maximum number of scale units deployed for gateway", + args: { name: "max-val" }, + }, + { + name: "--min-val", + description: + "Minimum number of scale units deployed for gateway. Default: 2", + args: { name: "min-val" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute gateway name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--virtual-hub", + description: + "Name or ID of the virtual hub to associate with the gateway", + args: { name: "virtual-hub" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute gateway name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "connection", + description: "Manage ExpressRoute gateway connections", + subcommands: [ + { + name: "create", + description: "Create an ExpressRoute gateway connection", + options: [ + { + name: "--gateway-name", + description: "ExpressRoute gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute connection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--associated-route-table", "--associated"], + description: + "The resource id of route table associated with this routing configuration", + args: { name: "associated-route-table" }, + }, + { + name: "--authorization-key", + description: + "Authorization key to establish the connection", + args: { name: "authorization-key" }, + }, + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + }, + { + name: "--inbound-route-map", + description: + 'The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "inbound-route-map" }, + }, + { + name: "--internet-security", + description: + "Enable internet security. A virtual hub can have the ability to propagate a learned default route to this ExpressRoute connection. This ref https://review.docs.microsoft.com/en-us/azure/virtual-wan/effective-routes-virtual-hub?branch=pr-en-us-91866#aboutdefaultroute might be helpful. Allowed values: false, true", + args: { + name: "internet-security", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--labels", + description: + 'Space-separated list of labels for propagated route tables. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "labels" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--outbound-route-map", + description: + 'The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "outbound-route-map" }, + }, + { + name: "--peering", + description: "Name or ID of an ExpressRoute peering", + args: { name: "peering" }, + }, + { + name: ["--propagated-route-tables", "--propagated"], + description: + 'Space-separated list of resource id of propagated route tables. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "propagated-route-tables" }, + }, + { + name: "--routing-weight", + description: + "Routing weight associated with the connection", + args: { name: "routing-weight" }, + }, + ], + }, + { + name: "delete", + description: "Delete an ExpressRoute gateway connection", + options: [ + { + name: "--gateway-name", + description: "ExpressRoute gateway name", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute connection name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List ExpressRoute gateway connections", + options: [ + { + name: "--gateway-name", + description: "ExpressRoute gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of an ExpressRoute gateway connection", + options: [ + { + name: "--gateway-name", + description: "ExpressRoute gateway name", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute connection name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an ExpressRoute gateway connection", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--associated-route-table", "--associated"], + description: + "The resource id of route table associated with this routing configuration", + args: { name: "associated-route-table" }, + }, + { + name: "--authorization-key", + description: + "Authorization key to establish the connection", + args: { name: "authorization-key" }, + }, + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--gateway-name", + description: "ExpressRoute gateway name", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--inbound-route-map", + description: + 'The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "inbound-route-map" }, + }, + { + name: "--internet-security", + description: + "Enable internet security. A virtual hub can have the ability to propagate a learned default route to this ExpressRoute connection. This ref https://review.docs.microsoft.com/en-us/azure/virtual-wan/effective-routes-virtual-hub?branch=pr-en-us-91866#aboutdefaultroute might be helpful", + args: { + name: "internet-security", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--labels", + description: + 'Space-separated list of labels for propagated route tables. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "labels" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute connection name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--outbound-route-map", + description: + 'The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "outbound-route-map" }, + }, + { + name: "--peering", + description: "Name or ID of an ExpressRoute peering", + args: { name: "peering" }, + }, + { + name: ["--propagated-route-tables", "--propagated"], + description: + 'Space-separated list of resource id of propagated route tables. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "propagated-route-tables" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--routing-weight", + description: + "Routing weight associated with the connection", + args: { name: "routing-weight" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "ExpressRoute gateway name", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute connection name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "peering", + description: "Manage ExpressRoute peering of an ExpressRoute circuit", + subcommands: [ + { + name: "create", + description: + "Create peering settings for an ExpressRoute circuit", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--advertised-public-prefixes", + description: + 'Space-separated list of prefixes to be advertised through the BGP peering. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "advertised-public-prefixes" }, + }, + { + name: "--customer-asn", + description: "Autonomous system number of the customer", + args: { name: "customer-asn" }, + }, + { + name: "--ip-version", + description: + "The IP version to update Microsoft Peering settings for. Allowed values: IPv4, IPv6. Default: IPv4", + args: { name: "ip-version" }, + }, + { + name: "--legacy-mode", + description: + "Integer representing the legacy mode of the peering", + args: { name: "legacy-mode" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peer-asn", + description: + "Autonomous system number of the customer/connectivity provider", + args: { name: "peer-asn" }, + }, + { + name: "--peering-type", + description: + "BGP peering type for the circuit. Allowed values: AzurePrivatePeering, AzurePublicPeering, MicrosoftPeering", + args: { + name: "peering-type", + suggestions: [ + "AzurePrivatePeering", + "AzurePublicPeering", + "MicrosoftPeering", + ], + }, + }, + { + name: "--primary-peer-subnet", + description: + "/30(ipv4) or /126(ipv6) subnet used to configure IP addresses for primary interface", + args: { name: "primary-peer-subnet" }, + }, + { + name: "--route-filter", + description: + "Name or ID of a route filter to apply to the peering settings", + args: { name: "route-filter" }, + }, + { + name: "--routing-registry-name", + description: + "Internet Routing Registry / Regional Internet Registry. Allowed values: AFRINIC, ALTDB, APNIC, ARIN, LACNIC, LEVEL3, RADB, RIPENCC", + args: { + name: "routing-registry-name", + suggestions: [ + "AFRINIC", + "ALTDB", + "APNIC", + "ARIN", + "LACNIC", + "LEVEL3", + "RADB", + "RIPENCC", + ], + }, + }, + { + name: "--secondary-peer-subnet", + description: + "/30(ipv4) or /126(ipv6) subnet used to configure IP addresses for secondary interface", + args: { name: "secondary-peer-subnet" }, + }, + { + name: "--shared-key", + description: "Key for generating an MD5 for the BGP session", + args: { name: "shared-key" }, + }, + { + name: "--vlan-id", + description: "Identifier used to identify the customer", + args: { name: "vlan-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete peering settings", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the peering", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-stats", + description: "Get all traffic stats of an ExpressRoute peering", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the peering", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List peering settings of an ExpressRoute circuit", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of an express route peering", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the peering", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update peering settings of an ExpressRoute circuit", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--advertised-public-prefixes", + description: + 'Space-separated list of prefixes to be advertised through the BGP peering. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "advertised-public-prefixes" }, + }, + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + }, + { + name: "--customer-asn", + description: "Autonomous system number of the customer", + args: { name: "customer-asn" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-version", + description: + "The IP version to update Microsoft Peering settings for. Allowed values: IPv4, IPv6. Default: IPv4", + args: { name: "ip-version" }, + }, + { + name: "--legacy-mode", + description: + "Integer representing the legacy mode of the peering", + args: { name: "legacy-mode" }, + }, + { + name: ["--name", "-n"], + description: "The name of the peering", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peer-asn", + description: + "Autonomous system number of the customer/connectivity provider", + args: { name: "peer-asn" }, + }, + { + name: "--primary-peer-subnet", + description: + "/30(ipv4) or /126(ipv6) subnet used to configure IP addresses for primary interface", + args: { name: "primary-peer-subnet" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--route-filter", + description: + "Name or ID of a route filter to apply to the peering settings", + args: { name: "route-filter" }, + }, + { + name: "--routing-registry-name", + description: + "Internet Routing Registry / Regional Internet Registry. Allowed values: AFRINIC, ALTDB, APNIC, ARIN, LACNIC, LEVEL3, RADB, RIPENCC", + args: { + name: "routing-registry-name", + suggestions: [ + "AFRINIC", + "ALTDB", + "APNIC", + "ARIN", + "LACNIC", + "LEVEL3", + "RADB", + "RIPENCC", + ], + }, + }, + { + name: "--secondary-peer-subnet", + description: + "/30(ipv4) or /126(ipv6) subnet used to configure IP addresses for secondary interface", + args: { name: "secondary-peer-subnet" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--shared-key", + description: "Key for generating an MD5 for the BGP session", + args: { name: "shared-key" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vlan-id", + description: "Identifier used to identify the customer", + args: { name: "vlan-id" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the peering", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "connection", + description: "Manage ExpressRoute circuit connections", + subcommands: [ + { + name: "create", + description: + "Create connections between two ExpressRoute circuits", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the peering connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--peering-name", + description: + "Name of BGP peering (i.e. AzurePrivatePeering)", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address-prefix", + description: + "/29 IP address space to carve out customer addresses for tunnels", + args: { name: "address-prefix" }, + }, + { + name: "--authorization-key", + description: + "The authorization key used when the peer circuit is in another subscription", + args: { name: "authorization-key" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peer-circuit", + description: + "Name or ID of the peer ExpressRoute circuit", + args: { name: "peer-circuit" }, + }, + { + name: "--source-circuit", + description: + "Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection", + args: { name: "source-circuit" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the specified Express Route Circuit Connection from the specified express route circuit", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the peering connection", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peering-name", + description: + "Name of BGP peering (i.e. AzurePrivatePeering)", + args: { name: "peering-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all global reach connections associated with a private peering in an express route circuit", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + isRequired: true, + }, + { + name: "--peering-name", + description: + "Name of BGP peering (i.e. AzurePrivatePeering)", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the specified Express Route Circuit Connection from the specified express route circuit", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the peering connection", + args: { name: "name" }, + }, + { + name: "--peering-name", + description: + "Name of BGP peering (i.e. AzurePrivatePeering)", + args: { name: "peering-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the peering connection", + args: { name: "name" }, + }, + { + name: "--peering-name", + description: + "Name of BGP peering (i.e. AzurePrivatePeering)", + args: { name: "peering-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "ipv6-config", + description: "Manage ExpressRoute circuit connection configs", + subcommands: [ + { + name: "remove", + description: + "Remove connection config to ExpressRoute circuit connection", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the peering connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--peering-name", + description: + "Name of BGP peering (i.e. AzurePrivatePeering)", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "set", + description: + "Set connection config to ExpressRoute circuit connection", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the peering connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--peering-name", + description: + "Name of BGP peering (i.e. AzurePrivatePeering)", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address-prefix", + description: + "/125 IP address space to carve out customer addresses for global reach", + args: { name: "address-prefix" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { + name: "--deleted", + description: "Wait until deleted", + }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the peering connection", + args: { name: "name" }, + }, + { + name: "--peering-name", + description: + "Name of BGP peering (i.e. AzurePrivatePeering)", + args: { name: "peering-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "peer-connection", + description: "Manage ExpressRoute circuit peer connections", + subcommands: [ + { + name: "list", + description: + "Gets all global reach peer connections associated with a private peering in an express route circuit", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + isRequired: true, + }, + { + name: "--peering-name", + description: + "Name of BGP peering (i.e. AzurePrivatePeering)", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the specified Peer Express Route Circuit Connection from the specified express route circuit", + options: [ + { + name: "--circuit-name", + description: "ExpressRoute circuit name", + args: { name: "circuit-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the peering connection", + args: { name: "name" }, + }, + { + name: "--peering-name", + description: + "Name of BGP peering (i.e. AzurePrivatePeering)", + args: { name: "peering-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "port", + description: "Manage ExpressRoute ports", + subcommands: [ + { + name: "create", + description: "Create an ExpressRoute port", + options: [ + { + name: ["--name", "-n"], + description: "ExpressRoute port name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--bandwidth", + description: + 'Bandwidth of the circuit. Usage: INT {Mbps,Gbps}. Defaults to Mbps. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "bandwidth" }, + }, + { + name: "--encapsulation", + description: + "Encapsulation method on physical ports. Allowed values: Dot1Q, QinQ", + args: { + name: "encapsulation", + suggestions: ["Dot1Q", "QinQ"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peering-location", + description: + "The name of the peering location that the port is mapped to physically", + args: { name: "peering-location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an ExpressRoute port", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute port name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "generate-loa", + description: + "Generate and download a letter of authorization for the requested ExpressRoutePort", + options: [ + { + name: "--customer-name", + description: "The customer name", + args: { name: "customer-name" }, + isRequired: true, + }, + { + name: ["--file", "-f"], + description: + "Directory or the file path of the letter to be saved to. If the file name extension is not .pdf, Azure CLI will help to append. Be careful, the existing file might get overwritten", + args: { name: "file" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute port name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List ExpressRoute ports", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an ExpressRoute port", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute port name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update settings of an ExpressRoute port", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute port name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute port name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "identity", + description: + "Manage the managed service identity of an ExpressRoute Port", + subcommands: [ + { + name: "assign", + description: + "Assign a managed service identity to an ExpressRoute Port", + options: [ + { + name: "--identity", + description: "Name or ID of the ManagedIdentity Resource", + args: { name: "identity" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute port name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "remove", + description: + "Remove the managed service identity of an ExpressRoute Port", + options: [ + { + name: ["--name", "-n"], + description: "ExpressRoute port name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "show", + description: + "Show the managed service identity of an ExpressRoute Port", + options: [ + { + name: ["--name", "-n"], + description: "ExpressRoute port name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "ExpressRoute port name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "link", + description: "View ExpressRoute links", + subcommands: [ + { + name: "list", + description: "List ExpressRoute links", + options: [ + { + name: "--port-name", + description: "ExpressRoute port name", + args: { name: "port-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of an ExpressRoute link", + options: [ + { + name: ["--name", "-n"], + description: "The link name of the ExpressRoute Port", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--port-name", + description: "ExpressRoute port name", + args: { name: "port-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Manage MACsec configuration of an ExpressRoute Link", + options: [ + { + name: ["--name", "-n"], + description: "The link name of the ExpressRoute Port", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--port-name", + description: "ExpressRoute port name", + args: { name: "port-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--admin-state", + description: + "Enable/Disable administrative state of an ExpressRoute Link", + args: { + name: "admin-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: "Resource ID", + args: { name: "ids" }, + }, + { + name: "--macsec-cak-secret-identifier", + description: + "The connectivity association key (CAK) ID that stored in the KeyVault", + args: { name: "macsec-cak-secret-identifier" }, + }, + { + name: "--macsec-cipher", + description: "Cipher Method", + args: { + name: "macsec-cipher", + suggestions: [ + "GcmAes128", + "GcmAes256", + "GcmAesXpn128", + "GcmAesXpn256", + ], + }, + }, + { + name: "--macsec-ckn-secret-identifier", + description: + "The connectivity key name (CKN) that stored in the KeyVault", + args: { name: "macsec-ckn-secret-identifier" }, + }, + { + name: "--macsec-sci-state", + description: "Sci mode", + args: { + name: "macsec-sci-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--port-name", + description: "ExpressRoute port name", + args: { name: "port-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "location", + description: "View ExpressRoute port location information", + subcommands: [ + { + name: "list", + description: + "Get the details of an ExpressRoute port location", + }, + { + name: "show", + description: + "Get a single ExpressRoutePort peering location, including the list of available bandwidths available at said peering location", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Name of the requested ExpressRoutePort peering location", + args: { name: "location" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "firewall", + description: "Manage and configure Azure Firewalls", + subcommands: [ + { + name: "create", + description: "Create an Azure Firewall", + options: [ + { + name: ["--name", "-n"], + description: "Azure Firewall name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--allow-active-ftp", + description: + "Allow Active FTP. By default it is false. It's only allowed for azure firewall on virtual network", + args: { + name: "allow-active-ftp", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--conf-name", + description: "Name of the IP configuration", + args: { name: "conf-name" }, + }, + { + name: ["--public-ip-count", "--count"], + description: + "Number of Public IP Address associated with azure firewall. It's used to add public ip addresses into this firewall", + args: { name: "public-ip-count" }, + }, + { + name: "--dns-servers", + description: + 'Space-separated list of DNS server IP addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-servers" }, + }, + { + name: "--enable-dns-proxy", + description: "Enable DNS Proxy", + args: { + name: "enable-dns-proxy", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--enable-fat-flow-logging", "--fat-flow-logging"], + description: "Allow fat flow logging. By default it is false", + args: { + name: "enable-fat-flow-logging", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--enable-udp-log-optimization", "--udp-log-optimization"], + description: "Allow UDP log optimization. By default it is false", + args: { + name: "enable-udp-log-optimization", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--firewall-policy", "--policy"], + description: + "Name or ID of the firewallPolicy associated with this azure firewall", + args: { name: "firewall-policy" }, + }, + { + name: ["--location", "-l"], + description: "Resource location", + args: { name: "location" }, + }, + { + name: "--m-conf-name", + description: "Name of the management IP configuration", + args: { name: "m-conf-name" }, + }, + { + name: "--m-public-ip", + description: + "Name or ID of the public IP to use for management IP configuration", + args: { name: "m-public-ip" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-ranges", + description: + 'Space-separated list of SNAT privaterange. Validate values are single Ip, Ipprefixes or a single special value "IANAPrivateRanges". Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "private-ranges" }, + }, + { + name: "--public-ip", + description: "Name or ID of the public IP to use", + args: { name: "public-ip" }, + }, + { + name: "--route-server-id", + description: "The Route Server Id for the firewall", + args: { name: "route-server-id" }, + }, + { + name: "--sku", + description: + "SKU of Azure firewall. This field cannot be updated after the creation. The default sku in server end is AZFW_VNet. If you want to attach azure firewall to vhub, you should set sku to AZFW_Hub", + args: { name: "sku", suggestions: ["AZFW_Hub", "AZFW_VNet"] }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--threat-intel-mode", + description: "The operation mode for Threat Intelligence", + args: { + name: "threat-intel-mode", + suggestions: ["Alert", "Deny", "Off"], + }, + }, + { + name: "--tier", + description: + "Tier of an azure firewall. --tier will take effect only when --sku is set", + args: { + name: "tier", + suggestions: ["Basic", "Premium", "Standard"], + }, + }, + { + name: ["--virtual-hub", "--vhub"], + description: + "Name or ID of the virtualHub to which the firewall belongs", + args: { name: "virtual-hub" }, + }, + { + name: "--vnet-name", + description: + 'The virtual network (VNet) name. It should contain one subnet called "AzureFirewallSubnet"', + args: { name: "vnet-name" }, + }, + { + name: ["--zones", "-z"], + description: + 'Space-separated list of availability zones into which to provision the resource. Allowed values: 1, 2, 3. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "zones" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure Firewall", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Azure Firewall name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "learned-ip-prefix", + description: + "Retrieves a list of all IP prefixes that azure firewall has learned to not SNAT", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Azure Firewall name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Azure Firewalls", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-fqdn-tags", + description: + "Gets all the Azure Firewall FQDN Tags in a subscription", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an Azure Firewall", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Azure Firewall name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Azure Firewall", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--allow-active-ftp", + description: + "Allow Active FTP. By default it is false. It's only allowed for azure firewall on virtual network", + args: { + name: "allow-active-ftp", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--public-ip-count", "--count"], + description: + "Number of Public IP Address associated with azure firewall. It's used to add public ip addresses into this firewall", + args: { name: "public-ip-count" }, + }, + { + name: "--dns-servers", + description: + 'Space-separated list of DNS server IP addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-servers" }, + }, + { + name: "--enable-dns-proxy", + description: "Enable DNS Proxy", + args: { + name: "enable-dns-proxy", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--enable-fat-flow-logging", "--fat-flow-logging"], + description: "Allow fat flow logging. By default it is false", + args: { + name: "enable-fat-flow-logging", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--enable-udp-log-optimization", "--udp-log-optimization"], + description: "Allow UDP log optimization. By default it is false", + args: { + name: "enable-udp-log-optimization", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--firewall-policy", "--policy"], + description: + "Name or ID of the firewallPolicy associated with this azure firewall", + args: { name: "firewall-policy" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Azure Firewall name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-ranges", + description: + 'Space-separated list of SNAT privaterange. Validate values are single Ip, Ipprefixes or a single special value "IANAPrivateRanges". Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "private-ranges" }, + }, + { + name: "--public-ips", + description: + 'Space-separated list of Public IP addresses associated with azure firewall. It\'s used to delete public ip addresses from this firewall. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "public-ips" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--route-server-id", + description: "The Route Server Id for the firewall", + args: { name: "route-server-id" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--threat-intel-mode", + description: "The operation mode for Threat Intelligence", + args: { + name: "threat-intel-mode", + suggestions: ["Alert", "Deny", "Off"], + }, + }, + { + name: ["--virtual-hub", "--vhub"], + description: + "Name or ID of the virtualHub to which the firewall belongs", + args: { name: "virtual-hub" }, + }, + { + name: ["--zones", "-z"], + description: + 'Space-separated list of availability zones into which to provision the resource. Allowed values: 1, 2, 3. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "zones" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Azure Firewall name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "application-rule", + description: "Manage and configure Azure Firewall application rules", + subcommands: [ + { + name: "create", + description: "Create an Azure Firewall application rule", + options: [ + { + name: ["--collection-name", "-c"], + description: + "Name of the collection to create the rule in. Will create the collection if it does not exist", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the application rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--protocols", + description: + "Space-separated list of protocols and port numbers to use, in PROTOCOL=PORT format. Valid protocols are Http, Https", + args: { name: "protocols" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--action", + description: + "The action to apply for the rule collection. Supply only if you want to create the collection", + args: { name: "action", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--description", + description: "Rule description", + args: { name: "description" }, + }, + { + name: "--fqdn-tags", + description: "Space-separated list of FQDN tags", + args: { name: "fqdn-tags" }, + }, + { + name: "--priority", + description: + "Priority of the rule collection from 100 (high) to 65000 (low). Supply only if you want to create the collection", + args: { name: "priority" }, + }, + { + name: "--source-addresses", + description: + "Space-separated list of source IP addresses. Use '*' to match all", + args: { name: "source-addresses" }, + }, + { + name: "--source-ip-groups", + description: + "Space-separated list of name or resource id of source IpGroups", + args: { name: "source-ip-groups" }, + }, + { + name: "--target-fqdns", + description: + "Space-separated list of fully qualified domain names (FDQN)", + args: { name: "target-fqdns" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure Firewall application rule", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the application rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Azure Firewall application rules", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of an Azure Firewall application rule", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the application rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "collection", + description: + "Manage and configure Azure Firewall application rule collections.\n\n\t\tCollections are created as part of the az network firewall application-rule create command", + subcommands: [ + { + name: "delete", + description: + "Delete an Azure Firewall application rule collection", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List Azure Firewall application rule collections", + options: [ + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of an Azure Firewall application rule collection", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "ip-config", + description: "Manage and configure Azure Firewall IP configurations", + subcommands: [ + { + name: "create", + description: "Create an Azure Firewall IP configuration", + options: [ + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--public-ip-address", + description: "Name or ID of the public IP to use", + args: { name: "public-ip-address" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--m-name", + description: "Name of the management IP configuration", + args: { name: "m-name" }, + }, + { + name: "--m-public-ip-address", + description: + "Name or ID of the public IP to use for management ip configuation", + args: { name: "m-public-ip-address" }, + }, + { + name: "--m-vnet-name", + description: + 'The virtual network (VNet) name for management ip configuation. It should contain one subnet called "AzureFirewallManagementSubnet"', + args: { name: "m-vnet-name" }, + }, + { + name: "--vnet-name", + description: + 'The virtual network (VNet) name. It should contain one subnet called "AzureFirewallSubnet"', + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure Firewall IP configuration", + options: [ + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the IP configuration", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Azure Firewall IP configurations", + options: [ + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of an Azure Firewall IP configuration", + options: [ + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the IP configuration", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "management-ip-config", + description: + "Manage and configure Azure Firewall Management IP configurations", + subcommands: [ + { + name: "show", + description: + "Get the details of an Azure Firewall Management IP configuration", + options: [ + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an Azure Firewall Management IP configuration", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--public-ip-address", + description: "Name or ID of the public IP to use", + args: { name: "public-ip-address" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: + 'The virtual network (VNet) name. It should contain one subnet called "AzureFirewallManagementSubnet"', + args: { name: "vnet-name" }, + }, + ], + }, + ], + }, + { + name: "nat-rule", + description: "Manage and configure Azure Firewall NAT rules", + subcommands: [ + { + name: "create", + description: "Create an Azure Firewall NAT rule", + options: [ + { + name: ["--collection-name", "-c"], + description: + "Name of the collection to create the rule in. Will create the collection if it does not exist", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--destination-addresses", "--dest-addr"], + description: + "Space-separated list of destination IP addresses. Use '*' to match all", + args: { name: "destination-addresses" }, + isRequired: true, + }, + { + name: "--destination-ports", + description: + "Space-separated list of destination ports. Use '*' to match all", + args: { name: "destination-ports" }, + isRequired: true, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the NAT rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--protocols", + description: "Space-separated list of protocols", + args: { + name: "protocols", + suggestions: ["Any", "ICMP", "TCP", "UDP"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--translated-port", + description: "Translated port for this NAT rule", + args: { name: "translated-port" }, + isRequired: true, + }, + { + name: "--action", + description: + "The action to apply for the rule collection. Supply only if you want to create the collection", + args: { name: "action", suggestions: ["Dnat", "Snat"] }, + }, + { + name: "--description", + description: "Rule description", + args: { name: "description" }, + }, + { + name: "--priority", + description: + "Priority of the rule collection from 100 (high) to 65000 (low). Supply only if you want to create the collection", + args: { name: "priority" }, + }, + { + name: "--source-addresses", + description: + "Space-separated list of source IP addresses. Use '*' to match all", + args: { name: "source-addresses" }, + }, + { + name: "--source-ip-groups", + description: + "Space-separated list of name or resource id of source IpGroups", + args: { name: "source-ip-groups" }, + }, + { + name: "--translated-address", + description: "Translated address for this NAT rule", + args: { name: "translated-address" }, + }, + { + name: "--translated-fqdn", + description: "Translated FQDN for this NAT rule", + args: { name: "translated-fqdn" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure Firewall NAT rule", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the NAT rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Azure Firewall NAT rules", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of an Azure Firewall NAT rule", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the NAT rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "collection", + description: + "Manage and configure Azure Firewall NAT rules.\n\n\t\tCollections are created as part of the az network firewall nat-rule create command", + subcommands: [ + { + name: "delete", + description: "Delete an Azure Firewall NAT rule collection", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Azure Firewall NAT rule collections", + options: [ + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of an Azure Firewall NAT rule collection", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "network-rule", + description: "Manage and configure Azure Firewall network rules", + subcommands: [ + { + name: "create", + description: "Create an Azure Firewall network rule", + options: [ + { + name: ["--collection-name", "-c"], + description: + "Name of the collection to create the rule in. Will create the collection if it does not exist", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: "--destination-ports", + description: + "Space-separated list of destination ports. Use '*' to match all", + args: { name: "destination-ports" }, + isRequired: true, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the network rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--protocols", + description: "Space-separated list of protocols", + args: { + name: "protocols", + suggestions: ["Any", "ICMP", "TCP", "UDP"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--action", + description: + "The action to apply for the rule collection. Supply only if you want to create the collection", + args: { name: "action", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--description", + description: "Rule description", + args: { name: "description" }, + }, + { + name: ["--destination-addresses", "--dest-addr"], + description: + "Space-separated list of destination IP addresses. Use '*' to match all", + args: { name: "destination-addresses" }, + }, + { + name: "--destination-fqdns", + description: "Space-separated list of destination FQDNs", + args: { name: "destination-fqdns" }, + }, + { + name: "--destination-ip-groups", + description: + "Space-separated list of name or resource id of destination IpGroups", + args: { name: "destination-ip-groups" }, + }, + { + name: "--priority", + description: + "Priority of the rule collection from 100 (high) to 65000 (low). Supply only if you want to create the collection", + args: { name: "priority" }, + }, + { + name: "--source-addresses", + description: + "Space-separated list of source IP addresses. Use '*' to match all", + args: { name: "source-addresses" }, + }, + { + name: "--source-ip-groups", + description: + "Space-separated list of name or resource id of source IpGroups", + args: { name: "source-ip-groups" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an Azure Firewall network rule. If you want to delete the last rule in a collection, please delete the collection instead", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the network rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Azure Firewall network rules", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of an Azure Firewall network rule", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the network rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "collection", + description: + "Manage and configure Azure Firewall network rule collections.\n\n\t\tCollections are created as part of the az network firewall network-rule create command", + subcommands: [ + { + name: "delete", + description: + "Delete an Azure Firewall network rule collection", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Azure Firewall network rule collections", + options: [ + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of an Azure Firewall network rule collection", + options: [ + { + name: ["--collection-name", "-c"], + description: "Name of the rule collection", + args: { name: "collection-name" }, + }, + { + name: ["--firewall-name", "-f"], + description: "Azure Firewall name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "policy", + description: "Manage and configure Azure firewall policy", + subcommands: [ + { + name: "create", + description: "Create an Azure firewall policy", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Firewall Policy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--auto-learn-private-ranges", "--learn-ranges"], + description: + "The operation mode for automatically learning private ranges to not be SNAT", + args: { + name: "auto-learn-private-ranges", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--base-policy", + description: + "The name or ID of parent firewall policy from which rules are inherited", + args: { name: "base-policy" }, + }, + { + name: "--cert-name", + description: "Name of the CA certificate", + args: { name: "cert-name" }, + }, + { + name: "--dns-servers", + description: + 'Space-separated list of DNS server IP addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-servers" }, + }, + { + name: "--enable-dns-proxy", + description: "Enable DNS Proxy", + args: { + name: "enable-dns-proxy", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--fqdns", + description: + 'Space-separated list of FQDNs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdns" }, + }, + { + name: "--identity", + description: "Name or ID of the ManagedIdentity Resource", + args: { name: "identity" }, + }, + { + name: "--idps-mode", + description: "IDPS mode", + args: { + name: "idps-mode", + suggestions: ["Alert", "Deny", "Off"], + }, + }, + { + name: "--ip-addresses", + description: + 'Space-separated list of IPv4 addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-addresses" }, + }, + { + name: "--key-vault-secret-id", + description: + "Secret Id of (base-64 encoded unencrypted pfx) Secret or Certificate object stored in KeyVault", + args: { name: "key-vault-secret-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-ranges", + description: + 'List of private IP addresses/IP address ranges to not be SNAT. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "private-ranges" }, + }, + { + name: "--sku", + description: "SKU of Firewall policy", + args: { + name: "sku", + suggestions: ["Basic", "Premium", "Standard"], + }, + }, + { + name: "--sql", + description: + "A flag to indicate if SQL Redirect traffic filtering is enabled", + args: { + name: "sql", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--threat-intel-mode", + description: "The operation mode for Threat Intelligence", + args: { + name: "threat-intel-mode", + suggestions: ["Alert", "Deny", "Off"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure firewall policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Firewall Policy", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all Azure firewall policies", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show an Azure firewall policy", + options: [ + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Firewall Policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Azure firewall policy", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--auto-learn-private-ranges", "--learn-ranges"], + description: + "The operation mode for automatically learning private ranges to not be SNAT", + args: { + name: "auto-learn-private-ranges", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--cert-name", + description: "Name of the CA certificate", + args: { name: "cert-name" }, + }, + { + name: "--dns-servers", + description: + 'Space-separated list of DNS server IP addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-servers" }, + }, + { + name: "--enable-dns-proxy", + description: "Enable DNS Proxy", + args: { + name: "enable-dns-proxy", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--fqdns", + description: + 'Space-separated list of FQDNs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdns" }, + }, + { + name: "--identity", + description: "Name or ID of the ManagedIdentity Resource", + args: { name: "identity" }, + }, + { + name: "--idps-mode", + description: "IDPS mode", + args: { + name: "idps-mode", + suggestions: ["Alert", "Deny", "Off"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-addresses", + description: + 'Space-separated list of IPv4 addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-addresses" }, + }, + { + name: "--key-vault-secret-id", + description: + "Secret Id of (base-64 encoded unencrypted pfx) Secret or Certificate object stored in KeyVault", + args: { name: "key-vault-secret-id" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Firewall Policy", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-ranges", + description: + 'List of private IP addresses/IP address ranges to not be SNAT. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "private-ranges" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "SKU of Firewall policy", + args: { + name: "sku", + suggestions: ["Basic", "Premium", "Standard"], + }, + }, + { + name: "--sql", + description: + "A flag to indicate if SQL Redirect traffic filtering is enabled", + args: { + name: "sql", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--threat-intel-mode", + description: "The operation mode for Threat Intelligence", + args: { + name: "threat-intel-mode", + suggestions: ["Alert", "Deny", "Off"], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Firewall Policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "intrusion-detection", + description: "Manage intrusion signature rules and bypass rules", + subcommands: [ + { + name: "add", + description: "Update an Azure firewall policy", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--auto-learn-private-ranges", "--learn-ranges"], + description: + "The operation mode for automatically learning private ranges to not be SNAT", + args: { + name: "auto-learn-private-ranges", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--cert-name", + description: "Name of the CA certificate", + args: { name: "cert-name" }, + }, + { + name: "--configuration", + description: + 'Intrusion detection configuration properties. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "configuration" }, + }, + { + name: "--dns-servers", + description: + 'Space-separated list of DNS server IP addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-servers" }, + }, + { + name: "--enable-dns-proxy", + description: "Enable DNS Proxy", + args: { + name: "enable-dns-proxy", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--fqdns", + description: + 'Space-separated list of FQDNs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdns" }, + }, + { + name: "--identity-type", + description: + "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--idps-mode", + description: "IDPS mode", + args: { + name: "idps-mode", + suggestions: ["Alert", "Deny", "Off"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-addresses", + description: + 'Space-separated list of IPv4 addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-addresses" }, + }, + { + name: "--key-vault-secret-id", + description: + "Secret Id of (base-64 encoded unencrypted pfx) Secret or Certificate object stored in KeyVault", + args: { name: "key-vault-secret-id" }, + }, + { + name: "--mode", + description: "The signature state", + args: { + name: "mode", + suggestions: ["Alert", "Deny", "Off"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + }, + { + name: "--private-ranges", + description: + 'List of private IP addresses/IP address ranges to not be SNAT. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "private-ranges" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-description", + description: "Description of the bypass traffic rule", + args: { name: "rule-description" }, + }, + { + name: "--rule-dest-addresses", + description: + 'Space-separated list of destination IP addresses or ranges for this rule Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rule-dest-addresses" }, + }, + { + name: "--rule-dest-ip-groups", + description: + 'Space-separated list of destination IpGroups for this rule Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rule-dest-ip-groups" }, + }, + { + name: "--rule-dest-ports", + description: + 'Space-separated list of destination ports or ranges Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rule-dest-ports" }, + }, + { + name: "--rule-name", + description: "Name of the bypass traffic rule", + args: { name: "rule-name" }, + }, + { + name: "--rule-protocol", + description: "The rule bypass protocol", + args: { + name: "rule-protocol", + suggestions: ["Any", "ICMP", "TCP", "UDP"], + }, + }, + { + name: "--rule-src-addresses", + description: + 'Space-separated list of source IP addresses or ranges for this rule Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rule-src-addresses" }, + }, + { + name: "--rule-src-ip-groups", + description: + 'Space-separated list of source IpGroups Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rule-src-ip-groups" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--signature-id", + description: "Signature id", + args: { name: "signature-id" }, + }, + { + name: "--sku", + description: "SKU of Firewall policy", + args: { + name: "sku", + suggestions: ["Basic", "Premium", "Standard"], + }, + }, + { + name: "--sql", + description: + "A flag to indicate if SQL Redirect traffic filtering is enabled", + args: { + name: "sql", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--threat-intel-mode", + description: "The operation mode for Threat Intelligence", + args: { + name: "threat-intel-mode", + suggestions: ["Alert", "Deny", "Off"], + }, + }, + ], + }, + { + name: "list", + description: "List all intrusion detection configuration", + options: [ + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Update an Azure firewall policy", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--auto-learn-private-ranges", "--learn-ranges"], + description: + "The operation mode for automatically learning private ranges to not be SNAT", + args: { + name: "auto-learn-private-ranges", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--cert-name", + description: "Name of the CA certificate", + args: { name: "cert-name" }, + }, + { + name: "--configuration", + description: + 'Intrusion detection configuration properties. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "configuration" }, + }, + { + name: "--dns-servers", + description: + 'Space-separated list of DNS server IP addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-servers" }, + }, + { + name: "--enable-dns-proxy", + description: "Enable DNS Proxy", + args: { + name: "enable-dns-proxy", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--fqdns", + description: + 'Space-separated list of FQDNs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdns" }, + }, + { + name: "--identity-type", + description: + "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--idps-mode", + description: "IDPS mode", + args: { + name: "idps-mode", + suggestions: ["Alert", "Deny", "Off"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-addresses", + description: + 'Space-separated list of IPv4 addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-addresses" }, + }, + { + name: "--key-vault-secret-id", + description: + "Secret Id of (base-64 encoded unencrypted pfx) Secret or Certificate object stored in KeyVault", + args: { name: "key-vault-secret-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + }, + { + name: "--private-ranges", + description: + 'List of private IP addresses/IP address ranges to not be SNAT. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "private-ranges" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: "Name of the bypass traffic rule", + args: { name: "rule-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--signature-id", + description: "Signature id", + args: { name: "signature-id" }, + }, + { + name: "--sku", + description: "SKU of Firewall policy", + args: { + name: "sku", + suggestions: ["Basic", "Premium", "Standard"], + }, + }, + { + name: "--sql", + description: + "A flag to indicate if SQL Redirect traffic filtering is enabled", + args: { + name: "sql", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--threat-intel-mode", + description: "The operation mode for Threat Intelligence", + args: { + name: "threat-intel-mode", + suggestions: ["Alert", "Deny", "Off"], + }, + }, + ], + }, + ], + }, + { + name: "rule-collection-group", + description: + "Manage and configure Azure firewall policy rule collection group", + subcommands: [ + { + name: "create", + description: + "Create an Azure firewall policy rule collection group", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: "--priority", + description: + "Priority of the Firewall Policy Rule Collection Group", + args: { name: "priority" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete an Azure Firewall policy rule collection group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all Azure firewall policy rule collection groups", + options: [ + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Show an Azure firewall policy rule collection group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "name" }, + }, + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an Azure firewall policy rule collection group", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + }, + { + name: "--priority", + description: + "Priority of the Firewall Policy Rule Collection Group", + args: { name: "priority" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "name" }, + }, + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "collection", + description: + "Manage and configure Azure firewall policy rule collections in the rule collection group.\n\n\t\tCurrently, Azure Firewall policy support two kinds of rule collections which are Filter collection and NAT collection. There are three kinds of rules which are application rule, network rule and nat rule.\nNAT collection support having a list of nat rule. Filter collection support including a list of rules(network rule or application rule) in it. But all of rules should be the same type", + subcommands: [ + { + name: "add-filter-collection", + description: + "Add a filter collection into an Azure firewall policy rule collection group", + options: [ + { + name: "--collection-priority", + description: + "The priority of the rule in Firewall Policy Rule Collection Group", + args: { name: "collection-priority" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--rule-collection-group-name", "--rcg-name"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "rule-collection-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--action", + description: "The action type of a rule collection", + args: { + name: "action", + suggestions: ["Allow", "Deny"], + }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "The description of rule", + args: { name: "description" }, + }, + { + name: ["--destination-addresses", "--dest-addr"], + description: + 'Space-separated list of destination IP addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-addresses" }, + }, + { + name: ["--destination-ip-groups", "--dest-ipg"], + description: + 'Space-separated list of name or resource id of destination IpGroups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-ip-groups" }, + }, + { + name: "--destination-fqdns", + description: + 'Space-separated list of destination FQDNs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-fqdns" }, + }, + { + name: "--destination-ports", + description: + 'Space-separated list of destination ports. This argument is supported for Nat and Network Rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-ports" }, + }, + { + name: [ + "--enable-tls-inspection", + "--enable-tls-insp", + ], + description: + "Enable flag to terminate TLS connection for this rule", + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--fqdn-tags", + description: + 'Space-separated list of FQDN tags for this rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdn-tags" }, + }, + { + name: "--ip-protocols", + description: + 'Space-separated list of IP protocols. This argument is supported for Nat and Network Rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-protocols" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--protocols", + description: + 'Space-separated list of protocols and port numbers to use, in PROTOCOL=PORT format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "protocols" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--rule-name", + description: "The name of rule", + args: { name: "rule-name" }, + }, + { + name: "--rule-type", + description: "The type of rule", + args: { + name: "rule-type", + suggestions: [ + "ApplicationRule", + "NatRule", + "NetworkRule", + ], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--source-addresses", + description: + 'Space-separated list of source IP ddresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "source-addresses" }, + }, + { + name: "--source-ip-groups", + description: + 'Space-separated list of name or resource id of source IpGroups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "source-ip-groups" }, + }, + { + name: "--target-fqdns", + description: + 'Space-separated list of FQDNs for this rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "target-fqdns" }, + }, + { + name: "--target-urls", + description: + 'Space-separated list of target urls for this rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "target-urls" }, + }, + { + name: "--web-categories", + description: + 'Space-separated list of web categories for this rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "web-categories" }, + }, + ], + }, + { + name: "add-nat-collection", + description: + "Add a NAT collection into an Azure firewall policy rule collection group", + options: [ + { + name: "--collection-priority", + description: + "The priority of the rule in Firewall Policy Rule Collection Group", + args: { name: "collection-priority" }, + isRequired: true, + }, + { + name: "--ip-protocols", + description: + 'Space-separated list of IP protocols. This argument is supported for Nat and Network Rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-protocols" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--rule-collection-group-name", "--rcg-name"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "rule-collection-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--action", + description: "The action type of a rule collection", + args: { + name: "action", + suggestions: ["DNAT", "SNAT"], + }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "The description of rule", + args: { name: "description" }, + }, + { + name: ["--destination-addresses", "--dest-addr"], + description: + 'Space-separated list of destination IP addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-addresses" }, + }, + { + name: "--destination-ports", + description: + 'Space-separated list of destination ports. This argument is supported for Nat and Network Rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-ports" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--rule-name", + description: "The name of rule", + args: { name: "rule-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--source-addresses", + description: + 'Space-separated list of source IP ddresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "source-addresses" }, + }, + { + name: "--source-ip-groups", + description: + 'Space-separated list of name or resource id of source IpGroups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "source-ip-groups" }, + }, + { + name: "--translated-address", + description: + "Translated address for this NAT rule collection", + args: { name: "translated-address" }, + }, + { + name: "--translated-fqdn", + description: + "Translated FQDN for this NAT rule collection", + args: { name: "translated-fqdn" }, + }, + { + name: "--translated-port", + description: + "Translated port for this NAT rule collection", + args: { name: "translated-port" }, + }, + ], + }, + { + name: "list", + description: + "List all rule collections of an Azure firewall policy rule collection group", + options: [ + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--rule-collection-group-name", "--rcg-name"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "rule-collection-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a rule collection from an Azure firewall policy rule collection group", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--rule-collection-group-name", "--rcg-name"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "rule-collection-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "rule", + description: + "Manage and configure the rule of a filter collection in the rule collection group of Azure firewall policy.\n\n\t\tFilter collection supports having a list of network rules or application rules.\nNatRule collection supports including a list of nat rules", + subcommands: [ + { + name: "add", + description: + "Add a rule into an Azure firewall policy rule collection", + options: [ + { + name: "--collection-name", + description: + "The name of the rule collection in Firewall Policy Rule Collection Group", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: [ + "--rule-collection-group-name", + "--rcg-name", + ], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "rule-collection-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-type", + description: "The type of rule", + args: { + name: "rule-type", + suggestions: [ + "ApplicationRule", + "NatRule", + "NetworkRule", + ], + }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "The description of rule", + args: { name: "description" }, + }, + { + name: ["--destination-addresses", "--dest-addr"], + description: + 'Space-separated list of destination IP addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-addresses" }, + }, + { + name: ["--destination-ip-groups", "--dest-ipg"], + description: + 'Space-separated list of name or resource id of destination IpGroups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-ip-groups" }, + }, + { + name: "--destination-fqdns", + description: + 'Space-separated list of destination FQDNs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-fqdns" }, + }, + { + name: "--destination-ports", + description: + 'Space-separated list of destination ports. This argument is supported for Nat and Network Rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-ports" }, + }, + { + name: [ + "--enable-tls-inspection", + "--enable-tls-insp", + ], + description: + "Enable flag to terminate TLS connection for this rule", + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--fqdn-tags", + description: + 'Space-separated list of FQDN tags for this rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdn-tags" }, + }, + { + name: "--ip-protocols", + description: + 'Space-separated list of IP protocols. This argument is supported for Nat and Network Rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-protocols" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--protocols", + description: + 'Space-separated list of protocols and port numbers to use, in PROTOCOL=PORT format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "protocols" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--source-addresses", + description: + 'Space-separated list of source IP ddresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "source-addresses" }, + }, + { + name: "--source-ip-groups", + description: + 'Space-separated list of name or resource id of source IpGroups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "source-ip-groups" }, + }, + { + name: "--target-fqdns", + description: + 'Space-separated list of FQDNs for this rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "target-fqdns" }, + }, + { + name: "--target-urls", + description: + 'Space-separated list of target urls for this rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "target-urls" }, + }, + { + name: "--translated-address", + description: + "Translated address for this NAT rule collection", + args: { name: "translated-address" }, + }, + { + name: "--translated-fqdn", + description: + "Translated FQDN for this NAT rule collection", + args: { name: "translated-fqdn" }, + }, + { + name: "--translated-port", + description: + "Translated port for this NAT rule collection", + args: { name: "translated-port" }, + }, + { + name: "--web-categories", + description: + 'Space-separated list of web categories for this rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "web-categories" }, + }, + ], + }, + { + name: "remove", + description: + "Remove a rule from an Azure firewall policy rule collection", + options: [ + { + name: "--collection-name", + description: + "The name of the rule collection in Firewall Policy Rule Collection Group", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: [ + "--rule-collection-group-name", + "--rcg-name", + ], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "rule-collection-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "update", + description: + "Update a rule of an Azure firewall policy rule collection", + options: [ + { + name: "--collection-name", + description: + "The name of the rule collection in Firewall Policy Rule Collection Group", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: "The name of the Firewall Policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: [ + "--rule-collection-group-name", + "--rcg-name", + ], + description: + "The name of the Firewall Policy Rule Collection Group", + args: { name: "rule-collection-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "The description of rule", + args: { name: "description" }, + }, + { + name: ["--destination-addresses", "--dest-addr"], + description: + 'Space-separated list of destination IP addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-addresses" }, + }, + { + name: ["--destination-ip-groups", "--dest-ipg"], + description: + 'Space-separated list of name or resource id of destination IpGroups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-ip-groups" }, + }, + { + name: "--destination-fqdns", + description: + 'Space-separated list of destination FQDNs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-fqdns" }, + }, + { + name: "--destination-ports", + description: + 'Space-separated list of destination ports. This argument is supported for Nat and Network Rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-ports" }, + }, + { + name: [ + "--enable-tls-inspection", + "--enable-tls-insp", + ], + description: + "Enable flag to terminate TLS connection for this rule", + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--fqdn-tags", + description: + 'Space-separated list of FQDN tags for this rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdn-tags" }, + }, + { + name: "--ip-protocols", + description: + 'Space-separated list of IP protocols. This argument is supported for Nat and Network Rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-protocols" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--protocols", + description: + 'Space-separated list of protocols and port numbers to use, in PROTOCOL=PORT format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "protocols" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--source-addresses", + description: + 'Space-separated list of source IP ddresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "source-addresses" }, + }, + { + name: "--source-ip-groups", + description: + 'Space-separated list of name or resource id of source IpGroups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "source-ip-groups" }, + }, + { + name: "--target-fqdns", + description: + 'Space-separated list of FQDNs for this rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "target-fqdns" }, + }, + { + name: "--target-urls", + description: + 'Space-separated list of target urls for this rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "target-urls" }, + }, + { + name: "--translated-address", + description: + "Translated address for this NAT rule collection", + args: { name: "translated-address" }, + }, + { + name: "--translated-fqdn", + description: + "Translated FQDN for this NAT rule collection", + args: { name: "translated-fqdn" }, + }, + { + name: "--translated-port", + description: + "Translated port for this NAT rule collection", + args: { name: "translated-port" }, + }, + { + name: "--web-categories", + description: + 'Space-separated list of web categories for this rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "web-categories" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "threat-intel-allowlist", + description: + "Manage and configure Azure Firewall Threat Intelligence Allow List", + subcommands: [ + { + name: "create", + description: + "Create an Azure Firewall Threat Intelligence Allow List", + options: [ + { + name: ["--name", "-n"], + description: "Azure Firewall name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--fqdns", + description: + 'Space-separated list of FQDNs Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdns" }, + }, + { + name: "--ip-addresses", + description: + 'Space-separated list of IPv4 addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-addresses" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an Azure Firewall Threat Intelligence Allow List", + options: [ + { + name: ["--name", "-n"], + description: "Azure Firewall name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of an Azure Firewall Threat Intelligence Allow List", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Azure Firewall name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update Azure Firewall Threat Intelligence Allow List", + options: [ + { + name: ["--name", "-n"], + description: "Azure Firewall name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--fqdns", + description: + 'Space-separated list of FQDNs Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdns" }, + }, + { + name: "--ip-addresses", + description: + 'Space-separated list of IPv4 addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-addresses" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "front-door", + description: + "Manage Classical Azure Front Doors. For managing Azure Front Door Standard/Premium, please refer https://docs.microsoft.com/en-us/cli/azure/afd?view=azure-cli-latest", + subcommands: [ + { + name: "check-custom-domain", + description: + "Validates the custom domain mapping to ensure it maps to the correct Front Door endpoint in DNS", + options: [ + { + name: "--host-name", + description: + "Required. The host name of the custom domain. Must be a domain name", + args: { name: "host-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Front Door", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "check-name-availability", + description: "Check the availability of a Front Door resource name", + options: [ + { + name: "--name", + description: "The resource name to be validated", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--resource-type", + description: + "The type of the resource whose name is to be validated", + args: { + name: "resource-type", + suggestions: [ + "Microsoft.Network/frontDoors", + "Microsoft.Network/frontDoors/frontendEndpoints", + ], + }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create a Front Door", + options: [ + { + name: "--backend-address", + description: "FQDN of the backend endpoint", + args: { name: "backend-address" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Front Door", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--accepted-protocols", + description: + "Space-separated list of protocols to accept. Default: Http", + args: { name: "accepted-protocols" }, + }, + { + name: "--backend-host-header", + description: "Host header sent to the backend", + args: { name: "backend-host-header" }, + }, + { + name: "--disabled", + description: "Create in a disabled state", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--enforce-certificate-name-check", + description: + "Whether to disable certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests", + args: { + name: "enforce-certificate-name-check", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--forwarding-protocol", + description: "Protocol to use for forwarding traffic", + args: { + name: "forwarding-protocol", + suggestions: ["HttpOnly", "HttpsOnly", "MatchRequest"], + }, + }, + { + name: "--friendly-name", + description: "Friendly name of the Front Door", + args: { name: "friendly-name" }, + }, + { + name: "--frontend-host-name", + description: "Domain name of the frontend endpoint", + args: { name: "frontend-host-name" }, + }, + { + name: "--interval", + description: "Interval in seconds between probes", + args: { name: "interval" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--path", + description: "Path to probe", + args: { name: "path" }, + }, + { + name: "--patterns", + description: + "Space-separated list of patterns to match. Default: '/*'", + args: { name: "patterns" }, + }, + { + name: "--probeMethod", + description: + "Configures which HTTP method to use to probe the backends defined under backendPools", + args: { name: "probeMethod", suggestions: ["GET", "HEAD"] }, + }, + { + name: "--protocol", + description: "Protocol to use for sending probes", + args: { name: "protocol", suggestions: ["Http", "Https"] }, + }, + { + name: "--send-recv-timeout", + description: + "Send and receive timeout in seconds on forwarding request to the backend. When timeout is reached, the request fails and returns", + args: { name: "send-recv-timeout" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Front Door", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Front Door", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Front Doors", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "purge-endpoint", + description: "Removes a content from Front Door", + options: [ + { + name: "--content-paths", + description: + "The path to the content to be purged. Can describe a file path or a wildcard directory", + args: { name: "content-paths" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Front Door", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a Front Door", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Front Door", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update settings of a Front Door", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--enforce-certificate-name-check", + description: + "Whether to disable certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests", + args: { + name: "enforce-certificate-name-check", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Front Door", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--send-recv-timeout", + description: + "Send and receive timeout in seconds on forwarding request to the backend. When timeout is reached, the request fails and returns", + args: { name: "send-recv-timeout" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the Front Door is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Front Door", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "backend-pool", + description: "Manage Front Door backend pools", + subcommands: [ + { + name: "create", + description: "Create a Front Door backend pool", + options: [ + { + name: "--address", + description: "FQDN of the backend endpoint", + args: { name: "address" }, + isRequired: true, + }, + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: "--load-balancing", + description: "Name or ID of the load balancing settings", + args: { name: "load-balancing" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend pool", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--probe", + description: "Name or ID of the probe settings", + args: { name: "probe" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--backend-host-header", + description: "Host header sent to the backend", + args: { name: "backend-host-header" }, + }, + { + name: "--disabled", + description: "Create in a disabled state", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--http-port", + description: "HTTP TCP port number", + args: { name: "http-port" }, + }, + { + name: "--https-port", + description: "HTTPS TCP port number", + args: { name: "https-port" }, + }, + { + name: "--priority", + description: + "Priority to use for load balancing. Higher priorities will not be used for load balancing if any lower priority backend is healthy", + args: { name: "priority" }, + }, + { + name: "--weight", + description: + "Weight of this endpoint for load balancing purposes", + args: { name: "weight" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Front Door backend pool", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend pool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List Front Door backend pools", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a Front Door backend pool", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend pool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "backend", + description: "Manage backends of Front Door backend pools", + subcommands: [ + { + name: "add", + description: "Add a backend to a Front Door backend pool", + options: [ + { + name: "--address", + description: "FQDN of the backend endpoint", + args: { name: "address" }, + isRequired: true, + }, + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: "--pool-name", + description: "Name of the backend pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: [ + "--private-link-approval-message", + "--approval-message", + ], + description: + "A custom message to be included in the approval request to connect to the Private Link", + args: { name: "private-link-approval-message" }, + }, + { + name: "--backend-host-header", + description: "Host header sent to the backend", + args: { name: "backend-host-header" }, + }, + { + name: "--disabled", + description: "Create in a disabled state", + args: { + name: "disabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--http-port", + description: "HTTP TCP port number", + args: { name: "http-port" }, + }, + { + name: "--https-port", + description: "HTTPS TCP port number", + args: { name: "https-port" }, + }, + { + name: "--priority", + description: + "Priority to use for load balancing. Higher priorities will not be used for load balancing if any lower priority backend is healthy", + args: { name: "priority" }, + }, + { + name: "--private-link-alias", + description: + "The Alias of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + args: { name: "private-link-alias" }, + }, + { + name: "--private-link-location", + description: + "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + args: { name: "private-link-location" }, + }, + { + name: ["--private-link-resource-id", "--resource-id"], + description: + "The Resource Id of the Private Link. Populating this optional field indicates that this backend is 'Private'", + args: { name: "private-link-resource-id" }, + }, + { + name: "--weight", + description: + "Weight of this endpoint for load balancing purposes", + args: { name: "weight" }, + }, + ], + }, + { + name: "list", + description: "List backends of a Front Door backend pool", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: "--pool-name", + description: "Name of the backend pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a backend from a Front Door backend pool", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: "--index", + description: + "Index of the backend to remove (starting with 1)", + args: { name: "index" }, + isRequired: true, + }, + { + name: "--pool-name", + description: "Name of the backend pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a backend to a Front Door backend pool", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: "--index", + description: + "Index of the backend to remove (starting with 1)", + args: { name: "index" }, + isRequired: true, + }, + { + name: "--pool-name", + description: "Name of the backend pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address", + description: "FQDN of the backend endpoint", + args: { name: "address" }, + }, + { + name: [ + "--private-link-approval-message", + "--approval-message", + ], + description: + "A custom message to be included in the approval request to connect to the Private Link", + args: { name: "private-link-approval-message" }, + }, + { + name: "--backend-host-header", + description: "Host header sent to the backend", + args: { name: "backend-host-header" }, + }, + { + name: "--disabled", + description: "Create in a disabled state", + args: { + name: "disabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--http-port", + description: "HTTP TCP port number", + args: { name: "http-port" }, + }, + { + name: "--https-port", + description: "HTTPS TCP port number", + args: { name: "https-port" }, + }, + { + name: "--priority", + description: + "Priority to use for load balancing. Higher priorities will not be used for load balancing if any lower priority backend is healthy", + args: { name: "priority" }, + }, + { + name: "--private-link-alias", + description: + "The Alias of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + args: { name: "private-link-alias" }, + }, + { + name: "--private-link-location", + description: + "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + args: { name: "private-link-location" }, + }, + { + name: ["--private-link-resource-id", "--resource-id"], + description: + "The Resource Id of the Private Link. Populating this optional field indicates that this backend is 'Private'", + args: { name: "private-link-resource-id" }, + }, + { + name: "--weight", + description: + "Weight of this endpoint for load balancing purposes", + args: { name: "weight" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "frontend-endpoint", + description: "Manage Front Door frontend endpoints", + subcommands: [ + { + name: "create", + description: "Create a Front Door frontend endpoint", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: "--host-name", + description: "Domain name of the frontend endpoint", + args: { name: "host-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the frontend endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--session-affinity-enabled", + description: "Whether to allow session affinity on this host", + args: { + name: "session-affinity-enabled", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--session-affinity-ttl", + description: "The TTL to use in seconds for session affinity", + args: { name: "session-affinity-ttl" }, + }, + { + name: "--waf-policy", + description: + "Name or ID of a web application firewall policy", + args: { name: "waf-policy" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Front Door frontend endpoint", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the frontend endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "disable-https", + description: "Disable HTTPS protocol for a custom domain", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the frontend endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "enable-https", + description: "Enable HTTPS protocol for a custom domain", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the frontend endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--certificate-source", + description: "Certificate source to enable HTTPS", + args: { + name: "certificate-source", + suggestions: ["AzureKeyVault", "FrontDoor"], + }, + }, + { + name: "--minimum-tls-version", + description: + "The minimum TLS version required from the clients to establish an SSL handshake with Front Door", + args: { + name: "minimum-tls-version", + suggestions: ["1.0", "1.2"], + }, + }, + { + name: "--secret-name", + description: + "The name of the Key Vault secret representing the full certificate PFX", + args: { name: "secret-name" }, + }, + { + name: "--secret-version", + description: + 'The version of the Key Vault secret representing the full certificate PFX, the "Latest" version will always be used if not specified and your certificate will be auto-rotated when a new version of secret generated', + args: { name: "secret-version" }, + }, + { + name: "--vault-id", + description: + "The resource id of the Key Vault containing the SSL certificate", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "list", + description: "List Front Door frontend endpoints", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a Front Door frontend endpoint", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the frontend endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the Front Door frontend endpoint is met", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the frontend endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "load-balancing", + description: "Manage Front Door load-balancing settings", + subcommands: [ + { + name: "create", + description: "Create Front Door load-balancing settings", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the load balancing settings", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sample-size", + description: + "The number of samples to consider for load balancing decisions", + args: { name: "sample-size" }, + isRequired: true, + }, + { + name: ["--successful-samples-required", "-s"], + description: + "The number of samples within the sample period that must succeed", + args: { name: "successful-samples-required" }, + isRequired: true, + }, + { + name: "--additional-latency", + description: + "The additional latency in milliseconds for probes to fall in the lowest latency bucket", + args: { name: "additional-latency" }, + }, + ], + }, + { + name: "delete", + description: "Delete Front Door load-balancing settings", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the load balancing settings", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List Front Door load-balancing settingss", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of a Front Door load-balancing settings bundle", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the load balancing settings", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update Front Door load-balancing settings", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the load balancing settings", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--additional-latency", + description: + "The additional latency in milliseconds for probes to fall in the lowest latency bucket", + args: { name: "additional-latency" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--sample-size", + description: + "The number of samples to consider for load balancing decisions", + args: { name: "sample-size" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: ["--successful-samples-required", "-s"], + description: + "The number of samples within the sample period that must succeed", + args: { name: "successful-samples-required" }, + }, + ], + }, + ], + }, + { + name: "probe", + description: "Manage Front Door health probe settings", + subcommands: [ + { + name: "create", + description: "Create Front Door health probe settings", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: "--interval", + description: "Interval in seconds between probes", + args: { name: "interval" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the health probe", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--path", + description: "Path to probe", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--enabled", + description: "Enabled status", + args: { + name: "enabled", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--probeMethod", + description: + "Configures which HTTP method to use to probe the backends defined under backendPools", + args: { name: "probeMethod", suggestions: ["GET", "HEAD"] }, + }, + { + name: "--protocol", + description: "Protocol to use for sending probes", + args: { name: "protocol", suggestions: ["Http", "Https"] }, + }, + ], + }, + { + name: "delete", + description: "Delete Front Door health probe settings", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the health probe", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List Front Door health probe settings", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of a Front Door health probe settings", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the health probe", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update Front Door health probe settings", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the health probe", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--enabled", + description: "Enabled status", + args: { + name: "enabled", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--interval", + description: "Interval in seconds between probes", + args: { name: "interval" }, + }, + { + name: "--path", + description: "Path to probe", + args: { name: "path" }, + }, + { + name: "--probeMethod", + description: + "Configures which HTTP method to use to probe the backends defined under backendPools", + args: { name: "probeMethod", suggestions: ["GET", "HEAD"] }, + }, + { + name: "--protocol", + description: "Protocol to use for sending probes", + args: { name: "protocol", suggestions: ["Http", "Https"] }, + }, + ], + }, + ], + }, + { + name: "routing-rule", + description: "Manage Front Door routing rules", + subcommands: [ + { + name: "create", + description: "Create a Front Door routing rule", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: "--frontend-endpoints", + description: + "Space-separated list of frontend endpoint names or IDs", + args: { name: "frontend-endpoints" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the routing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--route-type", + description: + "Route type to define how Front Door should handle requests for this route i.e. forward them to a backend or redirect the users to a different URL", + args: { + name: "route-type", + suggestions: ["Forward", "Redirect"], + }, + isRequired: true, + }, + { + name: "--accepted-protocols", + description: + "Space-separated list of protocols to accept. Default: Http", + args: { name: "accepted-protocols" }, + }, + { + name: "--backend-pool", + description: + "Name or ID of a backend pool. It's required to create a Forward routing rule", + args: { name: "backend-pool" }, + }, + { + name: "--cache-duration", + description: + "The duration for which the content needs to be cached. Allowed format is ISO 8601 duration", + args: { name: "cache-duration" }, + }, + { + name: "--caching", + description: "Whether to enable caching for this route", + args: { + name: "caching", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--custom-forwarding-path", + description: + "Custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path", + args: { name: "custom-forwarding-path" }, + }, + { + name: "--custom-fragment", + description: + "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #", + args: { name: "custom-fragment" }, + }, + { + name: "--custom-host", + description: + "Host to redirect. Leave empty to use use the incoming host as the destination host", + args: { name: "custom-host" }, + }, + { + name: "--custom-path", + description: + "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path", + args: { name: "custom-path" }, + }, + { + name: "--custom-query-string", + description: + "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &", + args: { name: "custom-query-string" }, + }, + { + name: "--disabled", + description: "Create in a disabled state", + args: { name: "disabled", suggestions: ["false", "true"] }, + }, + { + name: "--dynamic-compression", + description: "Use dynamic compression for cached content", + args: { + name: "dynamic-compression", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--forwarding-protocol", + description: "Protocol to use for forwarding traffic", + args: { + name: "forwarding-protocol", + suggestions: ["HttpOnly", "HttpsOnly", "MatchRequest"], + }, + }, + { + name: "--patterns", + description: + "Space-separated list of patterns to match. Default: '/*'", + args: { name: "patterns" }, + }, + { + name: "--query-parameter-strip-directive", + description: + "Treatment of URL query terms when forming the cache key", + args: { + name: "query-parameter-strip-directive", + suggestions: [ + "StripAll", + "StripAllExcept", + "StripNone", + "StripOnly", + ], + }, + }, + { + name: "--query-parameters", + description: + "Query parameters to include or exclude (comma separated) when using query-parameter-strip-directive type StripAllExcept or StripOnly respectively", + args: { name: "query-parameters" }, + }, + { + name: "--redirect-protocol", + description: + "The protocol of the destination to where the traffic is redirected", + args: { + name: "redirect-protocol", + suggestions: ["HttpOnly", "HttpsOnly", "MatchRequest"], + }, + }, + { + name: "--redirect-type", + description: + "The redirect type the rule will use when redirecting traffic", + args: { + name: "redirect-type", + suggestions: [ + "Found", + "Moved", + "PermanentRedirect", + "TemporaryRedirect", + ], + }, + }, + { + name: "--rules-engine", + description: + 'Name or ID of a Rules Engine configuration. To unlink property, "--remove rulesEngine"', + args: { name: "rules-engine" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Front Door routing rule", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the routing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List Front Door routing rules", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a Front Door routing rule", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the routing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a Front Door routing rule", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the routing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--accepted-protocols", + description: + "Space-separated list of protocols to accept. Default: Http", + args: { name: "accepted-protocols" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--backend-pool", + description: + "Name or ID of a backend pool. It's required to create a Forward routing rule", + args: { name: "backend-pool" }, + }, + { + name: "--cache-duration", + description: + "The duration for which the content needs to be cached. Allowed format is ISO 8601 duration", + args: { name: "cache-duration" }, + }, + { + name: "--caching", + description: "Whether to enable caching for this route", + args: { + name: "caching", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--custom-forwarding-path", + description: + "Custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path", + args: { name: "custom-forwarding-path" }, + }, + { + name: "--custom-fragment", + description: + "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #", + args: { name: "custom-fragment" }, + }, + { + name: "--custom-host", + description: + "Host to redirect. Leave empty to use use the incoming host as the destination host", + args: { name: "custom-host" }, + }, + { + name: "--custom-path", + description: + "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path", + args: { name: "custom-path" }, + }, + { + name: "--custom-query-string", + description: + "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &", + args: { name: "custom-query-string" }, + }, + { + name: "--dynamic-compression", + description: "Use dynamic compression for cached content", + args: { + name: "dynamic-compression", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--enabled", + description: "Enabled status", + args: { + name: "enabled", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--forwarding-protocol", + description: "Protocol to use for forwarding traffic", + args: { + name: "forwarding-protocol", + suggestions: ["HttpOnly", "HttpsOnly", "MatchRequest"], + }, + }, + { + name: "--frontend-endpoints", + description: + "Space-separated list of frontend endpoint names or IDs", + args: { name: "frontend-endpoints" }, + }, + { + name: "--patterns", + description: + "Space-separated list of patterns to match. Default: '/*'", + args: { name: "patterns" }, + }, + { + name: "--query-parameter-strip-directive", + description: + "Treatment of URL query terms when forming the cache key", + args: { + name: "query-parameter-strip-directive", + suggestions: [ + "StripAll", + "StripAllExcept", + "StripNone", + "StripOnly", + ], + }, + }, + { + name: "--query-parameters", + description: + "Query parameters to include or exclude (comma separated) when using query-parameter-strip-directive type StripAllExcept or StripOnly respectively", + args: { name: "query-parameters" }, + }, + { + name: "--redirect-protocol", + description: + "The protocol of the destination to where the traffic is redirected", + args: { + name: "redirect-protocol", + suggestions: ["HttpOnly", "HttpsOnly", "MatchRequest"], + }, + }, + { + name: "--redirect-type", + description: + "The redirect type the rule will use when redirecting traffic", + args: { + name: "redirect-type", + suggestions: [ + "Found", + "Moved", + "PermanentRedirect", + "TemporaryRedirect", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--rules-engine", + description: + 'Name or ID of a Rules Engine configuration. To unlink property, "--remove rulesEngine"', + args: { name: "rules-engine" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + { + name: "rules-engine", + description: "Manage Front Door rules engines", + subcommands: [ + { + name: "delete", + description: + "Deletes an existing Rules Engine Configuration with the specified parameters", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Rules Engine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Lists all of the Rules Engine Configurations within a Front Door", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets a Rules Engine Configuration with the specified name within the specified Front Door", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Rules Engine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "rule", + description: "Manage Rules Engine rules", + subcommands: [ + { + name: "create", + description: "Create a Rules Engine rule for a Front Door", + options: [ + { + name: "--action-type", + description: "Action type to apply for a rule", + args: { + name: "action-type", + suggestions: ["RequestHeader", "ResponseHeader"], + }, + isRequired: true, + }, + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--priority", + description: + "The priority number must start from 0 and consecutive. Rule with greater priority value will be applied later", + args: { name: "priority" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--rules-engine-name", "-r"], + description: "Name of the Rules Engine", + args: { name: "rules-engine-name" }, + isRequired: true, + }, + { + name: "--header-action", + description: "Header action type for the requests", + args: { + name: "header-action", + suggestions: ["Append", "Delete", "Overwrite"], + }, + }, + { + name: "--header-name", + description: "Name of the header to modify", + args: { name: "header-name" }, + }, + { + name: "--header-value", + description: "Value of the header", + args: { name: "header-value" }, + }, + { + name: "--match-processing-behavior", + description: + "Whether to stop processing rules after conditions in a rule is satisfied", + args: { + name: "match-processing-behavior", + suggestions: ["Continue", "Stop"], + }, + }, + { + name: "--match-values", + description: + "Space-separated list of values to match against", + args: { name: "match-values" }, + }, + { + name: "--match-variable", + description: "Name of the match condition", + args: { + name: "match-variable", + suggestions: [ + "IsMobile", + "PostArgs", + "QueryString", + "RemoteAddr", + "RequestBody", + "RequestFilename", + "RequestFilenameExtension", + "RequestHeader", + "RequestMethod", + "RequestPath", + "RequestScheme", + "RequestUri", + ], + }, + }, + { + name: "--negate-condition", + description: 'Applies "Not" to the operator', + args: { + name: "negate-condition", + suggestions: ["false", "true"], + }, + }, + { + name: "--operator", + description: "Operator of the match condition", + args: { + name: "operator", + suggestions: [ + "Any", + "BeginsWith", + "Contains", + "EndsWith", + "Equal", + "GeoMatch", + "GreaterThan", + "GreaterThanOrEqual", + "IPMatch", + "LessThan", + "LessThanOrEqual", + ], + }, + }, + { + name: "--selector", + description: + "Optional selector for the match condition variable", + args: { name: "selector" }, + }, + { + name: "--transforms", + description: + "Space-separated list of transforms to apply", + args: { + name: "transforms", + suggestions: [ + "Lowercase", + "RemoveNulls", + "Trim", + "Uppercase", + "UrlDecode", + "UrlEncode", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a Rules Engine rule", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--rules-engine-name", "-r"], + description: "Name of the Rules Engine", + args: { name: "rules-engine-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List rules of a Rules Engine configuration", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Rules Engine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a Rules Engine rule", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--rules-engine-name", "-r"], + description: "Name of the Rules Engine", + args: { name: "rules-engine-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update Rules Engine configuration of a rule", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--rules-engine-name", "-r"], + description: "Name of the Rules Engine", + args: { name: "rules-engine-name" }, + isRequired: true, + }, + { + name: "--match-processing-behavior", + description: + "Whether to stop processing rules after conditions in a rule is satisfied", + args: { + name: "match-processing-behavior", + suggestions: ["Continue", "Stop"], + }, + }, + { + name: "--priority", + description: + "The priority number must start from 0 and consecutive. Rule with greater priority value will be applied later", + args: { name: "priority" }, + }, + ], + }, + { + name: "action", + description: "Manage Rules Engine actions for Front Door", + subcommands: [ + { + name: "add", + description: "Add an action to a Rules Engine rule", + options: [ + { + name: "--action-type", + description: "Action type to apply for a rule", + args: { + name: "action-type", + suggestions: [ + "ForwardRouteOverride", + "RedirectRouteOverride", + "RequestHeader", + "ResponseHeader", + ], + }, + isRequired: true, + }, + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--rules-engine-name", "-r"], + description: "Name of the Rules Engine", + args: { name: "rules-engine-name" }, + isRequired: true, + }, + { + name: "--backend-pool", + description: "Name or ID of a backend pool", + args: { name: "backend-pool" }, + }, + { + name: "--cache-duration", + description: + "The duration for which the content needs to be cached. Allowed format is ISO 8601 duration", + args: { name: "cache-duration" }, + }, + { + name: "--caching", + description: + "Whether to enable caching for this route", + args: { + name: "caching", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--custom-forwarding-path", + description: + "Custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path", + args: { name: "custom-forwarding-path" }, + }, + { + name: "--custom-fragment", + description: + "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #", + args: { name: "custom-fragment" }, + }, + { + name: "--custom-host", + description: + "Host to redirect. Leave empty to use use the incoming host as the destination host", + args: { name: "custom-host" }, + }, + { + name: "--custom-path", + description: + "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path", + args: { name: "custom-path" }, + }, + { + name: "--custom-query-string", + description: + "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &", + args: { name: "custom-query-string" }, + }, + { + name: "--dynamic-compression", + description: + "Use dynamic compression for cached content", + args: { + name: "dynamic-compression", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--forwarding-protocol", + description: "Protocol to use for forwarding traffic", + args: { + name: "forwarding-protocol", + suggestions: [ + "HttpOnly", + "HttpsOnly", + "MatchRequest", + ], + }, + }, + { + name: "--header-action", + description: "Header action type for the requests", + args: { + name: "header-action", + suggestions: ["Append", "Delete", "Overwrite"], + }, + }, + { + name: "--header-name", + description: "Name of the header to modify", + args: { name: "header-name" }, + }, + { + name: "--header-value", + description: "Value of the header", + args: { name: "header-value" }, + }, + { + name: "--query-parameter-strip-directive", + description: + "Treatment of URL query terms when forming the cache key", + args: { + name: "query-parameter-strip-directive", + suggestions: [ + "StripAll", + "StripAllExcept", + "StripNone", + "StripOnly", + ], + }, + }, + { + name: "--query-parameters", + description: + "Query parameters to include or exclude (comma separated) when using query-parameter-strip-directive type StripAllExcept or StripOnly respectively", + args: { name: "query-parameters" }, + }, + { + name: "--redirect-protocol", + description: + "The protocol of the destination to where the traffic is redirected", + args: { + name: "redirect-protocol", + suggestions: [ + "HttpOnly", + "HttpsOnly", + "MatchRequest", + ], + }, + }, + { + name: "--redirect-type", + description: + "The redirect type the rule will use when redirecting traffic", + args: { + name: "redirect-type", + suggestions: [ + "Found", + "Moved", + "PermanentRedirect", + "TemporaryRedirect", + ], + }, + }, + ], + }, + { + name: "list", + description: + "Show all actions that apply for a Rules Engine rule", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--rules-engine-name", "-r"], + description: "Name of the Rules Engine", + args: { name: "rules-engine-name" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove an action from a Rules Engine rule", + options: [ + { + name: "--action-type", + description: "Action type to apply for a rule", + args: { + name: "action-type", + suggestions: [ + "ForwardRouteOverride", + "RedirectRouteOverride", + "RequestHeader", + "ResponseHeader", + ], + }, + isRequired: true, + }, + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--rules-engine-name", "-r"], + description: "Name of the Rules Engine", + args: { name: "rules-engine-name" }, + isRequired: true, + }, + { + name: "--index", + description: + '0-based index of the request or response header action to remove. Index parameter is not required for "ForwardRouteOverride" or "RedirectRouteOverride" action remove', + args: { name: "index" }, + }, + ], + }, + ], + }, + { + name: "condition", + description: + "Manage Rules Engine match conditions for Front Door", + subcommands: [ + { + name: "add", + description: + "Add a match condition to a Rules Engine rule", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--rules-engine-name", "-r"], + description: "Name of the Rules Engine", + args: { name: "rules-engine-name" }, + isRequired: true, + }, + { + name: "--match-values", + description: + "Space-separated list of values to match against", + args: { name: "match-values" }, + }, + { + name: "--match-variable", + description: "Name of the match condition", + args: { + name: "match-variable", + suggestions: [ + "IsMobile", + "PostArgs", + "QueryString", + "RemoteAddr", + "RequestBody", + "RequestFilename", + "RequestFilenameExtension", + "RequestHeader", + "RequestMethod", + "RequestPath", + "RequestScheme", + "RequestUri", + ], + }, + }, + { + name: "--negate-condition", + description: 'Applies "Not" to the operator', + args: { + name: "negate-condition", + suggestions: ["false", "true"], + }, + }, + { + name: "--operator", + description: "Operator of the match condition", + args: { + name: "operator", + suggestions: [ + "Any", + "BeginsWith", + "Contains", + "EndsWith", + "Equal", + "GeoMatch", + "GreaterThan", + "GreaterThanOrEqual", + "IPMatch", + "LessThan", + "LessThanOrEqual", + ], + }, + }, + { + name: "--selector", + description: + "Optional selector for the match condition variable", + args: { name: "selector" }, + }, + { + name: "--transforms", + description: + "Space-separated list of transforms to apply", + args: { + name: "transforms", + suggestions: [ + "Lowercase", + "RemoveNulls", + "Trim", + "Uppercase", + "UrlDecode", + "UrlEncode", + ], + }, + }, + ], + }, + { + name: "list", + description: + "Show all match conditions associated with a Rules Engine rule", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--rules-engine-name", "-r"], + description: "Name of the Rules Engine", + args: { name: "rules-engine-name" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a match condition from a Rules Engine rule", + options: [ + { + name: ["--front-door-name", "-f"], + description: "Name of the Front Door", + args: { name: "front-door-name" }, + isRequired: true, + }, + { + name: "--index", + description: + "0-based index of the match condition to remove", + args: { name: "index" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--rules-engine-name", "-r"], + description: "Name of the Rules Engine", + args: { name: "rules-engine-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "waf-policy", + description: "Manage WebApplication Firewall (WAF) policies", + subcommands: [ + { + name: "create", + description: "Create a WAF policy", + options: [ + { + name: ["--name", "-n"], + description: "Name of the WAF policy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--custom-block-response-body", + description: "Body to return for blocked requests", + args: { name: "custom-block-response-body" }, + }, + { + name: "--custom-block-response-status-code", + description: "HTTP status to return for blocked requests", + args: { name: "custom-block-response-status-code" }, + }, + { + name: "--disabled", + description: "Create in a disabled state", + }, + { + name: "--mode", + description: "Firewall policy mode", + args: { + name: "mode", + suggestions: ["Detection", "Prevention"], + }, + }, + { + name: "--redirect-url", + description: "URL used for redirect rule action", + args: { name: "redirect-url" }, + }, + { + name: "--request-body-check", + description: + "Disabled or Enabled status. Default value is Disabled", + args: { + name: "request-body-check", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--sku", + description: + "SKU of Firewall policy. This field cannot be updated after creation. Default value is Classic_AzureFrontDoor", + args: { + name: "sku", + suggestions: [ + "Classic_AzureFrontDoor", + "Premium_AzureFrontDoor", + "Standard_AzureFrontDoor", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a WAF policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the WAF policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List WAF policies", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a WAF policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the WAF policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update settings of a WAF policy", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--custom-block-response-body", + description: "Body to return for blocked requests", + args: { name: "custom-block-response-body" }, + }, + { + name: "--custom-block-response-status-code", + description: "HTTP status to return for blocked requests", + args: { name: "custom-block-response-status-code" }, + }, + { + name: "--disabled", + description: "Create in a disabled state", + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mode", + description: "Firewall policy mode", + args: { + name: "mode", + suggestions: ["Detection", "Prevention"], + }, + }, + { + name: ["--name", "-n"], + description: "Name of the WAF policy", + args: { name: "name" }, + }, + { + name: "--redirect-url", + description: "URL used for redirect rule action", + args: { name: "redirect-url" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--request-body-check", + description: + "Disabled or Enabled status. Default value is Disabled", + args: { + name: "request-body-check", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: + "SKU of Firewall policy. This field cannot be updated after creation. Default value is Classic_AzureFrontDoor", + args: { + name: "sku", + suggestions: [ + "Classic_AzureFrontDoor", + "Premium_AzureFrontDoor", + "Standard_AzureFrontDoor", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "managed-rule-definition", + description: "Learn about available managed rule sets", + subcommands: [ + { + name: "list", + description: + "Show a detailed list of available managed rule sets", + }, + ], + }, + { + name: "managed-rules", + description: + "Change and view managed rule sets associated with your WAF policy", + subcommands: [ + { + name: "add", + description: "Add a managed rule set to a WAF policy", + options: [ + { + name: "--type", + description: "Ruleset type to use", + args: { name: "type" }, + isRequired: true, + }, + { + name: "--version", + description: "Rule set version", + args: { name: "version" }, + isRequired: true, + }, + { + name: "--action", + description: + "Action for applied rulesets, only required for Microsoft_DefaultRuleSet with version 2.0 or higher", + args: { + name: "action", + suggestions: ["Block", "Log", "Redirect"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Show which managed rule sets are applied to a WAF policy", + options: [ + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a managed rule set from a WAF policy", + options: [ + { + name: "--type", + description: "ID of the ruleset to remove", + args: { name: "type" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "exclusion", + description: + "View and alter exclusions on a managed rule set, rule group, or rule within a managed rule set.\n\n\t\tExclusions prevent the rule set, rule group, or rule from being applied to the content of the specified variable. Use 'az network front-door waf-policy managed-rule-definition list' to see the available rules", + subcommands: [ + { + name: "add", + description: + "Add an exclusion on a managed rule set, rule group, or rule within a managed rule set", + options: [ + { + name: "--match-variable", + description: + "Which kind of variable's content will be ignored, e.g. RequestHeaderNames, RequestCookieNames, QueryStringArgNames, RequestBodyPostArgNames", + args: { name: "match-variable" }, + isRequired: true, + }, + { + name: "--operator", + description: + "Operator used to compare the variable name to the value, e.g. Equals, Contains, StartsWith, EndsWith, EqualsAny", + args: { name: "operator" }, + isRequired: true, + }, + { + name: "--type", + description: "ID of the ruleset to exclusion", + args: { name: "type" }, + isRequired: true, + }, + { + name: "--value", + description: + "Values to match the variable name against", + args: { name: "value" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-group-id", + description: + "ID of the rule group containing the rule to exclusion", + args: { name: "rule-group-id" }, + }, + { + name: "--rule-id", + description: "ID of the rule to apply exclusion", + args: { name: "rule-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List the exclusions on managed rule set, rule group, or rule within a managed rule set", + options: [ + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--type", + description: + "ID of the ruleset with the exclusions to list", + args: { name: "type" }, + isRequired: true, + }, + { + name: "--rule-group-id", + description: + "ID of the rule group containing the exclusions to list", + args: { name: "rule-group-id" }, + }, + { + name: "--rule-id", + description: "ID of the rule to list exclusion for", + args: { name: "rule-id" }, + }, + ], + }, + { + name: "remove", + description: + "Remove an exclusion on a managed rule set, rule group, or rule within a managed rule set", + options: [ + { + name: "--match-variable", + description: + "Which kind of variable's content will be ignored, e.g. RequestHeaderNames, RequestCookieNames, QueryStringArgNames, RequestBodyPostArgNames", + args: { name: "match-variable" }, + isRequired: true, + }, + { + name: "--operator", + description: + "Operator used to compare the variable name to the value, e.g. Equals, Contains, StartsWith, EndsWith, EqualsAny", + args: { name: "operator" }, + isRequired: true, + }, + { + name: "--type", + description: + "ID of the ruleset with the exclusion to remove", + args: { name: "type" }, + isRequired: true, + }, + { + name: "--value", + description: + "Values to match the variable name against", + args: { name: "value" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-group-id", + description: + "ID of the rule group containing the exclusion to remove", + args: { name: "rule-group-id" }, + }, + { + name: "--rule-id", + description: + "ID of the rule to remove from exclusion", + args: { name: "rule-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "override", + description: + "View and alter overrides on managed rules within a managed rule set.\n\n\t\tUse 'az network front-door waf-policy managed-rule-definition list' to see the available rules", + subcommands: [ + { + name: "add", + description: + "Add an override on a managed rule within a managed rule set", + options: [ + { + name: "--rule-group-id", + description: + "ID of the rule group containing the rule to override", + args: { name: "rule-group-id" }, + isRequired: true, + }, + { + name: "--rule-id", + description: "ID of the rule to override", + args: { name: "rule-id" }, + isRequired: true, + }, + { + name: "--type", + description: "ID of the ruleset to override", + args: { name: "type" }, + isRequired: true, + }, + { + name: "--action", + description: "Action for applied rulesets", + args: { + name: "action", + suggestions: ["Allow", "Block", "Log", "Redirect"], + }, + }, + { + name: "--disabled", + description: "Whether to disable the rule", + args: { + name: "disabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List the overrides on managed rules within a managed rule set", + options: [ + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--type", + description: + "ID of the ruleset with the overrides to list", + args: { name: "type" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove an override on a managed rule within a managed rule set", + options: [ + { + name: "--rule-group-id", + description: + "ID of the rule group containing the override to remove", + args: { name: "rule-group-id" }, + isRequired: true, + }, + { + name: "--rule-id", + description: "ID of the rule override to remove", + args: { name: "rule-id" }, + isRequired: true, + }, + { + name: "--type", + description: + "ID of the ruleset with the override to remove", + args: { name: "type" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "rule", + description: "Manage WAF policy custom rules", + subcommands: [ + { + name: "create", + description: + "Create a WAF policy custom rule. Use --defer and add a rule match-condition", + options: [ + { + name: "--action", + description: "Rule action", + args: { + name: "action", + suggestions: ["Allow", "Block", "Log", "Redirect"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the custom rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: "--priority", + description: "Priority of the rule", + args: { name: "priority" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-type", + description: "Type of rule", + args: { + name: "rule-type", + suggestions: ["MatchRule", "RateLimitRule"], + }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--disabled", + description: "Whether to disable the rule", + args: { + name: "disabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--rate-limit-duration", + description: "Rate limit duration in minutes", + args: { name: "rate-limit-duration" }, + }, + { + name: "--rate-limit-threshold", + description: "Rate limit threshold", + args: { name: "rate-limit-threshold" }, + }, + ], + }, + { + name: "delete", + description: "Delete a WAF policy custom rule", + options: [ + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the custom rule", + args: { name: "name" }, + }, + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List WAF policy custom rules", + options: [ + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a WAF policy custom rule", + options: [ + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the custom rule", + args: { name: "name" }, + }, + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Alter the details of a WAF policy custom rule", + options: [ + { + name: "--action", + description: "Rule action", + args: { + name: "action", + suggestions: ["Allow", "Block", "Log", "Redirect"], + }, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--disabled", + description: "Whether to disable the rule", + args: { + name: "disabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the custom rule", + args: { name: "name" }, + }, + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + }, + { + name: "--priority", + description: "Priority of the rule", + args: { name: "priority" }, + }, + { + name: "--rate-limit-duration", + description: "Rate limit duration in minutes", + args: { name: "rate-limit-duration" }, + }, + { + name: "--rate-limit-threshold", + description: "Rate limit threshold", + args: { name: "rate-limit-threshold" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "match-condition", + description: + "Alter match-conditions associated with a WAF policy custom rule.\n\n\t\tNote that at least one match-condition must be associated with a custom rule", + subcommands: [ + { + name: "add", + description: + "Add a match-condition to a WAF policy custom rule", + options: [ + { + name: "--match-variable", + description: + "Variable[.Selector] Request variable to test with optional selector", + args: { name: "match-variable" }, + isRequired: true, + }, + { + name: "--operator", + description: + "Operator used to compare the variable to the values", + args: { name: "operator" }, + isRequired: true, + }, + { + name: "--values", + description: + "Space-separated list of values to match against", + args: { name: "values" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the custom rule", + args: { name: "name" }, + }, + { + name: "--negate", + description: 'Applies "Not" to the operator', + args: { + name: "negate", + suggestions: ["false", "true"], + }, + }, + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--transforms", + description: + "Space-separated list of transforms to apply", + args: { + name: "transforms", + suggestions: [ + "Lowercase", + "RemoveNulls", + "Trim", + "Uppercase", + "UrlDecode", + "UrlEncode", + ], + }, + }, + ], + }, + { + name: "list", + description: + "Show all match-conditions associated with a WAF policy custom rule", + options: [ + { + name: ["--name", "-n"], + description: "Name of the custom rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + ], + }, + { + name: "remove", + description: + "Remove a match-condition from a WAF policy custom rule", + options: [ + { + name: "--index", + description: + "0-based index of the match condition to remove", + args: { name: "index" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the custom rule", + args: { name: "name" }, + }, + { + name: "--policy-name", + description: "Name of the WAF policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "ip-group", + description: "Commands to manage IpGroup", + subcommands: [ + { + name: "create", + description: "Create an IpGroup", + options: [ + { + name: "--ip-addresses", + description: + "Space-separated list of IpAddress or IpAddressPrefix", + args: { name: "ip-addresses" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the IpGroup", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an IpGroup", + options: [ + { + name: ["--name", "-n"], + description: "Name of the IpGroup", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all of IpGroup", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of an IpGroup", + options: [ + { + name: ["--name", "-n"], + description: "Name of the IpGroup", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Expands resourceIds (of Firewalls/Network Security Groups etc.) back referenced by the IpGroups resource", + args: { name: "expand" }, + }, + ], + }, + { + name: "update", + description: "Update an IpGroup", + options: [ + { + name: ["--name", "-n"], + description: "Name of the IpGroup", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ip-addresses", + description: + "Space-separated list of IpAddress or IpAddressPrefix", + args: { name: "ip-addresses" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "lb", + description: + "Manage and configure load balancers.\n\n\t\tTo learn more about Azure Load Balancer visit https://learn.microsoft.com/en-us/azure/load-balancer/quickstart-load-balancer-standard-public-cli", + subcommands: [ + { + name: "create", + description: "Create a load balancer", + options: [ + { + name: ["--name", "-n"], + description: "The load balancer name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--backend-pool-name", + description: "The name of the backend address pool", + args: { name: "backend-pool-name" }, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: "--frontend-ip-name", + description: "The name of the frontend IP configuration", + args: { name: "frontend-ip-name" }, + }, + { + name: "--frontend-ip-zone", + description: "Used to create internal facing Load balancer", + args: { name: "frontend-ip-zone", suggestions: ["1", "2", "3"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-ip-address", + description: "Static private IP address to use", + args: { name: "private-ip-address" }, + }, + { + name: "--private-ip-address-version", + description: "The private IP address version to use", + args: { + name: "private-ip-address-version", + suggestions: ["IPv4", "IPv6"], + }, + }, + { + name: "--public-ip-address", + description: + 'Name or ID of the public IP address, or "" for none. Uses existing resource if available or will create a new resource with defaults if omitted', + args: { name: "public-ip-address" }, + }, + { + name: "--public-ip-address-allocation", + description: "IP allocation method", + args: { + name: "public-ip-address-allocation", + suggestions: ["Dynamic", "Static"], + }, + }, + { + name: "--public-ip-dns-name", + description: "Globally unique DNS name for a new public IP", + args: { name: "public-ip-dns-name" }, + }, + { + name: "--public-ip-zone", + description: + "Used to created a new public ip for the load balancer, a.k.a public facing Load balancer", + args: { name: "public-ip-zone", suggestions: ["1", "2", "3"] }, + }, + { + name: "--sku", + description: "Load balancer SKU", + args: { + name: "sku", + suggestions: ["Basic", "Gateway", "Standard"], + }, + }, + { + name: "--subnet", + description: + "Name or ID of a subnet. Uses existing resource or creates new if specified, or none if omitted. If name specified, also specify --vnet-name. If you want to use an existing subnet in other resource group or subscription, please provide the ID instead of the name of the subnet", + args: { name: "subnet" }, + }, + { + name: "--subnet-address-prefix", + description: + "The CIDR address prefix to use when creating a new subnet", + args: { name: "subnet-address-prefix" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--validate", + description: + "Generate and validate the ARM template without creating any resources", + }, + { + name: "--vnet-address-prefix", + description: + "The CIDR address prefix to use when creating a new VNet", + args: { name: "vnet-address-prefix" }, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified load balancer", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The load balancer name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List load balancers", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-mapping", + description: "List inbound NAT rule port mappings", + options: [ + { + name: "--backend-pool-name", + description: "The name of the backend address pool", + args: { name: "backend-pool-name" }, + isRequired: true, + }, + { + name: "--request", + description: "Query inbound NAT rule port mapping request", + args: { name: "request" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The load balancer name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-nic", + description: "List associated load balancer network interfaces", + options: [ + { + name: ["--name", "-n"], + description: "The load balancer name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a load balancer", + options: [ + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The load balancer name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a load balancer", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The load balancer name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--probes", + description: + 'Collection of probe objects used in the load balancer. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "probes" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The load balancer name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "address-pool", + description: "Manage address pools of a load balancer", + subcommands: [ + { + name: "create", + description: "Create load balancer backend address pool", + options: [ + { + name: ["--address-pool-name", "--name", "-n"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--admin-state", + description: + "Default administrative state to backend addresses in --backend-addresses", + args: { + name: "admin-state", + suggestions: ["Down", "Drain", "None", "Up"], + }, + }, + { + name: ["--backend-addresses", "--backend-address"], + description: + 'An array of backend addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more. Singular flags: --backend-address', + args: { name: "backend-addresses" }, + }, + { + name: ["--drain-period-in-seconds", "--drain-period"], + description: + "Amount of seconds Load Balancer waits for before sending RESET to client and backend address", + args: { name: "drain-period-in-seconds" }, + }, + { + name: "--location", + description: "The location of the backend address pool", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tunnel-interfaces", + description: + 'An array of gateway load balancer tunnel interfaces. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tunnel-interfaces" }, + }, + { + name: "--vnet", + description: + "Name or Id of the default virtual network applied to backend addresses in --backend-addresses", + args: { name: "vnet" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the specified load balancer backend address pool", + options: [ + { + name: ["--address-pool-name", "--name", "-n"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List address pools", + options: [ + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of an address pool", + options: [ + { + name: ["--address-pool-name", "--name", "-n"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an address pool", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--address-pool-name", "--name", "-n"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + }, + { + name: "--admin-state", + description: + "Default administrative state to backend addresses in --backend-addresses", + args: { + name: "admin-state", + suggestions: ["Down", "Drain", "None", "Up"], + }, + }, + { + name: ["--backend-addresses", "--backend-address"], + description: + 'An array of backend addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more. Singular flags: --backend-address', + args: { name: "backend-addresses" }, + }, + { + name: ["--drain-period-in-seconds", "--drain-period"], + description: + "Amount of seconds Load Balancer waits for before sending RESET to client and backend address", + args: { name: "drain-period-in-seconds" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + }, + { + name: "--location", + description: "The location of the backend address pool", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tunnel-interfaces", + description: + 'An array of gateway load balancer tunnel interfaces. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tunnel-interfaces" }, + }, + { + name: "--vnet", + description: + "Name or Id of the default virtual network applied to backend addresses in --backend-addresses", + args: { name: "vnet" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--address-pool-name", "--name", "-n"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "address", + description: + "Manage backend addresses of the cross-region load balance backend address pool", + subcommands: [ + { + name: "add", + description: + "Add one backend address into the load balance backend address pool", + options: [ + { + name: "--ip-address", + description: + "IP Address belonging to the referenced virtual network", + args: { name: "ip-address" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend address", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--pool-name", + description: "The name of the backend address pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--admin-state", + description: + "A list of administrative states which once set can override health probe so that Load Balancer will always forward new connections to backend, or deny new connections and reset existing connections", + args: { + name: "admin-state", + suggestions: ["Down", "Drain", "None", "Up"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--subnet", + description: + "Name or Id of the subnet. (If name is provided, vnet is also required; If id, vnet is not required)", + args: { name: "subnet" }, + }, + { + name: ["--virtual-network", "--vnet"], + description: "Name or Id of the virtual network", + args: { name: "virtual-network" }, + }, + ], + }, + { + name: "list", + description: + "List all backend addresses of the load balance backend address pool", + options: [ + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: "--pool-name", + description: "The name of the backend address pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove one backend address from the load balance backend address pool", + options: [ + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend address", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--pool-name", + description: "The name of the backend address pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "show", + description: + "Show the backend address from the load balance backend address pool", + options: [ + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend address", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--pool-name", + description: "The name of the backend address pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the backend address into the load balance backend address pool", + options: [ + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the backend address", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--pool-name", + description: "The name of the backend address pool", + args: { name: "pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--admin-state", + description: + "A list of administrative states which once set can override health probe so that Load Balancer will always forward new connections to backend, or deny new connections and reset existing connections", + args: { + name: "admin-state", + suggestions: ["Down", "Drain", "None", "Up"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ip-address", + description: + "IP Address belonging to the referenced virtual network", + args: { name: "ip-address" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subnet", + description: + "Name or Id of the subnet. (If name is provided, vnet is also required; If id, vnet is not required)", + args: { name: "subnet" }, + }, + { + name: ["--virtual-network", "--vnet"], + description: "Name or Id of the virtual network", + args: { name: "virtual-network" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + }, + { + name: "--pool-name", + description: "The name of the backend address pool", + args: { name: "pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "tunnel-interface", + description: "Manage tunnel interfaces of a load balancer", + subcommands: [ + { + name: "add", + description: + "Add one tunnel interface into the load balance tunnel interface pool", + options: [ + { + name: ["--address-pool-name", "--address-pool"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + isRequired: true, + }, + { + name: "--identifier", + description: + "Identifier of gateway load balancer tunnel interface", + args: { name: "identifier" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: "--protocol", + description: + "Protocol of gateway load balancer tunnel interface", + args: { + name: "protocol", + suggestions: ["Native", "None", "VXLAN"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--type", + description: + "Traffic type of gateway load balancer tunnel interface", + args: { + name: "type", + suggestions: ["External", "Internal", "None"], + }, + isRequired: true, + }, + { + name: "--index", + description: "Index of the tunnel interfaces to change", + args: { name: "index" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--port", + description: + "Port of gateway load balancer tunnel interface", + args: { name: "port" }, + }, + ], + }, + { + name: "list", + description: + "List all tunnel interfacees of the load balance tunnel interface pool", + options: [ + { + name: ["--address-pool-name", "--address-pool"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove one tunnel interface from the load balance tunnel interface pool", + options: [ + { + name: ["--address-pool-name", "--address-pool"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + isRequired: true, + }, + { + name: "--index", + description: "Index of the tunnel interfaces to change", + args: { name: "index" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "show", + description: + "Get one tunnel interface of load balance tunnel interface pool", + options: [ + { + name: ["--address-pool-name", "--address-pool"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + isRequired: true, + }, + { + name: "--index", + description: "Index of the tunnel interfaces to change", + args: { name: "index" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update one tunnel interface of load balance tunnel interface pool", + options: [ + { + name: ["--address-pool-name", "--address-pool"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + isRequired: true, + }, + { + name: "--index", + description: "Index of the tunnel interfaces to change", + args: { name: "index" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identifier", + description: + "Identifier of gateway load balancer tunnel interface", + args: { name: "identifier" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--port", + description: + "Port of gateway load balancer tunnel interface", + args: { name: "port" }, + }, + { + name: "--protocol", + description: + "Protocol of gateway load balancer tunnel interface", + args: { + name: "protocol", + suggestions: ["Native", "None", "VXLAN"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--type", + description: + "Traffic type of gateway load balancer tunnel interface", + args: { + name: "type", + suggestions: ["External", "Internal", "None"], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--address-pool-name", "--address-pool"], + description: "The name of the backend address pool", + args: { name: "address-pool-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--lb-name", + description: "The name of the load balancer", + args: { name: "lb-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "frontend-ip", + description: "Manage frontend IP addresses of a load balancer", + subcommands: [ + { + name: "create", + description: "Create a frontend IP address", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the frontend IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--gateway-lb", + description: + "The reference to gateway load balancer frontend IP", + args: { name: "gateway-lb" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-ip-address", + description: + "Static private IP address to associate with the configuration", + args: { name: "private-ip-address" }, + }, + { + name: ["--private-ip-address-version", "--private-ipv"], + description: + "Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4", + args: { + name: "private-ip-address-version", + suggestions: ["IPv4", "IPv6"], + }, + }, + { + name: "--public-ip-address", + description: + "Name or ID of the existing public IP to associate with the configuration", + args: { name: "public-ip-address" }, + }, + { + name: "--public-ip-prefix", + description: "Name or ID of a public IP prefix", + args: { name: "public-ip-prefix" }, + }, + { + name: "--subnet", + description: "Resource ID", + args: { name: "subnet" }, + }, + { + name: "--vnet-name", + description: + "The virtual network (VNet) associated with the subnet (Omit if supplying a subnet id)", + args: { name: "vnet-name" }, + }, + { + name: ["--zones", "--zone", "-z"], + description: + 'A list of availability zones denoting the IP allocated for the resource needs to come from. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "zones" }, + }, + ], + }, + { + name: "delete", + description: "Delete a frontend IP address", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the frontend IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List frontend IP addresses", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a frontend IP address", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the frontend IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a frontend IP address", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the frontend IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--gateway-lb", + description: + "The reference to gateway load balancer frontend IP", + args: { name: "gateway-lb" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-ip-address", + description: + "Static private IP address to associate with the configuration", + args: { name: "private-ip-address" }, + }, + { + name: ["--private-ip-address-version", "--private-ipv"], + description: + "Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4", + args: { + name: "private-ip-address-version", + suggestions: ["IPv4", "IPv6"], + }, + }, + { + name: "--public-ip-address", + description: + "Name or ID of the existing public IP to associate with the configuration", + args: { name: "public-ip-address" }, + }, + { + name: "--public-ip-prefix", + description: "Name or ID of a public IP prefix", + args: { name: "public-ip-prefix" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subnet", + description: "Resource ID", + args: { name: "subnet" }, + }, + { + name: "--vnet-name", + description: + "The virtual network (VNet) associated with the subnet (Omit if supplying a subnet id)", + args: { name: "vnet-name" }, + }, + { + name: ["--zones", "--zone", "-z"], + description: + 'A list of availability zones denoting the IP allocated for the resource needs to come from. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "zones" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "inbound-nat-pool", + description: "Manage inbound NAT address pools of a load balancer", + subcommands: [ + { + name: "create", + description: "Create an inbound NAT address pool", + options: [ + { + name: "--backend-port", + description: + "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535", + args: { name: "backend-port" }, + isRequired: true, + }, + { + name: "--frontend-port-range-end", + description: + "The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535", + args: { name: "frontend-port-range-end" }, + isRequired: true, + }, + { + name: "--frontend-port-range-start", + description: + "The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534", + args: { name: "frontend-port-range-start" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name can be used to access the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--protocol", + description: + "The reference to the transport protocol used by the inbound NAT pool", + args: { + name: "protocol", + suggestions: ["All", "Tcp", "Udp"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--enable-floating-ip", "--floating-ip"], + description: + "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint", + args: { + name: "enable-floating-ip", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-tcp-reset", + description: + "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP", + args: { + name: "enable-tcp-reset", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--frontend-ip-name", "--frontend-ip"], + description: + "The name or ID of the frontend IP configuration", + args: { name: "frontend-ip-name" }, + }, + { + name: ["--idle-timeout-in-minutes", "--idle-timeout"], + description: + "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP", + args: { name: "idle-timeout-in-minutes" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an inbound NAT address pool", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name can be used to access the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List inbound NAT address pools", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of an inbound NAT address pool", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name can be used to access the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an inbound NAT address pool", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name can be used to access the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--backend-port", + description: + "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535", + args: { name: "backend-port" }, + }, + { + name: ["--enable-floating-ip", "--floating-ip"], + description: + "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint", + args: { + name: "enable-floating-ip", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-tcp-reset", + description: + "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP", + args: { + name: "enable-tcp-reset", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--frontend-ip-name", "--frontend-ip"], + description: + "The name or ID of the frontend IP configuration", + args: { name: "frontend-ip-name" }, + }, + { + name: "--frontend-port-range-end", + description: + "The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535", + args: { name: "frontend-port-range-end" }, + }, + { + name: "--frontend-port-range-start", + description: + "The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534", + args: { name: "frontend-port-range-start" }, + }, + { + name: ["--idle-timeout-in-minutes", "--idle-timeout"], + description: + "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP", + args: { name: "idle-timeout-in-minutes" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--protocol", + description: + "The reference to the transport protocol used by the inbound NAT pool", + args: { + name: "protocol", + suggestions: ["All", "Tcp", "Udp"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "inbound-nat-rule", + description: "Manage inbound NAT rules of a load balancer", + subcommands: [ + { + name: "create", + description: "Create an inbound NAT rule", + options: [ + { + name: "--backend-port", + description: + "The port used for the internal endpoint. Acceptable values range from 1 to 65535", + args: { name: "backend-port" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the resource that is unique within the set of inbound NAT rules used by the load balancer", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--protocol", + description: + "The reference to the transport protocol used by the load balancing rule", + args: { + name: "protocol", + suggestions: ["All", "Tcp", "Udp"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--backend-address-pool", "--backend-pool-name"], + description: "The name or ID of the backend address pool", + args: { name: "backend-address-pool" }, + }, + { + name: ["--enable-floating-ip", "--floating-ip"], + description: + "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint", + args: { + name: "enable-floating-ip", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-tcp-reset", + description: + "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP", + args: { + name: "enable-tcp-reset", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--frontend-ip-name", "--frontend-ip"], + description: + "The name of ID of the frontend IP configuration", + args: { name: "frontend-ip-name" }, + }, + { + name: "--frontend-port", + description: + "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534", + args: { name: "frontend-port" }, + }, + { + name: "--frontend-port-range-end", + description: + "The port range end for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534", + args: { name: "frontend-port-range-end" }, + }, + { + name: "--frontend-port-range-start", + description: + "The port range start for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534", + args: { name: "frontend-port-range-start" }, + }, + { + name: ["--idle-timeout-in-minutes", "--idle-timeout"], + description: + "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP", + args: { name: "idle-timeout-in-minutes" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an inbound NAT rule", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the resource that is unique within the set of inbound NAT rules used by the load balancer", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List inbound NAT rules", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of an inbound NAT rule", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the resource that is unique within the set of inbound NAT rules used by the load balancer", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an inbound NAT rule", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the resource that is unique within the set of inbound NAT rules used by the load balancer", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--backend-address-pool", "--backend-pool-name"], + description: "The name or ID of the backend address pool", + args: { name: "backend-address-pool" }, + }, + { + name: "--backend-port", + description: + "The port used for the internal endpoint. Acceptable values range from 1 to 65535", + args: { name: "backend-port" }, + }, + { + name: ["--enable-floating-ip", "--floating-ip"], + description: + "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint", + args: { + name: "enable-floating-ip", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-tcp-reset", + description: + "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP", + args: { + name: "enable-tcp-reset", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--frontend-ip-name", "--frontend-ip"], + description: + "The name of ID of the frontend IP configuration", + args: { name: "frontend-ip-name" }, + }, + { + name: "--frontend-port", + description: + "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534", + args: { name: "frontend-port" }, + }, + { + name: "--frontend-port-range-end", + description: + "The port range end for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534", + args: { name: "frontend-port-range-end" }, + }, + { + name: "--frontend-port-range-start", + description: + "The port range start for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534", + args: { name: "frontend-port-range-start" }, + }, + { + name: ["--idle-timeout-in-minutes", "--idle-timeout"], + description: + "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP", + args: { name: "idle-timeout-in-minutes" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--protocol", + description: + "The reference to the transport protocol used by the load balancing rule", + args: { + name: "protocol", + suggestions: ["All", "Tcp", "Udp"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "outbound-rule", + description: "Manage outbound rules of a load balancer", + subcommands: [ + { + name: "create", + description: "Create an outbound-rule", + options: [ + { + name: ["--backend-address-pool", "--address-pool"], + description: "The name or ID of the backend address pool", + args: { name: "backend-address-pool" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the outbound rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--protocol", + description: + "The protocol for the outbound rule in load balancer", + args: { + name: "protocol", + suggestions: ["All", "Tcp", "Udp"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--allocated-outbound-ports", "--outbound-ports"], + description: + "The number of outbound ports to be used for NAT", + args: { name: "allocated-outbound-ports" }, + }, + { + name: "--enable-tcp-reset", + description: + "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP", + args: { + name: "enable-tcp-reset", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--frontend-ip-configs", + description: + 'The List of frontend IP configuration IDs or names. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "frontend-ip-configs" }, + }, + { + name: ["--idle-timeout-in-minutes", "--idle-timeout"], + description: "The timeout for the TCP idle connection", + args: { name: "idle-timeout-in-minutes" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an outbound-rule", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the outbound rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List outbound rules", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of an outbound rule", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the outbound rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an outbound-rule", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the outbound rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--backend-address-pool", "--address-pool"], + description: "The name or ID of the backend address pool", + args: { name: "backend-address-pool" }, + }, + { + name: ["--allocated-outbound-ports", "--outbound-ports"], + description: + "The number of outbound ports to be used for NAT", + args: { name: "allocated-outbound-ports" }, + }, + { + name: "--enable-tcp-reset", + description: + "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP", + args: { + name: "enable-tcp-reset", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--frontend-ip-configs", + description: + 'The List of frontend IP configuration IDs or names. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "frontend-ip-configs" }, + }, + { + name: ["--idle-timeout-in-minutes", "--idle-timeout"], + description: "The timeout for the TCP idle connection", + args: { name: "idle-timeout-in-minutes" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--protocol", + description: + "The protocol for the outbound rule in load balancer", + args: { + name: "protocol", + suggestions: ["All", "Tcp", "Udp"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "probe", + description: "Evaluate probe information and define routing rules", + subcommands: [ + { + name: "create", + description: "Create a probe in the load balance", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the probe", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--port", + description: + "The port for communicating the probe. Possible values range from 1 to 65535, inclusive", + args: { name: "port" }, + isRequired: true, + }, + { + name: "--protocol", + description: "The protocol of the end point", + args: { + name: "protocol", + suggestions: ["Http", "Https", "Tcp"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--interval-in-seconds", "--interval"], + description: + "The interval, in seconds, for how frequently to probe the endpoint for health status", + args: { name: "interval-in-seconds" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--number-of-probes", "--threshold"], + description: + "The number of consecutive probe failures before an instance is deemed unhealthy", + args: { name: "number-of-probes" }, + }, + { + name: ["--request-path", "--path"], + description: + "The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed", + args: { name: "request-path" }, + }, + { + name: "--probe-threshold", + description: + "The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. It is currently in preview and is not recommended for production workloads. For most scenarios, we recommend maintaining the default value of 1 by not specifying the value of the property", + args: { name: "probe-threshold" }, + }, + ], + }, + { + name: "delete", + description: "Delete a probe in the load balancer", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the probe", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List probes in the load balancer", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a probe in the load balancer", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the probe", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a probe in the load balancer", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the probe", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--interval-in-seconds", "--interval"], + description: + "The interval, in seconds, for how frequently to probe the endpoint for health status", + args: { name: "interval-in-seconds" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--number-of-probes", "--threshold"], + description: + "The number of consecutive probe failures before an instance is deemed unhealthy", + args: { name: "number-of-probes" }, + }, + { + name: ["--request-path", "--path"], + description: + "The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed", + args: { name: "request-path" }, + }, + { + name: "--port", + description: + "The port for communicating the probe. Possible values range from 1 to 65535, inclusive", + args: { name: "port" }, + }, + { + name: "--probe-threshold", + description: + "The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. It is currently in preview and is not recommended for production workloads. For most scenarios, we recommend maintaining the default value of 1 by not specifying the value of the property", + args: { name: "probe-threshold" }, + }, + { + name: "--protocol", + description: "The protocol of the end point", + args: { + name: "protocol", + suggestions: ["Http", "Https", "Tcp"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "rule", + description: "Manage load balancing rules", + subcommands: [ + { + name: "create", + description: "Create a load balancing rule", + options: [ + { + name: "--backend-port", + description: + 'The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables "Any Port"', + args: { name: "backend-port" }, + isRequired: true, + }, + { + name: "--frontend-port", + description: + 'The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port"', + args: { name: "frontend-port" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the load balancing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--protocol", + description: + "The reference to the transport protocol used by the load balancing rule", + args: { + name: "protocol", + suggestions: ["All", "Tcp", "Udp"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--backend-pools-name", "--backend-pool-name"], + description: + 'List of ID or name of the backend address pools. Multiple pools are only supported by Gateway SKU load balancer. If only one exists, omit to use as default. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "backend-pools-name" }, + }, + { + name: "--disable-outbound-snat", + description: + "Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule", + args: { + name: "disable-outbound-snat", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--enable-floating-ip", "--floating-ip"], + description: + "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint", + args: { + name: "enable-floating-ip", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-tcp-reset", + description: + "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP", + args: { + name: "enable-tcp-reset", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--frontend-ip-name", "--frontend-ip"], + description: + "The name of ID of the frontend IP configuration", + args: { name: "frontend-ip-name" }, + }, + { + name: ["--idle-timeout-in-minutes", "--idle-timeout"], + description: + "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP", + args: { name: "idle-timeout-in-minutes" }, + }, + { + name: "--load-distribution", + description: "The load distribution policy for this rule", + args: { + name: "load-distribution", + suggestions: ["Default", "SourceIP", "SourceIPProtocol"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--probe-name", "--probe"], + description: + "The ID or Name of an existing probe to associate with this rule", + args: { name: "probe-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a load balancing rule", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the load balancing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List load balancing rules", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a load balancing rule", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the load balancing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a load balancing rule", + options: [ + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the load balancing rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--backend-pools-name", "--backend-pool-name"], + description: + 'List of ID or name of the backend address pools. Multiple pools are only supported by Gateway SKU load balancer. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "backend-pools-name" }, + }, + { + name: "--backend-port", + description: + 'The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables "Any Port"', + args: { name: "backend-port" }, + }, + { + name: "--disable-outbound-snat", + description: + "Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule", + args: { + name: "disable-outbound-snat", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--enable-floating-ip", "--floating-ip"], + description: + "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint", + args: { + name: "enable-floating-ip", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-tcp-reset", + description: + "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP", + args: { + name: "enable-tcp-reset", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--frontend-ip-name", "--frontend-ip"], + description: + "The name of ID of the frontend IP configuration", + args: { name: "frontend-ip-name" }, + }, + { + name: "--frontend-port", + description: + 'The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port"', + args: { name: "frontend-port" }, + }, + { + name: ["--idle-timeout-in-minutes", "--idle-timeout"], + description: + "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP", + args: { name: "idle-timeout-in-minutes" }, + }, + { + name: "--load-distribution", + description: "The load distribution policy for this rule", + args: { + name: "load-distribution", + suggestions: ["Default", "SourceIP", "SourceIPProtocol"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--probe-name", "--probe"], + description: + "The ID or Name of an existing probe to associate with this rule", + args: { name: "probe-name" }, + }, + { + name: "--protocol", + description: + "The reference to the transport protocol used by the load balancing rule", + args: { + name: "protocol", + suggestions: ["All", "Tcp", "Udp"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--lb-name", + description: "The load balancer name", + args: { name: "lb-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "list-service-aliases", + description: + "List available service aliases in the region which can be used for Service Endpoint Policies", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-service-tags", + description: + "List all service tags which are below to different resources", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "list-usages", + description: + "List the number of network resources in a region that are used against a subscription quota", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "local-gateway", + description: + "Manage local gateways.\n\n\t\tFor more information on local gateways, visit:\nhttps://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-howto-site-to-site-resource-manager-cli#localnet", + subcommands: [ + { + name: "create", + description: "Create a local VPN gateway", + options: [ + { + name: ["--name", "-n"], + description: "Name of the local network gateway", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--local-address-prefixes", "--address-prefixes"], + description: + 'List of CIDR block prefixes representing the address space of the OnPremise VPN\'s subnet. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "local-address-prefixes" }, + }, + { + name: "--asn", + description: + "Autonomous System Number to use for the BGP settings", + args: { name: "asn" }, + }, + { + name: "--bgp-peering-address", + description: + "IP address from the OnPremise VPN's subnet to use for BGP peering", + args: { name: "bgp-peering-address" }, + }, + { + name: "--gateway-ip-address", + description: "Gateway's public IP address. (e.g. 10.1.1.1)", + args: { name: "gateway-ip-address" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peer-weight", + description: + "Weight (0-100) added to routes learned through BGP peering", + args: { name: "peer-weight" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a local VPN gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the local network gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all local VPN gateways in a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a local VPN gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the local network gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a local VPN gateway", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--local-address-prefixes", "--address-prefixes"], + description: + 'List of CIDR block prefixes representing the address space of the OnPremise VPN\'s subnet. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "local-address-prefixes" }, + }, + { + name: "--asn", + description: + "Autonomous System Number to use for the BGP settings", + args: { name: "asn" }, + }, + { + name: "--bgp-peering-address", + description: + "IP address from the OnPremise VPN's subnet to use for BGP peering", + args: { name: "bgp-peering-address" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--gateway-ip-address", + description: "Gateway's public IP address. (e.g. 10.1.1.1)", + args: { name: "gateway-ip-address" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the local network gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peer-weight", + description: + "Weight (0-100) added to routes learned through BGP peering", + args: { name: "peer-weight" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the local network gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "manager", + description: "Manage network-manager with network", + subcommands: [ + { + name: "create", + description: "Create a Network Manager", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: "--network-manager-scopes", + description: "Scope of Network Manager", + args: { name: "network-manager-scopes" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scope-accesses", + description: + "Scope Access. Available value: SecurityAdmin, Connectivity", + args: { name: "scope-accesses" }, + isRequired: true, + }, + { + name: "--description", + description: "A description of the network manager", + args: { name: "description" }, + }, + { name: "--id", description: "Resource ID", args: { name: "id" } }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a network manager", + options: [ + { + name: "--force", + description: + "Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete", + args: { + name: "force", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all network managers in a subscription", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "list-active-connectivity-config", + description: + "Lists active connectivity configurations in a network manager", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--regions", + description: + 'List of regions. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "regions" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-token", + description: + "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data", + args: { name: "skip-token" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-active-security-admin-rule", + description: "Lists active security admin rules in a network manager", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--regions", + description: + 'List of regions. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "regions" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-token", + description: + "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data", + args: { name: "skip-token" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-deploy-status", + description: "Post List of Network Manager Deployment Status", + options: [ + { + name: "--deployment-types", + description: + 'List of deployment types. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "deployment-types" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--regions", + description: + 'List of locations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "regions" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-token", + description: + "Continuation token for pagination, capturing the next page size and offset, as well as the context of the query", + args: { name: "skip-token" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-effective-connectivity-config", + description: + "List all effective connectivity configurations applied on a virtual network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-token", + description: + "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data", + args: { name: "skip-token" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--virtual-network-name", "--vnet-name"], + description: "The name of the virtual network", + args: { name: "virtual-network-name" }, + }, + ], + }, + { + name: "list-effective-security-admin-rule", + description: + "List all effective security admin rules applied on a virtual network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-token", + description: + "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data", + args: { name: "skip-token" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--virtual-network-name", "--vnet-name"], + description: "The name of the virtual network", + args: { name: "virtual-network-name" }, + }, + ], + }, + { + name: "post-commit", + description: "Post a Network Manager Commit", + options: [ + { + name: "--commit-type", + description: "Commit Type", + args: { + name: "commit-type", + suggestions: ["Connectivity", "SecurityAdmin"], + }, + isRequired: true, + }, + { + name: "--target-locations", + description: + 'List of target locations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "target-locations" }, + isRequired: true, + }, + { + name: "--configuration-ids", + description: + 'List of configuration ids. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "configuration-ids" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the specified Network Manager", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Network Manager", + options: [ + { + name: "--description", + description: "A description of the network manager", + args: { name: "description" }, + }, + { name: "--id", description: "Resource ID", args: { name: "id" } }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--network-manager-scopes", + description: "Scope of Network Manager", + args: { name: "network-manager-scopes" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope-accesses", + description: + "Scope Access. Available value: SecurityAdmin, Connectivity", + args: { name: "scope-accesses" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "connect-config", + description: "Manage connectivity configuration with network", + subcommands: [ + { + name: "create", + description: + "Create a new network manager connectivity configuration", + options: [ + { + name: "--applies-to-groups", + description: "Groups for configuration", + args: { name: "applies-to-groups" }, + isRequired: true, + }, + { + name: "--configuration-name", + description: + "The name of the network manager connectivity configuration", + args: { name: "configuration-name" }, + isRequired: true, + }, + { + name: "--connectivity-topology", + description: "Connectivity topology type", + args: { + name: "connectivity-topology", + suggestions: ["HubAndSpoke", "Mesh"], + }, + isRequired: true, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--delete-existing-peering", + description: + "Flag if need to remove current existing peerings", + args: { + name: "delete-existing-peering", + suggestions: ["false", "true"], + }, + }, + { + name: "--description", + description: + "A description of the connectivity configuration", + args: { name: "description" }, + }, + { + name: "--hub", + description: "The hub vnets", + args: { name: "hub" }, + }, + { + name: "--is-global", + description: "Flag if global mesh is supported", + args: { name: "is-global", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "delete", + description: + "Delete a network manager connectivity configuration, specified by the resource group, network manager name, and connectivity configuration name", + options: [ + { + name: "--configuration-name", + description: + "The name of the network manager connectivity configuration", + args: { name: "configuration-name" }, + }, + { + name: "--force", + description: + "Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete", + args: { + name: "force", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the network manager connectivity configuration in a specified network manager", + options: [ + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Get a Network Connectivity Configuration, specified by the resource group, network manager name, and connectivity Configuration name", + options: [ + { + name: "--configuration-name", + description: + "The name of the network manager connectivity configuration", + args: { name: "configuration-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a new network manager connectivity configuration", + options: [ + { + name: "--applies-to-groups", + description: "Groups for configuration", + args: { name: "applies-to-groups" }, + }, + { + name: "--configuration-name", + description: + "The name of the network manager connectivity configuration", + args: { name: "configuration-name" }, + }, + { + name: "--delete-existing-peering", + description: + "Flag if need to remove current existing peerings", + args: { + name: "delete-existing-peering", + suggestions: ["false", "true"], + }, + }, + { + name: "--description", + description: + "A description of the connectivity configuration", + args: { name: "description" }, + }, + { + name: "--hub", + description: "The hub vnets", + args: { name: "hub" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--is-global", + description: "Flag if global mesh is supported", + args: { name: "is-global", suggestions: ["false", "true"] }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--configuration-name", + description: + "The name of the network manager connectivity configuration", + args: { name: "configuration-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "connection", + description: "Manage connection with network manager", + subcommands: [ + { + name: "management-group", + description: "Manage management-group connection with network", + subcommands: [ + { + name: "create", + description: + "Create a network manager connection on this management group", + options: [ + { + name: ["--connection-name", "--name", "-n"], + description: "Name for the network manager connection", + args: { name: "connection-name" }, + isRequired: true, + }, + { + name: "--management-group-id", + description: + "The management group Id which uniquely identify the Microsoft Azure management group", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--network-manager-id", "--network-manager"], + description: "Network Manager Id", + args: { name: "network-manager-id" }, + isRequired: true, + }, + { + name: "--description", + description: + "A description of the network manager connection", + args: { name: "description" }, + }, + ], + }, + { + name: "delete", + description: + "Delete specified pending connection created by this management group", + options: [ + { + name: ["--connection-name", "--name", "-n"], + description: "Name for the network manager connection", + args: { name: "connection-name" }, + isRequired: true, + }, + { + name: "--management-group-id", + description: + "The management group Id which uniquely identify the Microsoft Azure management group", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all network manager connections created by this management group", + options: [ + { + name: "--management-group-id", + description: + "The management group Id which uniquely identify the Microsoft Azure management group", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Get a specified connection created by this management group", + options: [ + { + name: ["--connection-name", "--name", "-n"], + description: "Name for the network manager connection", + args: { name: "connection-name" }, + isRequired: true, + }, + { + name: "--management-group-id", + description: + "The management group Id which uniquely identify the Microsoft Azure management group", + args: { name: "management-group-id" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update a network manager connection on this management group", + options: [ + { + name: ["--connection-name", "--name", "-n"], + description: "Name for the network manager connection", + args: { name: "connection-name" }, + isRequired: true, + }, + { + name: "--management-group-id", + description: + "The management group Id which uniquely identify the Microsoft Azure management group", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: + "A description of the network manager connection", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + { + name: "subscription", + description: "Manage subscription-group connection with network", + subcommands: [ + { + name: "create", + description: + "Create a network manager connection on this subscription", + options: [ + { + name: ["--connection-name", "--name", "-n"], + description: "Name for the network manager connection", + args: { name: "connection-name" }, + isRequired: true, + }, + { + name: ["--network-manager-id", "--network-manager"], + description: "Network Manager Id", + args: { name: "network-manager-id" }, + isRequired: true, + }, + { + name: "--description", + description: + "A description of the network manager connection", + args: { name: "description" }, + }, + ], + }, + { + name: "delete", + description: + "Delete specified connection created by this subscription", + options: [ + { + name: ["--connection-name", "--name", "-n"], + description: "Name for the network manager connection", + args: { name: "connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all network manager connections created by this subscription", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Get a specified connection created by this subscription", + options: [ + { + name: ["--connection-name", "--name", "-n"], + description: "Name for the network manager connection", + args: { name: "connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a network manager connection on this subscription", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--connection-name", "--name", "-n"], + description: "Name for the network manager connection", + args: { name: "connection-name" }, + }, + { + name: "--description", + description: + "A description of the network manager connection", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "group", + description: "Manage networkgroup with network", + subcommands: [ + { + name: "create", + description: "Create a network group", + options: [ + { + name: ["--network-group-name", "--name", "-n"], + description: "The name of the network group", + args: { name: "network-group-name" }, + isRequired: true, + }, + { + name: "--network-manager-name", + description: "The name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "A description of the network group", + args: { name: "description" }, + }, + { + name: "--if-match", + description: + "The ETag of the transformation. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + ], + }, + { + name: "delete", + description: "Delete a network group", + options: [ + { + name: "--force", + description: + "Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete", + args: { + name: "force", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-group-name", "--name", "-n"], + description: "The name of the network group", + args: { name: "network-group-name" }, + }, + { + name: "--network-manager-name", + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the specified network group", + options: [ + { + name: "--network-manager-name", + description: "The name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get the specified network group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-group-name", "--name", "-n"], + description: "The name of the network group", + args: { name: "network-group-name" }, + }, + { + name: "--network-manager-name", + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a network group", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "A description of the network group", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "The ETag of the transformation. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--network-group-name", "--name", "-n"], + description: "The name of the network group", + args: { name: "network-group-name" }, + }, + { + name: "--network-manager-name", + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--network-group-name", "--name", "-n"], + description: "The name of the network group", + args: { name: "network-group-name" }, + }, + { + name: "--network-manager-name", + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "static-member", + description: "Manage static members with network manager group", + subcommands: [ + { + name: "create", + description: "Create a static member", + options: [ + { + name: ["--static-member-name", "--name", "-n"], + description: "The name of the static member", + args: { name: "static-member-name" }, + isRequired: true, + }, + { + name: ["--network-group-name", "--network-group"], + description: "The name of the network group", + args: { name: "network-group-name" }, + isRequired: true, + }, + { + name: ["--network-manager-name", "--network-manager"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-id", + description: "Resource Id", + args: { name: "resource-id" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a static member", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--static-member-name", "--name", "-n"], + description: "The name of the static member", + args: { name: "static-member-name" }, + }, + { + name: ["--network-group-name", "--network-group"], + description: "The name of the network group", + args: { name: "network-group-name" }, + }, + { + name: ["--network-manager-name", "--network-manager"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the static members within a specific network group", + options: [ + { + name: ["--network-group-name", "--network-group"], + description: "The name of the network group", + args: { name: "network-group-name" }, + isRequired: true, + }, + { + name: ["--network-manager-name", "--network-manager"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get the specified static member", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--static-member-name", "--name", "-n"], + description: "The name of the static member", + args: { name: "static-member-name" }, + }, + { + name: ["--network-group-name", "--network-group"], + description: "The name of the network group", + args: { name: "network-group-name" }, + }, + { + name: ["--network-manager-name", "--network-manager"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "scope-connection", + description: "Manage scope connection with network", + subcommands: [ + { + name: "create", + description: "Create scope connection from Network Manager", + options: [ + { + name: [ + "--scope-connection-name", + "--connection-name", + "--name", + "-n", + ], + description: "Name for the cross-tenant connection", + args: { name: "scope-connection-name" }, + isRequired: true, + }, + { + name: ["--network-manager-name", "--network-manager"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-id", + description: "Resource ID", + args: { name: "resource-id" }, + isRequired: true, + }, + { + name: "--tenant-id", + description: "Tenant ID", + args: { name: "tenant-id" }, + isRequired: true, + }, + { + name: "--description", + description: "A description of the scope connection", + args: { name: "description" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the pending scope connection created by this network manager", + options: [ + { + name: [ + "--scope-connection-name", + "--connection-name", + "--name", + "-n", + ], + description: "Name for the cross-tenant connection", + args: { name: "scope-connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--network-manager"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all scope connections created by this network manager", + options: [ + { + name: ["--network-manager-name", "--network-manager"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Get specified scope connection created by this Network Manager", + options: [ + { + name: [ + "--scope-connection-name", + "--connection-name", + "--name", + "-n", + ], + description: "Name for the cross-tenant connection", + args: { name: "scope-connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--network-manager"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update scope connection from Network Manager", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: [ + "--scope-connection-name", + "--connection-name", + "--name", + "-n", + ], + description: "Name for the cross-tenant connection", + args: { name: "scope-connection-name" }, + }, + { + name: "--description", + description: "A description of the scope connection", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--network-manager"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "security-admin-config", + description: "Manage security admin configuration with network", + subcommands: [ + { + name: "create", + description: + "Create a network manager security admin configuration", + options: [ + { + name: "--configuration-name", + description: + "Name of the network manager security configuration", + args: { name: "configuration-name" }, + isRequired: true, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "Name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--apply-on-network-intent-policy", "--apply-on"], + description: + 'Enum list of network intent policy based services. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "apply-on-network-intent-policy" }, + }, + { + name: "--description", + description: "Description of the security configuration", + args: { name: "description" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a network manager security admin configuration", + options: [ + { + name: "--configuration-name", + description: + "Name of the network manager security configuration", + args: { name: "configuration-name" }, + }, + { + name: "--force", + description: + "Delete the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "Name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the network manager security admin configurations in a network manager, in a paginated format", + options: [ + { + name: ["--network-manager-name", "--name", "-n"], + description: "Name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip-token", + description: + "Only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "Optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get a network manager security admin configuration", + options: [ + { + name: "--configuration-name", + description: + "Name of the network manager security configuration", + args: { name: "configuration-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "Name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a network manager security admin configuration", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--apply-on-network-intent-policy", "--apply-on"], + description: + 'Enum list of network intent policy based services. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "apply-on-network-intent-policy" }, + }, + { + name: "--configuration-name", + description: + "Name of the network manager security configuration", + args: { name: "configuration-name" }, + }, + { + name: "--description", + description: "Description of the security configuration", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "Name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--configuration-name", + description: + "Name of the network manager security configuration", + args: { name: "configuration-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "Name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "rule-collection", + description: "Manage admin rule collection with network", + subcommands: [ + { + name: "create", + description: + "Create a network manager security configuration admin rule collection", + options: [ + { + name: "--applies-to-groups", + description: "Groups for configuration", + args: { name: "applies-to-groups" }, + isRequired: true, + }, + { + name: "--configuration-name", + description: + "The name of the network manager security Configuration", + args: { name: "configuration-name" }, + isRequired: true, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-collection-name", + description: "The name of the admin rule collection", + args: { name: "rule-collection-name" }, + isRequired: true, + }, + { + name: "--description", + description: + "A description for this rule. Restricted to 140 chars", + args: { name: "description" }, + }, + ], + }, + { + name: "delete", + description: "Delete an admin rule collection", + options: [ + { + name: "--configuration-name", + description: + "The name of the network manager Security Configuration", + args: { name: "configuration-name" }, + }, + { + name: "--force", + description: + "Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete", + args: { + name: "force", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-collection-name", + description: + "The name of the network manager security Configuration rule collection", + args: { name: "rule-collection-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the rule collections in a security admin configuration, in a paginated format", + options: [ + { + name: "--configuration-name", + description: + "The name of the network manager Security Configuration", + args: { name: "configuration-name" }, + isRequired: true, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Get a network manager security admin configuration rule collection", + options: [ + { + name: "--configuration-name", + description: + "The name of the network manager Security Configuration", + args: { name: "configuration-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-collection-name", + description: + "The name of the network manager security Configuration rule collection", + args: { name: "rule-collection-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a network manager security configuration admin rule collection in a subscription", + options: [ + { + name: "--rule-collection-name", + description: "The name of the admin rule collection", + args: { name: "rule-collection-name" }, + isRequired: true, + }, + { + name: "--applies-to-groups", + description: "Groups for configuration", + args: { name: "applies-to-groups" }, + }, + { + name: "--configuration-name", + description: + "The name of the network manager security Configuration", + args: { name: "configuration-name" }, + }, + { + name: "--description", + description: + "A description for this rule. Restricted to 140 chars", + args: { name: "description" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--configuration-name", + description: + "The name of the network manager Security Configuration", + args: { name: "configuration-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-collection-name", + description: + "The name of the network manager security Configuration rule collection", + args: { name: "rule-collection-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "rule", + description: "Manage admin rule with network", + subcommands: [ + { + name: "create", + description: + "Create a network manager security configuration admin rule", + options: [ + { + name: "--access", + description: + "Indicates the access allowed for this particular rule", + args: { + name: "access", + suggestions: ["Allow", "AlwaysAllow", "Deny"], + }, + isRequired: true, + }, + { + name: "--configuration-name", + description: + "The name of the network manager security Configuration", + args: { name: "configuration-name" }, + isRequired: true, + }, + { + name: "--direction", + description: + "Indicates if the traffic matched against the rule in inbound or outbound", + args: { + name: "direction", + suggestions: ["Inbound", "Outbound"], + }, + isRequired: true, + }, + { + name: "--kind", + description: + "Required. Whether the rule is custom or default.Constant filled by server", + args: { + name: "kind", + suggestions: ["Custom", "Default"], + }, + isRequired: true, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: "--priority", + description: "The priority of the rule", + args: { name: "priority" }, + isRequired: true, + }, + { + name: "--protocol", + description: "Network protocol this rule applies to", + args: { + name: "protocol", + suggestions: [ + "Ah", + "Any", + "Esp", + "Icmp", + "Tcp", + "Udp", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-collection-name", + description: "The name of the admin rule collection", + args: { name: "rule-collection-name" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "The name of the rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--description", + description: + "A description for this rule. Restricted to 140 chars", + args: { name: "description" }, + }, + { + name: "--dest-port-ranges", + description: "The destination port ranges", + args: { name: "dest-port-ranges" }, + }, + { + name: "--destinations", + description: + "The destination address prefixes. CIDR or destination IP ranges", + args: { name: "destinations" }, + }, + { + name: "--flag", + description: "Default rule flag", + args: { name: "flag" }, + }, + { + name: "--source-port-ranges", + description: "The source port ranges", + args: { name: "source-port-ranges" }, + }, + { + name: "--sources", + description: "The CIDR or source IP ranges", + args: { name: "sources" }, + }, + ], + }, + { + name: "delete", + description: "Delete an admin rule", + options: [ + { + name: "--configuration-name", + description: + "The name of the network manager Security Configuration", + args: { name: "configuration-name" }, + }, + { + name: "--force", + description: + "Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete", + args: { + name: "force", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-collection-name", + description: + "The name of the network manager security Configuration rule collection", + args: { name: "rule-collection-name" }, + }, + { + name: "--rule-name", + description: "The name of the rule", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all network manager security configuration admin rules", + options: [ + { + name: "--configuration-name", + description: + "The name of the network manager Security Configuration", + args: { name: "configuration-name" }, + isRequired: true, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-collection-name", + description: + "The name of the network manager security Configuration rule collection", + args: { name: "rule-collection-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Get a network manager security configuration admin rule", + options: [ + { + name: "--configuration-name", + description: + "The name of the network manager Security Configuration", + args: { name: "configuration-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-collection-name", + description: + "The name of the network manager security Configuration rule collection", + args: { name: "rule-collection-name" }, + }, + { + name: "--rule-name", + description: "The name of the rule", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a network manager security configuration admin rule in a subscription", + options: [ + { + name: "--rule-collection-name", + description: "The name of the admin rule collection", + args: { name: "rule-collection-name" }, + isRequired: true, + }, + { + name: "--access", + description: + "Indicates the access allowed for this particular rule", + args: { + name: "access", + suggestions: ["Allow", "AlwaysAllow", "Deny"], + }, + }, + { + name: "--configuration-name", + description: + "The name of the network manager security Configuration", + args: { name: "configuration-name" }, + }, + { + name: "--description", + description: + "A description for this rule. Restricted to 140 chars", + args: { name: "description" }, + }, + { + name: "--dest-port-ranges", + description: "The destination port ranges", + args: { name: "dest-port-ranges" }, + }, + { + name: "--destinations", + description: + "The destination address prefixes. CIDR or destination IP ranges", + args: { name: "destinations" }, + }, + { + name: "--direction", + description: + "Indicates if the traffic matched against the rule in inbound or outbound", + args: { + name: "direction", + suggestions: ["Inbound", "Outbound"], + }, + }, + { + name: "--flag", + description: "Default rule flag", + args: { name: "flag" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kind", + description: + "Required. Whether the rule is custom or default.Constant filled by server", + args: { + name: "kind", + suggestions: ["Custom", "Default"], + }, + }, + { + name: ["--network-manager-name", "--name", "-n"], + description: "The name of the network manager", + args: { name: "network-manager-name" }, + }, + { + name: "--priority", + description: "The priority of the rule", + args: { name: "priority" }, + }, + { + name: "--protocol", + description: "Network protocol this rule applies to", + args: { + name: "protocol", + suggestions: [ + "Ah", + "Any", + "Esp", + "Icmp", + "Tcp", + "Udp", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: "The name of the rule", + args: { name: "rule-name" }, + }, + { + name: "--source-port-ranges", + description: "The source port ranges", + args: { name: "source-port-ranges" }, + }, + { + name: "--sources", + description: "The CIDR or source IP ranges", + args: { name: "sources" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "nat", + description: "Manage NAT resources", + subcommands: [ + { + name: "gateway", + description: "Manage NAT gateways", + subcommands: [ + { + name: "create", + description: "Create a NAT gateway", + options: [ + { + name: ["--name", "-n"], + description: "Name of the NAT gateway", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--idle-timeout", + description: "Idle timeout in minutes", + args: { name: "idle-timeout" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--public-ip-addresses", + description: + 'Space-separated list of public IP addresses (Names or IDs). Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "public-ip-addresses" }, + }, + { + name: "--public-ip-prefixes", + description: + 'Space-separated list of public IP prefixes (Names or IDs). Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "public-ip-prefixes" }, + }, + { + name: ["--zone", "-z"], + description: + 'Availability zone into which to provision the resource. Allowed values: 1, 2, 3. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "zone" }, + }, + ], + }, + { + name: "delete", + description: "Delete a NAT gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the NAT gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List NAT gateways", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of a NAT gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the NAT gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a NAT gateway", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--idle-timeout", + description: "Idle timeout in minutes", + args: { name: "idle-timeout" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the NAT gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--public-ip-addresses", + description: + 'Space-separated list of public IP addresses (Names or IDs). Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "public-ip-addresses" }, + }, + { + name: "--public-ip-prefixes", + description: + 'Space-separated list of public IP prefixes (Names or IDs). Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "public-ip-prefixes" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the NAT gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "nic", + description: + "Manage network interfaces.\n\n\t\tTo learn more about network interfaces in Azure, visit https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-network-interface?tabs=network-interface-portal", + subcommands: [ + { + name: "create", + description: "Create a network interface", + options: [ + { + name: ["--name", "-n"], + description: "Name of the network interface (NIC)", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "Name or ID of an existing subnet. If name specified, please also specify --vnet-name; If you want to use an existing subnet in other resource group, please provide the ID instead of the name of the subnet", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--accelerated-networking", + description: "Whether to enable accelerated networking", + args: { + name: "accelerated-networking", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--app-gateway-address-pools", "--ag-address-pools"], + description: + 'Space-separated list of names or IDs of application gateway backend address pools to associate with the NIC. If names are used, --gateway-name must be specified. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "app-gateway-address-pools" }, + }, + { + name: ["--application-security-groups", "--asgs"], + description: + 'Space-separated list of application security groups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "application-security-groups" }, + }, + { + name: "--auxiliary-mode", + description: "Auxiliary mode of Network Interface resource", + args: { + name: "auxiliary-mode", + suggestions: [ + "AcceleratedConnections", + "Floating", + "MaxConnections", + "None", + ], + }, + }, + { + name: "--auxiliary-sku", + description: "Auxiliary sku of Network Interface resource", + args: { + name: "auxiliary-sku", + suggestions: ["A1", "A2", "A4", "A8", "None"], + }, + }, + { + name: "--dns-servers", + description: + 'Space-separated list of DNS server IP addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-servers" }, + }, + { + name: "--edge-zone", + description: "Name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--internal-dns-name", + description: "Name of internal DNS label", + args: { name: "internal-dns-name" }, + }, + { + name: "--ip-forwarding", + description: "Whether to enable IP forwarding", + args: { + name: "ip-forwarding", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--lb-address-pools", + description: + 'Space-separated list of names or IDs of load balancer address pools to associate with the NIC. If names are used, --lb-name must be specified. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "lb-address-pools" }, + }, + { + name: "--lb-inbound-nat-rules", + description: + 'Space-separated list of names or IDs of load balancer inbound NAT rules to associate with the NIC. If names are used, --lb-name must be specified. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "lb-inbound-nat-rules" }, + }, + { + name: "--lb-name", + description: "Name of the load balancer", + args: { name: "lb-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--network-security-group", + description: "Name or ID of an existing network security group", + args: { name: "network-security-group" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-ip-address", + description: "Static private IP address to use", + args: { name: "private-ip-address" }, + }, + { + name: "--private-ip-address-version", + description: "Version of private IP address to use", + args: { + name: "private-ip-address-version", + suggestions: ["IPv4", "IPv6"], + }, + }, + { + name: "--public-ip-address", + description: "Name or ID of an existing public IP address", + args: { name: "public-ip-address" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vnet-name", + description: "Name of the virtual network", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a network interface", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the network interface (NIC)", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List network interfaces", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-effective-nsg", + description: + "List all effective network security groups applied to a network interface", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the network interface (NIC)", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a network interface", + options: [ + { + name: "--expand", + description: "Expands referenced resources", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the network interface (NIC)", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-effective-route-table", + description: + "Show the effective route table applied to a network interface", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the network interface (NIC)", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a network interface", + options: [ + { + name: "--accelerated-networking", + description: "Whether to enable accelerated networking", + args: { + name: "accelerated-networking", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--auxiliary-mode", + description: "Auxiliary mode of Network Interface resource", + args: { + name: "auxiliary-mode", + suggestions: [ + "AcceleratedConnections", + "Floating", + "MaxConnections", + "None", + ], + }, + }, + { + name: "--auxiliary-sku", + description: "Auxiliary sku of Network Interface resource", + args: { + name: "auxiliary-sku", + suggestions: ["A1", "A2", "A4", "A8", "None"], + }, + }, + { + name: "--dns-servers", + description: + 'Space-separated list of DNS server IP addresses. Use null to revert to default Azure servers. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-servers" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--internal-dns-name", + description: "Name of internal DNS label", + args: { name: "internal-dns-name" }, + }, + { + name: "--ip-configurations", + description: + 'List of IP configurations of the network interface. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-configurations" }, + }, + { + name: "--ip-forwarding", + description: "Whether to enable IP forwarding", + args: { + name: "ip-forwarding", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--name", "-n"], + description: "Name of the network interface (NIC)", + args: { name: "name" }, + }, + { + name: "--network-security-group", + description: "Name or ID of an existing network security group", + args: { name: "network-security-group" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: "Expands referenced resources", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the network interface (NIC)", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "ip-config", + description: "Manage IP configurations of a network interface", + subcommands: [ + { + name: "create", + description: "Create an IP configuration", + options: [ + { + name: ["--name", "-n"], + description: "Name of the IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--nic-name", + description: "Name of the network interface (NIC)", + args: { name: "nic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--app-gateway-address-pools", "--ag-address-pools"], + description: + 'Space-separated list of names or IDs of application gateway backend address pools to associate with the NIC. If names are used, --gateway-name must be specified. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "app-gateway-address-pools" }, + }, + { + name: ["--application-security-groups", "--asgs"], + description: + 'Space-separated list of application security groups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "application-security-groups" }, + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--lb-address-pools", + description: + 'Space-separated list of names or IDs of load balancer address pools to associate with the NIC. If names are used, --lb-name must be specified. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "lb-address-pools" }, + }, + { + name: "--lb-inbound-nat-rules", + description: + 'Space-separated list of names or IDs of load balancer inbound NAT rules to associate with the NIC. If names are used, --lb-name must be specified. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "lb-inbound-nat-rules" }, + }, + { + name: "--lb-name", + description: "Name of the load balancer", + args: { name: "lb-name" }, + }, + { + name: "--make-primary", + description: + "Set to make this configuration the primary one for the NIC", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-ip-address", + description: + 'Static IP address to use or ""(\'""\' in PowerShell) to use a dynamic address', + args: { name: "private-ip-address" }, + }, + { + name: "--private-ip-address-version", + description: "Version of private IP address to use", + args: { + name: "private-ip-address-version", + suggestions: ["IPv4", "IPv6"], + }, + }, + { + name: "--public-ip-address", + description: "Name or ID of an existing public IP address", + args: { name: "public-ip-address" }, + }, + { + name: "--subnet", + description: + "Name or ID of an existing subnet. If name specified, please also specify --vnet-name", + args: { name: "subnet" }, + }, + { + name: "--vnet-name", + description: "Name of the virtual network", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete an IP configuration", + options: [ + { + name: ["--name", "-n"], + description: "Name of the IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--nic-name", + description: "Name of the network interface (NIC)", + args: { name: "nic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List the IP configurations of an NIC", + options: [ + { + name: "--nic-name", + description: "Name of the network interface (NIC)", + args: { name: "nic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of an IP configuration", + options: [ + { + name: ["--name", "-n"], + description: "Name of the IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--nic-name", + description: "Name of the network interface (NIC)", + args: { name: "nic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an IP configuration", + options: [ + { + name: ["--name", "-n"], + description: "Name of the IP configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--nic-name", + description: "Name of the network interface (NIC)", + args: { name: "nic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--app-gateway-address-pools", "--ag-address-pools"], + description: + 'Space-separated list of names or IDs of application gateway backend address pools to associate with the NIC. If names are used, --gateway-name must be specified. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "app-gateway-address-pools" }, + }, + { + name: ["--application-security-groups", "--asgs"], + description: + 'Space-separated list of application security groups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "application-security-groups" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--gateway-lb", + description: + "ID of gateway load balancer frontend IP. If you want to delete it, input null", + args: { name: "gateway-lb" }, + }, + { + name: "--gateway-name", + description: "Name of the application gateway", + args: { name: "gateway-name" }, + }, + { + name: "--lb-address-pools", + description: + 'Space-separated list of names or IDs of load balancer address pools to associate with the NIC. If names are used, --lb-name must be specified. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "lb-address-pools" }, + }, + { + name: "--lb-inbound-nat-rules", + description: + 'Space-separated list of names or IDs of load balancer inbound NAT rules to associate with the NIC. If names are used, --lb-name must be specified. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "lb-inbound-nat-rules" }, + }, + { + name: "--lb-name", + description: "Name of the load balancer", + args: { name: "lb-name" }, + }, + { + name: "--make-primary", + description: + "Set to make this configuration the primary one for the NIC", + args: { + name: "make-primary", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-ip-address", + description: + 'Static IP address to use or ""(\'""\' in PowerShell) to use a dynamic address', + args: { name: "private-ip-address" }, + }, + { + name: "--private-ip-address-version", + description: "Version of private IP address to use", + args: { + name: "private-ip-address-version", + suggestions: ["IPv4", "IPv6"], + }, + }, + { + name: "--public-ip-address", + description: "Name or ID of an existing public IP address", + args: { name: "public-ip-address" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subnet", + description: + "Name or ID of an existing subnet. If name specified, please also specify --vnet-name", + args: { name: "subnet" }, + }, + { + name: "--vnet-name", + description: "Name of the virtual network", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--nic-name", + description: "Name of the network interface (NIC)", + args: { name: "nic-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "address-pool", + description: "Manage address pools in an IP configuration", + subcommands: [ + { + name: "add", + description: "Add an address pool to an IP configuration", + options: [ + { + name: "--address-pool", + description: + "The name or ID of an existing backend address pool", + args: { name: "address-pool" }, + isRequired: true, + }, + { + name: ["--ip-config-name", "-n"], + description: "The name of the IP configuration", + args: { name: "ip-config-name" }, + isRequired: true, + }, + { + name: "--nic-name", + description: "The network interface (NIC)", + args: { name: "nic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: + "The name of an application gateway containing the address pool (Omit if supplying an address pool ID)", + args: { name: "gateway-name" }, + }, + { + name: "--lb-name", + description: + "The name of the load balancer containing the address pool (Omit if supplying an address pool ID)", + args: { name: "lb-name" }, + }, + ], + }, + { + name: "remove", + description: "Remove an address pool of an IP configuration", + options: [ + { + name: "--address-pool", + description: + "The name or ID of an existing backend address pool", + args: { name: "address-pool" }, + isRequired: true, + }, + { + name: ["--ip-config-name", "-n"], + description: "The name of the IP configuration", + args: { name: "ip-config-name" }, + isRequired: true, + }, + { + name: "--nic-name", + description: "The network interface (NIC)", + args: { name: "nic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: + "The name of an application gateway containing the address pool (Omit if supplying an address pool ID)", + args: { name: "gateway-name" }, + }, + { + name: "--lb-name", + description: + "The name of the load balancer containing the address pool (Omit if supplying an address pool ID)", + args: { name: "lb-name" }, + }, + ], + }, + ], + }, + { + name: "inbound-nat-rule", + description: "Manage inbound NAT rules of an IP configuration", + subcommands: [ + { + name: "add", + description: "Add an inbound NAT rule to an IP configuration", + options: [ + { + name: "--inbound-nat-rule", + description: + "Name or ID of an existing inbound NAT rule. If name is used, --lb-name must be specified", + args: { name: "inbound-nat-rule" }, + isRequired: true, + }, + { + name: ["--ip-config-name", "-n"], + description: "Name of the IP configuration", + args: { name: "ip-config-name" }, + isRequired: true, + }, + { + name: "--nic-name", + description: "Name of the network interface (NIC)", + args: { name: "nic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "Name of the load balancer", + args: { name: "lb-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "remove", + description: + "Remove an inbound NAT rule of an IP configuration", + options: [ + { + name: "--inbound-nat-rule", + description: + "Name or ID of an existing inbound NAT rule. If name is used, --lb-name must be specified", + args: { name: "inbound-nat-rule" }, + isRequired: true, + }, + { + name: ["--ip-config-name", "-n"], + description: "Name of the IP configuration", + args: { name: "ip-config-name" }, + isRequired: true, + }, + { + name: "--nic-name", + description: "Name of the network interface (NIC)", + args: { name: "nic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--lb-name", + description: "Name of the load balancer", + args: { name: "lb-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--nic-name", + description: "Name of the network interface (NIC)", + args: { name: "nic-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "vtap-config", + description: "Manage virtual network tap configurations", + subcommands: [ + { + name: "create", + description: "Create a virtual network tap configuration", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual network tap configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--nic-name", + description: "Name of the network interface (NIC)", + args: { name: "nic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vnet-tap", + description: "Name or ID of the virtual network tap", + args: { name: "vnet-tap" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a virtual network tap configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual network tap configuration", + args: { name: "name" }, + }, + { + name: "--nic-name", + description: "Name of the network interface (NIC)", + args: { name: "nic-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List virtual network tap configurations", + options: [ + { + name: "--nic-name", + description: "Name of the network interface (NIC)", + args: { name: "nic-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get details of a virtual network tap configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual network tap configuration", + args: { name: "name" }, + }, + { + name: "--nic-name", + description: "Name of the network interface (NIC)", + args: { name: "nic-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "nsg", + description: + "Manage Azure Network Security Groups (NSGs).\n\n\t\tYou can control network traffic to resources in a virtual network using a network security group. A network security group contains a list of security rules that allow or deny inbound or outbound network traffic based on source or destination IP addresses, Application Security Groups, ports, and protocols. For more information visit https://docs.microsoft.com/azure/virtual-network/virtual-networks-create-nsg-arm-cli", + subcommands: [ + { + name: "create", + description: "Create a network security group", + options: [ + { + name: ["--name", "-n"], + description: "Name of the network security group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a network security group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the network security group", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List network security groups", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get information about a network security group", + options: [ + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the network security group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a network security group", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the network security group", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the network security group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "rule", + description: "Manage network security group rules", + subcommands: [ + { + name: "create", + description: "Create a network security group rule", + options: [ + { + name: ["--name", "-n"], + description: "Name of the network security group rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--nsg-name", + description: "Name of the network security group", + args: { name: "nsg-name" }, + isRequired: true, + }, + { + name: "--priority", + description: + "Priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule", + args: { name: "priority" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--access", + description: "Network traffic is allowed or denied", + args: { name: "access", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--description", + description: + "Description for this rule. Restricted to 140 chars", + args: { name: "description" }, + }, + { + name: "--destination-address-prefixes", + description: + "Space-separated list of CIDR prefixes or IP ranges. Alternatively, specify ONE of 'VirtualNetwork', 'AzureLoadBalancer', 'Internet' or '*' to match all IPs. Besides, it also supports all available Service Tags like 'ApiManagement', 'SqlManagement', 'AzureMonitor', etc. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "destination-address-prefixes" }, + }, + { + name: "--destination-asgs", + description: + 'Space-separated list of application security group names or IDs. Limited by backend server, temporarily this argument only supports one application security group name or ID. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-asgs" }, + }, + { + name: "--destination-port-ranges", + description: + "Space-separated list of ports or port ranges between 0-65535. Use '*' to match all ports. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "destination-port-ranges" }, + }, + { + name: "--direction", + description: + "Direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic", + args: { + name: "direction", + suggestions: ["Inbound", "Outbound"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--protocol", + description: "Network protocol this rule applies to", + args: { + name: "protocol", + suggestions: ["*", "Ah", "Esp", "Icmp", "Tcp", "Udp"], + }, + }, + { + name: "--source-address-prefixes", + description: + "Space-separated list of CIDR prefixes or IP ranges. Alternatively, specify ONE of 'VirtualNetwork', 'AzureLoadBalancer', 'Internet' or '*' to match all IPs. Besides, it also supports all available Service Tags like 'ApiManagement', 'SqlManagement', 'AzureMonitor', etc. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "source-address-prefixes" }, + }, + { + name: "--source-asgs", + description: + 'Space-separated list of application security group names or IDs. Limited by backend server, temporarily this argument only supports one application security group name or ID. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "source-asgs" }, + }, + { + name: "--source-port-ranges", + description: + "Space-separated list of ports or port ranges between 0-65535. Use '*' to match all ports. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "source-port-ranges" }, + }, + ], + }, + { + name: "delete", + description: "Delete a network security group rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the network security group rule", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--nsg-name", + description: "Name of the network security group", + args: { name: "nsg-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all rules in a network security group", + options: [ + { + name: "--nsg-name", + description: "Name of the network security group", + args: { name: "nsg-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--include-default", + description: "Include default security rules in the output", + }, + ], + }, + { + name: "show", + description: "Get the details of a network security group rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the network security group rule", + args: { name: "name" }, + }, + { + name: "--nsg-name", + description: "Name of the network security group", + args: { name: "nsg-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a network security group rule", + options: [ + { + name: "--access", + description: "Network traffic is allowed or denied", + args: { name: "access", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: + "Description for this rule. Restricted to 140 chars", + args: { name: "description" }, + }, + { + name: "--destination-address-prefixes", + description: + "Space-separated list of CIDR prefixes or IP ranges. Alternatively, specify ONE of 'VirtualNetwork', 'AzureLoadBalancer', 'Internet' or '*' to match all IPs. Besides, it also supports all available Service Tags like 'ApiManagement', 'SqlManagement', 'AzureMonitor', etc. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "destination-address-prefixes" }, + }, + { + name: "--destination-asgs", + description: + 'Space-separated list of application security group names or IDs. Limited by backend server, temporarily this argument only supports one application security group name or ID. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination-asgs" }, + }, + { + name: "--destination-port-ranges", + description: + "Space-separated list of ports or port ranges between 0-65535. Use '*' to match all ports. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "destination-port-ranges" }, + }, + { + name: "--direction", + description: + "Direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic", + args: { + name: "direction", + suggestions: ["Inbound", "Outbound"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the network security group rule", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--nsg-name", + description: "Name of the network security group", + args: { name: "nsg-name" }, + }, + { + name: "--priority", + description: + "Priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule", + args: { name: "priority" }, + }, + { + name: "--protocol", + description: "Network protocol this rule applies to", + args: { + name: "protocol", + suggestions: ["*", "Ah", "Esp", "Icmp", "Tcp", "Udp"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--source-address-prefixes", + description: + "Space-separated list of CIDR prefixes or IP ranges. Alternatively, specify ONE of 'VirtualNetwork', 'AzureLoadBalancer', 'Internet' or '*' to match all IPs. Besides, it also supports all available Service Tags like 'ApiManagement', 'SqlManagement', 'AzureMonitor', etc. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "source-address-prefixes" }, + }, + { + name: "--source-asgs", + description: + 'Space-separated list of application security group names or IDs. Limited by backend server, temporarily this argument only supports one application security group name or ID. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "source-asgs" }, + }, + { + name: "--source-port-ranges", + description: + "Space-separated list of ports or port ranges between 0-65535. Use '*' to match all ports. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "source-port-ranges" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the network security group rule", + args: { name: "name" }, + }, + { + name: "--nsg-name", + description: "Name of the network security group", + args: { name: "nsg-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "p2s-vpn-gateway", + description: "Manage point-to-site VPN gateway", + subcommands: [ + { + name: "create", + description: "Create a point-to-site VPN gateway", + options: [ + { + name: ["--name", "-n"], + description: "Name of the P2S Vpn Gateway", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scale-unit", + description: "The scale unit for this VPN gateway", + args: { name: "scale-unit" }, + isRequired: true, + }, + { + name: "--vhub", + description: "Name or ID of a virtual hub", + args: { name: "vhub" }, + isRequired: true, + }, + { + name: "--address-space", + description: + "Address space for P2S VpnClient. Space-separated list of IP address ranges", + args: { name: "address-space" }, + }, + { + name: ["--associated-route-table", "--associated"], + description: + "The resource id of route table associated with this routing configuration", + args: { name: "associated-route-table" }, + }, + { + name: "--associated-inbound-routemap", + description: + "Resource uri of inbound routemap for this connection’s routing configuration", + args: { name: "associated-inbound-routemap" }, + }, + { + name: "--associated-outbound-routemap", + description: + "Resource uri of outbound routemap for this connection’s routing configuration", + args: { name: "associated-outbound-routemap" }, + }, + { + name: "--config-name", + description: "Name or p2s connection configuration", + args: { name: "config-name" }, + }, + { + name: "--labels", + description: + "Space-separated list of labels for propagated route tables", + args: { name: "labels" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--propagated-route-tables", "--propagated"], + description: + "Space-separated list of resource id of propagated route tables", + args: { name: "propagated-route-tables" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vpn-server-config", + description: "Name or ID of a vpn server configuration", + args: { name: "vpn-server-config" }, + }, + ], + }, + { + name: "delete", + description: "Delete a point-to-site VPN gateway", + options: [ + { + name: ["--name", "-n"], + description: "Name of the P2S Vpn Gateway", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all point-to-site VPN gateway", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a point-to-site VPN gateway", + options: [ + { + name: ["--name", "-n"], + description: "Name of the P2S Vpn Gateway", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update settings of a point-to-site VPN gateway", + options: [ + { + name: ["--name", "-n"], + description: "Name of the P2S Vpn Gateway", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--address-space", + description: + "Address space for P2S VpnClient. Space-separated list of IP address ranges", + args: { name: "address-space" }, + }, + { + name: ["--associated-route-table", "--associated"], + description: + "The resource id of route table associated with this routing configuration", + args: { name: "associated-route-table" }, + }, + { + name: "--associated-inbound-routemap", + description: + "Resource uri of inbound routemap for this connection’s routing configuration", + args: { name: "associated-inbound-routemap" }, + }, + { + name: "--associated-outbound-routemap", + description: + "Resource uri of outbound routemap for this connection’s routing configuration", + args: { name: "associated-outbound-routemap" }, + }, + { + name: "--config-name", + description: "Name or p2s connection configuration", + args: { name: "config-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--labels", + description: + "Space-separated list of labels for propagated route tables", + args: { name: "labels" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--propagated-route-tables", "--propagated"], + description: + "Space-separated list of resource id of propagated route tables", + args: { name: "propagated-route-tables" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--scale-unit", + description: "The scale unit for this VPN gateway", + args: { name: "scale-unit" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vpn-server-config", + description: "Name or ID of a vpn server configuration", + args: { name: "vpn-server-config" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the point-to-site VPN gateway is met", + options: [ + { + name: ["--name", "-n"], + description: "Name of the P2S Vpn Gateway", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "connection", + description: "Manage point-to-site VPN gateway connections", + subcommands: [ + { + name: "list", + description: + "List all connections for a given point-to-site VPN gateway", + options: [ + { + name: "--gateway-name", + description: "Name of the P2S VPN gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a point-to-site VPN gateway connection", + options: [ + { + name: "--gateway-name", + description: "Name of the P2S VPN gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the P2S VPN gateway connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "vpn-client", + description: + "Download a VPN client configuration required to connect to Azure via point-to-site", + subcommands: [ + { + name: "generate", + description: + "Generate VPN profile for P2S client of the P2SVpnGateway in the specified resource group", + options: [ + { + name: ["--name", "-n"], + description: "Name of the P2S Vpn Gateway", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--authentication-method", + description: "VPN client authentication method", + args: { + name: "authentication-method", + suggestions: ["EAPMSCHAPv2", "EAPTLS"], + }, + }, + ], + }, + ], + }, + ], + }, + { + name: "perimeter", + description: "Manage Network Security Perimeters", + subcommands: [ + { + name: "create", + description: "Creates a Network Security Perimeter", + options: [ + { + name: ["--perimeter-name", "--name", "-n"], + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "The location in which NSP is created", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a network security perimeter", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--perimeter-name", "--name", "-n"], + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all network security perimeters in a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Gets the specified network security perimeter by the name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--perimeter-name", "--name", "-n"], + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "association", + description: "Manage NSP Associations", + subcommands: [ + { + name: "create", + description: "Creates or updates a NSP resource association", + options: [ + { + name: ["--association-name", "--name", "-n"], + description: "The name of the NSP association", + args: { name: "association-name" }, + isRequired: true, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--access-mode", + description: "Access mode on the association", + args: { + name: "access-mode", + suggestions: ["Audit", "Enforced", "Learning"], + }, + }, + { + name: ["--location", "-l"], + description: "Resource location", + args: { name: "location" }, + }, + { + name: "--private-link-resource", + description: + 'The PaaS resource to be associated. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "private-link-resource" }, + }, + { + name: "--profile", + description: + 'Profile id to which the PaaS resource is associated. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "profile" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an NSP association resource", + options: [ + { + name: ["--association-name", "--name", "-n"], + description: "The name of the NSP association", + args: { name: "association-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists the NSP resource associations", + options: [ + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Gets the specified NSP association by name", + options: [ + { + name: ["--association-name", "--name", "-n"], + description: "The name of the NSP association", + args: { name: "association-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Creates or updates a NSP resource association", + options: [ + { + name: "--access-mode", + description: "Access mode on the association", + args: { + name: "access-mode", + suggestions: ["Audit", "Enforced", "Learning"], + }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--association-name", "--name", "-n"], + description: "The name of the NSP association", + args: { name: "association-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "Resource location", + args: { name: "location" }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: "--private-link-resource", + description: + 'The PaaS resource to be associated. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "private-link-resource" }, + }, + { + name: "--profile", + description: + 'Profile id to which the PaaS resource is associated. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "profile" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--association-name", "--name", "-n"], + description: "The name of the NSP association", + args: { name: "association-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "link", + description: "Manage network security perimeter link", + subcommands: [ + { + name: "create", + description: "Create NSP link resource", + options: [ + { + name: ["--link-name", "--name", "-n"], + description: "The name of the NSP link", + args: { name: "link-name" }, + isRequired: true, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--auto-remote-nsp-id", + description: + "Perimeter ARM Id for the remote NSP with which the link gets created in Auto-approval mode. It should be used when the NSP admin have Microsoft.Network/networkSecurityPerimeters/linkPerimeter/action permission on the remote NSP resource", + args: { name: "auto-remote-nsp-id" }, + }, + { + name: "--description", + description: + "A message passed to the owner of the remote NSP link resource with this connection request. In case of Auto-approved flow, it is default to 'Auto Approved'. Restricted to 140 chars", + args: { name: "description" }, + }, + { + name: "--local-inbound-profile", + description: + "List of local Inbound profile names to which Inbound is allowed. Use [''] to allow inbound to all profiles. It's default value is ['']. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "local-inbound-profile" }, + }, + { + name: "--remote-inbound-profile", + description: + "List of remote Inbound profile names to which Inbound is allowed. Use [''] to allow inbound to all profiles. This property can only be updated in auto-approval mode. It's default value is ['']. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "remote-inbound-profile" }, + }, + ], + }, + { + name: "delete", + description: "Delete an NSP Link resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--link-name", "--name", "-n"], + description: "The name of the NSP link", + args: { name: "link-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the NSP Link resources in the specified network security perimeter", + options: [ + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get the specified NSP link resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--link-name", "--name", "-n"], + description: "The name of the NSP link", + args: { name: "link-name" }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update NSP link resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: + "A message passed to the owner of the remote NSP link resource with this connection request. In case of Auto-approved flow, it is default to 'Auto Approved'. Restricted to 140 chars", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--link-name", "--name", "-n"], + description: "The name of the NSP link", + args: { name: "link-name" }, + }, + { + name: "--local-inbound-profile", + description: + "List of local Inbound profile names to which Inbound is allowed. Use [''] to allow inbound to all profiles. It's default value is ['']. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "local-inbound-profile" }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: "--remote-inbound-profile", + description: + "List of remote Inbound profile names to which Inbound is allowed. Use [''] to allow inbound to all profiles. This property can only be updated in auto-approval mode. It's default value is ['']. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "remote-inbound-profile" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--link-name", "--name", "-n"], + description: "The name of the NSP link", + args: { name: "link-name" }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "link-reference", + description: "Manage network security perimeter link reference", + subcommands: [ + { + name: "delete", + description: "Delete an NSP LinkReference resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--link-reference-name", "--name", "-n"], + description: "The name of the NSP linkReference", + args: { name: "link-reference-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the NSP LinkReference resources in the specified network security perimeter", + options: [ + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get the specified NSP linkReference resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--link-reference-name", "--name", "-n"], + description: "The name of the NSP linkReference", + args: { name: "link-reference-name" }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--link-reference-name", "--name", "-n"], + description: "The name of the NSP linkReference", + args: { name: "link-reference-name" }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "onboarded-resources", + description: "Manage resources onboarded to NSP", + subcommands: [ + { + name: "list", + description: + "Gets the list of resources that are onboarded with NSP. These resources can be associated with a network security perimeter", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "profile", + description: "Manage Network Profiles under an NSP", + subcommands: [ + { + name: "create", + description: "Creates or updates a network profile", + options: [ + { + name: ["--profile-name", "--name", "-n"], + description: "The name of the NSP profile", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Resource location", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an NSP profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--profile-name", "--name", "-n"], + description: "The name of the NSP profile", + args: { name: "profile-name" }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists the NSP profiles in the specified network security perimeter", + options: [ + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Gets the specified NSP profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--profile-name", "--name", "-n"], + description: "The name of the NSP profile", + args: { name: "profile-name" }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "access-rule", + description: "Manage Access Rules of a Profile inside an NSP", + subcommands: [ + { + name: "create", + description: "Creates or updates a network access rule", + options: [ + { + name: ["--access-rule-name", "--name", "-n"], + description: "The name of the NSP access rule", + args: { name: "access-rule-name" }, + isRequired: true, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: "The name of the NSP profile", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address-prefixes", + description: + 'Inbound address prefixes (IPv4/IPv6) Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "address-prefixes" }, + }, + { + name: "--direction", + description: + "Direction that specifies whether the access rules is inbound/outbound", + args: { + name: "direction", + suggestions: ["Inbound", "Outbound"], + }, + }, + { + name: "--email-addresses", + description: + 'Outbound rules email address format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "email-addresses" }, + }, + { + name: "--fqdn", + description: + 'Outbound rules fully qualified domain name format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdn" }, + }, + { + name: ["--location", "-l"], + description: "Resource location", + args: { name: "location" }, + }, + { + name: "--phone-numbers", + description: + 'Outbound rules phone number format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "phone-numbers" }, + }, + { + name: "--subscriptions", + description: + 'Subscription id in the ARM id format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "subscriptions" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an NSP access rule", + options: [ + { + name: ["--access-rule-name", "--name", "-n"], + description: "The name of the NSP access rule", + args: { name: "access-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: "--profile-name", + description: "The name of the NSP profile", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists the NSP access rules in the specified NSP profile", + options: [ + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: "The name of the NSP profile", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: + "An optional query parameter which specifies the maximum number of records to be returned by the server", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Gets the specified NSP access rule by name", + options: [ + { + name: ["--access-rule-name", "--name", "-n"], + description: "The name of the NSP access rule", + args: { name: "access-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: "--profile-name", + description: "The name of the NSP profile", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Creates or updates a network access rule", + options: [ + { + name: ["--access-rule-name", "--name", "-n"], + description: "The name of the NSP access rule", + args: { name: "access-rule-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--address-prefixes", + description: + 'Inbound address prefixes (IPv4/IPv6) Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "address-prefixes" }, + }, + { + name: "--direction", + description: + "Direction that specifies whether the access rules is inbound/outbound", + args: { + name: "direction", + suggestions: ["Inbound", "Outbound"], + }, + }, + { + name: "--email-addresses", + description: + 'Outbound rules email address format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "email-addresses" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--fqdn", + description: + 'Outbound rules fully qualified domain name format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdn" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "Resource location", + args: { name: "location" }, + }, + { + name: "--perimeter-name", + description: "The name of the network security perimeter", + args: { name: "perimeter-name" }, + }, + { + name: "--phone-numbers", + description: + 'Outbound rules phone number format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "phone-numbers" }, + }, + { + name: "--profile-name", + description: "The name of the NSP profile", + args: { name: "profile-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--subscriptions", + description: + 'Subscription id in the ARM id format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "subscriptions" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "private-dns", + description: "Manage Private DNS domains in Azure", + subcommands: [ + { + name: "link", + description: "Manage Private DNS links", + subcommands: [ + { + name: "vnet", + description: + "Manage virtual network links to the specified Private DNS zone", + subcommands: [ + { + name: "create", + description: + "Create a virtual network link to the specified Private DNS zone", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the virtual network link to the specified private DNS zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registration-enabled", "-e"], + description: + "Specify if the link is registration enabled", + args: { + name: "registration-enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--virtual-network", "-v"], + description: "Name or ID of the virtual network", + args: { name: "virtual-network" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags for the virtual network link. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a virtual network link to the specified private DNS zone", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the virtual network link to the private DNS zone. Omit this value to always overwrite the current virtual network link. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the virtual network link to the specified private DNS zone", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the private DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: + "List the virtual network links to the specified private DNS zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--top", + description: + "Maximum number of virtual network links to return. If not specified, returns up to 100 virtual network links", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Get a virtual network link to the specified private DNS zone", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the virtual network link to the specified private DNS zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the private DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: + "Update a virtual network link's properties. Does not modify virtual network within the link", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the virtual network link to the private DNS zone. Omit this value to always overwrite the current virtual network link. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the virtual network link to the specified private DNS zone", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--registration-enabled", "-e"], + description: + "Specify if the link is registration enabled", + args: { + name: "registration-enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags for the virtual network link. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: ["--zone-name", "-z"], + description: "Name of the private DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the virtual network link to the specified private DNS zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: ["--zone-name", "-z"], + description: "Name of the private DNS zone", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "record-set", + description: "Manage Private DNS records and record sets", + subcommands: [ + { + name: "list", + description: "List all record sets within a Private DNS zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "a", + description: "Manage Private DNS A records", + subcommands: [ + { + name: "add-record", + description: "Add an A record", + options: [ + { + name: ["--ipv4-address", "-a"], + description: "IPV4 address in string notation", + args: { name: "ipv4-address" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create an empty A record set", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--metadata", + description: + 'Metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an A record set and all associated records", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List all A record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove an A record from its record set", + options: [ + { + name: ["--ipv4-address", "-a"], + description: "IPV4 address in string notation", + args: { name: "ipv4-address" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get the details of an A record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update an A record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--metadata", + description: + 'Metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "aaaa", + description: "Manage Private DNS AAAA records", + subcommands: [ + { + name: "add-record", + description: "Add an AAAA record", + options: [ + { + name: ["--ipv6-address", "-a"], + description: "IPV6 address in string notation", + args: { name: "ipv6-address" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create an empty AAAA record set", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--metadata", + description: + 'Metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an AAAA record set and all associated records", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List all AAAA record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove AAAA record from its record set", + options: [ + { + name: ["--ipv6-address", "-a"], + description: "IPV6 address in string notation", + args: { name: "ipv6-address" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get the details of an AAAA record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update an AAAA record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--metadata", + description: + 'Metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "cname", + description: "Manage Private DNS CNAME records", + subcommands: [ + { + name: "create", + description: "Create an empty CNAME record set", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--metadata", + description: + 'Metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a CNAME record set and its associated record", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List the CNAME record set in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove a CNAME record from its record set", + options: [ + { + name: ["--cname", "-c"], + description: "Canonical name", + args: { name: "cname" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "set-record", + description: "Set the value of a CNAME record", + options: [ + { + name: ["--cname", "-c"], + description: "Canonical name", + args: { name: "cname" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a CNAME record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update a CNAME record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--metadata", + description: + 'Metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "mx", + description: "Manage Private DNS MX records", + subcommands: [ + { + name: "add-record", + description: "Add an MX record", + options: [ + { + name: ["--exchange", "-e"], + description: "Exchange metric", + args: { name: "exchange" }, + isRequired: true, + }, + { + name: ["--preference", "-p"], + description: "Preference metric", + args: { name: "preference" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create an empty MX record set", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--metadata", + description: + 'Metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an MX record set and all associated records", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List all MX record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove an MX record from its record set", + options: [ + { + name: ["--exchange", "-e"], + description: "Exchange metric", + args: { name: "exchange" }, + isRequired: true, + }, + { + name: ["--preference", "-p"], + description: "Preference metric", + args: { name: "preference" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get the details of an MX record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update an MX record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--metadata", + description: + 'Metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "ptr", + description: "Manage Private DNS PTR records", + subcommands: [ + { + name: "add-record", + description: "Add a PTR record", + options: [ + { + name: ["--ptrdname", "-d"], + description: "PTR target domain name", + args: { name: "ptrdname" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create an empty PTR record set", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--metadata", + description: + 'Metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a PTR record set and all associated records", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List all PTR record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove a PTR record from its record set", + options: [ + { + name: ["--ptrdname", "-d"], + description: "PTR target domain name", + args: { name: "ptrdname" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get the details of a PTR record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update a PTR record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--metadata", + description: + 'Metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "soa", + description: "Manage Private DNS SOA record", + subcommands: [ + { + name: "show", + description: "Get the details of an SOA record", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update properties of an SOA record", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: ["--email", "-e"], + description: "Email address", + args: { name: "email" }, + }, + { + name: ["--expire-time", "-x"], + description: "Expire time (seconds)", + args: { name: "expire-time" }, + }, + { + name: ["--host", "-t"], + description: "Host name", + args: { name: "host" }, + }, + { + name: ["--minimum-ttl", "-m"], + description: "Minimum TTL (time-to-live, seconds)", + args: { name: "minimum-ttl" }, + }, + { + name: ["--refresh-time", "-f"], + description: "Refresh value (seconds)", + args: { name: "refresh-time" }, + }, + { + name: ["--retry-time", "-r"], + description: "Retry time (seconds)", + args: { name: "retry-time" }, + }, + { + name: ["--serial-number", "-s"], + description: "Serial number", + args: { name: "serial-number" }, + }, + ], + }, + ], + }, + { + name: "srv", + description: "Manage Private DNS SRV records", + subcommands: [ + { + name: "add-record", + description: "Add an SRV record", + options: [ + { + name: ["--port", "-r"], + description: "Service port", + args: { name: "port" }, + isRequired: true, + }, + { + name: ["--priority", "-p"], + description: "Priority metric", + args: { name: "priority" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--target", "-t"], + description: "Target domain name", + args: { name: "target" }, + isRequired: true, + }, + { + name: ["--weight", "-w"], + description: "Weight metric", + args: { name: "weight" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create an empty SRV record set", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--metadata", + description: + 'Metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an SRV record set and all associated records", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List all SRV record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove an SRV record from its record set", + options: [ + { + name: ["--port", "-r"], + description: "Service port", + args: { name: "port" }, + isRequired: true, + }, + { + name: ["--priority", "-p"], + description: "Priority metric", + args: { name: "priority" }, + isRequired: true, + }, + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--target", "-t"], + description: "Target domain name", + args: { name: "target" }, + isRequired: true, + }, + { + name: ["--weight", "-w"], + description: "Weight metric", + args: { name: "weight" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get the details of an SRV record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update an SRV record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--metadata", + description: + 'Metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + { + name: "txt", + description: "Manage Private DNS TXT records", + subcommands: [ + { + name: "add-record", + description: "Add a TXT record", + options: [ + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone. Creates a new record set if one does not exist", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--value", "-v"], + description: + "Space-separated list of text values which will be concatenated together", + args: { name: "value" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create an empty TXT record set", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--metadata", + description: + 'Metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: "--ttl", + description: "Record set TTL (time-to-live)", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a TXT record set and all associated records", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "list", + description: "List all TXT record sets in a zone", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "remove-record", + description: "Remove a TXT record from its record set", + options: [ + { + name: ["--record-set-name", "-n"], + description: + "The name of the record set relative to the zone", + args: { name: "record-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--value", "-v"], + description: + "Space-separated list of text values which will be concatenated together", + args: { name: "value" }, + isRequired: true, + }, + { + name: ["--zone-name", "-z"], + description: "The name of the Private DNS zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--keep-empty-record-set", + description: + "Keep the empty record set if the last record is removed", + }, + ], + }, + { + name: "show", + description: "Get the details of a TXT record set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + { + name: "update", + description: "Update a TXT record set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--metadata", + description: + 'Metadata attached to the record set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the record set, relative to the name of the zone", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-name", "-z"], + description: + "Name of the Private DNS zone (without a terminating dot)", + args: { name: "zone-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "zone", + description: "Manage Private DNS zones", + subcommands: [ + { + name: "create", + description: "Create a Private DNS zone", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Private DNS zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags for the Private DNS zone. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Private DNS zone", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the Private DNS zone. Omit this value to always delete the current zone. Specify the last-seen ETag value to prevent accidentally deleting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Private DNS zone", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "export", + description: "Export a Private DNS zone as a DNS zone file", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Private DNS zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--file-name", "-f"], + description: "Path to the Private DNS zone file to save", + args: { name: "file-name" }, + }, + ], + }, + { + name: "import", + description: "Create a Private DNS zone using a DNS zone file", + options: [ + { + name: ["--file-name", "-f"], + description: "Path to the Private DNS zone file to import", + args: { name: "file-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the Private DNS zone", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List Private DNS zones", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a Private DNS zone", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Private DNS zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a Private DNS zone's properties. Does not modify Private DNS records or virtual network links within the zone", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "ETag of the Private DNS zone. Omit this value to always overwrite the current zone. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Private DNS zone", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags for the Private DNS zone. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Private DNS zone", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "private-endpoint", + description: "Manage private endpoints", + subcommands: [ + { + name: "create", + description: "Create a private endpoint", + options: [ + { + name: "--connection-name", + description: "Name of the private link service connection", + args: { name: "connection-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--private-connection-resource-id", + description: + "The resource id of the private endpoint to connect to", + args: { name: "private-connection-resource-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "Name or ID of an existing subnet. If name specified, also specify --vnet-name. If you want to use an existing subnet in other resource group or subscription, please provide the ID instead of the name of the subnet and do not specify the--vnet-name", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: ["--asgs", "--asg"], + description: + 'The private endpoint application security groups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more. Singular flags: --asg', + args: { name: "asgs" }, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: ["--group-ids", "--group-id"], + description: + 'The ID of the group obtained from the remote resource that this private endpoint should connect to. You can use "az network private-link-resource list" to obtain the supported group ids. You must provide this except for PrivateLinkService., Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "group-ids" }, + }, + { + name: ["--ip-configs", "--ip-config"], + description: + 'The private endpoint ip configurations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more. Singular flags: --ip-config', + args: { name: "ip-configs" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--manual-request", + description: + "Use manual request to establish the connection. Configure it as 'true' when you don't have access to the subscription of private link service", + args: { + name: "manual-request", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--nic-name", + description: + "The custom name of the network interface attached to the private endpoint", + args: { name: "nic-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--request-message", + description: + "A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars", + args: { name: "request-message" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value]...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vnet-name", + description: + "The virtual network (VNet) associated with the subnet (Omit if supplying a subnet id)", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a private endpoint", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List private endpoints", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-types", + description: + "Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a private endpoint", + options: [ + { + name: "--expand", + description: "Expands referenced resources", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a private endpoint", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--request-message", + description: + "A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars", + args: { name: "request-message" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value]...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: "Expands referenced resources", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "asg", + description: "Manage private endpoint application security groups", + subcommands: [ + { + name: "add", + description: "Add a private endpoint application security group", + options: [ + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--asg-id", + description: + "ID of application security group in which the private endpoint IP configuration is included", + args: { name: "asg-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: + "List application security group within a private endpoint", + options: [ + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a private endpoint application security group", + options: [ + { + name: "--asg-id", + description: + "ID of application security group in which the private endpoint IP configuration is included", + args: { name: "asg-id" }, + isRequired: true, + }, + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "dns-zone-group", + description: "Manage private endpoint dns zone group", + subcommands: [ + { + name: "add", + description: + "Add a private endpoint dns zone into a dns zone group", + options: [ + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--private-dns-zone", + description: "Name or ID of the private dns zone", + args: { name: "private-dns-zone" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--zone-name", + description: + "Name of the resource that is unique within a resource group. This name can be used to access the resource", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the private dns zone group", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "create", + description: "Create a private endpoint dns zone group", + options: [ + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the private dns zone group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--private-dns-zone", + description: "Name or ID of the private dns zone", + args: { name: "private-dns-zone" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--zone-name", + description: "Name of the private dns zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a private endpoint dns zone group", + options: [ + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private dns zone group", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all private endpoint dns zone groups", + options: [ + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a private endpoint dns zone into a dns zone group", + options: [ + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the private dns zone group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--zone-name", + description: "Name of the private dns zone", + args: { name: "zone-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "show", + description: "Show a private endpoint dns zone group", + options: [ + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private dns zone group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private dns zone group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "ip-config", + description: "Manage private endpoint ip configurations", + subcommands: [ + { + name: "add", + description: "Add a private endpoint ip configuration", + options: [ + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the ip configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--group-id", + description: + "The ID of a group obtained from the remote resource that this private endpoint should connect to", + args: { name: "group-id" }, + }, + { + name: "--member-name", + description: + "The member name of a group obtained from the remote resource that this private endpoint should connect to", + args: { name: "member-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-ip-address", + description: + "A private ip address obtained from the private endpoint's subnet", + args: { name: "private-ip-address" }, + }, + ], + }, + { + name: "list", + description: "List ip configuration within a private endpoint", + options: [ + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a private endpoint ip configuration", + options: [ + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the ip configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--endpoint-name", + description: "Name of the private endpoint", + args: { name: "endpoint-name" }, + }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: "Manage private endpoint connections", + subcommands: [ + { + name: "approve", + description: "Approve a private endpoint connection", + options: [ + { + name: ["--description", "-d"], + description: "Comments for the approval", + args: { name: "description" }, + }, + { + name: "--id", + description: "ID of the private endpoint connection", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the resource", + args: { name: "resource-name" }, + }, + { + name: "--type", + description: "Type of the resource", + args: { + name: "type", + suggestions: [ + "Microsoft.AgFoodPlatform/farmBeats", + "Microsoft.ApiManagement/service", + "Microsoft.AppConfiguration/configurationStores", + "Microsoft.Authorization/resourceManagementPrivateLinks", + "Microsoft.Automation/automationAccounts", + "Microsoft.Batch/batchAccounts", + "Microsoft.BotService/botServices", + "Microsoft.Cache/Redis", + "Microsoft.CognitiveServices/accounts", + "Microsoft.Compute/diskAccesses", + "Microsoft.ContainerRegistry/registries", + "Microsoft.DBforMariaDB/servers", + "Microsoft.DBforMySQL/flexibleServers", + "Microsoft.DBforMySQL/servers", + "Microsoft.DBforPostgreSQL/serverGroupsv2", + "Microsoft.DBforPostgreSQL/servers", + "Microsoft.Dashboard/grafana", + "Microsoft.DataFactory/factories", + "Microsoft.Databricks/workspaces", + "Microsoft.DesktopVirtualization/hostpools", + "Microsoft.DesktopVirtualization/workspaces", + "Microsoft.DeviceUpdate/accounts", + "Microsoft.Devices/IotHubs", + "Microsoft.DigitalTwins/digitalTwinsInstances", + "Microsoft.DocumentDB/databaseAccounts", + "Microsoft.ElasticSan/elasticSans", + "Microsoft.EventGrid/domains", + "Microsoft.EventGrid/namespaces", + "Microsoft.EventGrid/partnerNamespaces", + "Microsoft.EventGrid/topics", + "Microsoft.EventHub/namespaces", + "Microsoft.HDInsight/clusters", + "Microsoft.HardwareSecurityModules/cloudHsmClusters", + "Microsoft.HealthcareApis/services", + "Microsoft.HybridCompute/privateLinkScopes", + "Microsoft.KeyVault/managedHSMs", + "Microsoft.Keyvault/vaults", + "Microsoft.KubernetesConfiguration/privateLinkScopes", + "Microsoft.Kusto/clusters", + "Microsoft.MachineLearningServices/registries", + "Microsoft.MachineLearningServices/workspaces", + "Microsoft.Media/mediaservices", + "Microsoft.Monitor/accounts", + "Microsoft.Network/applicationGateways", + "Microsoft.Network/privateLinkServices", + "Microsoft.OpenEnergyPlatform/energyServices", + "Microsoft.PowerBI/privateLinkServicesForPowerBI", + "Microsoft.Purview/accounts", + "Microsoft.RecoveryServices/vaults", + "Microsoft.Search/searchServices", + "Microsoft.ServiceBus/namespaces", + "Microsoft.SignalRService/WebPubSub", + "Microsoft.SignalRService/signalr", + "Microsoft.Sql/servers", + "Microsoft.Storage/storageAccounts", + "Microsoft.StorageSync/storageSyncServices", + "Microsoft.Synapse/workspaces", + "Microsoft.Web/hostingEnvironments", + "Microsoft.Web/sites", + "microsoft.insights/privateLinkScopes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a private endpoint connection", + options: [ + { + name: "--id", + description: "ID of the private endpoint connection", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the resource", + args: { name: "resource-name" }, + }, + { + name: "--type", + description: "Type of the resource", + args: { + name: "type", + suggestions: [ + "Microsoft.AgFoodPlatform/farmBeats", + "Microsoft.ApiManagement/service", + "Microsoft.AppConfiguration/configurationStores", + "Microsoft.Authorization/resourceManagementPrivateLinks", + "Microsoft.Automation/automationAccounts", + "Microsoft.Batch/batchAccounts", + "Microsoft.BotService/botServices", + "Microsoft.Cache/Redis", + "Microsoft.CognitiveServices/accounts", + "Microsoft.Compute/diskAccesses", + "Microsoft.ContainerRegistry/registries", + "Microsoft.DBforMariaDB/servers", + "Microsoft.DBforMySQL/flexibleServers", + "Microsoft.DBforMySQL/servers", + "Microsoft.DBforPostgreSQL/serverGroupsv2", + "Microsoft.DBforPostgreSQL/servers", + "Microsoft.Dashboard/grafana", + "Microsoft.DataFactory/factories", + "Microsoft.Databricks/workspaces", + "Microsoft.DesktopVirtualization/hostpools", + "Microsoft.DesktopVirtualization/workspaces", + "Microsoft.DeviceUpdate/accounts", + "Microsoft.Devices/IotHubs", + "Microsoft.DigitalTwins/digitalTwinsInstances", + "Microsoft.DocumentDB/databaseAccounts", + "Microsoft.ElasticSan/elasticSans", + "Microsoft.EventGrid/domains", + "Microsoft.EventGrid/namespaces", + "Microsoft.EventGrid/partnerNamespaces", + "Microsoft.EventGrid/topics", + "Microsoft.EventHub/namespaces", + "Microsoft.HDInsight/clusters", + "Microsoft.HardwareSecurityModules/cloudHsmClusters", + "Microsoft.HealthcareApis/services", + "Microsoft.HybridCompute/privateLinkScopes", + "Microsoft.KeyVault/managedHSMs", + "Microsoft.Keyvault/vaults", + "Microsoft.KubernetesConfiguration/privateLinkScopes", + "Microsoft.Kusto/clusters", + "Microsoft.MachineLearningServices/registries", + "Microsoft.MachineLearningServices/workspaces", + "Microsoft.Media/mediaservices", + "Microsoft.Monitor/accounts", + "Microsoft.Network/applicationGateways", + "Microsoft.Network/privateLinkServices", + "Microsoft.OpenEnergyPlatform/energyServices", + "Microsoft.PowerBI/privateLinkServicesForPowerBI", + "Microsoft.Purview/accounts", + "Microsoft.RecoveryServices/vaults", + "Microsoft.Search/searchServices", + "Microsoft.ServiceBus/namespaces", + "Microsoft.SignalRService/WebPubSub", + "Microsoft.SignalRService/signalr", + "Microsoft.Sql/servers", + "Microsoft.Storage/storageAccounts", + "Microsoft.StorageSync/storageSyncServices", + "Microsoft.Synapse/workspaces", + "Microsoft.Web/hostingEnvironments", + "Microsoft.Web/sites", + "microsoft.insights/privateLinkScopes", + ], + }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all private endpoint connections", + options: [ + { + name: "--id", + description: "ID of the resource", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the resource. If provided, --type and --resource-group must be provided too", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. If provided, --name and --type must be provided too", + args: { name: "resource-group" }, + }, + { + name: "--type", + description: + "Type of the resource. If provided, --name and --resource-group must be provided too", + args: { + name: "type", + suggestions: [ + "Microsoft.AgFoodPlatform/farmBeats", + "Microsoft.ApiManagement/service", + "Microsoft.AppConfiguration/configurationStores", + "Microsoft.Authorization/resourceManagementPrivateLinks", + "Microsoft.Automation/automationAccounts", + "Microsoft.Batch/batchAccounts", + "Microsoft.BotService/botServices", + "Microsoft.Cache/Redis", + "Microsoft.CognitiveServices/accounts", + "Microsoft.Compute/diskAccesses", + "Microsoft.ContainerRegistry/registries", + "Microsoft.DBforMariaDB/servers", + "Microsoft.DBforMySQL/flexibleServers", + "Microsoft.DBforMySQL/servers", + "Microsoft.DBforPostgreSQL/serverGroupsv2", + "Microsoft.DBforPostgreSQL/servers", + "Microsoft.Dashboard/grafana", + "Microsoft.DataFactory/factories", + "Microsoft.Databricks/workspaces", + "Microsoft.DesktopVirtualization/hostpools", + "Microsoft.DesktopVirtualization/workspaces", + "Microsoft.DeviceUpdate/accounts", + "Microsoft.Devices/IotHubs", + "Microsoft.DigitalTwins/digitalTwinsInstances", + "Microsoft.DocumentDB/databaseAccounts", + "Microsoft.ElasticSan/elasticSans", + "Microsoft.EventGrid/domains", + "Microsoft.EventGrid/namespaces", + "Microsoft.EventGrid/partnerNamespaces", + "Microsoft.EventGrid/topics", + "Microsoft.EventHub/namespaces", + "Microsoft.HDInsight/clusters", + "Microsoft.HardwareSecurityModules/cloudHsmClusters", + "Microsoft.HealthcareApis/services", + "Microsoft.HybridCompute/privateLinkScopes", + "Microsoft.KeyVault/managedHSMs", + "Microsoft.Keyvault/vaults", + "Microsoft.KubernetesConfiguration/privateLinkScopes", + "Microsoft.Kusto/clusters", + "Microsoft.MachineLearningServices/registries", + "Microsoft.MachineLearningServices/workspaces", + "Microsoft.Media/mediaservices", + "Microsoft.Monitor/accounts", + "Microsoft.Network/applicationGateways", + "Microsoft.Network/privateLinkServices", + "Microsoft.OpenEnergyPlatform/energyServices", + "Microsoft.PowerBI/privateLinkServicesForPowerBI", + "Microsoft.Purview/accounts", + "Microsoft.RecoveryServices/vaults", + "Microsoft.Search/searchServices", + "Microsoft.ServiceBus/namespaces", + "Microsoft.SignalRService/WebPubSub", + "Microsoft.SignalRService/signalr", + "Microsoft.Sql/servers", + "Microsoft.Storage/storageAccounts", + "Microsoft.StorageSync/storageSyncServices", + "Microsoft.Synapse/workspaces", + "Microsoft.Web/hostingEnvironments", + "Microsoft.Web/sites", + "microsoft.insights/privateLinkScopes", + ], + }, + }, + ], + }, + { + name: "reject", + description: "Reject a private endpoint connection", + options: [ + { + name: ["--description", "-d"], + description: "Comments for the rejection", + args: { name: "description" }, + }, + { + name: "--id", + description: "ID of the private endpoint connection", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the resource", + args: { name: "resource-name" }, + }, + { + name: "--type", + description: "Type of the resource", + args: { + name: "type", + suggestions: [ + "Microsoft.AgFoodPlatform/farmBeats", + "Microsoft.ApiManagement/service", + "Microsoft.AppConfiguration/configurationStores", + "Microsoft.Authorization/resourceManagementPrivateLinks", + "Microsoft.Automation/automationAccounts", + "Microsoft.Batch/batchAccounts", + "Microsoft.BotService/botServices", + "Microsoft.Cache/Redis", + "Microsoft.CognitiveServices/accounts", + "Microsoft.Compute/diskAccesses", + "Microsoft.ContainerRegistry/registries", + "Microsoft.DBforMariaDB/servers", + "Microsoft.DBforMySQL/flexibleServers", + "Microsoft.DBforMySQL/servers", + "Microsoft.DBforPostgreSQL/serverGroupsv2", + "Microsoft.DBforPostgreSQL/servers", + "Microsoft.Dashboard/grafana", + "Microsoft.DataFactory/factories", + "Microsoft.Databricks/workspaces", + "Microsoft.DesktopVirtualization/hostpools", + "Microsoft.DesktopVirtualization/workspaces", + "Microsoft.DeviceUpdate/accounts", + "Microsoft.Devices/IotHubs", + "Microsoft.DigitalTwins/digitalTwinsInstances", + "Microsoft.DocumentDB/databaseAccounts", + "Microsoft.ElasticSan/elasticSans", + "Microsoft.EventGrid/domains", + "Microsoft.EventGrid/namespaces", + "Microsoft.EventGrid/partnerNamespaces", + "Microsoft.EventGrid/topics", + "Microsoft.EventHub/namespaces", + "Microsoft.HDInsight/clusters", + "Microsoft.HardwareSecurityModules/cloudHsmClusters", + "Microsoft.HealthcareApis/services", + "Microsoft.HybridCompute/privateLinkScopes", + "Microsoft.KeyVault/managedHSMs", + "Microsoft.Keyvault/vaults", + "Microsoft.KubernetesConfiguration/privateLinkScopes", + "Microsoft.Kusto/clusters", + "Microsoft.MachineLearningServices/registries", + "Microsoft.MachineLearningServices/workspaces", + "Microsoft.Media/mediaservices", + "Microsoft.Monitor/accounts", + "Microsoft.Network/applicationGateways", + "Microsoft.Network/privateLinkServices", + "Microsoft.OpenEnergyPlatform/energyServices", + "Microsoft.PowerBI/privateLinkServicesForPowerBI", + "Microsoft.Purview/accounts", + "Microsoft.RecoveryServices/vaults", + "Microsoft.Search/searchServices", + "Microsoft.ServiceBus/namespaces", + "Microsoft.SignalRService/WebPubSub", + "Microsoft.SignalRService/signalr", + "Microsoft.Sql/servers", + "Microsoft.Storage/storageAccounts", + "Microsoft.StorageSync/storageSyncServices", + "Microsoft.Synapse/workspaces", + "Microsoft.Web/hostingEnvironments", + "Microsoft.Web/sites", + "microsoft.insights/privateLinkScopes", + ], + }, + }, + ], + }, + { + name: "show", + description: "Show a private endpoint connection", + options: [ + { + name: "--id", + description: "ID of the private endpoint connection", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private endpoint connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the resource", + args: { name: "resource-name" }, + }, + { + name: "--type", + description: "Type of the resource", + args: { + name: "type", + suggestions: [ + "Microsoft.AgFoodPlatform/farmBeats", + "Microsoft.ApiManagement/service", + "Microsoft.AppConfiguration/configurationStores", + "Microsoft.Authorization/resourceManagementPrivateLinks", + "Microsoft.Automation/automationAccounts", + "Microsoft.Batch/batchAccounts", + "Microsoft.BotService/botServices", + "Microsoft.Cache/Redis", + "Microsoft.CognitiveServices/accounts", + "Microsoft.Compute/diskAccesses", + "Microsoft.ContainerRegistry/registries", + "Microsoft.DBforMariaDB/servers", + "Microsoft.DBforMySQL/flexibleServers", + "Microsoft.DBforMySQL/servers", + "Microsoft.DBforPostgreSQL/serverGroupsv2", + "Microsoft.DBforPostgreSQL/servers", + "Microsoft.Dashboard/grafana", + "Microsoft.DataFactory/factories", + "Microsoft.Databricks/workspaces", + "Microsoft.DesktopVirtualization/hostpools", + "Microsoft.DesktopVirtualization/workspaces", + "Microsoft.DeviceUpdate/accounts", + "Microsoft.Devices/IotHubs", + "Microsoft.DigitalTwins/digitalTwinsInstances", + "Microsoft.DocumentDB/databaseAccounts", + "Microsoft.ElasticSan/elasticSans", + "Microsoft.EventGrid/domains", + "Microsoft.EventGrid/namespaces", + "Microsoft.EventGrid/partnerNamespaces", + "Microsoft.EventGrid/topics", + "Microsoft.EventHub/namespaces", + "Microsoft.HDInsight/clusters", + "Microsoft.HardwareSecurityModules/cloudHsmClusters", + "Microsoft.HealthcareApis/services", + "Microsoft.HybridCompute/privateLinkScopes", + "Microsoft.KeyVault/managedHSMs", + "Microsoft.Keyvault/vaults", + "Microsoft.KubernetesConfiguration/privateLinkScopes", + "Microsoft.Kusto/clusters", + "Microsoft.MachineLearningServices/registries", + "Microsoft.MachineLearningServices/workspaces", + "Microsoft.Media/mediaservices", + "Microsoft.Monitor/accounts", + "Microsoft.Network/applicationGateways", + "Microsoft.Network/privateLinkServices", + "Microsoft.OpenEnergyPlatform/energyServices", + "Microsoft.PowerBI/privateLinkServicesForPowerBI", + "Microsoft.Purview/accounts", + "Microsoft.RecoveryServices/vaults", + "Microsoft.Search/searchServices", + "Microsoft.ServiceBus/namespaces", + "Microsoft.SignalRService/WebPubSub", + "Microsoft.SignalRService/signalr", + "Microsoft.Sql/servers", + "Microsoft.Storage/storageAccounts", + "Microsoft.StorageSync/storageSyncServices", + "Microsoft.Synapse/workspaces", + "Microsoft.Web/hostingEnvironments", + "Microsoft.Web/sites", + "microsoft.insights/privateLinkScopes", + ], + }, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage private link resources", + subcommands: [ + { + name: "list", + description: "List all private link resources", + options: [ + { + name: "--id", + description: "ID of the resource", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the resource. If provided, --type and --resource-group must be provided too", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. If provided, --name and --type must be provided too", + args: { name: "resource-group" }, + }, + { + name: "--type", + description: + "Type of the resource. If provided, --name and --resource-group must be provided too", + args: { + name: "type", + suggestions: [ + "Microsoft.AgFoodPlatform/farmBeats", + "Microsoft.ApiManagement/service", + "Microsoft.AppConfiguration/configurationStores", + "Microsoft.Authorization/resourceManagementPrivateLinks", + "Microsoft.Automation/automationAccounts", + "Microsoft.Batch/batchAccounts", + "Microsoft.BotService/botServices", + "Microsoft.Cache/Redis", + "Microsoft.CognitiveServices/accounts", + "Microsoft.Compute/diskAccesses", + "Microsoft.ContainerRegistry/registries", + "Microsoft.DBforMariaDB/servers", + "Microsoft.DBforMySQL/flexibleServers", + "Microsoft.DBforMySQL/servers", + "Microsoft.DBforPostgreSQL/serverGroupsv2", + "Microsoft.DBforPostgreSQL/servers", + "Microsoft.Dashboard/grafana", + "Microsoft.DataFactory/factories", + "Microsoft.Databricks/workspaces", + "Microsoft.DesktopVirtualization/hostpools", + "Microsoft.DesktopVirtualization/workspaces", + "Microsoft.DeviceUpdate/accounts", + "Microsoft.Devices/IotHubs", + "Microsoft.DigitalTwins/digitalTwinsInstances", + "Microsoft.DocumentDB/databaseAccounts", + "Microsoft.ElasticSan/elasticSans", + "Microsoft.EventGrid/domains", + "Microsoft.EventGrid/namespaces", + "Microsoft.EventGrid/partnerNamespaces", + "Microsoft.EventGrid/topics", + "Microsoft.EventHub/namespaces", + "Microsoft.HDInsight/clusters", + "Microsoft.HardwareSecurityModules/cloudHsmClusters", + "Microsoft.HealthcareApis/services", + "Microsoft.HybridCompute/privateLinkScopes", + "Microsoft.KeyVault/managedHSMs", + "Microsoft.Keyvault/vaults", + "Microsoft.KubernetesConfiguration/privateLinkScopes", + "Microsoft.Kusto/clusters", + "Microsoft.MachineLearningServices/registries", + "Microsoft.MachineLearningServices/workspaces", + "Microsoft.Media/mediaservices", + "Microsoft.Monitor/accounts", + "Microsoft.Network/applicationGateways", + "Microsoft.Network/privateLinkServices", + "Microsoft.OpenEnergyPlatform/energyServices", + "Microsoft.PowerBI/privateLinkServicesForPowerBI", + "Microsoft.Purview/accounts", + "Microsoft.RecoveryServices/vaults", + "Microsoft.Search/searchServices", + "Microsoft.ServiceBus/namespaces", + "Microsoft.SignalRService/WebPubSub", + "Microsoft.SignalRService/signalr", + "Microsoft.Sql/servers", + "Microsoft.Storage/storageAccounts", + "Microsoft.StorageSync/storageSyncServices", + "Microsoft.Synapse/workspaces", + "Microsoft.Web/hostingEnvironments", + "Microsoft.Web/sites", + "microsoft.insights/privateLinkScopes", + ], + }, + }, + ], + }, + ], + }, + { + name: "private-link-service", + description: "Manage private link services", + subcommands: [ + { + name: "create", + description: "Create a private link service", + options: [ + { + name: "--lb-frontend-ip-configs", + description: + 'Space-separated list of names or IDs of load balancer frontend IP configurations to link to. If names are used, also supply --lb-name. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "lb-frontend-ip-configs" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the private link service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "Name or ID of subnet to use. If name provided, also supply --vnet-name", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--auto-approval", + description: + 'Space-separated list of subscription IDs to auto-approve. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "auto-approval" }, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: "--enable-proxy-protocol", + description: "Enable proxy protocol for private link service", + args: { + name: "enable-proxy-protocol", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--fqdns", + description: + 'Space-separated list of FQDNs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdns" }, + }, + { + name: "--lb-name", + description: + "Name of the load balancer to retrieve frontend IP configs from. Ignored if a frontend IP configuration ID is supplied", + args: { name: "lb-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-ip-address", + description: "Static private IP address to use", + args: { name: "private-ip-address" }, + }, + { + name: "--private-ip-address-version", + description: "IP version of the private IP address", + args: { + name: "private-ip-address-version", + suggestions: ["IPv4", "IPv6"], + }, + }, + { + name: "--private-ip-allocation-method", + description: "Private IP address allocation method", + args: { + name: "private-ip-allocation-method", + suggestions: ["Dynamic", "Static"], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--visibility", + description: + 'Space-separated list of subscription IDs for which the private link service is visible. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "visibility" }, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a private link service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private link service", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List private link services", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a private link service", + options: [ + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private link service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a private link service", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--auto-approval", + description: + 'Space-separated list of subscription IDs to auto-approve. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "auto-approval" }, + }, + { + name: "--enable-proxy-protocol", + description: "Enable proxy protocol for private link service", + args: { + name: "enable-proxy-protocol", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--fqdns", + description: + 'Space-separated list of FQDNs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdns" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--lb-frontend-ip-configs", + description: + 'Space-separated list of names or IDs of load balancer frontend IP configurations to link to. If names are used, also supply --lb-name. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "lb-frontend-ip-configs" }, + }, + { + name: "--lb-name", + description: + "Name of the load balancer to retrieve frontend IP configs from. Ignored if a frontend IP configuration ID is supplied", + args: { name: "lb-name" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private link service", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--visibility", + description: + 'Space-separated list of subscription IDs for which the private link service is visible. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "visibility" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the private link service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "connection", + description: "Manage private link service endpoint connections", + subcommands: [ + { + name: "delete", + description: "Delete a private link service endpoint connection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + 'Name of the private endpoint connection. List them by using "az network private-link-service show"', + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--service-name", + description: "Name of the private link service", + args: { name: "service-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a private link service endpoint connection", + options: [ + { + name: "--connection-status", + description: + "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service", + args: { + name: "connection-status", + suggestions: ["Approved", "Rejected", "Removed"], + }, + isRequired: true, + }, + { + name: "--action-required", + description: + "A message indicating if changes on the service provider require any updates on the consumer", + args: { name: "action-required" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: + "The reason for approval/rejection of the connection", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + 'Name of the private endpoint connection. List them by using "az network private-link-service show"', + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--service-name", + description: "Name of the private link service", + args: { name: "service-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + 'Name of the private endpoint connection. List them by using "az network private-link-service show"', + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--service-name", + description: "Name of the private link service", + args: { name: "service-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "profile", + description: + "Manage network profiles.\n\n\t\tTo create a network profile, see the create command for the relevant resource. Currently, only Azure Container Instances are supported", + subcommands: [ + { + name: "delete", + description: "Delete a network profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The network profile name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List network profiles", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a network profile", + options: [ + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The network profile name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The network profile name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "public-ip", + description: + "Manage public IP addresses.\n\n\t\tTo learn more about public IP addresses visit https://docs.microsoft.com/azure/virtual-network/virtual-network-public-ip-address", + subcommands: [ + { + name: "create", + description: "Create a public IP address", + options: [ + { + name: ["--name", "-n"], + description: "The name of the public IP address", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--allocation-method", + description: "IP address allocation method", + args: { + name: "allocation-method", + suggestions: ["Dynamic", "Static"], + }, + }, + { + name: ["--ddos-protection-mode", "--protection-mode"], + description: "The DDoS protection mode of the public IP", + args: { + name: "ddos-protection-mode", + suggestions: ["Disabled", "Enabled", "VirtualNetworkInherited"], + }, + }, + { + name: "--ddos-protection-plan", + description: + "Name or ID of a DDoS protection plan associated with the public IP. Can only be set if --protection-mode is Enabled", + args: { name: "ddos-protection-plan" }, + }, + { + name: "--dns-name", + description: "Globally unique DNS entry", + args: { name: "dns-name" }, + }, + { + name: "--dns-name-scope", + description: + "The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN", + args: { + name: "dns-name-scope", + suggestions: [ + "NoReuse", + "ResourceGroupReuse", + "SubscriptionReuse", + "TenantReuse", + ], + }, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: "--idle-timeout", + description: "Idle timeout in minutes", + args: { name: "idle-timeout" }, + }, + { + name: "--ip-address", + description: + "The IP address associated with the public IP address resource", + args: { name: "ip-address" }, + }, + { + name: "--ip-tags", + description: + "Space-separated list of IP tags in 'TYPE=VAL' format", + args: { name: "ip-tags" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--public-ip-prefix", + description: "Name or ID of a public IP prefix", + args: { name: "public-ip-prefix" }, + }, + { + name: "--reverse-fqdn", + description: "Reverse FQDN (fully qualified domain name)", + args: { name: "reverse-fqdn" }, + }, + { + name: "--sku", + description: "Name of a public IP address SKU", + args: { name: "sku", suggestions: ["Basic", "Standard"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "Tier of a public IP address SKU and Global tier is only supported for standard SKU public IP addresses", + args: { name: "tier", suggestions: ["Global", "Regional"] }, + }, + { + name: "--version", + description: "IP address type", + args: { name: "version", suggestions: ["IPv4", "IPv6"] }, + }, + { + name: ["--zone", "-z"], + description: + "Space-separated list of availability zones into which to provision the resource", + args: { name: "zone", suggestions: ["1", "2", "3"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a public IP address", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the public IP address", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List public IP addresses", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a public IP address", + options: [ + { + name: "--expand", + description: "Expands referenced resources", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the public IP address", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a public IP address", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--allocation-method", + description: "IP address allocation method", + args: { + name: "allocation-method", + suggestions: ["Dynamic", "Static"], + }, + }, + { + name: ["--ddos-protection-mode", "--protection-mode"], + description: "The DDoS protection mode of the public IP", + args: { + name: "ddos-protection-mode", + suggestions: ["Disabled", "Enabled", "VirtualNetworkInherited"], + }, + }, + { + name: "--ddos-protection-plan", + description: + "Name or ID of a DDoS protection plan associated with the public IP. Can only be set if --protection-mode is Enabled", + args: { name: "ddos-protection-plan" }, + }, + { + name: "--dns-name", + description: "Globally unique DNS entry", + args: { name: "dns-name" }, + }, + { + name: "--dns-name-scope", + description: + "The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN", + args: { + name: "dns-name-scope", + suggestions: [ + "NoReuse", + "ResourceGroupReuse", + "SubscriptionReuse", + "TenantReuse", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--idle-timeout", + description: "Idle timeout in minutes", + args: { name: "idle-timeout" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-tags", + description: + 'Space-separated list of IP tags in TYPE=VAL format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-tags" }, + }, + { + name: ["--name", "-n"], + description: "The name of the public IP address", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--public-ip-prefix", + description: "Name or ID of a public IP prefix", + args: { name: "public-ip-prefix" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--reverse-fqdn", + description: "Reverse FQDN (fully qualified domain name)", + args: { name: "reverse-fqdn" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "Name of a public IP address SKU", + args: { name: "sku", suggestions: ["Basic", "Standard"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--version", + description: "IP address type", + args: { name: "version", suggestions: ["IPv4", "IPv6"] }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: "Expands referenced resources", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the public IP address", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "prefix", + description: "Manage public IP prefix resources", + subcommands: [ + { + name: "create", + description: "Create a public IP prefix resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the public IP prefix", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--custom-ip-prefix-name", + description: + "A custom prefix from which the public prefix derived. If you'd like to cross subscription, please use Resource ID instead", + args: { name: "custom-ip-prefix-name" }, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: "--ip-tags", + description: + "The list of tags associated with the public IP prefix in 'TYPE=VAL' format. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "ip-tags" }, + }, + { + name: "--length", + description: + "Length of the prefix (i.e. XX.XX.XX.XX/)", + args: { name: "length" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--version", + description: "IP address type. Allowed values: IPv4, IPv6", + args: { name: "version", suggestions: ["IPv4", "IPv6"] }, + }, + { + name: ["--zone", "-z"], + description: + 'Space-separated list of availability zones into which to provision the resource. Allowed values: 1, 2, 3. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "zone" }, + }, + ], + }, + { + name: "delete", + description: "Delete a public IP prefix resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the public IP prefix", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List public IP prefix resources", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a public IP prefix resource", + options: [ + { + name: "--expand", + description: "Expands referenced resources", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the public IP prefix", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a public IP prefix resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the public IP prefix", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--expand", + description: "Expands referenced resources", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the public IP prefix", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "route-filter", + description: "Manage route filters", + subcommands: [ + { + name: "create", + description: "Create a route filter", + options: [ + { + name: ["--name", "-n"], + description: "Name of the route filter", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a route filter", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route filter", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List route filters", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a route filter", + options: [ + { + name: "--expand", + description: + "Expands referenced express route bgp peering resources", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route filter", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a route filter", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route filter", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "Expands referenced express route bgp peering resources", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route filter", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "rule", + description: "Manage rules in a route filter", + subcommands: [ + { + name: "create", + description: "Create a rule in a route filter", + options: [ + { + name: "--filter-name", + description: "Name of the route filter", + args: { name: "filter-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the route filter rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--access", + description: + "The access type of the rule. Allowed values: Allow, Deny", + args: { name: "access", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--communities", + description: + 'Space-separated list of border gateway protocol (BGP) community values to filter on. Values from: az network route-filter rule list-service-communities. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "communities" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a rule from a route filter", + options: [ + { + name: "--filter-name", + description: "Name of the route filter", + args: { name: "filter-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route filter rule", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List rules in a route filter", + options: [ + { + name: "--filter-name", + description: "Name of the route filter", + args: { name: "filter-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-service-communities", + description: "Gets all the available BGP service communities", + }, + { + name: "show", + description: "Get the details of a rule in a route filter", + options: [ + { + name: "--filter-name", + description: "Name of the route filter", + args: { name: "filter-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route filter rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a rule in a route filter", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--filter-name", + description: "Name of the route filter", + args: { name: "filter-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route filter rule", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--filter-name", + description: "Name of the route filter", + args: { name: "filter-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route filter rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "route-table", + description: "Manage route tables", + subcommands: [ + { + name: "create", + description: "Create a route table", + options: [ + { + name: ["--name", "-n"], + description: "Name of the route table", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--disable-bgp-route-propagation", + description: + "Disable routes learned by BGP. Allowed values: false, true", + args: { + name: "disable-bgp-route-propagation", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a route table", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route table", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List route tables", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a route table", + options: [ + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route table", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a route table", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--disable-bgp-route-propagation", + description: + "Disable routes learned by BGP. Allowed values: false, true", + args: { + name: "disable-bgp-route-propagation", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route table", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route table", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "route", + description: "Manage routes in a route table", + subcommands: [ + { + name: "create", + description: "Create a route in a route table", + options: [ + { + name: ["--name", "-n"], + description: "Route name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--route-table-name", + description: "Route table name", + args: { name: "route-table-name" }, + isRequired: true, + }, + { + name: "--address-prefix", + description: + "The destination CIDR to which the route applies", + args: { name: "address-prefix" }, + }, + { + name: "--next-hop-ip-address", + description: + "The IP address packets should be forwarded to when using the VirtualAppliance hop type", + args: { name: "next-hop-ip-address" }, + }, + { + name: "--next-hop-type", + description: + "The type of Azure hop the packet should be sent to", + args: { + name: "next-hop-type", + suggestions: [ + "Internet", + "None", + "VirtualAppliance", + "VirtualNetworkGateway", + "VnetLocal", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a route from a route table", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Route name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--route-table-name", + description: "Route table name", + args: { name: "route-table-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List routes in a route table", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--route-table-name", + description: "Route table name", + args: { name: "route-table-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a route in a route table", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Route name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--route-table-name", + description: "Route table name", + args: { name: "route-table-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a route in a route table", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--address-prefix", + description: + "The destination CIDR to which the route applies", + args: { name: "address-prefix" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Route name", + args: { name: "name" }, + }, + { + name: "--next-hop-ip-address", + description: + "The IP address packets should be forwarded to when using the VirtualAppliance hop type", + args: { name: "next-hop-ip-address" }, + }, + { + name: "--next-hop-type", + description: + "The type of Azure hop the packet should be sent to", + args: { + name: "next-hop-type", + suggestions: [ + "Internet", + "None", + "VirtualAppliance", + "VirtualNetworkGateway", + "VnetLocal", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--route-table-name", + description: "Route table name", + args: { name: "route-table-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Route name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--route-table-name", + description: "Route table name", + args: { name: "route-table-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "routeserver", + description: "Manage the route server", + subcommands: [ + { + name: "create", + description: "Create a route server", + options: [ + { + name: "--hosted-subnet", + description: + "ID of a subnet where route server would be deployed", + args: { name: "hosted-subnet" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the route server", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--public-ip-address", + description: "Name or ID of the public IP address", + args: { name: "public-ip-address" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--hub-routing-preference", + description: "Routing preference of the route server", + args: { + name: "hub-routing-preference", + suggestions: ["ASPath", "ExpressRoute", "VpnGateway"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a route server under a resource group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route server", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all route servers under a subscription or a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show a route server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route server", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a route server", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--allow-b2b-traffic", + description: "Whether to allow branch to branch traffic", + args: { + name: "allow-b2b-traffic", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--hub-routing-preference", + description: "Routing preference of the route server", + args: { + name: "hub-routing-preference", + suggestions: ["ASPath", "ExpressRoute", "VpnGateway"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route server", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the route server", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "peering", + description: "Manage the route server peering", + subcommands: [ + { + name: "create", + description: "Create a route server peering", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Route Server Peering", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--routeserver", + description: "The name of the Route Server", + args: { name: "routeserver" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peer-asn", + description: "Peer ASN. Its range is from 1 to 4294967295", + args: { name: "peer-asn" }, + }, + { + name: "--peer-ip", + description: "Peer IP address", + args: { name: "peer-ip" }, + }, + ], + }, + { + name: "delete", + description: "Delete a route server peering", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Route Server Peering", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--routeserver", + description: "The name of the Route Server", + args: { name: "routeserver" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all route server peerings under a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--routeserver", + description: "The name of the Route Server", + args: { name: "routeserver" }, + isRequired: true, + }, + ], + }, + { + name: "list-advertised-routes", + description: + "List all routes the route server bgp connection is advertising to the specified peer", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Route Server Peering", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--routeserver", + description: "The name of the Route Server", + args: { name: "routeserver" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-learned-routes", + description: + "List all routes the route server bgp connection has learned", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Route Server Peering", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--routeserver", + description: "The name of the Route Server", + args: { name: "routeserver" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show a route server peering", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Route Server Peering", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--routeserver", + description: "The name of the Route Server", + args: { name: "routeserver" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a route server peering", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Route Server Peering", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peer-asn", + description: "Peer ASN", + args: { name: "peer-asn" }, + }, + { + name: "--peer-ip", + description: "Peer IP address", + args: { name: "peer-ip" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--routeserver", + description: "The name of the Route Server", + args: { name: "routeserver" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Route Server Peering", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--routeserver", + description: "The name of the Route Server", + args: { name: "routeserver" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "security-partner-provider", + description: "Manage Azure security partner provider", + subcommands: [ + { + name: "create", + description: "Create an Azure security partner provider", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Security Partner Provider", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--provider", + description: + "The security provider name. Allowed values: Checkpoint, IBoss, ZScaler", + args: { + name: "provider", + suggestions: ["Checkpoint", "IBoss", "ZScaler"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vhub", + description: + "Name or ID of the virtual hub to which the Security Partner Provider belongs", + args: { name: "vhub" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure security partner provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Security Partner Provider", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all Azure security partner providers", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show an Azure security partner provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Security Partner Provider", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Azure security partner provider", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Security Partner Provider", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--provider", + description: + "The security provider name. Allowed values: Checkpoint, IBoss, ZScaler", + args: { + name: "provider", + suggestions: ["Checkpoint", "IBoss", "ZScaler"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vhub", + description: + "Name or ID of the virtual hub to which the Security Partner Provider belongs", + args: { name: "vhub" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Security Partner Provider", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "service-endpoint", + description: "Manage policies related to service endpoints", + subcommands: [ + { + name: "list", + description: + "List what values of endpoint services are available for use", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "policy", + description: "Manage service endpoint policies", + subcommands: [ + { + name: "create", + description: "Create a service endpoint policy", + options: [ + { + name: ["--name", "-n"], + description: "Name of the service endpoint policy", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a service endpoint policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the service endpoint policy", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List service endpoint policies", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a service endpoint policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the service endpoint policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a service endpoint policy", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the service endpoint policy", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the service endpoint policy", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "policy-definition", + description: "Manage service endpoint policy definitions", + subcommands: [ + { + name: "create", + description: "Create a service endpoint policy definition", + options: [ + { + name: ["--name", "-n"], + description: "Name of the service endpoint policy definition", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--policy-name", + description: "Name of the service endpoint policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of the policy definition", + args: { name: "description" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--service", + description: + "Service name the policy definition applies to. Values from: az network service-endpoint list", + args: { name: "service" }, + }, + { + name: "--service-resources", + description: + 'Space-separated list of service resources the definition applies to. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "service-resources" }, + }, + ], + }, + { + name: "delete", + description: "Delete a service endpoint policy definition", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the service endpoint policy definition", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--policy-name", + description: "Name of the service endpoint policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List service endpoint policy definitions", + options: [ + { + name: "--policy-name", + description: "Name of the service endpoint policy", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of a service endpoint policy definition", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the service endpoint policy definition", + args: { name: "name" }, + }, + { + name: "--policy-name", + description: "Name of the service endpoint policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a service endpoint policy definition", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "Description of the policy definition", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the service endpoint policy definition", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--policy-name", + description: "Name of the service endpoint policy", + args: { name: "policy-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Service name the policy definition applies to. Values from: az network service-endpoint list", + args: { name: "service" }, + }, + { + name: "--service-resources", + description: + 'Space-separated list of service resources the definition applies to. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "service-resources" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the service endpoint policy definition", + args: { name: "name" }, + }, + { + name: "--policy-name", + description: "Name of the service endpoint policy", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "traffic-manager", + description: "Manage the routing of incoming traffic", + subcommands: [ + { + name: "endpoint", + description: "Manage Azure Traffic Manager end points", + subcommands: [ + { + name: "create", + description: "Create a traffic manager endpoint", + options: [ + { + name: ["--name", "-n"], + description: "Endpoint name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--profile-name", + description: "Name of parent profile", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--type", "-t"], + description: "Endpoint type", + args: { + name: "type", + suggestions: [ + "azureEndpoints", + "externalEndpoints", + "nestedEndpoints", + ], + }, + isRequired: true, + }, + { + name: "--always-serve", + description: + "If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in the traffic routing method", + args: { + name: "always-serve", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--custom-headers", + description: + "Space-separated list of custom headers in KEY=VALUE format", + args: { name: "custom-headers" }, + }, + { + name: "--endpoint-location", + description: + "Location of the external or nested endpoints when using the 'Performance' routing method", + args: { name: "endpoint-location" }, + }, + { + name: "--endpoint-monitor-status", + description: "The monitoring status of the endpoint", + args: { name: "endpoint-monitor-status" }, + }, + { + name: "--endpoint-status", + description: + "The status of the endpoint. If enabled the endpoint is probed for endpoint health and included in the traffic routing method", + args: { + name: "endpoint-status", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--geo-mapping", + description: + "Space-separated list of country/region codes mapped to this endpoint when using the 'Geographic' routing method. value from: az network traffic-manager endpoint show-geographic-hierarchy", + args: { name: "geo-mapping" }, + }, + { + name: "--min-child-endpoints", + description: + "The minimum number of endpoints that must be available in the child profile for the parent profile to be considered available. Only applicable to an endpoint of type 'NestedEndpoints'", + args: { name: "min-child-endpoints" }, + }, + { + name: "--min-child-ipv4", + description: + "The minimum number of IPv4 (DNS record type A) endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'", + args: { name: "min-child-ipv4" }, + }, + { + name: "--min-child-ipv6", + description: + "The minimum number of IPv6 (DNS record type AAAA) endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'", + args: { name: "min-child-ipv6" }, + }, + { + name: "--priority", + description: + "Priority of the endpoint when using the 'Priority' traffic routing method. Values range from 1 to 1000, with lower values representing higher priority", + args: { name: "priority" }, + }, + { + name: "--subnets", + description: + "Space-separated list of subnet CIDR prefixes (10.0.0.0/24) or subnet ranges (10.0.0.0-11.0.0.0)", + args: { name: "subnets" }, + }, + { + name: "--target", + description: "Fully-qualified DNS name of the endpoint", + args: { name: "target" }, + }, + { + name: "--target-resource-id", + description: + "The Azure Resource URI of the endpoint. Not applicable for endpoints of type 'ExternalEndpoints'", + args: { name: "target-resource-id" }, + }, + { + name: "--weight", + description: + "Weight of the endpoint when using the 'Weighted' traffic routing method. Values range from 1 to 1000", + args: { name: "weight" }, + }, + ], + }, + { + name: "delete", + description: "Delete a traffic manager endpoint", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Endpoint name", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: "Name of parent profile", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--type", "-t"], + description: "Endpoint type", + args: { + name: "type", + suggestions: [ + "AzureEndpoints", + "ExternalEndpoints", + "NestedEndpoints", + ], + }, + }, + ], + }, + { + name: "list", + description: "List traffic manager endpoints", + options: [ + { + name: "--profile-name", + description: "Name of parent profile", + args: { name: "profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--type", "-t"], + description: "Endpoint type", + args: { + name: "type", + suggestions: [ + "azureEndpoints", + "externalEndpoints", + "nestedEndpoints", + ], + }, + }, + ], + }, + { + name: "show", + description: "Get the details of a traffic manager endpoint", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Endpoint name", + args: { name: "name" }, + }, + { + name: "--profile-name", + description: "Name of parent profile", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--type", "-t"], + description: + "Endpoint type. Allowed values: azureEndpoints, externalEndpoints, nestedEndpoints", + args: { + name: "type", + suggestions: [ + "AzureEndpoints", + "ExternalEndpoints", + "NestedEndpoints", + ], + }, + }, + ], + }, + { + name: "show-geographic-hierarchy", + description: + "Get the default geographic hierarchy used by the geographic traffic routing method", + }, + { + name: "update", + description: "Update a traffic manager endpoint", + options: [ + { + name: "--always-serve", + description: + "If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in the traffic routing method", + args: { + name: "always-serve", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--custom-headers", + description: + "Space-separated list of custom headers in KEY=VALUE format", + args: { name: "custom-headers" }, + }, + { + name: "--endpoint-location", + description: + "Location of the external or nested endpoints when using the 'Performance' routing method", + args: { name: "endpoint-location" }, + }, + { + name: "--endpoint-monitor-status", + description: "The monitoring status of the endpoint", + args: { name: "endpoint-monitor-status" }, + }, + { + name: "--endpoint-status", + description: + "The status of the endpoint. If enabled the endpoint is probed for endpoint health and included in the traffic routing method", + args: { + name: "endpoint-status", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--geo-mapping", + description: + "Space-separated list of country/region codes mapped to this endpoint when using the 'Geographic' routing method", + args: { name: "geo-mapping" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--min-child-endpoints", + description: + "The minimum number of endpoints that must be available in the child profile for the parent profile to be considered available. Only applicable to an endpoint of type 'NestedEndpoints'", + args: { name: "min-child-endpoints" }, + }, + { + name: "--min-child-ipv4", + description: + "The minimum number of IPv4 (DNS record type A) endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'", + args: { name: "min-child-ipv4" }, + }, + { + name: "--min-child-ipv6", + description: + "The minimum number of IPv6 (DNS record type AAAA) endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'", + args: { name: "min-child-ipv6" }, + }, + { + name: ["--name", "-n"], + description: "Endpoint name", + args: { name: "name" }, + }, + { + name: "--priority", + description: + "Priority of the endpoint when using the 'Priority' traffic routing method. Values range from 1 to 1000, with lower values representing higher priority", + args: { name: "priority" }, + }, + { + name: "--profile-name", + description: "Name of parent profile", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subnets", + description: + "Space-separated list of subnet CIDR prefixes (10.0.0.0/24) or subnet ranges (10.0.0.0-11.0.0.0)", + args: { name: "subnets" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target", + description: "Fully-qualified DNS name of the endpoint", + args: { name: "target" }, + }, + { + name: "--target-resource-id", + description: + "The Azure Resource URI of the endpoint. Not applicable for endpoints of type 'ExternalEndpoints'", + args: { name: "target-resource-id" }, + }, + { + name: ["--type", "-t"], + description: "Endpoint type", + args: { + name: "type", + suggestions: [ + "azureEndpoints", + "externalEndpoints", + "nestedEndpoints", + ], + }, + }, + { + name: "--weight", + description: + "Weight of the endpoint when using the 'Weighted' traffic routing method. Values range from 1 to 1000", + args: { name: "weight" }, + }, + ], + }, + ], + }, + { + name: "profile", + description: "Manage Azure Traffic Manager profiles", + subcommands: [ + { + name: "check-dns", + description: "Check the availability of a relative DNS name", + options: [ + { + name: ["--name", "-n"], + description: "DNS prefix to verify availability for", + args: { name: "name" }, + }, + { + name: "--type", + description: "The type of the resource", + args: { name: "type" }, + }, + ], + }, + { + name: "create", + description: "Create a traffic manager profile", + options: [ + { + name: ["--name", "-n"], + description: "Traffic manager profile name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--routing-method", + description: "Routing method", + args: { + name: "routing-method", + suggestions: [ + "Geographic", + "Multivalue", + "Performance", + "Priority", + "Subnet", + "Weighted", + ], + }, + isRequired: true, + }, + { + name: "--unique-dns-name", + description: + "Relative DNS name for the traffic manager profile. Resulting FQDN will be .trafficmanager.net and must be globally unique", + args: { name: "unique-dns-name" }, + isRequired: true, + }, + { + name: "--custom-headers", + description: "Space-separated list of NAME=VALUE pairs", + args: { name: "custom-headers" }, + }, + { + name: "--interval", + description: + "The interval in seconds at which health checks are conducted", + args: { name: "interval" }, + }, + { + name: "--max-failures", + description: + "The number of consecutive failed health checks tolerated before an endpoint is considered degraded", + args: { name: "max-failures" }, + }, + { + name: "--max-return", + description: + "Maximum number of endpoints to be returned for MultiValue routing type", + args: { name: "max-return" }, + }, + { + name: "--path", + description: + 'Path to monitor. Use ""(\'""\' in PowerShell) for none', + args: { name: "path" }, + }, + { + name: "--port", + description: "Port to monitor", + args: { name: "port" }, + }, + { + name: "--protocol", + description: "Monitor protocol", + args: { + name: "protocol", + suggestions: ["HTTP", "HTTPS", "TCP"], + }, + }, + { + name: "--status", + description: "Status of the Traffic Manager profile", + args: { + name: "status", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--status-code-ranges", + description: + "Space-separated list of status codes in MIN-MAX or VAL format", + args: { name: "status-code-ranges" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--timeout", + description: + "The time in seconds allowed for endpoints to respond to a health check", + args: { name: "timeout" }, + }, + { + name: "--ttl", + description: "DNS config time-to-live in seconds", + args: { name: "ttl" }, + }, + ], + }, + { + name: "delete", + description: "Delete a traffic manager profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Traffic Manager profile to be deleted", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List traffic manager profiles", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a traffic manager profile", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--profile-name", "--name", "-n"], + description: "The name of the Traffic Manager profile", + args: { name: "profile-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a traffic manager profile", + options: [ + { + name: "--custom-headers", + description: "Space-separated list of NAME=VALUE pairs", + args: { name: "custom-headers" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: + "The interval in seconds at which health checks are conducted", + args: { name: "interval" }, + }, + { + name: "--max-failures", + description: + "The number of consecutive failed health checks tolerated before an endpoint is considered degraded", + args: { name: "max-failures" }, + }, + { + name: "--max-return", + description: + "Maximum number of endpoints to be returned for MultiValue routing type", + args: { name: "max-return" }, + }, + { + name: ["--name", "-n"], + description: "Traffic manager profile name", + args: { name: "name" }, + }, + { + name: "--path", + description: + 'Path to monitor. Use ""(\'""\' in PowerShell) for none', + args: { name: "path" }, + }, + { + name: "--port", + description: "Port to monitor", + args: { name: "port" }, + }, + { + name: "--protocol", + description: "Monitor protocol", + args: { + name: "protocol", + suggestions: ["HTTP", "HTTPS", "TCP"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--routing-method", + description: "Routing method", + args: { + name: "routing-method", + suggestions: [ + "Geographic", + "Multivalue", + "Performance", + "Priority", + "Subnet", + "Weighted", + ], + }, + }, + { + name: "--status", + description: "Status of the Traffic Manager profile", + args: { + name: "status", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--status-code-ranges", + description: + "Space-separated list of status codes in MIN-MAX or VAL format", + args: { name: "status-code-ranges" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--timeout", + description: + "The time in seconds allowed for endpoints to respond to a health check", + args: { name: "timeout" }, + }, + { + name: "--ttl", + description: "DNS config time-to-live in seconds", + args: { name: "ttl" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "vhub", + description: "Manage virtual hubs", + subcommands: [ + { + name: "create", + description: "Create a virtual hub", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual hub", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address-prefix", + description: "CIDR address prefix for the virtual hub", + args: { name: "address-prefix" }, + }, + { + name: "--allow-b2b-traffic", + description: + "Flag to control branch-to-branch traffic for VirtualRouter hub", + args: { + name: "allow-b2b-traffic", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--asn", + description: "VirtualRouter ASN", + args: { name: "asn" }, + }, + { + name: "--auto-scale-config", + description: + 'The VirtualHub Router autoscale configuration. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "auto-scale-config" }, + }, + { + name: "--hub-routing-preference", + description: "The hub routing preference gateway types", + args: { + name: "hub-routing-preference", + suggestions: ["ASPath", "ExpressRoute", "VpnGateway"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--sku", + description: + "The sku of the VirtualHub. Allowed values: Basic, Standard", + args: { name: "sku" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vwan", + description: "Name or ID of the virtual WAN", + args: { name: "vwan" }, + }, + ], + }, + { + name: "delete", + description: "Delete a virtual hub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual hub", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-effective-routes", + description: + "Get the effective routes configured for the Virtual Hub resource or the specified resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual hub", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-id", + description: + "The resource whose effective routes are being requested", + args: { name: "resource-id" }, + }, + { + name: "--resource-type", + description: + "The type of the specified resource like RouteTable, ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection", + args: { name: "resource-type" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List virtual hubs", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a virtual hub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual hub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update settings of a virtual hub", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--address-prefix", + description: "CIDR address prefix for the virtual hub", + args: { name: "address-prefix" }, + }, + { + name: "--allow-b2b-traffic", + description: + "Flag to control branch-to-branch traffic for VirtualRouter hub", + args: { + name: "allow-b2b-traffic", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--asn", + description: "VirtualRouter ASN", + args: { name: "asn" }, + }, + { + name: "--auto-scale-config", + description: + 'The VirtualHub Router autoscale configuration. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "auto-scale-config" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--hub-routing-preference", + description: "The hub routing preference gateway types", + args: { + name: "hub-routing-preference", + suggestions: ["ASPath", "ExpressRoute", "VpnGateway"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual hub", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "The sku of the VirtualHub", + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vwan", + description: "Name or ID of the virtual WAN", + args: { name: "vwan" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual hub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "bgpconnection", + description: "Manage virtual hub bgpconnections", + subcommands: [ + { + name: "create", + description: "Create a virtual hub bgpconnection", + options: [ + { + name: ["--name", "-n"], + description: "Name of the bgpconnection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--peer-asn", + description: "Peer ASN", + args: { name: "peer-asn" }, + }, + { + name: "--peer-ip", + description: "Peer IP", + args: { name: "peer-ip" }, + }, + { + name: "--vhub-conn", + description: "The resource id of vhub connection", + args: { name: "vhub-conn" }, + }, + ], + }, + { + name: "delete", + description: "Delete a virtual hub bgpconnection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the bgpconnection", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List virtual hub bgpconnections", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a virtual hub bgpconnection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the bgpconnection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + }, + ], + }, + { + name: "update", + description: "Update settings of a virtual hub bgpconnection", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the bgpconnection", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--peer-asn", + description: "Peer ASN", + args: { name: "peer-asn" }, + }, + { + name: "--peer-ip", + description: "Peer IP", + args: { name: "peer-ip" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vhub-conn", + description: "The resource id of vhub connection", + args: { name: "vhub-conn" }, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of virtual hub bgpconnection is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the bgpconnection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + }, + ], + }, + ], + }, + { + name: "connection", + description: "Manage virtual hub VNet connections", + subcommands: [ + { + name: "create", + description: "Create a virtual hub VNet connection", + options: [ + { + name: ["--name", "-n"], + description: "Name of the connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--remote-vnet", + description: "Name of ID of the remote VNet to connect to", + args: { name: "remote-vnet" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + { + name: "--address-prefixes", + description: + 'Space-separated list of all address prefixes. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "address-prefixes" }, + }, + { + name: ["--associated-route-table", "--associated"], + description: + "Resource ID of route table associated with this routing configuration", + args: { name: "associated-route-table" }, + }, + { + name: "--associated-inbound-routemap", + description: + "Resource URI of inbound routemap for this connection's routing configuration", + args: { name: "associated-inbound-routemap" }, + }, + { + name: "--associated-outbound-routemap", + description: + "Resource URI of outbound routemap for this connection's routing configuration", + args: { name: "associated-outbound-routemap" }, + }, + { + name: "--internet-security", + description: + "Enable internet security and default is enabled", + args: { + name: "internet-security", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--labels", + description: + 'Space-separated list of labels for propagated route tables. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "labels" }, + }, + { + name: "--next-hop", + description: "IP address of the next hop", + args: { name: "next-hop" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--propagated-route-tables", "--propagated"], + description: + 'Space-separated list of resource ID of propagated route tables. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "propagated-route-tables" }, + }, + { + name: "--remote-vnet-transit", + description: "Deprecated: Enable hub to remote VNet transit", + args: { + name: "remote-vnet-transit", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--route-name", + description: + "Name of the static route that is unique within a VNet route", + args: { name: "route-name" }, + }, + { + name: "--use-hub-vnet-gateways", + description: + "Deprecated: Allow remote VNet to use hub's VNet gateways", + args: { + name: "use-hub-vnet-gateways", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a virtual hub VNet connection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the connection", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List virtual hub VNet connections", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a virtual hub VNet connection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + }, + ], + }, + { + name: "update", + description: "Update settings of a virtual hub connection", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--associated-route-table", "--associated"], + description: + "Resource ID of route table associated with this routing configuration", + args: { name: "associated-route-table" }, + }, + { + name: "--associated-inbound-routemap", + description: + "Resource URI of inbound routemap for this connection's routing configuration", + args: { name: "associated-inbound-routemap" }, + }, + { + name: "--associated-outbound-routemap", + description: + "Resource URI of outbound routemap for this connection's routing configuration", + args: { name: "associated-outbound-routemap" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--labels", + description: + 'Space-separated list of labels for propagated route tables. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "labels" }, + }, + { + name: ["--name", "-n"], + description: "Name of the connection", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--propagated-route-tables", "--propagated"], + description: + 'Space-separated list of resource ID of propagated route tables. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "propagated-route-tables" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + }, + ], + }, + ], + }, + { + name: "route", + description: "Manage entries in the virtual hub route table", + subcommands: [ + { + name: "add", + description: "Add a route to the virtual hub route table", + options: [ + { + name: "--address-prefixes", + description: "Space-separated list of CIDR prefixes", + args: { name: "address-prefixes" }, + isRequired: true, + }, + { + name: "--next-hop", + description: "IP address of the next hop", + args: { name: "next-hop" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: "List routes in the virtual hub route table", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a route from the virtual hub route table", + options: [ + { + name: "--index", + description: "List index of the item (starting with 1)", + args: { name: "index" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "reset", + description: + "Reset virtual hub route when the route state is failed", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + ], + }, + { + name: "route-map", + description: "Manage route map", + subcommands: [ + { + name: "create", + description: "Create a route map", + options: [ + { + name: ["--route-map-name", "--name", "-n"], + description: "The name of the RouteMap", + args: { name: "route-map-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: + "The name of the VirtualHub containing the RouteMap", + args: { name: "vhub-name" }, + isRequired: true, + }, + { + name: "--inbound-connection", + description: + 'List of connections which have this RoutMap associated for inbound traffic. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "inbound-connection" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--outbound-connections", + description: + 'List of connections which have this RoutMap associated for outbound traffic. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "outbound-connections" }, + }, + { + name: "--rules", + description: + 'List of RouteMap rules to be applied. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rules" }, + }, + ], + }, + { + name: "delete", + description: "Delete a route map", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--route-map-name", "--name", "-n"], + description: "The name of the RouteMap", + args: { name: "route-map-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vhub-name", + description: + "The name of the VirtualHub containing the RouteMap", + args: { name: "vhub-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-inbound-routes", + description: + "Get the inbound routes configured for the Virtual Hub on a particular connection", + options: [ + { + name: "--connection-type", + description: + "The type of the specified connection resource like ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection", + args: { name: "connection-type" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-uri", + description: + "The connection resource whose inbound routes are being requested", + args: { name: "resource-uri" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vhub-name", + description: "The name of the VirtualHub", + args: { name: "vhub-name" }, + }, + ], + }, + { + name: "get-outbound-routes", + description: + "Get the outbound routes configured for the Virtual Hub on a particular connection", + options: [ + { + name: "--connection-type", + description: + "The type of the specified connection resource like ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection", + args: { name: "connection-type" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-uri", + description: + "The connection resource whose outbound routes are being requested", + args: { name: "resource-uri" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vhub-name", + description: "The name of the VirtualHub", + args: { name: "vhub-name" }, + }, + ], + }, + { + name: "list", + description: "List routem maps by resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: + "The name of the VirtualHub containing the RouteMap", + args: { name: "vhub-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of a route map", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--route-map-name", "--name", "-n"], + description: "The name of the RouteMap", + args: { name: "route-map-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vhub-name", + description: + "The name of the VirtualHub containing the RouteMap", + args: { name: "vhub-name" }, + }, + ], + }, + { + name: "update", + description: "Update a route map", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--inbound-connection", + description: + 'List of connections which have this RoutMap associated for inbound traffic. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "inbound-connection" }, + }, + { + name: ["--route-map-name", "--name", "-n"], + description: "The name of the RouteMap", + args: { name: "route-map-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--outbound-connections", + description: + 'List of connections which have this RoutMap associated for outbound traffic. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "outbound-connections" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rules", + description: + 'List of RouteMap rules to be applied. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rules" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vhub-name", + description: + "The name of the VirtualHub containing the RouteMap", + args: { name: "vhub-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--route-map-name", "--name", "-n"], + description: "The name of the RouteMap", + args: { name: "route-map-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--vhub-name", + description: + "The name of the VirtualHub containing the RouteMap", + args: { name: "vhub-name" }, + }, + ], + }, + { + name: "rule", + description: "Manage route map rule", + subcommands: [ + { + name: "add", + description: "Add route map rule", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--route-map-name", + description: "The name of the RouteMap", + args: { name: "route-map-name" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: + "The name of the VirtualHub containing the RouteMap", + args: { name: "vhub-name" }, + isRequired: true, + }, + { + name: "--actions", + description: + 'List of actions which will be applied on a match. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "actions" }, + }, + { + name: "--match-criteria", + description: + 'List of matching criterion which will be applied to traffic. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "match-criteria" }, + }, + { + name: "--name", + description: "The unique name for the rule", + args: { name: "name" }, + }, + { + name: "--next-step", + description: + "Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'", + args: { + name: "next-step", + suggestions: ["Continue", "Terminate", "Unknown"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--rule-index", + description: "The index of the route map rule", + args: { name: "rule-index" }, + }, + ], + }, + { + name: "delete", + description: "Delete route map rule", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--route-map-name", + description: "The name of the RouteMap", + args: { name: "route-map-name" }, + isRequired: true, + }, + { + name: "--rule-index", + description: "The index of the route map rule", + args: { name: "rule-index" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: + "The name of the VirtualHub containing the RouteMap", + args: { name: "vhub-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List route map rules", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--route-map-name", + description: "The name of the RouteMap", + args: { name: "route-map-name" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: + "The name of the VirtualHub containing the RouteMap", + args: { name: "vhub-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show route map rule", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--route-map-name", + description: "The name of the RouteMap", + args: { name: "route-map-name" }, + isRequired: true, + }, + { + name: "--rule-index", + description: "The index of the route map rule", + args: { name: "rule-index" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: + "The name of the VirtualHub containing the RouteMap", + args: { name: "vhub-name" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--route-map-name", + description: "The name of the RouteMap", + args: { name: "route-map-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--vhub-name", + description: + "The name of the VirtualHub containing the RouteMap", + args: { name: "vhub-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "route-table", + description: "Manage route table in the virtual hub", + subcommands: [ + { + name: "create", + description: "Create a route table in the virtual hub", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual hub route table", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + { + name: "--destination-type", + description: "The type of destinations", + args: { + name: "destination-type", + suggestions: ["CIDR", "ResourceId", "Service"], + }, + }, + { + name: "--destinations", + description: "Space-separated list of all destinations", + args: { name: "destinations" }, + }, + { + name: "--labels", + description: + "Space-separated list of all labels associated with this route table", + args: { name: "labels" }, + }, + { + name: "--next-hop", + description: "The resource ID of the next hop", + args: { name: "next-hop" }, + }, + { + name: "--next-hop-type", + description: "The type of next hop", + args: { name: "next-hop-type", suggestions: ["ResourceId"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--route-name", + description: "The name of the route", + args: { name: "route-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a route table in the virtual hub", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual hub route table", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all route tables in the virtual hub", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a route table in the virtual hub", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual hub route table", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a route table in the virtual hub", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual hub route table", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + { + name: "--labels", + description: + "Space-separated list of all labels associated with this route table", + args: { name: "labels" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the vhub route-table is met", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual hub route table", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "route", + description: "Manage routes of route table in the virtual hub", + subcommands: [ + { + name: "add", + description: + "Add a route into route table of the virtual hub", + options: [ + { + name: "--destination-type", + description: "The type of destinations", + args: { + name: "destination-type", + suggestions: ["CIDR", "ResourceId", "Service"], + }, + isRequired: true, + }, + { + name: "--destinations", + description: "Space-separated list of all destinations", + args: { name: "destinations" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual hub route table", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--next-hop-type", + description: "The type of next hop", + args: { + name: "next-hop-type", + suggestions: ["ResourceId"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + { + name: "--next-hop", + description: "The resource ID of the next hop", + args: { name: "next-hop" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--route-name", + description: "The name of the route", + args: { name: "route-name" }, + }, + ], + }, + { + name: "list", + description: "List routes in the virtual hub route table", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual hub route table", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a route from route table of the virtual hub", + options: [ + { + name: "--index", + description: "List index of the item (starting with 1)", + args: { name: "index" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual hub route table", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub-name", + description: "Name of the virtual hub", + args: { name: "vhub-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + ], + }, + ], + }, + { + name: "routing-intent", + description: "Manage routing intent in the virtual hub", + subcommands: [ + { + name: "create", + description: "Create a routing intent in the virtual hub", + options: [ + { + name: ["--routing-intent-name", "--name", "-n"], + description: "Name of the routing intent", + args: { name: "routing-intent-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub", + description: "Name of the virtual hub", + args: { name: "vhub" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--routing-policies", + description: + 'List of routing policies. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "routing-policies" }, + }, + ], + }, + { + name: "delete", + description: "Delete a routing intent in the virtual hub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--routing-intent-name", "--name", "-n"], + description: "Name of the routing intent", + args: { name: "routing-intent-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vhub", + description: "Name of the virtual hub", + args: { name: "vhub" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Retrieve the details of all routing intent resources of the virtual hub", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vhub", + description: "Name of the virtual hub", + args: { name: "vhub" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Retrieve the details of a routing intent", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--routing-intent-name", "--name", "-n"], + description: "Name of the routing intent", + args: { name: "routing-intent-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vhub", + description: "Name of the virtual hub", + args: { name: "vhub" }, + }, + ], + }, + { + name: "update", + description: "Update a routing intent in the virtual hub", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--routing-intent-name", "--name", "-n"], + description: "Name of the routing intent", + args: { name: "routing-intent-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--routing-policies", + description: + 'List of routing policies. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "routing-policies" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vhub", + description: "Name of the virtual hub", + args: { name: "vhub" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--routing-intent-name", "--name", "-n"], + description: "Name of the routing intent", + args: { name: "routing-intent-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--vhub", + description: "Name of the virtual hub", + args: { name: "vhub" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "virtual-appliance", + description: "Manage Azure Network Virtual Appliance", + subcommands: [ + { + name: "create", + description: "Create an Azure network virtual appliance", + options: [ + { + name: ["--name", "-n"], + description: "The name of Network Virtual Appliance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--additional-nics", + description: + 'Details required for Additional Network Interface. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "additional-nics" }, + }, + { + name: "--asn", + description: + "VirtualAppliance ASN. The valid value ranges from 1 to 4294967295", + args: { name: "asn" }, + }, + { + name: ["--boot-strap-config-blobs", "--boot-blobs"], + description: + 'Space-separated list of BootStrapConfigurationBlobs storage URLs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "boot-strap-config-blobs" }, + }, + { + name: ["--cloud-init-config-blobs", "--cloud-blobs"], + description: + 'Space-separated list of CloudInitConfigurationBlob storage URLs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "cloud-init-config-blobs" }, + }, + { + name: ["--cloud-init-config", "--init-config"], + description: + "CloudInitConfiguration scripts that will be run during cloud initialization", + args: { name: "cloud-init-config" }, + }, + { + name: "--delegation", + description: + 'The delegation for the Virtual Appliance Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "delegation" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--scale-unit", + description: "Virtual Appliance Scale Unit", + args: { name: "scale-unit" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vendor", + description: "Virtual Appliance Vendor", + args: { name: "vendor" }, + }, + { + name: ["--version", "-v"], + description: "Virtual Appliance Version", + args: { name: "version" }, + }, + { + name: "--vhub", + description: + "Name or ID of the virtual hub to which the Security Partner Provider belongs", + args: { name: "vhub" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure network virtual appliance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of Network Virtual Appliance", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all Azure network virtual appliance", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the detail of an Azure network virtual appliance", + options: [ + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of Network Virtual Appliance", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Azure network virtual appliance", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--additional-nics", + description: + 'Details required for Additional Network Interface. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "additional-nics" }, + }, + { + name: "--asn", + description: + "VirtualAppliance ASN. The valid value ranges from 1 to 4294967295", + args: { name: "asn" }, + }, + { + name: ["--boot-strap-config-blobs", "--boot-blobs"], + description: + 'Space-separated list of BootStrapConfigurationBlobs storage URLs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "boot-strap-config-blobs" }, + }, + { + name: ["--cloud-init-config-blobs", "--cloud-blobs"], + description: + 'Space-separated list of CloudInitConfigurationBlob storage URLs. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "cloud-init-config-blobs" }, + }, + { + name: ["--cloud-init-config", "--init-config"], + description: + "CloudInitConfiguration scripts that will be run during cloud initialization", + args: { name: "cloud-init-config" }, + }, + { + name: "--delegation", + description: + 'The delegation for the Virtual Appliance Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "delegation" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "The name of Network Virtual Appliance", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scale-unit", + description: "Virtual Appliance Scale Unit", + args: { name: "scale-unit" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vendor", + description: "Virtual Appliance Vendor", + args: { name: "vendor" }, + }, + { + name: ["--version", "-v"], + description: "Virtual Appliance Version", + args: { name: "version" }, + }, + { + name: "--vhub", + description: + "Name or ID of the virtual hub to which the Security Partner Provider belongs", + args: { name: "vhub" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of Network Virtual Appliance", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "site", + description: "Manage Azure Network Virtual Appliance Site", + subcommands: [ + { + name: "create", + description: "Create an Azure network virtual appliance site", + options: [ + { + name: "--appliance-name", + description: "The name of Network Virtual Appliance", + args: { name: "appliance-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of Network Virtual Appliance Site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address-prefix", + description: + "Address Prefix of Network Virtual Appliance Site", + args: { name: "address-prefix" }, + }, + { + name: "--allow", + description: + "Flag to control breakout of o365 allow category. Allowed values: false, true", + args: { + name: "allow", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--default", + description: + "Flag to control breakout of o365 default category. Allowed values: false, true", + args: { + name: "default", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--optimize", + description: + "Flag to control breakout of o365 optimize category. Allowed values: false, true", + args: { + name: "optimize", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure network virtual appliance site", + options: [ + { + name: "--appliance-name", + description: "The name of Network Virtual Appliance", + args: { name: "appliance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of Network Virtual Appliance Site", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all Azure network virtual appliance site", + options: [ + { + name: "--appliance-name", + description: "The name of Network Virtual Appliance", + args: { name: "appliance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the detail of an Azure network virtual appliance site", + options: [ + { + name: "--appliance-name", + description: "The name of Network Virtual Appliance", + args: { name: "appliance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of Network Virtual Appliance Site", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Azure network virtual appliance site", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--address-prefix", + description: + "Address Prefix of Network Virtual Appliance Site", + args: { name: "address-prefix" }, + }, + { + name: "--allow", + description: + "Flag to control breakout of o365 allow category. Allowed values: false, true", + args: { + name: "allow", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--appliance-name", + description: "The name of Network Virtual Appliance", + args: { name: "appliance-name" }, + }, + { + name: "--default", + description: + "Flag to control breakout of o365 default category. Allowed values: false, true", + args: { + name: "default", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of Network Virtual Appliance Site", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--optimize", + description: + "Flag to control breakout of o365 optimize category. Allowed values: false, true", + args: { + name: "optimize", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--appliance-name", + description: "The name of Network Virtual Appliance", + args: { name: "appliance-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of Network Virtual Appliance Site", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sku", + description: "Manage Azure Network Virtual Appliance Sku", + subcommands: [ + { + name: "list", + description: "List all Azure network virtual appliance sku", + }, + { + name: "show", + description: + "Show the detail of an Azure network virtual appliance sku", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of Network Virtual Appliance SKU", + args: { name: "name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "vnet", + description: + "Check if a private IP address is available for use within a virtual network.\n\n\t\tTo learn more about Virtual Networks visit https://docs.microsoft.com/azure/virtual-network/virtual-network-manage-network", + subcommands: [ + { + name: "check-ip-address", + description: + "Check if a private IP address is available for use within a virtual network", + options: [ + { + name: "--ip-address", + description: "The private IP address to be verified", + args: { name: "ip-address" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The virtual network (VNet) name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create a virtual network", + options: [ + { + name: ["--name", "-n"], + description: "The virtual network (VNet) name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address-prefixes", + description: + 'Space-separated list of IP address prefixes for the VNet. Default: 10.0.0.0/16. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "address-prefixes" }, + }, + { + name: "--bgp-community", + description: + "The BGP community associated with the virtual network", + args: { name: "bgp-community" }, + }, + { + name: "--ddos-protection", + description: "Control whether DDoS protection is enabled", + }, + { + name: "--ddos-protection-plan", + description: + "Name or ID of a DDoS protection plan to associate with the VNet", + args: { name: "ddos-protection-plan" }, + }, + { + name: "--dns-servers", + description: + 'Space-separated list of DNS server IP addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-servers" }, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: "--enable-encryption", + description: "Enable encryption on the virtual network", + args: { + name: "enable-encryption", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--encryption-enforcement-policy", "--encryption-policy"], + description: + "To control if the Virtual Machine without encryption is allowed in encrypted Virtual Network or not", + args: { + name: "encryption-enforcement-policy", + suggestions: ["AllowUnencrypted", "DropUnencrypted"], + }, + }, + { + name: "--flowtimeout", + description: + "The FlowTimeout value (in minutes) for the Virtual Network", + args: { name: "flowtimeout" }, + }, + { + name: ["--location", "-l"], + description: "Resource location", + args: { name: "location" }, + }, + { + name: ["--network-security-group", "--nsg"], + description: "Name or ID of a network security group (NSG)", + args: { name: "network-security-group" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--subnet-name", + description: "Name of a new subnet to create within the VNet", + args: { name: "subnet-name" }, + }, + { + name: "--subnet-prefixes", + description: + 'Space-separated list of address prefixes in CIDR format for the new subnet. If omitted, automatically reserves a /24 (or as large as available) block within the VNet address space. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "subnet-prefixes" }, + }, + { + name: "--subnets", + description: + 'Manage a list of subnets in a Virtual Network (similar to az network vnet subnet). Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "subnets" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vm-protection", + description: "Enable VM protection for all subnets in the VNet", + }, + ], + }, + { + name: "delete", + description: "Delete a virtual network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The virtual network (VNet) name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List virtual networks", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-available-ips", + description: "List some available ips in the vnet", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The virtual network (VNet) name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-endpoint-services", + description: + "List which services support VNet service tunneling in a given region", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a virtual network", + options: [ + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The virtual network (VNet) name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a virtual network", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--address-prefixes", + description: + 'Space-separated list of IP address prefixes for the VNet. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "address-prefixes" }, + }, + { + name: "--bgp-community", + description: + "The BGP community associated with the virtual network", + args: { name: "bgp-community" }, + }, + { + name: "--ddos-protection", + description: "Control whether DDoS protection is enabled", + args: { + name: "ddos-protection", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ddos-protection-plan", + description: + "Name or ID of a DDoS protection plan to associate with the VNet", + args: { name: "ddos-protection-plan" }, + }, + { + name: "--dns-servers", + description: + 'Space-separated list of DNS server IP addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-servers" }, + }, + { + name: "--enable-encryption", + description: "Enable encryption on the virtual network", + args: { + name: "enable-encryption", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--encryption-enforcement-policy", "--encryption-policy"], + description: + "To control if the Virtual Machine without encryption is allowed in encrypted Virtual Network or not", + args: { + name: "encryption-enforcement-policy", + suggestions: ["AllowUnencrypted", "DropUnencrypted"], + }, + }, + { + name: "--flowtimeout", + description: + "The FlowTimeout value (in minutes) for the Virtual Network", + args: { name: "flowtimeout" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The virtual network (VNet) name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-protection", + description: "Enable VM protection for all subnets in the VNet", + args: { + name: "vm-protection", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The virtual network (VNet) name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "peering", + description: + "Manage peering connections between Azure Virtual Networks.\n\n\t\tTo learn more about virtual network peering visit https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-manage-peering", + subcommands: [ + { + name: "create", + description: "Create a virtual network peering connection", + options: [ + { + name: ["--name", "-n"], + description: "The name of the VNet peering", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--remote-vnet", + description: "Name or ID of the remote VNet", + args: { name: "remote-vnet" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + isRequired: true, + }, + { + name: "--allow-forwarded-traffic", + description: + "Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network", + }, + { + name: "--allow-gateway-transit", + description: + "If gateway links can be used in remote virtual networking to link to this virtual network", + }, + { + name: "--allow-vnet-access", + description: + "Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--use-remote-gateways", + description: + "Allows VNet to use the remote VNet's gateway. Remote VNet gateway must have --allow-gateway-transit enabled for remote peering. Only 1 peering can have this flag enabled. Cannot be set if the VNet already has a gateway", + }, + ], + }, + { + name: "delete", + description: "Delete a peering", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the VNet peering", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "list", + description: "List peerings", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a peering", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the VNet peering", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "sync", + description: "Sync a virtual network peering connection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the VNet peering", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "update", + description: "Update a peering", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the VNet peering", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the VNet peering", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + }, + ], + }, + ], + }, + { + name: "subnet", + description: + "Manage subnets in an Azure Virtual Network.\n\n\t\tTo learn more about subnets visit https://docs.microsoft.com/azure/virtual-network/virtual-network-manage-subnet", + subcommands: [ + { + name: "create", + description: + "Create a subnet and associate an existing NSG and route table", + options: [ + { + name: ["--name", "-n"], + description: "The subnet name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + isRequired: true, + }, + { + name: "--address-prefixes", + description: + 'Space-separated list of address prefixes in CIDR format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "address-prefixes" }, + }, + { + name: ["--default-outbound-access", "--default-outbound"], + description: + "Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet", + args: { + name: "default-outbound-access", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--delegations", + description: + 'Space-separated list of services to whom the subnet should be delegated, e.g., Microsoft.Sql/servers. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "delegations" }, + }, + { + name: "--disable-private-endpoint-network-policies", + description: + "Disable private endpoint network policies on the subnet", + args: { + name: "disable-private-endpoint-network-policies", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--disable-private-link-service-network-policies", + description: + "Disable private link service network policies on the subnet", + args: { + name: "disable-private-link-service-network-policies", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--nat-gateway", + description: "Name or ID of a NAT gateway to attach", + args: { name: "nat-gateway" }, + }, + { + name: ["--network-security-group", "--nsg"], + description: "Name or ID of a network security group (NSG)", + args: { name: "network-security-group" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--route-table", + description: + "Name or ID of a route table to associate with the subnet", + args: { name: "route-table" }, + }, + { + name: "--service-endpoint-policy", + description: + 'Space-separated list of names or IDs of service endpoint policies to apply. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "service-endpoint-policy" }, + }, + { + name: "--service-endpoints", + description: + 'Space-separated list of services allowed private access to this subnet. Values from: az network vnet list-endpoint-services. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "service-endpoints" }, + }, + ], + }, + { + name: "delete", + description: "Delete a subnet", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The subnet name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "list", + description: "List the subnets in a virtual network", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-available-delegations", + description: "List the services available for subnet delegation", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-available-ips", + description: "List some available ips in the subnet", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The subnet name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "show", + description: "Show details of a subnet", + options: [ + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The subnet name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "update", + description: "Update a subnet", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--address-prefixes", + description: + 'Space-separated list of address prefixes in CIDR format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "address-prefixes" }, + }, + { + name: ["--default-outbound-access", "--default-outbound"], + description: + "Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet", + args: { + name: "default-outbound-access", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--delegations", + description: + 'Space-separated list of services to whom the subnet should be delegated, e.g., Microsoft.Sql/servers. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "delegations" }, + }, + { + name: "--disable-private-endpoint-network-policies", + description: + "Disable private endpoint network policies on the subnet", + args: { + name: "disable-private-endpoint-network-policies", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--disable-private-link-service-network-policies", + description: + "Disable private link service network policies on the subnet", + args: { + name: "disable-private-link-service-network-policies", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The subnet name", + args: { name: "name" }, + }, + { + name: "--nat-gateway", + description: + "Name or ID of a NAT gateway to attach. Use null to detach it", + args: { name: "nat-gateway" }, + }, + { + name: ["--network-security-group", "--nsg"], + description: + "Name or ID of a network security group (NSG). Use null to detach it", + args: { name: "network-security-group" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--route-table", + description: + "Name or ID of a route table to associate with the subnet. Use null to detach it", + args: { name: "route-table" }, + }, + { + name: "--service-endpoint-policy", + description: + 'Space-separated list of names or IDs of service endpoint policies to apply. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "service-endpoint-policy" }, + }, + { + name: "--service-endpoints", + description: + 'Space-separated list of services allowed private access to this subnet. Values from: az network vnet list-endpoint-services. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "service-endpoints" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The subnet name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--vnet-name", + description: "The virtual network (VNet) name", + args: { name: "vnet-name" }, + }, + ], + }, + ], + }, + { + name: "tap", + description: "Manage virtual network taps", + subcommands: [ + { + name: "create", + description: "Create a virtual network tap", + options: [ + { + name: "--destination", + description: + "ID of the ILB or NIC IP configuration to receive the tap", + args: { name: "destination" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet TAP", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--port", + description: + "The VXLAN port that will receive the tapped traffic", + args: { name: "port" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a virtual network tap", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet TAP", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List virtual network taps", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a virtual network tap", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet TAP", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update settings of a virtual network tap", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet TAP", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "vnet-gateway", + description: + "Use an Azure Virtual Network Gateway to establish secure, cross-premises connectivity.\n\n\t\tTo learn more about Azure Virtual Network Gateways, visit https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-howto-site-to-site-resource-manager-cli", + subcommands: [ + { + name: "create", + description: "Create a virtual network gateway", + options: [ + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vnet", + description: + "Name or ID of an existing virtual network which has a subnet named 'GatewaySubnet'", + args: { name: "vnet" }, + isRequired: true, + }, + { + name: "--aad-audience", + description: "The AADAudience ID of the VirtualNetworkGateway", + args: { name: "aad-audience" }, + }, + { + name: "--aad-issuer", + description: "The AAD Issuer URI of the VirtualNetworkGateway", + args: { name: "aad-issuer" }, + }, + { + name: "--aad-tenant", + description: "The AAD Tenant URI of the VirtualNetworkGateway", + args: { name: "aad-tenant" }, + }, + { + name: ["--address-prefixes", "--address-prefix"], + description: + 'Space-separated list of CIDR prefixes representing the address space for the P2S Vpnclient. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more. Singular flags: --address-prefix', + args: { name: "address-prefixes" }, + }, + { + name: "--asn", + description: + "Autonomous System Number to use for the BGP settings", + args: { name: "asn" }, + }, + { + name: "--bgp-peering-address", + description: "IP address to use for BGP peering", + args: { name: "bgp-peering-address" }, + }, + { + name: "--client-protocol", + description: + 'Protocols to use for connecting. Allowed values: IkeV2, OpenVPN, SSTP. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "client-protocol" }, + }, + { + name: "--custom-routes", + description: + 'Space-separated list of CIDR prefixes representing the custom routes address space specified by the customer for VpnClient. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "custom-routes" }, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: "--edge-zone-vnet-id", + description: "The Extended vnet resource id of the local gateway", + args: { name: "edge-zone-vnet-id" }, + }, + { + name: "--gateway-default-site", + description: + "Name or ID of a local network gateway representing a local network site with default routes", + args: { name: "gateway-default-site" }, + }, + { + name: "--gateway-type", + description: "The gateway type", + args: { + name: "gateway-type", + suggestions: ["ExpressRoute", "LocalGateway", "Vpn"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--nat-rules", "--nat-rule"], + description: + 'VirtualNetworkGatewayNatRule Resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more. Singular flags: --nat-rule', + args: { name: "nat-rules" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peer-weight", + description: + "Weight (0-100) added to routes learned through BGP peering", + args: { name: "peer-weight" }, + }, + { + name: ["--public-ip-addresses", "--public-ip-address"], + description: + 'Specify a single public IP (name or ID) for an active-standby gateway. Specify two space-separated public IPs for an active-active gateway. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "public-ip-addresses" }, + }, + { + name: "--radius-secret", + description: "Radius secret to use for authentication", + args: { name: "radius-secret" }, + }, + { + name: "--radius-server", + description: "Radius server address to connect to", + args: { name: "radius-server" }, + }, + { + name: "--root-cert-data", + description: + "Base64 contents of the root certificate file or file path", + args: { name: "root-cert-data" }, + }, + { + name: "--root-cert-name", + description: "Root certificate name", + args: { name: "root-cert-name" }, + }, + { + name: "--sku", + description: "VNet gateway SKU", + args: { + name: "sku", + suggestions: [ + "Basic", + "ErGw1AZ", + "ErGw2AZ", + "ErGw3AZ", + "HighPerformance", + "Standard", + "UltraPerformance", + "VpnGw1", + "VpnGw1AZ", + "VpnGw2", + "VpnGw2AZ", + "VpnGw3", + "VpnGw3AZ", + "VpnGw4", + "VpnGw4AZ", + "VpnGw5", + "VpnGw5AZ", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vpn-auth-type", + description: + 'VPN authentication types enabled for the virtual network gateway. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "vpn-auth-type" }, + }, + { + name: "--vpn-gateway-generation", + description: + "The generation for the virtual network gateway. vpn_gateway_generation should not be provided if gateway_type is not Vpn", + args: { + name: "vpn-gateway-generation", + suggestions: ["Generation1", "Generation2", "None"], + }, + }, + { + name: "--vpn-type", + description: "VPN routing type", + args: { + name: "vpn-type", + suggestions: ["PolicyBased", "RouteBased"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a virtual network gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "disconnect-vpn-connections", + description: "Disconnect vpn connections of virtual network gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vpn-connections", + description: + 'List of Name or ID of VPN connections. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "vpn-connections" }, + }, + ], + }, + { + name: "list", + description: "List virtual network gateways", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-advertised-routes", + description: + "List the routes of a virtual network gateway advertised to the specified peer", + options: [ + { + name: "--peer", + description: "The IP address of the peer", + args: { name: "peer" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-bgp-peer-status", + description: "Retrieve the status of BGP peers", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peer", + description: + "The IP address of the peer to retrieve the status of. Default value is None", + args: { name: "peer" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-learned-routes", + description: + "This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reset", + description: "Reset a virtual network gateway", + options: [ + { + name: "--gateway-vip", + description: + "Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway", + args: { name: "gateway-vip" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a virtual network gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-supported-devices", + description: + "Get a xml format representation for supported vpn devices", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a virtual network gateway", + options: [ + { + name: "--aad-audience", + description: "The AADAudience ID of the VirtualNetworkGateway", + args: { name: "aad-audience" }, + }, + { + name: "--aad-issuer", + description: "The AAD Issuer URI of the VirtualNetworkGateway", + args: { name: "aad-issuer" }, + }, + { + name: "--aad-tenant", + description: "The AAD Tenant URI of the VirtualNetworkGateway", + args: { name: "aad-tenant" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--address-prefixes", "--address-prefix"], + description: + 'Space-separated list of CIDR prefixes representing the address space for the P2S Vpnclient. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more. Singular flags: --address-prefix', + args: { name: "address-prefixes" }, + }, + { + name: "--asn", + description: + "Autonomous System Number to use for the BGP settings", + args: { name: "asn" }, + }, + { + name: "--bgp-peering-address", + description: "IP address to use for BGP peering", + args: { name: "bgp-peering-address" }, + }, + { + name: "--client-protocol", + description: + 'Protocols to use for connecting. Allowed values: IkeV2, OpenVPN, SSTP. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "client-protocol" }, + }, + { + name: "--custom-routes", + description: + 'Space-separated list of CIDR prefixes representing the custom routes address space specified by the customer for VpnClient. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "custom-routes" }, + }, + { + name: "--enable-bgp", + description: "Enable BGP (Border Gateway Protocol)", + args: { + name: "enable-bgp", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--gateway-default-site", + description: + "Name or ID of a local network gateway representing a local network site with default routes", + args: { name: "gateway-default-site" }, + }, + { + name: "--gateway-type", + description: "The gateway type", + args: { + name: "gateway-type", + suggestions: ["ExpressRoute", "LocalGateway", "Vpn"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peer-weight", + description: + "Weight (0-100) added to routes learned through BGP peering", + args: { name: "peer-weight" }, + }, + { + name: ["--public-ip-addresses", "--public-ip-address"], + description: + 'Specify a single public IP (name or ID) for an active-standby gateway. Specify two space-separated public IPs for an active-active gateway. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "public-ip-addresses" }, + }, + { + name: "--radius-secret", + description: "Radius secret to use for authentication", + args: { name: "radius-secret" }, + }, + { + name: "--radius-server", + description: "Radius server address to connect to", + args: { name: "radius-server" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--root-cert-data", + description: + "Base64 contents of the root certificate file or file path", + args: { name: "root-cert-data" }, + }, + { + name: "--root-cert-name", + description: "Root certificate name", + args: { name: "root-cert-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "VNet gateway SKU", + args: { + name: "sku", + suggestions: [ + "Basic", + "ErGw1AZ", + "ErGw2AZ", + "ErGw3AZ", + "HighPerformance", + "Standard", + "UltraPerformance", + "VpnGw1", + "VpnGw1AZ", + "VpnGw2", + "VpnGw2AZ", + "VpnGw3", + "VpnGw3AZ", + "VpnGw4", + "VpnGw4AZ", + "VpnGw5", + "VpnGw5AZ", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vnet", + description: + "Name or ID of an existing virtual network which has a subnet named 'GatewaySubnet'", + args: { name: "vnet" }, + }, + { + name: "--vpn-auth-type", + description: + 'VPN authentication types enabled for the virtual network gateway. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "vpn-auth-type" }, + }, + { + name: "--vpn-type", + description: "VPN routing type", + args: { + name: "vpn-type", + suggestions: ["PolicyBased", "RouteBased"], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "aad", + description: + "Manage AAD(Azure Active Directory) authentication of a virtual network gateway", + subcommands: [ + { + name: "assign", + description: + "Assign/Update AAD(Azure Active Directory) authentication to a virtual network gateway", + options: [ + { + name: "--audience", + description: + "The AADAudience ID of the VirtualNetworkGateway", + args: { name: "audience" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: "--issuer", + description: "The AADIssuer URI of the VirtualNetworkGateway", + args: { name: "issuer" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tenant", + description: "The AADTenant URI of the VirtualNetworkGateway", + args: { name: "tenant" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "remove", + description: + "Remove AAD(Azure Active Directory) authentication from a virtual network gateway", + options: [ + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: + "Show AAD(Azure Active Directory) authentication of a virtual network gateway", + options: [ + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "ipsec-policy", + description: "Manage virtual network gateway IPSec policies", + subcommands: [ + { + name: "add", + description: "Add a virtual network gateway IPSec policy", + options: [ + { + name: "--dh-group", + description: "The DH Group used in initial SA", + args: { + name: "dh-group", + suggestions: [ + "DHGroup1", + "DHGroup14", + "DHGroup2", + "DHGroup2048", + "DHGroup24", + "ECP256", + "ECP384", + "None", + ], + }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: "--ike-encryption", + description: "The IKE encryption algorithm", + args: { + name: "ike-encryption", + suggestions: [ + "AES128", + "AES192", + "AES256", + "DES", + "DES3", + "GCMAES128", + "GCMAES256", + ], + }, + isRequired: true, + }, + { + name: "--ike-integrity", + description: "The IKE integrity algorithm", + args: { + name: "ike-integrity", + suggestions: [ + "GCMAES128", + "GCMAES256", + "MD5", + "SHA1", + "SHA256", + "SHA384", + ], + }, + isRequired: true, + }, + { + name: "--ipsec-encryption", + description: "The IPSec encryption algorithm", + args: { + name: "ipsec-encryption", + suggestions: [ + "AES128", + "AES192", + "AES256", + "DES", + "DES3", + "GCMAES128", + "GCMAES192", + "GCMAES256", + "None", + ], + }, + isRequired: true, + }, + { + name: "--ipsec-integrity", + description: "The IPSec integrity algorithm", + args: { + name: "ipsec-integrity", + suggestions: [ + "GCMAES128", + "GCMAES192", + "GCMAES256", + "MD5", + "SHA1", + "SHA256", + ], + }, + isRequired: true, + }, + { + name: "--pfs-group", + description: "The Pfs Group used for new child SA", + args: { + name: "pfs-group", + suggestions: [ + "ECP256", + "ECP384", + "None", + "PFS1", + "PFS14", + "PFS2", + "PFS2048", + "PFS24", + "PFSMM", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sa-lifetime", + description: "The lifetime in seconds for P2S client", + args: { name: "sa-lifetime" }, + isRequired: true, + }, + { + name: "--sa-max-size", + description: "The payload size in KB for P2S client", + args: { name: "sa-max-size" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "clear", + description: + "Delete all IPsec policies on a virtual network gateway", + options: [ + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: + "List IPSec policies associated with a virtual network gateway", + options: [ + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "nat-rule", + description: "Manage nat rule in a virtual network gateway", + subcommands: [ + { + name: "add", + description: "Add nat rule in a virtual network gateway", + options: [ + { + name: "--external-mappings", + description: + 'The private IP address external mapping for NAT. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "external-mappings" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: "--internal-mappings", + description: + 'The private IP address internal mapping for NAT. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "internal-mappings" }, + isRequired: true, + }, + { + name: "--name", + description: + "The name of the resource that is unique within a resource group. This name can be used to access the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ip-config-id", + description: + "The IP Configuration ID this NAT rule applies to", + args: { name: "ip-config-id" }, + }, + { + name: "--mode", + description: "The Source NAT direction of a VPN NAT", + args: { + name: "mode", + suggestions: ["EgressSnat", "IngressSnat"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--type", + description: "The type of NAT rule for VPN NAT", + args: { name: "type", suggestions: ["Dynamic", "Static"] }, + }, + ], + }, + { + name: "list", + description: "List nat rule for a virtual network gateway", + options: [ + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove nat rule from a virtual network gateway", + options: [ + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: "--name", + description: + "The name of the resource that is unique within a resource group. This name can be used to access the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "packet-capture", + description: "Manage packet capture on a virtual network gateway", + subcommands: [ + { + name: "start", + description: "Start packet capture on a virtual network gateway", + options: [ + { + name: "--filter", + description: "Data filter", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop packet capture on a virtual network gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sas-url", + description: "The SAS url to be used for packet capture", + args: { name: "sas-url" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "revoked-cert", + description: + "Manage revoked certificates in a virtual network gateway. Prevent machines using this certificate from accessing Azure through this gateway", + subcommands: [ + { + name: "create", + description: "Revoke a certificate", + options: [ + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Root certificate name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--thumbprint", + description: "Certificate thumbprint", + args: { name: "thumbprint" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a revoked certificate", + options: [ + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Root certificate name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "root-cert", + description: "Manage root certificates of a virtual network gateway", + subcommands: [ + { + name: "create", + description: "Upload a root certificate", + options: [ + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Root certificate name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--public-cert-data", + description: + "Base64 contents of the root certificate file or file path", + args: { name: "public-cert-data" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a root certificate", + options: [ + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Root certificate name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Virtual network gateway name", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "vpn-client", + description: + "Download a VPN client configuration required to connect to Azure via point-to-site", + subcommands: [ + { + name: "generate", + description: "Generate VPN client configuration", + options: [ + { + name: "--authentication-method", + description: + "Method used to authenticate with the generated client", + args: { + name: "authentication-method", + suggestions: ["EAPMSCHAPv2", "EAPTLS"], + }, + }, + { + name: "--client-root-certificates", + description: + "Space-separated list of client root certificate public certificate data in Base-64 format. Optional for external Radius-based auth with EAPTLS", + args: { name: "client-root-certificates" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: "--processor-architecture", + description: "Processor architecture of the target system", + args: { + name: "processor-architecture", + suggestions: ["Amd64", "X86"], + }, + }, + { + name: "--radius-server-auth-certificate", + description: + "Public certificate data for the Radius server auth certificate in Base-64 format. Required only if external Radius auth has been configured with EAPTLS auth", + args: { name: "radius-server-auth-certificate" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--use-legacy", + description: + "Generate VPN client package using legacy implementation", + }, + ], + }, + { + name: "show-health", + description: + "Get the VPN client connection health detail per P2S client connection of the virtual network gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-url", + description: "Retrieve a pre-generated VPN client configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "ipsec-policy", + description: + "Manage the VPN client connection ipsec-policy for P2S client connection of the virtual network gateway", + subcommands: [ + { + name: "set", + description: + "Set the VPN client connection ipsec policy per P2S client connection of the virtual network gateway", + options: [ + { + name: "--dh-group", + description: "The DH Groups used for initial SA", + args: { + name: "dh-group", + suggestions: [ + "DHGroup1", + "DHGroup14", + "DHGroup2", + "DHGroup2048", + "DHGroup24", + "ECP256", + "ECP384", + "None", + ], + }, + isRequired: true, + }, + { + name: "--ike-encryption", + description: "The IKE encryption algorithm", + args: { + name: "ike-encryption", + suggestions: [ + "AES128", + "AES192", + "AES256", + "DES", + "DES3", + "GCMAES128", + "GCMAES256", + ], + }, + isRequired: true, + }, + { + name: "--ike-integrity", + description: "The IKE integrity algorithm", + args: { + name: "ike-integrity", + suggestions: [ + "GCMAES128", + "GCMAES256", + "MD5", + "SHA1", + "SHA256", + "SHA384", + ], + }, + isRequired: true, + }, + { + name: "--ipsec-encryption", + description: "The IPSec encryption algorithm", + args: { + name: "ipsec-encryption", + suggestions: [ + "AES128", + "AES192", + "AES256", + "DES", + "DES3", + "GCMAES128", + "GCMAES192", + "GCMAES256", + "None", + ], + }, + isRequired: true, + }, + { + name: "--ipsec-integrity", + description: "The IPSec integrity algorithm", + args: { + name: "ipsec-integrity", + suggestions: [ + "GCMAES128", + "GCMAES192", + "GCMAES256", + "MD5", + "SHA1", + "SHA256", + ], + }, + isRequired: true, + }, + { + name: "--pfs-group", + description: "The Pfs Groups used for new child SA", + args: { + name: "pfs-group", + suggestions: [ + "ECP256", + "ECP384", + "None", + "PFS1", + "PFS14", + "PFS2", + "PFS2048", + "PFS24", + "PFSMM", + ], + }, + isRequired: true, + }, + { + name: "--sa-lifetime", + description: "The lifetime in seconds for P2S client", + args: { name: "sa-lifetime" }, + isRequired: true, + }, + { + name: "--sa-max-size", + description: "The payload size in KB for P2S client", + args: { name: "sa-max-size" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get the VPN client connection ipsec policy per P2S client connection of the virtual network gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VNet gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "vpn-connection", + description: + "Manage VPN connections.\n\n\t\tFor more information on site-to-site connections, visit https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-howto-site-to-site-resource-manager-cli. For more information on Vnet-to-Vnet connections, visit https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-howto-vnet-vnet-cli", + subcommands: [ + { + name: "create", + description: "Create a VPN connection", + options: [ + { + name: ["--name", "-n"], + description: "Connection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vnet-gateway1", + description: "Name or ID of the source virtual network gateway", + args: { name: "vnet-gateway1" }, + isRequired: true, + }, + { + name: "--authorization-key", + description: "The authorization key for the VPN connection", + args: { name: "authorization-key" }, + }, + { + name: "--egress-nat-rule", + description: "List of egress NatRules", + args: { name: "egress-nat-rule" }, + }, + { + name: "--enable-bgp", + description: "Enable BGP for this VPN connection", + }, + { + name: "--express-route-circuit2", + description: + "Name or ID of the destination ExpressRoute to connect to using an 'ExpressRoute' connection", + args: { name: "express-route-circuit2" }, + }, + { + name: "--express-route-gateway-bypass", + description: "Bypass ExpressRoute gateway for data forwarding", + args: { + name: "express-route-gateway-bypass", + suggestions: ["false", "true"], + }, + }, + { + name: "--ingress-nat-rule", + description: "List of ingress NatRules", + args: { name: "ingress-nat-rule" }, + }, + { + name: "--local-gateway2", + description: + "Name or ID of the destination local network gateway to connect to using an 'IPSec' connection", + args: { name: "local-gateway2" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--routing-weight", + description: "Connection routing weight", + args: { name: "routing-weight" }, + }, + { + name: "--shared-key", + description: "Shared IPSec key", + args: { name: "shared-key" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--use-policy-based-traffic-selectors", + description: "Enable policy-based traffic selectors", + }, + { + name: "--validate", + description: + "Display and validate the ARM template but do not create any resources", + }, + { + name: "--vnet-gateway2", + description: + "Name or ID of the destination virtual network gateway to connect to using a 'Vnet2Vnet' connection", + args: { name: "vnet-gateway2" }, + }, + ], + }, + { + name: "delete", + description: "Delete a VPN connection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Connection name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all VPN connections", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vnet-gateway", + description: "Name of the VNet gateway", + args: { name: "vnet-gateway" }, + }, + ], + }, + { + name: "list-ike-sas", + description: "List IKE Security Associations for a VPN connection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Connection name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a VPN connection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Connection name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-device-config-script", + description: + "Get a XML format representation for VPN connection device configuration script", + options: [ + { + name: "--device-family", + description: "The device family for the vpn device", + args: { name: "device-family" }, + isRequired: true, + }, + { + name: "--firmware-version", + description: "The firmware version for the vpn device", + args: { name: "firmware-version" }, + isRequired: true, + }, + { + name: "--vendor", + description: "The vendor for the vpn device", + args: { name: "vendor" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Connection name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a VPN connection", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--enable-bgp", + description: "Enable BGP (Border Gateway Protocol)", + args: { + name: "enable-bgp", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--express-route-gateway-bypass", + description: "Bypass ExpressRoute gateway for data forwarding", + args: { + name: "express-route-gateway-bypass", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Connection name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--routing-weight", + description: "Connection routing weight", + args: { name: "routing-weight" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--shared-key", + description: "Shared IPSec key", + args: { name: "shared-key" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--use-policy-based-traffic-selectors", + description: "Enable policy-based traffic selectors", + args: { + name: "use-policy-based-traffic-selectors", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Connection name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "ipsec-policy", + description: "Manage VPN connection IPSec policies", + subcommands: [ + { + name: "add", + description: "Add a VPN connection IPSec policy", + options: [ + { + name: "--connection-name", + description: "Connection name", + args: { name: "connection-name" }, + isRequired: true, + }, + { + name: "--dh-group", + description: "The DH Groups used for initial SA", + args: { + name: "dh-group", + suggestions: [ + "DHGroup1", + "DHGroup14", + "DHGroup2", + "DHGroup2048", + "DHGroup24", + "ECP256", + "ECP384", + "None", + ], + }, + isRequired: true, + }, + { + name: "--ike-encryption", + description: "The IKE encryption algorithm", + args: { + name: "ike-encryption", + suggestions: [ + "AES128", + "AES192", + "AES256", + "DES", + "DES3", + "GCMAES128", + "GCMAES256", + ], + }, + isRequired: true, + }, + { + name: "--ike-integrity", + description: "The IKE integrity algorithm", + args: { + name: "ike-integrity", + suggestions: [ + "GCMAES128", + "GCMAES256", + "MD5", + "SHA1", + "SHA256", + "SHA384", + ], + }, + isRequired: true, + }, + { + name: "--ipsec-encryption", + description: "The IPSec encryption algorithm", + args: { + name: "ipsec-encryption", + suggestions: [ + "AES128", + "AES192", + "AES256", + "DES", + "DES3", + "GCMAES128", + "GCMAES192", + "GCMAES256", + "None", + ], + }, + isRequired: true, + }, + { + name: "--ipsec-integrity", + description: "The IPSec integrity algorithm", + args: { + name: "ipsec-integrity", + suggestions: [ + "GCMAES128", + "GCMAES192", + "GCMAES256", + "MD5", + "SHA1", + "SHA256", + ], + }, + isRequired: true, + }, + { + name: "--pfs-group", + description: "The Pfs Groups used for new child SA", + args: { + name: "pfs-group", + suggestions: [ + "ECP256", + "ECP384", + "None", + "PFS1", + "PFS14", + "PFS2", + "PFS2048", + "PFS24", + "PFSMM", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sa-lifetime", + description: "The lifetime in seconds for P2S client", + args: { name: "sa-lifetime" }, + isRequired: true, + }, + { + name: "--sa-max-size", + description: "The payload size in KB for P2S client", + args: { name: "sa-max-size" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "clear", + description: "Delete all IPsec policies on a VPN connection", + options: [ + { + name: "--connection-name", + description: "Connection name", + args: { name: "connection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: + "List IPSec policies associated with a VPN connection", + options: [ + { + name: "--connection-name", + description: "Connection name", + args: { name: "connection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--connection-name", + description: "Connection name", + args: { name: "connection-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "packet-capture", + description: "Manage packet capture on a VPN connection", + subcommands: [ + { + name: "start", + description: "Start packet capture on a VPN connection", + options: [ + { + name: "--filter", + description: "Data filter", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Connection name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop packet capture on a VPN connection", + options: [ + { + name: "--sas-url", + description: + "The SAS url to be used for packet capture on VPN connection", + args: { name: "sas-url" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Connection name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Connection name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "shared-key", + description: "Manage VPN shared keys", + subcommands: [ + { + name: "reset", + description: "Reset a VPN connection shared key", + options: [ + { + name: "--key-length", + description: + "The virtual network connection reset shared key length, should between 1 and 128", + args: { name: "key-length" }, + isRequired: true, + }, + { + name: "--connection-name", + description: "Connection name", + args: { name: "connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Retrieve a VPN connection shared key", + options: [ + { + name: "--connection-name", + description: "Connection name", + args: { name: "connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a VPN connection shared key", + options: [ + { + name: "--value", + description: + "The virtual network connection shared key value", + args: { name: "value" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--connection-name", + description: "Connection name", + args: { name: "connection-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "vpn-gateway", + description: "Manage site-to-site VPN gateways", + subcommands: [ + { + name: "create", + description: "Create a site-to-site VPN gateway", + options: [ + { + name: ["--name", "-n"], + description: "Name of the VPN gateway", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--asn", + description: "BGP speaker's ASN", + args: { name: "asn" }, + }, + { + name: "--bgp-peering-address", + description: + "Peering address and BGP identifier of this BGP speaker", + args: { name: "bgp-peering-address" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peer-weight", + description: + "Weight added to routes learned from this BGP speaker", + args: { name: "peer-weight" }, + }, + { + name: "--scale-unit", + description: "The scale unit for this VPN gateway", + args: { name: "scale-unit" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vhub", + description: "Name or ID of a virtual hub", + args: { name: "vhub" }, + }, + ], + }, + { + name: "delete", + description: "Delete a site-to-site VPN gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List site-to-site VPN gateways", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a site-to-site VPN gateway", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update settings of a site-to-site VPN gateway", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--asn", + description: "BGP speaker's ASN", + args: { name: "asn" }, + }, + { + name: "--bgp-peering-address", + description: + "Peering address and BGP identifier of this BGP speaker", + args: { name: "bgp-peering-address" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN gateway", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peer-weight", + description: + "Weight added to routes learned from this BGP speaker", + args: { name: "peer-weight" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scale-unit", + description: "The scale unit for this VPN gateway", + args: { name: "scale-unit" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vhub", + description: "Name or ID of a virtual hub", + args: { name: "vhub" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN gateway", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "connection", + description: "Manage site-to-site VPN gateway connections", + subcommands: [ + { + name: "create", + description: "Create a site-to-site VPN gateway connection", + options: [ + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN gateway connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--remote-vpn-site", + description: "Name of ID of the remote VPN site", + args: { name: "remote-vpn-site" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--associated-route-table", "--associated"], + description: + "The resource id of route table associated with this routing configuration", + args: { name: "associated-route-table" }, + }, + { + name: "--associated-inbound-routemap", + description: + "Resource uri of inbound routemap for this connection’s routing configuration", + args: { name: "associated-inbound-routemap" }, + }, + { + name: "--associated-outbound-routemap", + description: + "Resource uri of outbound routemap for this connection’s routing configuration", + args: { name: "associated-outbound-routemap" }, + }, + { + name: "--connection-bandwidth", + description: "Expected bandwidth in Mbps", + args: { name: "connection-bandwidth" }, + }, + { + name: "--enable-bgp", + description: "Enable BGP", + args: { name: "enable-bgp", suggestions: ["false", "true"] }, + }, + { + name: "--internet-security", + description: "Enable internet security", + args: { + name: "internet-security", + suggestions: ["false", "true"], + }, + }, + { + name: "--labels", + description: + "Space-separated list of labels for propagated route tables", + args: { name: "labels" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--propagated-route-tables", "--propagated"], + description: + "Space-separated list of resource id of propagated route tables", + args: { name: "propagated-route-tables" }, + }, + { + name: "--protocol-type", + description: "Connection protocol", + args: { + name: "protocol-type", + suggestions: ["IKEv1", "IKEv2"], + }, + }, + { + name: "--rate-limiting", + description: "Enable rate limiting", + args: { + name: "rate-limiting", + suggestions: ["false", "true"], + }, + }, + { + name: "--routing-weight", + description: "Routing weight", + args: { name: "routing-weight" }, + }, + { + name: "--shared-key", + description: "Shared key", + args: { name: "shared-key" }, + }, + { + name: "--vpn-site-link", + description: "The resource ID of VPN Site Link", + args: { name: "vpn-site-link" }, + }, + { + name: "--with-link", + description: "Create VpnConnection with default link", + args: { name: "with-link", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a site-to-site VPN gateway connection", + options: [ + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN gateway connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List site-to-site VPN gateway connections", + options: [ + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of a site-to-site VPN gateway connection", + options: [ + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN gateway connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update settings of VPN gateway connection", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--associated-route-table", "--associated"], + description: + "The resource id of route table associated with this routing configuration", + args: { name: "associated-route-table" }, + }, + { + name: "--associated-inbound-routemap", + description: + "Resource uri of inbound routemap for this connection’s routing configuration", + args: { name: "associated-inbound-routemap" }, + }, + { + name: "--associated-outbound-routemap", + description: + "Resource uri of outbound routemap for this connection’s routing configuration", + args: { name: "associated-outbound-routemap" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--labels", + description: + "Space-separated list of labels for propagated route tables", + args: { name: "labels" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN gateway connection", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--propagated-route-tables", "--propagated"], + description: + "Space-separated list of resource id of propagated route tables", + args: { name: "propagated-route-tables" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the site-to-site VPN gateway connection is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN gateway connection", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "ipsec-policy", + description: + "Manage site-to-site VPN gateway connection IPSec policies", + subcommands: [ + { + name: "add", + description: + "Add an IPSec policy to a site-to-site VPN gateway connection", + options: [ + { + name: "--connection-name", + description: "Name of the VPN gateway connection", + args: { name: "connection-name" }, + isRequired: true, + }, + { + name: "--dh-group", + description: + "DH Groups used in IKE Phase 1 for initial SA", + args: { + name: "dh-group", + suggestions: [ + "DHGroup1", + "DHGroup14", + "DHGroup2", + "DHGroup2048", + "DHGroup24", + "ECP256", + "ECP384", + "None", + ], + }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: "--ike-encryption", + description: "IKE encryption algorithm (IKE phase 2)", + args: { + name: "ike-encryption", + suggestions: [ + "AES128", + "AES192", + "AES256", + "DES", + "DES3", + "GCMAES128", + "GCMAES256", + ], + }, + isRequired: true, + }, + { + name: "--ike-integrity", + description: "IKE integrity algorithm (IKE phase 2)", + args: { + name: "ike-integrity", + suggestions: [ + "GCMAES128", + "GCMAES256", + "MD5", + "SHA1", + "SHA256", + "SHA384", + ], + }, + isRequired: true, + }, + { + name: "--ipsec-encryption", + description: "IPSec encryption algorithm (IKE phase 1)", + args: { + name: "ipsec-encryption", + suggestions: [ + "AES128", + "AES192", + "AES256", + "DES", + "DES3", + "GCMAES128", + "GCMAES192", + "GCMAES256", + "None", + ], + }, + isRequired: true, + }, + { + name: "--ipsec-integrity", + description: "IPSec integrity algorithm (IKE phase 1)", + args: { + name: "ipsec-integrity", + suggestions: [ + "GCMAES128", + "GCMAES192", + "GCMAES256", + "MD5", + "SHA1", + "SHA256", + ], + }, + isRequired: true, + }, + { + name: "--pfs-group", + description: + "The Pfs Groups used in IKE Phase 2 for new child SA", + args: { + name: "pfs-group", + suggestions: [ + "ECP256", + "ECP384", + "None", + "PFS1", + "PFS14", + "PFS2", + "PFS2048", + "PFS24", + "PFSMM", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sa-data-size", + description: + "IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site-to-site VPN tunnel", + args: { name: "sa-data-size" }, + isRequired: true, + }, + { + name: "--sa-lifetime", + description: + "IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site-to-site VPN tunnel", + args: { name: "sa-lifetime" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: + "List site-to-site VPN gateway connection IPSec policies", + options: [ + { + name: "--connection-name", + description: "Name of the VPN gateway connection", + args: { name: "connection-name" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove an IPSec policy from a site-to-site VPN gateway connection", + options: [ + { + name: "--connection-name", + description: "Name of the VPN gateway connection", + args: { name: "connection-name" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: "--index", + description: "List index of the item (starting with 1)", + args: { name: "index" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + ], + }, + { + name: "vpn-site-link-conn", + description: + "Manage site-to-site VPN gateway connection VPN site link connection", + subcommands: [ + { + name: "add", + description: + "Add a VPN site link connection to a site-to-site VPN gateway connection", + options: [ + { + name: "--vpn-site-link", + description: "The resource ID of VPN Site Link", + args: { name: "vpn-site-link" }, + isRequired: true, + }, + { + name: "--connection-bandwidth", + description: "Expected bandwidth in Mbps", + args: { name: "connection-bandwidth" }, + }, + { + name: "--connection-name", + description: "Name of the VPN gateway connection", + args: { name: "connection-name" }, + }, + { + name: "--enable-bgp", + description: "Enable BGP", + args: { + name: "enable-bgp", + suggestions: ["false", "true"], + }, + }, + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN site link connection", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--rate-limiting", + description: "Enable rate limiting", + args: { + name: "rate-limiting", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--routing-weight", + description: "Routing weight", + args: { name: "routing-weight" }, + }, + { + name: "--shared-key", + description: "Shared key", + args: { name: "shared-key" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--use-local-azure-ip-address", + description: "Use local azure ip to initiate connection", + args: { + name: "use-local-azure-ip-address", + suggestions: ["false", "true"], + }, + }, + { + name: "--use-policy-based-traffic-selectors", + description: "Enable policy-based traffic selectors", + args: { + name: "use-policy-based-traffic-selectors", + suggestions: ["false", "true"], + }, + }, + { + name: "--vpn-connection-protocol-type", + description: + "Connection protocol used for this connection", + args: { + name: "vpn-connection-protocol-type", + suggestions: ["IKEv1", "IKEv2"], + }, + }, + { + name: "--vpn-link-connection-mode", + description: "Vpn link connection mode", + args: { + name: "vpn-link-connection-mode", + suggestions: [ + "Default", + "InitiatorOnly", + "ResponderOnly", + ], + }, + }, + ], + }, + { + name: "list", + description: + "List site-to-site VPN gateway connection VPN site link connection", + options: [ + { + name: "--connection-name", + description: "Name of the VPN gateway connection", + args: { name: "connection-name" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a VPN site link connection from a site-to-site VPN gateway connection", + options: [ + { + name: "--index", + description: "List index of the item (starting with 1)", + args: { name: "index" }, + isRequired: true, + }, + { + name: "--connection-name", + description: "Name of the VPN gateway connection", + args: { name: "connection-name" }, + }, + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "ipsec-policy", + description: + "Manage site-to-site VPN gateway connection VPN site link IPSec policies", + subcommands: [ + { + name: "add", + description: + "Add an IPSec policy to a site-to-site VPN gateway connection VPN site link", + options: [ + { + name: "--dh-group", + description: + "DH Groups used in IKE Phase 1 for initial SA", + args: { + name: "dh-group", + suggestions: [ + "DHGroup1", + "DHGroup14", + "DHGroup2", + "DHGroup2048", + "DHGroup24", + "ECP256", + "ECP384", + "None", + ], + }, + isRequired: true, + }, + { + name: "--ike-encryption", + description: "IKE encryption algorithm (IKE phase 2)", + args: { + name: "ike-encryption", + suggestions: [ + "AES128", + "AES192", + "AES256", + "DES", + "DES3", + "GCMAES128", + "GCMAES256", + ], + }, + isRequired: true, + }, + { + name: "--ike-integrity", + description: "IKE integrity algorithm (IKE phase 2)", + args: { + name: "ike-integrity", + suggestions: [ + "GCMAES128", + "GCMAES256", + "MD5", + "SHA1", + "SHA256", + "SHA384", + ], + }, + isRequired: true, + }, + { + name: "--ipsec-encryption", + description: + "IPSec encryption algorithm (IKE phase 1)", + args: { + name: "ipsec-encryption", + suggestions: [ + "AES128", + "AES192", + "AES256", + "DES", + "DES3", + "GCMAES128", + "GCMAES192", + "GCMAES256", + "None", + ], + }, + isRequired: true, + }, + { + name: "--ipsec-integrity", + description: + "IPSec integrity algorithm (IKE phase 1)", + args: { + name: "ipsec-integrity", + suggestions: [ + "GCMAES128", + "GCMAES192", + "GCMAES256", + "MD5", + "SHA1", + "SHA256", + ], + }, + isRequired: true, + }, + { + name: "--pfs-group", + description: + "The Pfs Groups used in IKE Phase 2 for new child SA", + args: { + name: "pfs-group", + suggestions: [ + "ECP256", + "ECP384", + "None", + "PFS1", + "PFS14", + "PFS2", + "PFS2048", + "PFS24", + "PFSMM", + ], + }, + isRequired: true, + }, + { + name: "--sa-data-size", + description: + "IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site-to-site VPN tunnel", + args: { name: "sa-data-size" }, + isRequired: true, + }, + { + name: "--sa-lifetime", + description: + "IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site-to-site VPN tunnel", + args: { name: "sa-lifetime" }, + isRequired: true, + }, + { + name: "--connection-name", + description: "Name of the VPN gateway connection", + args: { name: "connection-name" }, + }, + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN site link connection", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List site-to-site VPN gateway connection VPN site link IPSec policies", + options: [ + { + name: "--connection-name", + description: "Name of the VPN gateway connection", + args: { name: "connection-name" }, + isRequired: true, + }, + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN site link connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove an IPSec policy from a site-to-site VPN gateway connection VPN site link", + options: [ + { + name: "--index", + description: + "List index of the item (starting with 1)", + args: { name: "index" }, + isRequired: true, + }, + { + name: "--connection-name", + description: "Name of the VPN gateway connection", + args: { name: "connection-name" }, + }, + { + name: "--gateway-name", + description: "Name of the VPN gateway", + args: { name: "gateway-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN site link connection", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "vpn-server-config", + description: "Manage VPN server configuration", + subcommands: [ + { + name: "create", + description: "Create a VPN server configuration", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vpn server configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aad-audience", + description: "AAD Vpn authentication parameter AAD audience", + args: { name: "aad-audience" }, + }, + { + name: "--aad-issuer", + description: "AAD Vpn authentication parameter AAD issuer", + args: { name: "aad-issuer" }, + }, + { + name: "--aad-tenant", + description: "AAD Vpn authentication parameter AAD tenant", + args: { name: "aad-tenant" }, + }, + { + name: "--auth-types", + description: + "List of VPN authentication types for the VpnServerConfiguration", + args: { + name: "auth-types", + suggestions: ["AAD", "Certificate", "Radius"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--protocols", + description: "VPN protocols for the VpnServerConfiguration", + args: { name: "protocols", suggestions: ["IkeV2", "OpenVPN"] }, + }, + { + name: "--radius-client-root-certs", + description: "List of Radius client root certificate file paths", + args: { name: "radius-client-root-certs" }, + }, + { + name: "--radius-server-root-certs", + description: "List of Radius server root certificate file paths", + args: { name: "radius-server-root-certs" }, + }, + { + name: "--radius-servers", + description: "Radius Server configuration", + args: { name: "radius-servers" }, + }, + { + name: "--vpn-client-revoked-certs", + description: "List of VPN client revoked certificate file paths", + args: { name: "vpn-client-revoked-certs" }, + }, + { + name: "--vpn-client-root-certs", + description: "List of VPN client root certificate file paths", + args: { name: "vpn-client-root-certs" }, + }, + ], + }, + { + name: "delete", + description: "Delete a VPN server configuration", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vpn server configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all VPN server configuration", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "set", + description: "Set settings of a VPN server configuration", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vpn server configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aad-audience", + description: "AAD Vpn authentication parameter AAD audience", + args: { name: "aad-audience" }, + }, + { + name: "--aad-issuer", + description: "AAD Vpn authentication parameter AAD issuer", + args: { name: "aad-issuer" }, + }, + { + name: "--aad-tenant", + description: "AAD Vpn authentication parameter AAD tenant", + args: { name: "aad-tenant" }, + }, + { + name: "--auth-types", + description: + "List of VPN authentication types for the VpnServerConfiguration", + args: { + name: "auth-types", + suggestions: ["AAD", "Certificate", "Radius"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--protocols", + description: "VPN protocols for the VpnServerConfiguration", + args: { name: "protocols", suggestions: ["IkeV2", "OpenVPN"] }, + }, + { + name: "--radius-client-root-certs", + description: "List of Radius client root certificate file paths", + args: { name: "radius-client-root-certs" }, + }, + { + name: "--radius-server-root-certs", + description: "List of Radius server root certificate file paths", + args: { name: "radius-server-root-certs" }, + }, + { + name: "--radius-servers", + description: "Radius Server configuration", + args: { name: "radius-servers" }, + }, + { + name: "--vpn-client-revoked-certs", + description: "List of VPN client revoked certificate file paths", + args: { name: "vpn-client-revoked-certs" }, + }, + { + name: "--vpn-client-root-certs", + description: "List of VPN client root certificate file paths", + args: { name: "vpn-client-root-certs" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a VPN server configuration", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vpn server configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the VPN server configuration is met", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vpn server configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "ipsec-policy", + description: "Manage VPN server configuration IPSec policies", + subcommands: [ + { + name: "add", + description: "Add an IPSec policy to a VPN server configuration", + options: [ + { + name: "--dh-group", + description: "DH Groups used in IKE Phase 1 for initial SA", + args: { + name: "dh-group", + suggestions: [ + "DHGroup1", + "DHGroup14", + "DHGroup2", + "DHGroup2048", + "DHGroup24", + "ECP256", + "ECP384", + "None", + ], + }, + isRequired: true, + }, + { + name: "--ike-encryption", + description: "IKE encryption algorithm (IKE phase 2)", + args: { + name: "ike-encryption", + suggestions: [ + "AES128", + "AES192", + "AES256", + "DES", + "DES3", + "GCMAES128", + "GCMAES256", + ], + }, + isRequired: true, + }, + { + name: "--ike-integrity", + description: "IKE integrity algorithm (IKE phase 2)", + args: { + name: "ike-integrity", + suggestions: [ + "GCMAES128", + "GCMAES256", + "MD5", + "SHA1", + "SHA256", + "SHA384", + ], + }, + isRequired: true, + }, + { + name: "--ipsec-encryption", + description: "IPSec encryption algorithm (IKE phase 1)", + args: { + name: "ipsec-encryption", + suggestions: [ + "AES128", + "AES192", + "AES256", + "DES", + "DES3", + "GCMAES128", + "GCMAES192", + "GCMAES256", + "None", + ], + }, + isRequired: true, + }, + { + name: "--ipsec-integrity", + description: "IPSec integrity algorithm (IKE phase 1)", + args: { + name: "ipsec-integrity", + suggestions: [ + "GCMAES128", + "GCMAES192", + "GCMAES256", + "MD5", + "SHA1", + "SHA256", + ], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Vpn server configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--pfs-group", + description: + "The Pfs Groups used in IKE Phase 2 for new child SA", + args: { + name: "pfs-group", + suggestions: [ + "ECP256", + "ECP384", + "None", + "PFS1", + "PFS14", + "PFS2", + "PFS2048", + "PFS24", + "PFSMM", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sa-data-size", + description: + "IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site-to-site VPN tunnel", + args: { name: "sa-data-size" }, + isRequired: true, + }, + { + name: "--sa-lifetime", + description: + "IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site-to-site VPN tunnel", + args: { name: "sa-lifetime" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: "List VPN server configuration IPSec policies", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vpn server configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove an IPSec policy from a VPN server configuration", + options: [ + { + name: "--index", + description: + "List index of the ipsec policy(starting with 0)", + args: { name: "index" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Vpn server configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the IPSec policy of a VPN server configuration is met", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Vpn server configuration", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "vpn-site", + description: "Manage VPN site configurations", + subcommands: [ + { + name: "create", + description: "Create a VPN site configuration", + options: [ + { + name: "--ip-address", + description: "IP address of the VPN site", + args: { name: "ip-address" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN site config", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--address-prefixes", + description: "Space-separated list of CIDR address prefixes", + args: { name: "address-prefixes" }, + }, + { + name: "--asn", + description: "BGP speaker's ASN", + args: { name: "asn" }, + }, + { + name: "--bgp-peering-address", + description: + "Peering address and BGP identifier of this BGP speaker", + args: { name: "bgp-peering-address" }, + }, + { + name: "--device-model", + description: "Model of the device", + args: { name: "device-model" }, + }, + { + name: "--device-vendor", + description: "Name of the device vendor", + args: { name: "device-vendor" }, + }, + { + name: "--link-speed", + description: "Link speed in Mbps", + args: { name: "link-speed" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--peer-weight", + description: + "Weight added to routes learned from this BGP speaker", + args: { name: "peer-weight" }, + }, + { + name: "--security-site", + description: "Whether the VPN site is security-related", + args: { name: "security-site", suggestions: ["false", "true"] }, + }, + { + name: "--site-key", + description: + "Key for the VPN site that can be used for connections", + args: { name: "site-key" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--virtual-wan", + description: "Name or ID of the virtual WAN", + args: { name: "virtual-wan" }, + }, + { + name: "--with-link", + description: "Create VPN site with default link", + args: { name: "with-link", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a VPN site configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN site config", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "download", + description: + "Provide a SAS-URL to download the configuration for a VPN site", + options: [ + { + name: "--request", + description: + "Parameters supplied to download vpn-sites configuration. Is either a model type or a IO type. Required", + args: { name: "request" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vwan-name", + description: "Name of the virtual WAN", + args: { name: "vwan-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List VPN site configurations", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a VPN site configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN site config", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update settings of a VPN site configuration", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--address-prefixes", + description: "Space-separated list of CIDR address prefixes", + args: { name: "address-prefixes" }, + }, + { + name: "--asn", + description: "BGP speaker's ASN", + args: { name: "asn" }, + }, + { + name: "--bgp-peering-address", + description: + "Peering address and BGP identifier of this BGP speaker", + args: { name: "bgp-peering-address" }, + }, + { + name: "--device-model", + description: "Model of the device", + args: { name: "device-model" }, + }, + { + name: "--device-vendor", + description: "Name of the device vendor", + args: { name: "device-vendor" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-address", + description: "IP address of the VPN site", + args: { name: "ip-address" }, + }, + { + name: "--link-speed", + description: "Link speed in Mbps", + args: { name: "link-speed" }, + }, + { + name: ["--name", "-n"], + description: "Name of the VPN site config", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--peer-weight", + description: + "Weight added to routes learned from this BGP speaker", + args: { name: "peer-weight" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--security-site", + description: "Whether the VPN site is security-related", + args: { name: "security-site", suggestions: ["false", "true"] }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--site-key", + description: + "Key for the VPN site that can be used for connections", + args: { name: "site-key" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--virtual-wan", + description: "Name or ID of the virtual WAN", + args: { name: "virtual-wan" }, + }, + ], + }, + { + name: "link", + description: "Manage VPN site link", + subcommands: [ + { + name: "add", + description: "Add a VPN site link to VPN site configuration", + options: [ + { + name: "--ip-address", + description: "IP address of the VPN site", + args: { name: "ip-address" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of vpn site link", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--asn", + description: "BGP speaker's ASN", + args: { name: "asn" }, + }, + { + name: "--bgp-peering-address", + description: + "Peering address and BGP identifier of this BGP speaker", + args: { name: "bgp-peering-address" }, + }, + { + name: "--fqdn", + description: "FQDN of vpn-site-link", + args: { name: "fqdn" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--link-provider-name", + description: "Name of the link provider", + args: { name: "link-provider-name" }, + }, + { + name: "--link-speed-in-mbps", + description: "Link speed", + args: { name: "link-speed-in-mbps" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--site-name", + description: "Name of the VPN site config", + args: { name: "site-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List VPN site links on VPN site configuration", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--site-name", + description: "Name of the VPN site config", + args: { name: "site-name" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a VPN site link from VPN site configuration", + options: [ + { + name: "--index", + description: "List index of the item (starting with 1)", + args: { name: "index" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--site-name", + description: "Name of the VPN site config", + args: { name: "site-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "vwan", + description: "Manage virtual WANs", + subcommands: [ + { + name: "create", + description: "Create a virtual WAN", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual WAN", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--branch-to-branch-traffic", + description: "Allow branch-to-branch traffic flow", + args: { + name: "branch-to-branch-traffic", + suggestions: ["false", "true"], + }, + }, + { + name: "--disable-vpn-encryption", + description: "State of VPN encryption", + args: { + name: "disable-vpn-encryption", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--office365-category", + description: "The office local breakout category", + args: { name: "office365-category" }, + }, + { + name: "--security-provider-name", + description: "The security provider name", + args: { name: "security-provider-name" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--type", + description: "The type of the VirtualWAN", + args: { name: "type", suggestions: ["Basic", "Standard"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a virtual WAN", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual WAN", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List virtual WANs", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a virtual WAN", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual WAN", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update settings of a virtual WAN", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--branch-to-branch-traffic", + description: "Allow branch-to-branch traffic flow", + args: { + name: "branch-to-branch-traffic", + suggestions: ["false", "true"], + }, + }, + { + name: "--disable-vpn-encryption", + description: "State of VPN encryption", + args: { + name: "disable-vpn-encryption", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the virtual WAN", + args: { name: "name" }, + }, + { + name: "--office365-category", + description: "The office local breakout category", + args: { name: "office365-category" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--security-provider-name", + description: "The security provider name", + args: { name: "security-provider-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--type", + description: "The type of the VirtualWAN", + args: { name: "type", suggestions: ["Basic", "Standard"] }, + }, + ], + }, + ], + }, + { + name: "watcher", + description: + "Manage the Azure Network Watcher. Network Watcher assists with monitoring and diagnosing conditions at a network scenario level. To learn more visit https://docs.microsoft.com/azure/network-watcher/", + subcommands: [ + { + name: "configure", + description: + "Configure the Network Watcher service for different regions", + options: [ + { + name: ["--locations", "-l"], + description: "Space-separated list of locations to configure", + args: { name: "locations" }, + isRequired: true, + }, + { + name: "--enabled", + description: + "Enabled status of Network Watcher in the specified regions", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. Required when enabling new regions", + args: { name: "resource-group" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { name: "list", description: "List Network Watchers" }, + { + name: "run-configuration-diagnostic", + description: "Run a configuration diagnostic on a target resource", + options: [ + { + name: "--resource", + description: + "Name or ID of the target resource to diagnose. If an ID is given, other resource arguments should not be given", + args: { name: "resource" }, + isRequired: true, + }, + { + name: "--destination", + description: + "Traffic destination. Accepted values are '*', IP address/CIDR, or Service Tag", + args: { name: "destination" }, + }, + { + name: "--direction", + description: "Direction of the traffic", + args: { name: "direction", suggestions: ["Inbound", "Outbound"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--parent", + description: "Parent path, e.g., virtualMachineScaleSets/vmss1", + args: { name: "parent" }, + }, + { + name: "--port", + description: + "Traffic destination port. Accepted values are '*', port number (3389) or port range (80-100)", + args: { name: "port" }, + }, + { + name: "--protocol", + description: "Protocol to be verified on", + args: { name: "protocol", suggestions: ["TCP", "UDP"] }, + }, + { + name: "--queries", + description: + 'JSON list of queries to use. Use @{path} to load from a file. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "queries" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group the target resource is in", + args: { name: "resource-group" }, + }, + { + name: ["--resource-type", "-t"], + description: "Resource type", + args: { + name: "resource-type", + suggestions: [ + "applicationGateways", + "networkInterfaces", + "virtualMachines", + ], + }, + }, + { + name: "--source", + description: + "Traffic source. Accepted values are '*', IP address/CIDR, or Service Tag", + args: { name: "source" }, + }, + ], + }, + { + name: "show-next-hop", + description: "Get information on the next hop of a VM", + options: [ + { + name: "--dest-ip", + description: "Destination IPv4 address", + args: { name: "dest-ip" }, + isRequired: true, + }, + { + name: "--source-ip", + description: "Source IPv4 address", + args: { name: "source-ip" }, + isRequired: true, + }, + { + name: "--vm", + description: + "Name or ID of the VM to target. If the name of the VM is provided, the --resource-group is required", + args: { name: "vm" }, + isRequired: true, + }, + { + name: "--nic", + description: + "Name or ID of the NIC resource to test. If the VM has multiple NICs and IP forwarding is enabled on any of them, this parameter is required", + args: { name: "nic" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group the target VM is in", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show-security-group-view", + description: + "Get detailed security information on a VM for the currently configured network security group", + options: [ + { + name: "--vm", + description: + "Name or ID of the VM to target. If the name of the VM is provided, the --resource-group is required", + args: { name: "vm" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group the target VM is in", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show-topology", + description: + "Get the network topology of a resource group, virtual network or subnet", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Defaults to the location of the target resource group. Topology information is only shown for resources within the target resource group that are within the specified region", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the target resource group to perform topology on", + args: { name: "resource-group" }, + }, + { + name: "--subnet", + description: + "Name or ID of the subnet to target. If name is used, --vnet NAME must also be supplied", + args: { name: "subnet" }, + }, + { + name: "--vnet", + description: "Name or ID of the virtual network to target", + args: { name: "vnet" }, + }, + ], + }, + { + name: "test-connectivity", + description: + "Test if a connection can be established between a Virtual Machine and a given endpoint", + options: [ + { + name: "--source-resource", + description: + "Name or ID of the resource from which to originate traffic. Currently only Virtual Machines are supported", + args: { name: "source-resource" }, + isRequired: true, + }, + { + name: "--dest-address", + description: "IP address or URI at which to receive traffic", + args: { name: "dest-address" }, + }, + { + name: "--dest-port", + description: "Port number on which to receive traffic", + args: { name: "dest-port" }, + }, + { + name: "--dest-resource", + description: + "Name or ID of the resource to receive traffic. Currently only Virtual Machines are supported", + args: { name: "dest-resource" }, + }, + { + name: "--headers", + description: + 'Space-separated list of headers in KEY=VALUE format. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "headers" }, + }, + { + name: "--method", + description: "HTTP method to use", + args: { name: "method", suggestions: ["Get"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--protocol", + description: "Protocol to test on", + args: { + name: "protocol", + suggestions: ["Http", "Https", "Icmp", "Tcp"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group the target resource is in", + args: { name: "resource-group" }, + }, + { + name: "--source-port", + description: "Port number from which to originate traffic", + args: { name: "source-port" }, + }, + { + name: "--valid-status-codes", + description: + 'Space-separated list of HTTP status codes considered valid. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "valid-status-codes" }, + }, + ], + }, + { + name: "test-ip-flow", + description: + "Test IP flow to/from a VM given the currently configured network security group rules", + options: [ + { + name: "--direction", + description: "Direction of the packet relative to the VM", + args: { name: "direction", suggestions: ["Inbound", "Outbound"] }, + isRequired: true, + }, + { + name: "--local", + description: + "Private IPv4 address for the VMs NIC and the port of the packet in X.X.X.X:PORT format. * can be used for port when direction is outbound", + args: { name: "local" }, + isRequired: true, + }, + { + name: "--protocol", + description: "Protocol to test", + args: { name: "protocol", suggestions: ["TCP", "UDP"] }, + isRequired: true, + }, + { + name: "--remote", + description: + "IPv4 address and port for the remote side of the packet X.X.X.X:PORT format. * can be used for port when the direction is inbound", + args: { name: "remote" }, + isRequired: true, + }, + { + name: "--vm", + description: + "Name or ID of the VM to target. If the name of the VM is provided, the --resource-group is required", + args: { name: "vm" }, + isRequired: true, + }, + { + name: "--nic", + description: + "Name or ID of the NIC resource to test. If the VM has multiple NICs and IP forwarding is enabled on any of them, this parameter is required", + args: { name: "nic" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group the target VM is in", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "connection-monitor", + description: + "Manage connection monitoring between an Azure Virtual Machine and any IP resource.\n\n\t\tConnection monitor can be used to monitor network connectivity between an Azure virtual machine and an IP address. The IP address can be assigned to another Azure resource or a resource on the Internet or on-premises. To learn more visit https://aka.ms/connectionmonitordoc", + subcommands: [ + { + name: "create", + description: "Create a connection monitor", + options: [ + { + name: ["--connection-monitor-name", "--name", "-n"], + description: "Connection monitor name", + args: { name: "connection-monitor-name" }, + isRequired: true, + }, + { + name: "--endpoint-dest-name", + description: + "The name of the destination of connection monitor endpoint. If you are creating a V2 Connection Monitor, it's required", + args: { name: "endpoint-dest-name" }, + isRequired: true, + }, + { + name: "--endpoint-source-name", + description: + "The name of the source of connection monitor endpoint. If you are creating a V2 Connection Monitor, it's required", + args: { name: "endpoint-source-name" }, + isRequired: true, + }, + { + name: "--endpoint-source-resource-id", + description: + "Resource ID of the source of connection monitor endpoint. If endpoint is intended to used as source, this option is required", + args: { name: "endpoint-source-resource-id" }, + isRequired: true, + }, + { + name: "--test-config-name", + description: + "The name of the connection monitor test configuration. If you are creating a V2 Connection Monitor, it's required", + args: { name: "test-config-name" }, + isRequired: true, + }, + { + name: "--endpoint-dest-address", + description: + "Address of the destination of connection monitor endpoint (IP or domain name)", + args: { name: "endpoint-dest-address" }, + }, + { + name: "--endpoint-dest-coverage-level", + description: "Test coverage for the endpoint", + args: { + name: "endpoint-dest-coverage-level", + suggestions: [ + "AboveAverage", + "Average", + "BelowAverage", + "Default", + "Full", + "Low", + ], + }, + }, + { + name: "--endpoint-dest-resource-id", + description: + "Resource ID of the destination of connection monitor endpoint", + args: { name: "endpoint-dest-resource-id" }, + }, + { + name: "--endpoint-dest-type", + description: "The endpoint type", + args: { + name: "endpoint-dest-type", + suggestions: [ + "AzureArcVM", + "AzureSubnet", + "AzureVM", + "AzureVMSS", + "AzureVNet", + "ExternalAddress", + "MMAWorkspaceMachine", + "MMAWorkspaceNetwork", + ], + }, + }, + { + name: "--endpoint-source-address", + description: + "Address of the source of connection monitor endpoint (IP or domain name)", + args: { name: "endpoint-source-address" }, + }, + { + name: "--endpoint-source-coverage-level", + description: "Test coverage for the endpoint", + args: { + name: "endpoint-source-coverage-level", + suggestions: [ + "AboveAverage", + "Average", + "BelowAverage", + "Default", + "Full", + "Low", + ], + }, + }, + { + name: "--endpoint-source-type", + description: "The endpoint type", + args: { + name: "endpoint-source-type", + suggestions: [ + "AzureArcVM", + "AzureSubnet", + "AzureVM", + "AzureVMSS", + "AzureVNet", + "ExternalAddress", + "MMAWorkspaceMachine", + "MMAWorkspaceNetwork", + ], + }, + }, + { + name: "--frequency", + description: "The frequency of test evaluation, in seconds", + args: { name: "frequency" }, + }, + { + name: "--http-method", + description: "The HTTP method to use", + args: { name: "http-method", suggestions: ["Get", "Post"] }, + }, + { + name: "--http-path", + description: + 'The path component of the URI. For instance, "/dir1/dir2"', + args: { name: "http-path" }, + }, + { + name: "--http-port", + description: "The port to connect to", + args: { name: "http-port" }, + }, + { + name: "--http-valid-status-codes", + description: + "Space-separated list of HTTP status codes to consider successful. For instance, '2xx 301-304 418' Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "http-valid-status-codes" }, + }, + { + name: "--https-prefer", + description: + "Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit. Allowed values: false, true", + args: { + name: "https-prefer", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--icmp-disable-trace-route", + description: + "Value indicating whether path evaluation with trace route should be disabled. false is default. Allowed values: false, true", + args: { + name: "icmp-disable-trace-route", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--notes", + description: + "Optional notes to be associated with the connection monitor", + args: { name: "notes" }, + }, + { + name: ["--output-type", "--type"], + description: + 'Connection monitor output destination type. Currently, only "Workspace" is supported', + args: { name: "output-type", suggestions: ["Workspace"] }, + }, + { + name: "--preferred-ip-version", + description: + "The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters", + args: { + name: "preferred-ip-version", + suggestions: ["IPv4", "IPv6"], + }, + }, + { + name: "--protocol", + description: "The protocol to use in test evaluation", + args: { + name: "protocol", + suggestions: ["Http", "Icmp", "Tcp"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--tags", + description: + "Space-separated tags: key[=value] [key[=value] ...]. Use ''to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "tags" }, + }, + { + name: "--tcp-disable-trace-route", + description: + "Value indicating whether path evaluation with trace route should be disabled. false is default. Allowed values: false, true", + args: { + name: "tcp-disable-trace-route", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tcp-port", + description: "The port to connect to", + args: { name: "tcp-port" }, + }, + { + name: "--tcp-port-behavior", + description: "Destination port behavior", + args: { + name: "tcp-port-behavior", + suggestions: ["ListenIfAvailable", "None"], + }, + }, + { + name: "--test-group-disable", + description: + "Value indicating whether test group is disabled. false is default", + args: { + name: "test-group-disable", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--test-group-name", + description: "The name of the connection monitor test group", + args: { name: "test-group-name" }, + }, + { + name: "--threshold-failed-percent", + description: + "The maximum percentage of failed checks permitted for a test to evaluate as successful", + args: { name: "threshold-failed-percent" }, + }, + { + name: "--threshold-round-trip-time", + description: + "The maximum round-trip time in milliseconds permitted for a test to evaluate as successful", + args: { name: "threshold-round-trip-time" }, + }, + { + name: "--workspace-ids", + description: + 'Space-separated list of ids of log analytics workspace. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "workspace-ids" }, + }, + ], + }, + { + name: "delete", + description: "Delete a connection monitor for the given region", + options: [ + { + name: ["--connection-monitor-name", "--name", "-n"], + description: "Connection monitor name", + args: { name: "connection-monitor-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List connection monitors for the given region", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "query", + description: + "Query a snapshot of the most recent connection state of a connection monitor", + options: [ + { + name: ["--connection-monitor-name", "--name", "-n"], + description: "Connection monitor name", + args: { name: "connection-monitor-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "show", + description: "Shows a connection monitor by name", + options: [ + { + name: ["--connection-monitor-name", "--name", "-n"], + description: "Connection monitor name", + args: { name: "connection-monitor-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "start", + description: "Start the specified connection monitor", + options: [ + { + name: ["--connection-monitor-name", "--name", "-n"], + description: "Connection monitor name", + args: { name: "connection-monitor-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "stop", + description: "Stop the specified connection monitor", + options: [ + { + name: ["--connection-monitor-name", "--name", "-n"], + description: "Connection monitor name", + args: { name: "connection-monitor-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--connection-monitor-name", "--name", "-n"], + description: "Connection monitor name", + args: { name: "connection-monitor-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--network-watcher-name", + description: "The name of the Network Watcher resource", + args: { name: "network-watcher-name" }, + }, + { + name: ["--resource-group-name", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "endpoint", + description: "Manage endpoint of a connection monitor", + subcommands: [ + { + name: "add", + description: "Add an endpoint to a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "--name", "-n"], + description: + "The name of the connection monitor endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--address", + description: + "Address of the connection monitor endpoint (IP or domain name)", + args: { name: "address" }, + }, + { + name: "--address-exclude", + description: + 'List of address of the endpoint item which needs to be excluded to the endpoint scope. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "address-exclude" }, + }, + { + name: "--address-include", + description: + 'List of address of the endpoint item which needs to be included to the endpoint scope. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "address-include" }, + }, + { + name: "--coverage-level", + description: + "Test coverage for the endpoint. Allowed values: AboveAverage, Average, BelowAverage, Default, Full, Low", + args: { + name: "coverage-level", + suggestions: [ + "AboveAverage", + "Average", + "BelowAverage", + "Default", + "Full", + "Low", + ], + }, + }, + { + name: "--dest-test-groups", + description: + 'Space-separated list of names for test group to reference as destination. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dest-test-groups" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--resource-id", + description: + "Resource ID of the connection monitor endpoint", + args: { name: "resource-id" }, + }, + { + name: "--source-test-groups", + description: + 'Space-separated list of names for test group to reference as source. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "source-test-groups" }, + }, + { + name: "--type", + description: + "The endpoint type. Allowed values: AzureArcVM, AzureSubnet, AzureVM, AzureVMSS, AzureVNet, ExternalAddress, MMAWorkspaceMachine, MMAWorkspaceNetwork", + args: { + name: "type", + suggestions: [ + "AzureArcVM", + "AzureSubnet", + "AzureVM", + "AzureVMSS", + "AzureVNet", + "ExternalAddress", + "MMAWorkspaceMachine", + "MMAWorkspaceNetwork", + ], + }, + }, + ], + }, + { + name: "list", + description: "List all endpoints from a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove an endpoint from a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "--name", "-n"], + description: "Name of the connection monitor endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--test-groups", + description: + 'Space-separated list of names of test group which only need to be affected if specified. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "test-groups" }, + }, + ], + }, + { + name: "show", + description: "Show an endpoint from a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "--name", "-n"], + description: "Name of the connection monitor endpoint", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--watcher-name", + description: "Name of the network watcher", + args: { name: "watcher-name" }, + }, + { + name: ["--watcher-rg", "-g"], + description: + "Name of the resource group the watcher is in", + args: { name: "watcher-rg" }, + }, + ], + }, + ], + }, + { + name: "output", + description: "Manage output of connection monitor", + subcommands: [ + { + name: "add", + description: "Add an output to a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--output-type", "--type"], + description: + 'Connection monitor output destination type. Currently, only "Workspace" is supported', + args: { name: "output-type", suggestions: ["Workspace"] }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--output-index", + description: "Output-index", + args: { name: "output-index" }, + }, + { + name: "--workspace-id", + description: "The id of log analytics workspace", + args: { name: "workspace-id" }, + }, + ], + }, + { + name: "list", + description: "List all output from a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove all outputs from a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--watcher-name", + description: "The name of the Network Watcher resource", + args: { name: "watcher-name" }, + }, + { + name: ["--watcher-rg", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "watcher-rg" }, + }, + ], + }, + ], + }, + { + name: "test-configuration", + description: "Manage test configuration of a connection monitor", + subcommands: [ + { + name: "add", + description: + "Add a test configuration to a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--test-configuration-name", "--name", "-n"], + description: + "The name of the connection monitor test configuration", + args: { name: "test-configuration-name" }, + isRequired: true, + }, + { + name: "--protocol", + description: + "The protocol to use in test evaluation. Allowed values: Http, Icmp, Tcp", + args: { + name: "protocol", + suggestions: ["Http", "Icmp", "Tcp"], + }, + isRequired: true, + }, + { + name: "--test-groups", + description: + 'Space-separated list of names of test group which only need to be affected if specified. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "test-groups" }, + isRequired: true, + }, + { + name: "--frequency", + description: + "The frequency of test evaluation, in seconds. Default: 60", + args: { name: "frequency" }, + }, + { + name: "--http-method", + description: + "The HTTP method to use. Allowed values: Get, Post", + args: { + name: "http-method", + suggestions: ["Get", "Post"], + }, + }, + { + name: "--http-path", + description: + 'The path component of the URI. For instance, "/dir1/dir2"', + args: { name: "http-path" }, + }, + { + name: "--http-port", + description: "The port to connect to", + args: { name: "http-port" }, + }, + { + name: "--http-prefer-https", + description: + "Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit", + args: { + name: "http-prefer-https", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--http-request-header", + description: + 'The HTTP headers to transmit with the request. List of property=value pairs to define HTTP headers. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "http-request-header" }, + }, + { + name: "--http-valid-status-codes", + description: + 'HTTP status codes to consider successful. For instance, "2xx,301-304,418". Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "http-valid-status-codes" }, + }, + { + name: "--icmp-disable-trace-route", + description: + "Value indicating whether path evaluation with trace route should be disabled. false is default. Allowed values: false, true", + args: { + name: "icmp-disable-trace-route", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--preferred-ip-version", + description: + "The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters. Allowed values: IPv4, IPv6", + args: { + name: "preferred-ip-version", + suggestions: ["IPv4", "IPv6"], + }, + }, + { + name: "--tcp-disable-trace-route", + description: + "Value indicating whether path evaluation with trace route should be disabled. false is default. Allowed values: false, true", + args: { + name: "tcp-disable-trace-route", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tcp-port", + description: "The port to connect to", + args: { name: "tcp-port" }, + }, + { + name: "--tcp-port-behavior", + description: + "Destination port behavior. Allowed values: ListenIfAvailable, None", + args: { + name: "tcp-port-behavior", + suggestions: ["ListenIfAvailable", "None"], + }, + }, + { + name: "--threshold-failed-percent", + description: + "The maximum percentage of failed checks permitted for a test to evaluate as successful", + args: { name: "threshold-failed-percent" }, + }, + { + name: "--threshold-round-trip-time", + description: + "The maximum round-trip time in milliseconds permitted for a test to evaluate as successful", + args: { name: "threshold-round-trip-time" }, + }, + ], + }, + { + name: "list", + description: + "List all test configurations of a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove a test configuration from a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--test-configuration-name", "--name", "-n"], + description: + "The name of the connection monitor test configuration", + args: { name: "test-configuration-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--test-groups", + description: + 'Space-separated list of names of test group which only need to be affected if specified. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "test-groups" }, + }, + ], + }, + { + name: "show", + description: + "Show a test configuration from a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--test-configuration-name", "--name", "-n"], + description: + "The name of the connection monitor test configuration", + args: { name: "test-configuration-name" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--watcher-name", + description: "The name of the Network Watcher resource", + args: { name: "watcher-name" }, + }, + { + name: ["--watcher-rg", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "watcher-rg" }, + }, + ], + }, + ], + }, + { + name: "test-group", + description: "Manage a test group of a connection monitor", + subcommands: [ + { + name: "add", + description: + "Add a test group along with new-added/existing endpoint and test configuration to a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: "--endpoint-dest-name", + description: + "The name of the destination of connection monitor endpoint. If you are creating a V2 Connection Monitor, it's required", + args: { name: "endpoint-dest-name" }, + isRequired: true, + }, + { + name: "--endpoint-source-name", + description: + "The name of the source of connection monitor endpoint. If you are creating a V2 Connection Monitor, it's required", + args: { name: "endpoint-source-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--test-group-name", "--name", "-n"], + description: + "The name of the connection monitor test group", + args: { name: "test-group-name" }, + isRequired: true, + }, + { + name: "--test-config-name", + description: + "The name of the connection monitor test configuration. If you are creating a V2 Connection Monitor, it's required", + args: { name: "test-config-name" }, + isRequired: true, + }, + { + name: "--disable", + description: + "Value indicating whether test group is disabled. false is default. Allowed values: false, true", + args: { + name: "disable", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--endpoint-dest-address", + description: + "Address of the destination of connection monitor endpoint (IP or domain name)", + args: { name: "endpoint-dest-address" }, + }, + { + name: "--endpoint-dest-resource-id", + description: + "Resource ID of the destination of connection monitor endpoint", + args: { name: "endpoint-dest-resource-id" }, + }, + { + name: "--endpoint-source-address", + description: + "Address of the source of connection monitor endpoint (IP or domain name)", + args: { name: "endpoint-source-address" }, + }, + { + name: "--endpoint-source-resource-id", + description: + "Resource ID of the source of connection monitor endpoint. If endpoint is intended to used as source, this option is required", + args: { name: "endpoint-source-resource-id" }, + }, + { + name: "--frequency", + description: + "The frequency of test evaluation, in seconds. Default: 60", + args: { name: "frequency" }, + }, + { + name: "--http-method", + description: "The HTTP method to use", + args: { + name: "http-method", + suggestions: ["Get", "Post"], + }, + }, + { + name: "--http-path", + description: + 'The path component of the URI. For instance, "/dir1/dir2"', + args: { name: "http-path" }, + }, + { + name: "--http-port", + description: "The port to connect to", + args: { name: "http-port" }, + }, + { + name: "--http-valid-status-codes", + description: + "Space-separated list of HTTP status codes to consider successful. For instance, '2xx 301-304 418' Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "http-valid-status-codes" }, + }, + { + name: "--https-prefer", + description: + "Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit. Allowed values: false, true", + args: { + name: "https-prefer", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--icmp-disable-trace-route", + description: + "Value indicating whether path evaluation with trace route should be disabled. false is default. Allowed values: false, true", + args: { + name: "icmp-disable-trace-route", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--preferred-ip-version", + description: + "The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters", + args: { + name: "preferred-ip-version", + suggestions: ["IPv4", "IPv6"], + }, + }, + { + name: "--protocol", + description: "The protocol to use in test evaluation", + args: { + name: "protocol", + suggestions: ["Http", "Icmp", "Tcp"], + }, + }, + { + name: "--tcp-disable-trace-route", + description: + "Value indicating whether path evaluation with trace route should be disabled. false is default. Allowed values: false, true", + args: { + name: "tcp-disable-trace-route", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tcp-port", + description: "The port to connect to", + args: { name: "tcp-port" }, + }, + { + name: "--threshold-failed-percent", + description: + "The maximum percentage of failed checks permitted for a test to evaluate as successful", + args: { name: "threshold-failed-percent" }, + }, + { + name: "--threshold-round-trip-time", + description: + "The maximum round-trip time in milliseconds permitted for a test to evaluate as successful", + args: { name: "threshold-round-trip-time" }, + }, + ], + }, + { + name: "list", + description: + "List all test groups of a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove test group from a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the connection monitor test group", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a test group of a connection monitor", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--test-group-name", "--name", "-n"], + description: + "The name of the connection monitor test group", + args: { name: "test-group-name" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--connection-monitor", + description: "Connection monitor name", + args: { name: "connection-monitor" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--watcher-name", + description: "The name of the Network Watcher resource", + args: { name: "watcher-name" }, + }, + { + name: ["--watcher-rg", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "watcher-rg" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "flow-log", + description: + "Manage network security group flow logging.\n\n\t\tFor more information about configuring flow logs visit https://docs.microsoft.com/azure/network-watcher/network-watcher-nsg-flow-logging-cli", + subcommands: [ + { + name: "create", + description: "Create a flow log on a network security group", + options: [ + { + name: ["--name", "-n"], + description: "The name of the flow logger", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--enabled", + description: "Enable logging. Default: true", + args: { + name: "enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--format", + description: "File type of the flow log", + args: { name: "format", suggestions: ["JSON"] }, + }, + { + name: "--interval", + description: + "Interval in minutes at which to conduct flow analytics. Temporarily allowed values are 10 and 60", + args: { name: "interval" }, + }, + { + name: ["--location", "-l"], + description: + "Location to identify the exclusive Network Watcher under a region. Only one Network Watcher can be existed per subscription and region. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--log-version", + description: "Version (revision) of the flow log", + args: { name: "log-version" }, + }, + { + name: "--nic", + description: + "Name or ID of the Network Interface (NIC) Resource", + args: { name: "nic" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--nsg", + description: "Name or ID of the network security group", + args: { name: "nsg" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--retention", + description: "Number of days to retain logs", + args: { name: "retention" }, + }, + { + name: "--storage-account", + description: + "Name or ID of the storage account in which to save the flow logs. Must be in the same region of flow log", + args: { name: "storage-account" }, + }, + { + name: "--subnet", + description: "Name or ID of Subnet", + args: { name: "subnet" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--traffic-analytics", + description: + "Enable traffic analytics. Defaults to true if --workspace is provided", + args: { + name: "traffic-analytics", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--vnet", + description: "Name or ID of the Virtual Network Resource", + args: { name: "vnet" }, + }, + { + name: "--workspace", + description: + "Name or ID of a Log Analytics workspace. Must be in the same region of flow log", + args: { name: "workspace" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified flow log resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the flow logger", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location to identify the exclusive Network Watcher under a region. Only one Network Watcher can be existed per subscription and region. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: + "List all flow log resources for the specified Network Watcher", + options: [ + { + name: ["--location", "-l"], + description: + "Location to identify the exclusive Network Watcher under a region. Only one Network Watcher can be existed per subscription and region. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + ], + }, + { + name: "show", + description: + "Get the flow log configuration of a network security group", + options: [ + { + name: ["--location", "-l"], + description: + "Location to identify the exclusive Network Watcher under a region. Only one Network Watcher can be existed per subscription and region", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "The name of the flow logger", + args: { name: "name" }, + }, + { + name: "--nsg", + description: + "Argument 'nsg' has been deprecated and will be removed in a future release. Use '--location and --name combination' instead. Name or ID of the network security group", + args: { name: "nsg" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update the flow log configuration of a network security group", + options: [ + { + name: ["--name", "-n"], + description: "The name of the flow logger", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--enabled", + description: "Enable logging", + args: { + name: "enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--format", + description: "File type of the flow log", + args: { name: "format", suggestions: ["JSON"] }, + }, + { + name: "--interval", + description: + "Interval in minutes at which to conduct flow analytics. Temporarily allowed values are 10 and 60", + args: { name: "interval" }, + }, + { + name: ["--location", "-l"], + description: + "Location to identify the exclusive Network Watcher under a region. Only one Network Watcher can be existed per subscription and region. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--log-version", + description: "Version (revision) of the flow log", + args: { name: "log-version" }, + }, + { + name: "--nic", + description: + "Name or ID of the Network Interface (NIC) Resource", + args: { name: "nic" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--nsg", + description: "Name or ID of the network security group", + args: { name: "nsg" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--retention", + description: "Number of days to retain logs", + args: { name: "retention" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--storage-account", + description: + "Name or ID of the storage account in which to save the flow logs. Must be in the same region of flow log", + args: { name: "storage-account" }, + }, + { + name: "--subnet", + description: "Name or ID of Subnet", + args: { name: "subnet" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--traffic-analytics", + description: + "Enable traffic analytics. Defaults to true if --workspace is provided", + args: { + name: "traffic-analytics", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--vnet", + description: "Name or ID of the Virtual Network Resource", + args: { name: "vnet" }, + }, + { + name: "--workspace", + description: + "Name or ID of a Log Analytics workspace. Must be in the same region of flow log", + args: { name: "workspace" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The name of the flow logger", + args: { name: "name" }, + }, + { + name: "--network-watcher-name", + description: "The name of the network watcher", + args: { name: "network-watcher-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "packet-capture", + description: + "Manage packet capture sessions on VMs.\n\n\t\tThese commands require that both Azure Network Watcher is enabled for the VMs region and that AzureNetworkWatcherExtension is enabled on the VM. For more information visit https://learn.microsoft.com/en-us/azure/network-watcher/network-watcher-packet-capture-manage-cli", + subcommands: [ + { + name: "create", + description: "Create and start a packet capture session", + options: [ + { + name: ["--name", "-n"], + description: "Name of the packet capture session", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group the target resource is in", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--capture-limit", + description: "Maximum size in bytes of the capture output", + args: { name: "capture-limit" }, + }, + { + name: "--capture-size", + description: + "Number of bytes captured per packet. Excess bytes are truncated", + args: { name: "capture-size" }, + }, + { + name: "--exclude", + description: + 'Space-separated list of VMSS instances to exclude in packet capture. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "exclude" }, + }, + { + name: "--file-path", + description: + "Local path on the targeted VM at which to save the packet capture. For Linux VMs, the path must start with /var/captures", + args: { name: "file-path" }, + }, + { + name: "--filters", + description: + 'JSON encoded list of packet filters. Use @{path} to load from file. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "filters" }, + }, + { + name: "--include", + description: + 'Space-separated list of VMSS instances to include in packet capture like 0 1 2. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "include" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--storage-account", + description: + "Name or ID of a storage account to save the packet capture to", + args: { name: "storage-account" }, + }, + { + name: "--storage-path", + description: + "Fully qualified URI of an existing storage container in which to store the capture file. If not specified, the container network-watcher-logs will be created if it does not exist and the capture file will be stored there", + args: { name: "storage-path" }, + }, + { + name: "--target", + description: + "Name or ID of the target resource. If --target-type is AzureVMSS, then --target is mandatory", + args: { name: "target" }, + }, + { + name: "--target-type", + description: "Resource type of target", + args: { + name: "target-type", + suggestions: ["AzureVM", "AzureVMSS"], + }, + }, + { + name: "--time-limit", + description: + "Maximum duration of the capture session in seconds", + args: { name: "time-limit" }, + }, + { + name: "--vm", + description: "Name or ID of the VM to target", + args: { name: "vm" }, + }, + ], + }, + { + name: "delete", + description: "Delete a packet capture session", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the packet capture session", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List all packet capture sessions within a region", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a packet capture session", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the packet capture session", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "show-status", + description: "Show the status of a packet capture session", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name given to the packet capture session", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "stop", + description: "Stop a running packet capture session", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the packet capture session", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the packet capture session", + args: { name: "name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--watcher-name", + description: "Name of the network watcher", + args: { name: "watcher-name" }, + }, + { + name: "--watcher-rg", + description: "Name of the resource group the watcher is in", + args: { name: "watcher-rg" }, + }, + ], + }, + ], + }, + { + name: "troubleshooting", + description: + "Manage Network Watcher troubleshooting sessions.\n\n\t\tFor more information on configuring troubleshooting visit https://docs.microsoft.com/azure/network-watcher/network-watcher-troubleshoot-manage-cli", + subcommands: [ + { + name: "show", + description: + "Get the results of the last troubleshooting operation", + options: [ + { + name: "--resource", + description: "Name or ID of the resource to troubleshoot", + args: { name: "resource" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--resource-type", "-t"], + description: "The resource type", + args: { + name: "resource-type", + suggestions: ["vnetGateway", "vpnConnection"], + }, + }, + { + name: "--watcher-rg", + description: "Name of the resource group the watcher is in", + args: { name: "watcher-rg" }, + }, + ], + }, + { + name: "start", + description: + "Troubleshoot issues with VPN connections or gateway connectivity", + options: [ + { + name: "--resource", + description: "Name or ID of the resource to troubleshoot", + args: { name: "resource" }, + isRequired: true, + }, + { + name: "--storage-account", + description: + "Name or ID of the storage account in which to store the troubleshooting results", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: "--storage-path", + description: + "Fully qualified URI to the storage blob container in which to store the troubleshooting results", + args: { name: "storage-path" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--resource-type", "-t"], + description: + "The type of target resource to troubleshoot, if resource ID is not specified", + args: { + name: "resource-type", + suggestions: ["vnetGateway", "vpnConnection"], + }, + }, + { + name: "--watcher-rg", + description: "Name of the resource group the watcher is in", + args: { name: "watcher-rg" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/networkcloud.ts b/src/az/2.53.0/networkcloud.ts new file mode 100644 index 000000000000..a252aba01689 --- /dev/null +++ b/src/az/2.53.0/networkcloud.ts @@ -0,0 +1,6199 @@ +const completion: Fig.Spec = { + name: "networkcloud", + description: "Manage Network Cloud resources", + subcommands: [ + { + name: "baremetalmachine", + description: "Manage bare metal machine", + subcommands: [ + { + name: "cordon", + description: + "Cordon the provided bare metal machine's Kubernetes node", + options: [ + { + name: ["--bare-metal-machine-name", "--name", "-n"], + description: "The name of the bare metal machine", + args: { name: "bare-metal-machine-name" }, + }, + { + name: "--evacuate", + description: + "The indicator of whether to evacuate the node workload when the bare metal machine is cordoned", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List bare metal machines in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "power-off", + description: "Power off the provided bare metal machine", + options: [ + { + name: ["--bare-metal-machine-name", "--name", "-n"], + description: "The name of the bare metal machine", + args: { name: "bare-metal-machine-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-shutdown", + description: + "The indicator of whether to skip the graceful OS shutdown and power off the bare metal machine immediately", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reimage", + description: "Reimage the provided bare metal machine", + options: [ + { + name: ["--bare-metal-machine-name", "--name", "-n"], + description: "The name of the bare metal machine", + args: { name: "bare-metal-machine-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "replace", + description: "Replace the provided bare metal machine", + options: [ + { + name: ["--bare-metal-machine-name", "--name", "-n"], + description: "The name of the bare metal machine", + args: { name: "bare-metal-machine-name" }, + }, + { + name: "--bmc-credentials", + description: + 'The credentials of the baseboard management controller on this bare metal machine. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "bmc-credentials" }, + }, + { + name: "--bmc-mac-address", + description: "The MAC address of the BMC device", + args: { name: "bmc-mac-address" }, + }, + { + name: "--boot-mac-address", + description: + "The MAC address of a NIC connected to the PXE network", + args: { name: "boot-mac-address" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--machine-name", + description: "The OS-level hostname assigned to this machine", + args: { name: "machine-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--serial-number", + description: "The serial number of the bare metal machine", + args: { name: "serial-number" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restart", + description: "Restart the provided bare metal machine", + options: [ + { + name: ["--bare-metal-machine-name", "--name", "-n"], + description: "The name of the bare metal machine", + args: { name: "bare-metal-machine-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "run-command", + description: + "Run the command or the script on the provided bare metal machine. The URL to storage account with the command execution results and the command exit code can be retrieved from the operation status API once available", + options: [ + { + name: "--limit-time-seconds", + description: + "The maximum time the script is allowed to run. If the execution time exceeds the maximum, the script will be stopped, any output produced until then will be captured, and the exit code matching a timeout will be returned (252)", + args: { name: "limit-time-seconds" }, + isRequired: true, + }, + { + name: "--script", + description: + "The base64 encoded script to execute on the bare metal machine", + args: { name: "script" }, + isRequired: true, + }, + { + name: "--arguments", + description: + 'The list of string arguments that will be passed to the script in order as separate arguments. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "arguments" }, + }, + { + name: ["--bare-metal-machine-name", "--name", "-n"], + description: "The name of the bare metal machine", + args: { name: "bare-metal-machine-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--output-directory", + description: + "The output directory where the script execution results will bedownloaded to from storage blob. Accepts relative or qualified directory path", + args: { name: "output-directory" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "run-data-extract", + description: + "Run one or more data extractions on the provided bare metal machine. The URL to storage account with the command execution results and the command exit code can be retrieved from the operation status API once available", + options: [ + { + name: "--commands", + description: + 'The list of curated data extraction commands to be executed directly against the target machine. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "commands" }, + isRequired: true, + }, + { + name: "--limit-time-seconds", + description: + "The maximum time the commands are allowed to run. If the execution time exceeds the maximum, the script will be stopped, any output produced until then will be captured, and the exit code matching a timeout will be returned (252)", + args: { name: "limit-time-seconds" }, + isRequired: true, + }, + { + name: ["--bare-metal-machine-name", "--name", "-n"], + description: "The name of the bare metal machine", + args: { name: "bare-metal-machine-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--output-directory", + description: + "The output directory where the script execution results will be downloaded to from storage blob. Accepts relative or qualified directory path", + args: { name: "output-directory" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "run-read-command", + description: + "Run one or more read-only commands on the provided bare metal machine. The URL to storage account with the command execution results and the command exit code can be retrieved from the operation status API once available", + options: [ + { + name: "--commands", + description: + 'The list of read-only commands to be executed directly against the target machine. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "commands" }, + isRequired: true, + }, + { + name: "--limit-time-seconds", + description: + "The maximum time the commands are allowed to run. If the execution time exceeds the maximum, the script will be stopped, any output produced until then will be captured, and the exit code matching a timeout will be returned (252)", + args: { name: "limit-time-seconds" }, + isRequired: true, + }, + { + name: ["--bare-metal-machine-name", "--name", "-n"], + description: "The name of the bare metal machine", + args: { name: "bare-metal-machine-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--output-directory", + description: + "The output directory where the script execution results will be downloaded to from storage blob. Accepts relative or qualified directory path", + args: { name: "output-directory" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get properties of the provided bare metal machine", + options: [ + { + name: ["--bare-metal-machine-name", "--name", "-n"], + description: "The name of the bare metal machine", + args: { name: "bare-metal-machine-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start the provided bare metal machine", + options: [ + { + name: ["--bare-metal-machine-name", "--name", "-n"], + description: "The name of the bare metal machine", + args: { name: "bare-metal-machine-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "uncordon", + description: + "Uncordon the provided bare metal machine's Kubernetes node", + options: [ + { + name: ["--bare-metal-machine-name", "--name", "-n"], + description: "The name of the bare metal machine", + args: { name: "bare-metal-machine-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update properties of the provided bare metal machine, or update tags associated with the bare metal machine. Properties and tag updates can be done independently", + options: [ + { + name: ["--bare-metal-machine-name", "--name", "-n"], + description: "The name of the bare metal machine", + args: { name: "bare-metal-machine-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--machine-details", + description: + "The details provided by the customer during the creation of rack manifests that allows for custom data to be associated with this machine", + args: { name: "machine-details" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--bare-metal-machine-name", "--name", "-n"], + description: "The name of the bare metal machine", + args: { name: "bare-metal-machine-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "cloudservicesnetwork", + description: "Manage cloud services network", + subcommands: [ + { + name: "create", + description: + "Create a new cloud services network or update the properties of the existing cloud services network", + options: [ + { + name: ["--cloud-services-network-name", "--name", "-n"], + description: "The name of the cloud services network", + args: { name: "cloud-services-network-name" }, + isRequired: true, + }, + { + name: "--extended-location", + description: + 'The extended location of the cluster associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--additional-egress-endpoints", + description: + 'The list of egress endpoints. This allows for connection from a Hybrid AKS cluster to the specified endpoint. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "additional-egress-endpoints" }, + }, + { + name: "--enable-default-egress-endpoints", + description: + "The indicator of whether the platform default endpoints are allowed for the egress traffic", + args: { + name: "enable-default-egress-endpoints", + suggestions: ["False", "True"], + }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the provided cloud services network", + options: [ + { + name: ["--cloud-services-network-name", "--name", "-n"], + description: "The name of the cloud services network", + args: { name: "cloud-services-network-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List cloud services networks in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get properties of the provided cloud services network", + options: [ + { + name: ["--cloud-services-network-name", "--name", "-n"], + description: "The name of the cloud services network", + args: { name: "cloud-services-network-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update properties of the provided cloud services network, or update the tags associated with it. Properties and tag updates can be done independently", + options: [ + { + name: "--additional-egress-endpoints", + description: + 'The list of egress endpoints. This allows for connection from a Hybrid AKS cluster to the specified endpoint. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "additional-egress-endpoints" }, + }, + { + name: ["--cloud-services-network-name", "--name", "-n"], + description: "The name of the cloud services network", + args: { name: "cloud-services-network-name" }, + }, + { + name: "--enable-default-egress-endpoints", + description: + "The indicator of whether the platform default endpoints are allowed for the egress traffic", + args: { + name: "enable-default-egress-endpoints", + suggestions: ["False", "True"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--cloud-services-network-name", "--name", "-n"], + description: "The name of the cloud services network", + args: { name: "cloud-services-network-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "cluster", + description: "Manage cluster", + subcommands: [ + { + name: "create", + description: + "Create a new cluster or update the properties of the cluster if it exists", + options: [ + { + name: "--aggregator-or-single-rack-definition", + description: + 'The rack definition that is intended to reflect only a single rack in a single rack cluster, or an aggregator rack in a multi-rack cluster. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "aggregator-or-single-rack-definition" }, + isRequired: true, + }, + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--cluster-type", + description: "The type of rack configuration for the cluster", + args: { + name: "cluster-type", + suggestions: ["MultiRack", "SingleRack"], + }, + isRequired: true, + }, + { + name: "--cluster-version", + description: "The current runtime version of the cluster", + args: { name: "cluster-version" }, + isRequired: true, + }, + { + name: "--extended-location", + description: + 'The extended location of the cluster manager associated with the cluster. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-location" }, + isRequired: true, + }, + { + name: "--network-fabric-id", + description: + "The resource ID of the Network Fabric associated with the cluster", + args: { name: "network-fabric-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--analytics-workspace-id", + description: + "The resource ID of the Log Analytics Workspace that will be used for storing relevant logs", + args: { name: "analytics-workspace-id" }, + }, + { + name: "--cluster-location", + description: + "The customer-provided location information to identify where the cluster resides", + args: { name: "cluster-location" }, + }, + { + name: "--cluster-service-principal", + description: + 'The service principal to be used by the cluster during Arc Appliance installation. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "cluster-service-principal" }, + }, + { + name: "--compute-deployment-threshold", + description: + 'The validation threshold indicating the allowable failures of compute machines during environment validation and deployment. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "compute-deployment-threshold" }, + }, + { + name: "--compute-rack-definitions", + description: + 'The list of rack definitions for the compute racks in a multi-rack cluster, or an empty list in a single-rack cluster. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "compute-rack-definitions" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--managed-resource-group-configuration", + description: + 'The configuration of the managed resource group associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "managed-resource-group-configuration" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the provided cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "deploy", + description: "Deploy the cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-validations-for-machines", + description: + 'The names of bare metal machines in the cluster that should be skipped during environment validation. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "skip-validations-for-machines" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List clusters in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get properties of the provided cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the properties of the provided cluster, or update the tags associated with the cluster. Properties and tag updates can be done independently", + options: [ + { + name: "--aggregator-or-single-rack-definition", + description: + 'The rack definition that is intended to reflect only a single rack in a single rack cluster, or an aggregator rack in a multi-rack cluster. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "aggregator-or-single-rack-definition" }, + }, + { + name: "--cluster-location", + description: + "The customer-provided location information to identify where the cluster resides", + args: { name: "cluster-location" }, + }, + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--cluster-service-principal", + description: + 'The service principal to be used by the cluster during Arc Appliance installation. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "cluster-service-principal" }, + }, + { + name: "--compute-deployment-threshold", + description: + 'The validation threshold indicating the allowable failures of compute machines during environment validation and deployment. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "compute-deployment-threshold" }, + }, + { + name: "--compute-rack-definitions", + description: + 'The list of rack definitions for the compute racks in a multi-rack cluster, or an empty list in a single-rack cluster. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "compute-rack-definitions" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "update-version", + description: + "Update the version of the provided cluster to one of the available supported versions", + options: [ + { + name: "--target-cluster-version", + description: + "The version to be applied to the cluster during update", + args: { name: "target-cluster-version" }, + isRequired: true, + }, + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "baremetalmachinekeyset", + description: "Manage cluster's bare metal machine key set", + subcommands: [ + { + name: "create", + description: + "Create a new bare metal machine key set or update the existing one for the provided cluster", + options: [ + { + name: "--azure-group-id", + description: + "The object ID of Azure Active Directory group that all users in the list must be in for access to be granted. Users that are not in the group will not have access", + args: { name: "azure-group-id" }, + isRequired: true, + }, + { + name: ["--bare-metal-machine-key-set-name", "--name", "-n"], + description: "The name of the bare metal machine key set", + args: { name: "bare-metal-machine-key-set-name" }, + isRequired: true, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--expiration", + description: + "The date and time after which the users in this key set will be removed from the bare metal machines", + args: { name: "expiration" }, + isRequired: true, + }, + { + name: "--extended-location", + description: + 'The extended location of the cluster associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-location" }, + isRequired: true, + }, + { + name: "--jump-hosts-allowed", + description: + 'The list of IP addresses of jump hosts with management network access from which a login will be allowed for the users. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "jump-hosts-allowed" }, + isRequired: true, + }, + { + name: "--privilege-level", + description: + "The access level allowed for the users in this key set", + args: { + name: "privilege-level", + suggestions: ["Standard", "Superuser"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--user-list", + description: + 'The unique list of permitted users. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-list" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--os-group-name", + description: + "The name of the group that users will be assigned to on the operating system of the machines", + args: { name: "os-group-name" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the bare metal machine key set of the provided cluster", + options: [ + { + name: ["--bare-metal-machine-key-set-name", "--name", "-n"], + description: "The name of the bare metal machine key set", + args: { name: "bare-metal-machine-key-set-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List bare metal machine key sets of the cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get bare metal machine key set of the provided cluster", + options: [ + { + name: ["--bare-metal-machine-key-set-name", "--name", "-n"], + description: "The name of the bare metal machine key set", + args: { name: "bare-metal-machine-key-set-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update properties of bare metal machine key set for the provided cluster, or update the tags associated with it. Properties and tag updates can be done independently", + options: [ + { + name: ["--bare-metal-machine-key-set-name", "--name", "-n"], + description: "The name of the bare metal machine key set", + args: { name: "bare-metal-machine-key-set-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--expiration", + description: + "The date and time after which the users in this key set will be removed from the bare metal machines", + args: { name: "expiration" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--jump-hosts-allowed", + description: + 'The list of IP addresses of jump hosts with management network access from which a login will be allowed for the users. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "jump-hosts-allowed" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--user-list", + description: + 'The unique list of permitted users. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-list" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--bare-metal-machine-key-set-name", "--name", "-n"], + description: "The name of the bare metal machine key set", + args: { name: "bare-metal-machine-key-set-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "bmckeyset", + description: + "Manage cluster's baseboard management controller key set", + subcommands: [ + { + name: "create", + description: + "Create a new baseboard management controller key set or update the existing one for the provided cluster", + options: [ + { + name: "--azure-group-id", + description: + "The object ID of Azure Active Directory group that all users in the list must be in for access to be granted. Users that are not in the group will not have access", + args: { name: "azure-group-id" }, + isRequired: true, + }, + { + name: ["--bmc-key-set-name", "--name", "-n"], + description: + "The name of the baseboard management controller key set", + args: { name: "bmc-key-set-name" }, + isRequired: true, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--expiration", + description: + "The date and time after which the users in this key set will be removed from the baseboard management controllers", + args: { name: "expiration" }, + isRequired: true, + }, + { + name: "--extended-location", + description: + 'The extended location of the cluster associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-location" }, + isRequired: true, + }, + { + name: "--privilege-level", + description: + "The access level allowed for the users in this key set", + args: { + name: "privilege-level", + suggestions: ["Administrator", "ReadOnly"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--user-list", + description: + 'The unique list of permitted users. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-list" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the baseboard management controller key set of the provided cluster", + options: [ + { + name: ["--bmc-key-set-name", "--name", "-n"], + description: + "The name of the baseboard management controller key set", + args: { name: "bmc-key-set-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List baseboard management controller key sets of the cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get baseboard management controller key set of the provided cluster", + options: [ + { + name: ["--bmc-key-set-name", "--name", "-n"], + description: + "The name of the baseboard management controller key set", + args: { name: "bmc-key-set-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update properties of baseboard management controller key set for the provided cluster, or update the tags associated with it. Properties and tag updates can be done independently", + options: [ + { + name: ["--bmc-key-set-name", "--name", "-n"], + description: + "The name of the baseboard management controller key set", + args: { name: "bmc-key-set-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--expiration", + description: + "The date and time after which the users in this key set will be removed from the baseboard management controllers", + args: { name: "expiration" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--user-list", + description: + 'The unique list of permitted users. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-list" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--bmc-key-set-name", "--name", "-n"], + description: + "The name of the baseboard management controller key set", + args: { name: "bmc-key-set-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "metricsconfiguration", + description: "Manage cluster's metrics configuration", + subcommands: [ + { + name: "create", + description: + "Create the metrics configuration of the provided cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--collection-interval", + description: + "The interval in minutes by which metrics will be collected", + args: { name: "collection-interval" }, + isRequired: true, + }, + { + name: "--extended-location", + description: + 'The extended location of the cluster associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--enabled-metrics", + description: + 'The list of metric names that have been chosen to be enabled in addition to the core set of enabled metrics. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "enabled-metrics" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the metrics configuration of the provided cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List metrics configurations of the cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get metrics configuration of the provided cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update properties of metrics configuration for the provided cluster, or update the tags associated with it. Properties and tag updates can be done independently", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--collection-interval", + description: + "The interval in minutes by which metrics will be collected", + args: { name: "collection-interval" }, + }, + { + name: "--enabled-metrics", + description: + 'The list of metric names that have been chosen to be enabled in addition to the core set of enabled metrics. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "enabled-metrics" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--metrics-configuration-name", "--name", "-n"], + description: + "The name of the metrics configuration for the cluster", + args: { name: "metrics-configuration-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "clustermanager", + description: "Manage cluster manager", + subcommands: [ + { + name: "create", + description: + "Create a new cluster manager or update properties of the cluster manager if it exists", + options: [ + { + name: ["--cluster-manager-name", "--name", "-n"], + description: "The name of the cluster manager", + args: { name: "cluster-manager-name" }, + isRequired: true, + }, + { + name: "--fabric-controller-id", + description: + "The resource ID of the fabric controller that has one to one mapping with the cluster manager", + args: { name: "fabric-controller-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--analytics-workspace-id", + description: + "The resource ID of the Log Analytics workspace that is used for the logs collection", + args: { name: "analytics-workspace-id" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--managed-resource-group-configuration", + description: + 'The configuration of the managed resource group associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "managed-resource-group-configuration" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the provided cluster manager", + options: [ + { + name: ["--cluster-manager-name", "--name", "-n"], + description: "The name of the cluster manager", + args: { name: "cluster-manager-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List cluster managers in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the properties of the provided cluster manager", + options: [ + { + name: ["--cluster-manager-name", "--name", "-n"], + description: "The name of the cluster manager", + args: { name: "cluster-manager-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update properties of the provided cluster manager, or update the tags assigned to the cluster manager. Properties and tag updates can be done independently", + options: [ + { + name: ["--cluster-manager-name", "--name", "-n"], + description: "The name of the cluster manager", + args: { name: "cluster-manager-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--cluster-manager-name", "--name", "-n"], + description: "The name of the cluster manager", + args: { name: "cluster-manager-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "kubernetescluster", + description: "Manage Kubernetes cluster", + subcommands: [ + { + name: "create", + description: + "Create a new Kubernetes cluster or update the properties of the existing one", + options: [ + { + name: "--control-plane-node-configuration", + description: + 'The defining characteristics of the control plane for this Kubernetes Cluster. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "control-plane-node-configuration" }, + isRequired: true, + }, + { + name: "--extended-location", + description: + 'The extended location of the cluster associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-location" }, + isRequired: true, + }, + { + name: "--initial-agent-pool-configurations", + description: + 'The agent pools that are created with this Kubernetes cluster for running critical system services and workloads. This data in this field is only used during creation, and the field will be empty following the creation of the Kubernetes Cluster. After creation, the management of agent pools is done using the agentPools sub-resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "initial-agent-pool-configurations" }, + isRequired: true, + }, + { + name: ["--kubernetes-cluster-name", "--name", "-n"], + description: "The name of the Kubernetes cluster", + args: { name: "kubernetes-cluster-name" }, + isRequired: true, + }, + { + name: "--kubernetes-version", + description: + "The Kubernetes version for this cluster. Accepts n.n, n.n.n, and n.n.n-n format. The interpreted version used will be resolved into this field after creation or update", + args: { name: "kubernetes-version" }, + isRequired: true, + }, + { + name: "--network-configuration", + description: + 'The configuration of the Kubernetes cluster networking, including the attachment of networks that span the cluster. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "network-configuration" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aad-configuration", + description: + 'The Azure Active Directory Integration properties. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "aad-configuration" }, + }, + { + name: "--admin-username", + description: + "The user name for the administrator that will be applied to the operating systems that run Kubernetes nodes. If not supplied, a user name will be chosen by the service", + args: { name: "admin-username" }, + }, + { + name: "--generate-ssh-keys", + description: + "Generate SSH public and private key files if missing. The keys will be stored under '~/.ssh'", + args: { + name: "generate-ssh-keys", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--managed-resource-group-configuration", + description: + 'The configuration of the managed resource group associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "managed-resource-group-configuration" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ssh-dest-key-path", + description: + 'The list of space-separated paths to ssh public keys. A file path can be provided or a directory. If a directory is provided will attempt to load all the public keys (.pub) found. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ssh-dest-key-path" }, + }, + { + name: "--ssh-key-values", + description: + 'The list of space-separated SSH public keys. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ssh-key-values" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the provided Kubernetes cluster", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--kubernetes-cluster-name", "--name", "-n"], + description: "The name of the Kubernetes cluster", + args: { name: "kubernetes-cluster-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List Kubernetes clusters in the provided subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "restart-node", + description: "Restart a targeted node of a Kubernetes cluster", + options: [ + { + name: "--node-name", + description: "The name of the node to restart", + args: { name: "node-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--kubernetes-cluster-name", "--name", "-n"], + description: "The name of the Kubernetes cluster", + args: { name: "kubernetes-cluster-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get properties of the provided the Kubernetes cluster", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--kubernetes-cluster-name", "--name", "-n"], + description: "The name of the Kubernetes cluster", + args: { name: "kubernetes-cluster-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the properties of the provided Kubernetes cluster, or update the tags associated with the Kubernetes cluster. Properties and tag updates can be done independently", + options: [ + { + name: "--control-plane-node-configuration", + description: + 'The defining characteristics of the control plane that can be patched for this Kubernetes cluster. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "control-plane-node-configuration" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--kubernetes-cluster-name", "--name", "-n"], + description: "The name of the Kubernetes cluster", + args: { name: "kubernetes-cluster-name" }, + }, + { + name: "--kubernetes-version", + description: + "The Kubernetes version for this cluster. Accepts n.n, n.n.n, and n.n.n-n format. The interpreted version used will be resolved into this field after creation or update", + args: { name: "kubernetes-version" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--kubernetes-cluster-name", "--name", "-n"], + description: "The name of the Kubernetes cluster", + args: { name: "kubernetes-cluster-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "agentpool", + description: "Manage Kubernetes cluster's agent pool", + subcommands: [ + { + name: "create", + description: + "Create a new Kubernetes cluster agent pool or update the properties of the existing one", + options: [ + { + name: ["--agent-pool-name", "--name", "-n"], + description: "The name of the Kubernetes cluster agent pool", + args: { name: "agent-pool-name" }, + isRequired: true, + }, + { + name: "--count", + description: + "The number of virtual machines that use this configuration", + args: { name: "count" }, + isRequired: true, + }, + { + name: "--kubernetes-cluster-name", + description: "The name of the Kubernetes cluster", + args: { name: "kubernetes-cluster-name" }, + isRequired: true, + }, + { + name: "--mode", + description: + "The selection of how this agent pool is utilized, either as a system pool or a user pool. System pools run the features and critical services for the Kubernetes Cluster, while user pools are dedicated to user workloads. Every Kubernetes cluster must contain at least one system node pool with at least one node", + args: { + name: "mode", + suggestions: ["NotApplicable", "System", "User"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-sku-name", + description: + "The name of the VM SKU that determines the size of resources allocated for node VMs", + args: { name: "vm-sku-name" }, + isRequired: true, + }, + { + name: "--admin-username", + description: + "The user name for the administrator that will be applied to the operating systems that run Kubernetes nodes. If not supplied, a user name will be chosen by the service", + args: { name: "admin-username" }, + }, + { + name: "--agent-options", + description: + 'The configurations that will be applied to each agent in this agent pool. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "agent-options" }, + }, + { + name: "--attached-network-configuration", + description: + 'The configuration of networks being attached to the agent pool for use by the workloads that run on this Kubernetes cluster. These networks are in addition to the networks connected in the Kubernetes cluster attached network configuration. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "attached-network-configuration" }, + }, + { + name: "--availability-zones", + description: + 'The list of availability zones of the Network Cloud cluster used for the provisioning of nodes in this agent pool. If not specified, all availability zones will be used. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "availability-zones" }, + }, + { + name: "--extended-location", + description: + 'The extended location of the cluster associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-location" }, + }, + { + name: "--generate-ssh-keys", + description: + "Generate SSH public and private key files if missing. The keys will be stored under '~/.ssh'", + args: { + name: "generate-ssh-keys", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--labels", + description: + 'The labels applied to the nodes in this agent pool. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "labels" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ssh-dest-key-path", + description: + 'The list of space-separated paths to ssh public keys. A file path can be provided or a directory. If a directory is provided will attempt to load all the public keys (.pub) found. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ssh-dest-key-path" }, + }, + { + name: "--ssh-key-values", + description: + 'The list of space-separated SSH public keys. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ssh-key-values" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--taints", + description: + 'The taints applied to the nodes in this agent pool. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "taints" }, + }, + { + name: "--upgrade-settings", + description: + 'The configuration of the agent pool. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "upgrade-settings" }, + }, + ], + }, + { + name: "delete", + description: "Delete the provided Kubernetes cluster agent pool", + options: [ + { + name: ["--agent-pool-name", "--name", "-n"], + description: "The name of the Kubernetes cluster agent pool", + args: { name: "agent-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kubernetes-cluster-name", + description: "The name of the Kubernetes cluster", + args: { name: "kubernetes-cluster-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List agent pools for the provided Kubernetes cluster", + options: [ + { + name: "--kubernetes-cluster-name", + description: "The name of the Kubernetes cluster", + args: { name: "kubernetes-cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get properties of the provided Kubernetes cluster agent pool", + options: [ + { + name: ["--agent-pool-name", "--name", "-n"], + description: "The name of the Kubernetes cluster agent pool", + args: { name: "agent-pool-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kubernetes-cluster-name", + description: "The name of the Kubernetes cluster", + args: { name: "kubernetes-cluster-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the properties of the provided Kubernetes cluster agent pool, or update the tags associated with the Kubernetes cluster agent pool. Properties and tag updates can be done independently", + options: [ + { + name: ["--agent-pool-name", "--name", "-n"], + description: "The name of the Kubernetes cluster agent pool", + args: { name: "agent-pool-name" }, + }, + { + name: "--count", + description: + "The number of virtual machines that use this configuration", + args: { name: "count" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kubernetes-cluster-name", + description: "The name of the Kubernetes cluster", + args: { name: "kubernetes-cluster-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--upgrade-settings", + description: + 'The configuration of the agent pool. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "upgrade-settings" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--agent-pool-name", "--name", "-n"], + description: "The name of the Kubernetes cluster agent pool", + args: { name: "agent-pool-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--kubernetes-cluster-name", + description: "The name of the Kubernetes cluster", + args: { name: "kubernetes-cluster-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "l2network", + description: "Manage layer 2 (l2) network", + subcommands: [ + { + name: "create", + description: + "Create a new layer 2 (L2) network or update the properties of the existing network", + options: [ + { + name: "--extended-location", + description: + 'The extended location of the cluster associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-location" }, + isRequired: true, + }, + { + name: "--l2-isolation-domain-id", + description: + "The resource ID of the Network Fabric l2IsolationDomain", + args: { name: "l2-isolation-domain-id" }, + isRequired: true, + }, + { + name: ["--l2-network-name", "--name", "-n"], + description: "The name of the L2 network", + args: { name: "l2-network-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--interface-name", + description: + "The default interface name for this L2 network in the virtual machine. This name can be overridden by the name supplied in the network attachment configuration of that virtual machine", + args: { name: "interface-name" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the provided layer 2 (L2) network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--l2-network-name", "--name", "-n"], + description: "The name of the L2 network", + args: { name: "l2-network-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List layer 2 (L2) networks in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get properties of the provided layer 2 (L2) network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--l2-network-name", "--name", "-n"], + description: "The name of the L2 network", + args: { name: "l2-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update tags associated with the provided layer 2 (L2) network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--l2-network-name", "--name", "-n"], + description: "The name of the L2 network", + args: { name: "l2-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--l2-network-name", "--name", "-n"], + description: "The name of the L2 network", + args: { name: "l2-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "l3network", + description: "Manage layer 3 (l3) network", + subcommands: [ + { + name: "create", + description: + "Create a new layer 3 (L3) network or update the properties of the existing network", + options: [ + { + name: "--extended-location", + description: + 'The extended location of the cluster associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-location" }, + isRequired: true, + }, + { + name: "--l3-isolation-domain-id", + description: + "The resource ID of the Network Fabric l3IsolationDomain", + args: { name: "l3-isolation-domain-id" }, + isRequired: true, + }, + { + name: ["--l3-network-name", "--name", "-n"], + description: "The name of the L3 network", + args: { name: "l3-network-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vlan", + description: + "The VLAN from the l3IsolationDomain that is used for this network", + args: { name: "vlan" }, + isRequired: true, + }, + { + name: "--interface-name", + description: + "The default interface name for this L3 network in the virtual machine. This name can be overridden by the name supplied in the network attachment configuration of that virtual machine", + args: { name: "interface-name" }, + }, + { + name: "--ip-allocation-type", + description: + 'The type of the IP address allocation, defaulted to "DualStack"', + args: { + name: "ip-allocation-type", + suggestions: ["DualStack", "IPV4", "IPV6"], + }, + }, + { + name: "--ipv4-connected-prefix", + description: + "The IPV4 prefix (CIDR) assigned to this L3 network. Required when the IP allocation type is IPV4 or DualStack", + args: { name: "ipv4-connected-prefix" }, + }, + { + name: "--ipv6-connected-prefix", + description: + "The IPV6 prefix (CIDR) assigned to this L3 network. Required when the IP allocation type is IPV6 or DualStack", + args: { name: "ipv6-connected-prefix" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the provided layer 3 (L3) network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--l3-network-name", "--name", "-n"], + description: "The name of the L3 network", + args: { name: "l3-network-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List layer 3 (L3) networks in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get properties of the provided layer 3 (L3) network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--l3-network-name", "--name", "-n"], + description: "The name of the L3 network", + args: { name: "l3-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update tags associated with the provided layer 3 (L3) network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--l3-network-name", "--name", "-n"], + description: "The name of the L3 network", + args: { name: "l3-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--l3-network-name", "--name", "-n"], + description: "The name of the L3 network", + args: { name: "l3-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "rack", + description: "Manage rack", + subcommands: [ + { + name: "list", + description: + "List racks in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get properties of the provided rack", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--rack-name", "--name", "-n"], + description: "The name of the rack", + args: { name: "rack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update properties of the provided rack, or update the tags associated with the rack. Properties and tag updates can be done independently", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--rack-name", "--name", "-n"], + description: "The name of the rack", + args: { name: "rack-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--rack-location", + description: + "The free-form description of the rack location. (e.g. “DTN Datacenter, Floor 3, Isle 9, Rack 2B”)", + args: { name: "rack-location" }, + }, + { + name: "--rack-serial-number", + description: "The globally unique identifier for the rack", + args: { name: "rack-serial-number" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--rack-name", "--name", "-n"], + description: "The name of the rack", + args: { name: "rack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "racksku", + description: "Manage rack SKU", + subcommands: [ + { + name: "list", + description: "List rack SKUs in the provided subscription", + }, + { + name: "show", + description: "Get the properties of the provided rack SKU", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--rack-sku-name", "--name", "-n"], + description: "The name of the rack SKU", + args: { name: "rack-sku-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "storageappliance", + description: "Manage storage appliance", + subcommands: [ + { + name: "disable-remote-vendor-management", + description: + "Disable remote vendor management of the provided storage appliance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--storage-appliance-name", "--name", "-n"], + description: "The name of the storage appliance", + args: { name: "storage-appliance-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "enable-remote-vendor-management", + description: + "Enable remote vendor management of the provided storage appliance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--storage-appliance-name", "--name", "-n"], + description: "The name of the storage appliance", + args: { name: "storage-appliance-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List storage appliances in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get properties of the provided storage appliance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--storage-appliance-name", "--name", "-n"], + description: "The name of the storage appliance", + args: { name: "storage-appliance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update properties of the provided storage appliance, or update tags associated with the storage appliance Properties and tag updates can be done independently", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--storage-appliance-name", "--name", "-n"], + description: "The name of the storage appliance", + args: { name: "storage-appliance-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--serial-number", + description: "The serial number for the storage appliance", + args: { name: "serial-number" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--storage-appliance-name", "--name", "-n"], + description: "The name of the storage appliance", + args: { name: "storage-appliance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "trunkednetwork", + description: "Manage trunked network", + subcommands: [ + { + name: "create", + description: + "Create a new trunked network or update the properties of the existing trunked network", + options: [ + { + name: "--extended-location", + description: + 'The extended location of the cluster associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-location" }, + isRequired: true, + }, + { + name: "--isolation-domain-ids", + description: + 'The list of resource IDs representing the Network Fabric isolation domains. It can be any combination of l2IsolationDomain and l3IsolationDomain resources. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "isolation-domain-ids" }, + isRequired: true, + }, + { + name: ["--trunked-network-name", "--name", "-n"], + description: "The name of the trunked network", + args: { name: "trunked-network-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vlans", + description: + 'The list of vlans that are selected from the isolation domains for trunking. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "vlans" }, + isRequired: true, + }, + { + name: "--interface-name", + description: + "The default interface name for this trunked network in the virtual machine. This name can be overridden by the name supplied in the network attachment configuration of that virtual machine", + args: { name: "interface-name" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the provided trunked network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--trunked-network-name", "--name", "-n"], + description: "The name of the trunked network", + args: { name: "trunked-network-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List trunked networks in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get properties of the provided trunked network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--trunked-network-name", "--name", "-n"], + description: "The name of the trunked network", + args: { name: "trunked-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update tags associated with the provided trunked network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--trunked-network-name", "--name", "-n"], + description: "The name of the trunked network", + args: { name: "trunked-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--trunked-network-name", "--name", "-n"], + description: "The name of the trunked network", + args: { name: "trunked-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "virtualmachine", + description: "Manage virtual machine", + subcommands: [ + { + name: "create", + description: + "Create a new virtual machine or update the properties of the existing virtual machine", + options: [ + { + name: "--admin-username", + description: + "The name of the administrator to which the ssh public keys will be added into the authorized keys", + args: { name: "admin-username" }, + isRequired: true, + }, + { + name: ["--cloud-services-network-attachment", "--csn"], + description: + 'The cloud service network that provides platform-level services for the virtual machine. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "cloud-services-network-attachment" }, + isRequired: true, + }, + { + name: "--cpu-cores", + description: "The number of CPU cores in the virtual machine", + args: { name: "cpu-cores" }, + isRequired: true, + }, + { + name: "--extended-location", + description: + 'The extended location of the cluster associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-location" }, + isRequired: true, + }, + { + name: ["--memory-size-gb", "--memory-size"], + description: "The memory size of the virtual machine in GB", + args: { name: "memory-size-gb" }, + isRequired: true, + }, + { + name: ["--virtual-machine-name", "--name", "-n"], + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-profile", + description: + 'The storage profile that specifies size and other parameters about the disks related to the virtual machine. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "storage-profile" }, + isRequired: true, + }, + { + name: "--vm-image", + description: + "The virtual machine image that is currently provisioned to the OS disk, using the full url and tag notation used to pull the image", + args: { name: "vm-image" }, + isRequired: true, + }, + { + name: "--boot-method", + description: "Selects the boot method for the virtual machine", + args: { name: "boot-method", suggestions: ["BIOS", "UEFI"] }, + }, + { + name: "--generate-ssh-keys", + description: + "Generate SSH public and private key files if missing. The keys will be stored under '~/.ssh'", + args: { + name: "generate-ssh-keys", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: ["--network-attachments", "--na"], + description: + 'The list of network attachments to the virtual machine. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "network-attachments" }, + }, + { + name: ["--network-data", "--nd"], + description: "The Base64 encoded cloud-init network data", + args: { name: "network-data" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--placement-hints", "--ph"], + description: + 'The scheduling hints for the virtual machine. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "placement-hints" }, + }, + { + name: "--ssh-dest-key-path", + description: + 'The list of space-separated paths to ssh public keys. A file path can be provided or a directory. If a directory is provided will attempt to load all the public keys (.pub) found. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ssh-dest-key-path" }, + }, + { + name: "--ssh-key-values", + description: + 'The list of space-separated SSH public keys. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ssh-key-values" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: ["--user-data", "--ud"], + description: "The Base64 encoded cloud-init user data", + args: { name: "user-data" }, + }, + { + name: "--vm-device-model", + description: "The type of the device model to use", + args: { name: "vm-device-model", suggestions: ["T1", "T2"] }, + }, + { + name: ["--vm-image-repository-credentials", "--vmi-creds"], + description: + 'The credentials used to login to the image repository that has access to the specified image. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "vm-image-repository-credentials" }, + }, + ], + }, + { + name: "delete", + description: "Delete the provided virtual machine", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--virtual-machine-name", "--name", "-n"], + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List virtual machines in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "power-off", + description: "Power off the provided virtual machine", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--virtual-machine-name", "--name", "-n"], + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-shutdown", + description: + "The indicator of whether to skip the graceful OS shutdown and power off the virtual machine immediately", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reimage", + description: "Reimage the provided virtual machine", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--virtual-machine-name", "--name", "-n"], + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restart", + description: "Restart the provided virtual machine", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--virtual-machine-name", "--name", "-n"], + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get properties of the provided virtual machine", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--virtual-machine-name", "--name", "-n"], + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start the provided virtual machine", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--virtual-machine-name", "--name", "-n"], + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the properties of the provided virtual machine, or update the tags associated with the virtual machine. Properties and tag updates can be done independently", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--virtual-machine-name", "--name", "-n"], + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: ["--vm-image-repository-credentials", "--vmi-creds"], + description: + 'The credentials used to login to the image repository that has access to the specified image. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "vm-image-repository-credentials" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--virtual-machine-name", "--name", "-n"], + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "console", + description: "Manage virtual machine's console", + subcommands: [ + { + name: "create", + description: + "Create a new virtual machine console or update the properties of the existing virtual machine console", + options: [ + { + name: "--enabled", + description: + "The indicator of whether the console access is enabled", + args: { name: "enabled", suggestions: ["False", "True"] }, + isRequired: true, + }, + { + name: "--extended-location", + description: + 'The extended location of the cluster manager associated with the cluster this virtual machine is created on. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ssh-public-key", + description: + 'The SSH public key that will be provisioned for user access. The user is expected to have the corresponding SSH private key for logging in. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ssh-public-key" }, + isRequired: true, + }, + { + name: "--virtual-machine-name", + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + isRequired: true, + }, + { + name: "--expiration", + description: + "The date and time after which the key will be disallowed access", + args: { name: "expiration" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the provided virtual machine console", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--virtual-machine-name", + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List consoles of the virtual machine", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--virtual-machine-name", + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get properties of the provided virtual machine console", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--virtual-machine-name", + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + }, + ], + }, + { + name: "update", + description: + "Update the properties of the provided virtual machine console, or update the tags associated with the virtual machine console. Properties and tag updates can be done independently", + options: [ + { + name: "--enabled", + description: + "The indicator of whether the console access is enabled", + args: { name: "enabled", suggestions: ["False", "True"] }, + }, + { + name: "--expiration", + description: + "The date and time after which the key will be disallowed access", + args: { name: "expiration" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--ssh-public-key", + description: + 'The SSH public key that will be provisioned for user access. The user is expected to have the corresponding SSH private key for logging in. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ssh-public-key" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--virtual-machine-name", + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--console-name", "--name", "-n"], + description: "The name of the virtual machine console", + args: { name: "console-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--virtual-machine-name", + description: "The name of the virtual machine", + args: { name: "virtual-machine-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "volume", + description: "Manage volume", + subcommands: [ + { + name: "create", + description: + "Create a new volume or update the properties of the existing one", + options: [ + { + name: "--extended-location", + description: + 'The extended location of the cluster associated with the resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-location" }, + isRequired: true, + }, + { + name: ["--volume-name", "--name", "-n"], + description: "The name of the volume", + args: { name: "volume-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--size-mib", "--size"], + description: + "The size of the allocation for this volume in Mebibytes", + args: { name: "size-mib" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the provided volume", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n"], + description: "The name of the volume", + args: { name: "volume-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List volumes in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get properties of the provided volume", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n"], + description: "The name of the volume", + args: { name: "volume-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update tags associated with the provided volume", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--volume-name", "--name", "-n"], + description: "The name of the volume", + args: { name: "volume-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'The Azure resource tags that will replace the existing ones. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--volume-name", "--name", "-n"], + description: "The name of the volume", + args: { name: "volume-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/networkfabric.ts b/src/az/2.53.0/networkfabric.ts new file mode 100644 index 000000000000..6f52a6a6de1f --- /dev/null +++ b/src/az/2.53.0/networkfabric.ts @@ -0,0 +1,6121 @@ +const completion: Fig.Spec = { + name: "networkfabric", + description: "Manage Azure Network Fabric Management Service API", + subcommands: [ + { + name: "acl", + description: "Manage Access Control List Resource", + subcommands: [ + { + name: "create", + description: "Create a Access Control List resource", + options: [ + { + name: "--configuration-type", + description: + "Input method to configure Access Control List. Example: File", + args: { + name: "configuration-type", + suggestions: ["File", "Inline"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the Access Control List", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--acls-url", + description: "Access Control List file URL", + args: { name: "acls-url" }, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--default-action", + description: + "Default action that needs to be applied when no condition is matched. Example: Permit", + args: { name: "default-action", suggestions: ["Deny", "Permit"] }, + }, + { + name: "--dynamic-match-conf", + description: + 'List of dynamic match configurations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dynamic-match-conf" }, + }, + { + name: ["--location", "-l"], + description: + "Location of Azure region When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--match-conf", + description: + 'List of match configurations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "match-conf" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Access Control List resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Access Control List", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all Access Control Lists in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of the provided Access Control List resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Access Control List", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Access Control List resource", + options: [ + { + name: "--acls-url", + description: "Access Control List file URL", + args: { name: "acls-url" }, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--configuration-type", + description: + "Input method to configure Access Control List. Example: File", + args: { + name: "configuration-type", + suggestions: ["File", "Inline"], + }, + }, + { + name: "--default-action", + description: + "Default action that needs to be applied when no condition is matched. Example: Permit", + args: { name: "default-action", suggestions: ["Deny", "Permit"] }, + }, + { + name: "--dynamic-match-conf", + description: + 'List of dynamic match configurations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dynamic-match-conf" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--match-conf", + description: + 'List of match configurations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "match-conf" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Access Control List", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Access Control List", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "controller", + description: "Manage Network Fabric Controller Resource", + subcommands: [ + { + name: "create", + description: "Create a Network Fabric Controller resource", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the Network Fabric Controller", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--infra-er-connections", + description: + 'Infra ER connections to manage infra resources. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "infra-er-connections" }, + }, + { + name: "--ipv4-address-space", + description: "IPv4 Network Fabric Controller Address Space", + args: { name: "ipv4-address-space" }, + }, + { + name: "--ipv6-address-space", + description: "IPv6 Network Fabric Controller Address Space", + args: { name: "ipv6-address-space" }, + }, + { + name: "--is-workload-management-network-enabled", + description: + "A workload management network is required for all the tenant (workload) traffic. This traffic is only dedicated for Tenant workloads which are required to access internet or any other MSFT/Public endpoints. Default value is True", + args: { + name: "is-workload-management-network-enabled", + suggestions: ["False", "True"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location of Azure region When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: ["--managed-resource-group-configuration", "--mrg"], + description: + 'Managed Resource Group configuration properties. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "managed-resource-group-configuration" }, + }, + { + name: "--nfc-sku", + description: "Network Fabric Controller SKU", + args: { + name: "nfc-sku", + suggestions: ["Basic", "HighPerformance", "Standard"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--workload-er-connections", + description: + 'Workload management Network for hosting Proxy, NTP and DNS for workloads. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "workload-er-connections" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Network Fabric Controller resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Fabric Controller", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all Network Fabric Controllers in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of the provided Network Fabric Controller resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Fabric Controller", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Network Fabric Controller resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--infra-er-connections", + description: + 'Infra ER connections to manage infra resources. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "infra-er-connections" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Fabric Controller", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--workload-er-connections", + description: + 'As part of an update, the workload ExpressRoute CircuitID should be provided to create and Provision a NFC. This Express route is dedicated for Workload services. (This is a Mandatory attribute). Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "workload-er-connections" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Fabric Controller", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "device", + description: "Manage Network Device Resource", + subcommands: [ + { + name: "list", + description: + "List all Network Devices in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of the provided Network Device resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Device", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Network Device resource", + options: [ + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--host-name", + description: + "The Host Name of the device. All Network Device names should follow the format --. Example: AustinNF-AR-CE1", + args: { name: "host-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Device", + args: { name: "resource-name" }, + }, + { + name: "--serial-number", + description: + "Serial number of the device. Format of serial Number - Make;Model;HardwareRevisionId;SerialNumber. Example: Arista;DCS-7280DR3-24;12.05;JPE21116969", + args: { name: "serial-number" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Device", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "externalnetwork", + description: "Manage External Network Resource", + subcommands: [ + { + name: "create", + description: "Create a External Network resource", + options: [ + { + name: ["--l3-isolation-domain-name", "--l3domain"], + description: "Name of the L3 Isolation Domain", + args: { name: "l3-isolation-domain-name" }, + isRequired: true, + }, + { + name: "--peering-option", + description: "Peering option list", + args: { + name: "peering-option", + suggestions: ["OptionA", "OptionB"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the External Network", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--export-route-policy", + description: + 'Export Route Policy either IPv4 or IPv6. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "export-route-policy" }, + }, + { + name: "--export-route-policy-id", + description: + "ARM Resource ID of the RoutePolicy. This is used for the backward compatibility", + args: { name: "export-route-policy-id" }, + }, + { + name: "--import-route-policy", + description: + 'Import Route Policy either IPv4 or IPv6. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "import-route-policy" }, + }, + { + name: "--import-route-policy-id", + description: + "ARM Resource ID of the RoutePolicy. This is used for the backward compatibility", + args: { name: "import-route-policy-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--option-a-properties", + description: + 'Option A properties object. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "option-a-properties" }, + }, + { + name: "--option-b-properties", + description: + 'Option B properties object. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "option-b-properties" }, + }, + ], + }, + { + name: "delete", + description: "Delete the External Network resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--l3-isolation-domain-name", "--l3domain"], + description: "Name of the L3 Isolation Domain", + args: { name: "l3-isolation-domain-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the External Network", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all External Networks in the provided resource group", + options: [ + { + name: ["--l3-isolation-domain-name", "--l3domain"], + description: "Name of the L3 Isolation Domain", + args: { name: "l3-isolation-domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of the provided External Network resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--l3-isolation-domain-name", "--l3domain"], + description: "Name of the L3 Isolation Domain", + args: { name: "l3-isolation-domain-name" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the External Network", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the External Networks resource", + options: [ + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--export-route-policy", + description: + 'Export Route Policy either IPv4 or IPv6. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "export-route-policy" }, + }, + { + name: "--export-route-policy-id", + description: + "ARM Resource ID of the RoutePolicy. This is used for the backward compatibility", + args: { name: "export-route-policy-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--import-route-policy", + description: + 'Import Route Policy either IPv4 or IPv6. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "import-route-policy" }, + }, + { + name: "--import-route-policy-id", + description: + "ARM Resource ID of the RoutePolicy. This is used for the backward compatibility", + args: { name: "import-route-policy-id" }, + }, + { + name: ["--l3-isolation-domain-name", "--l3domain"], + description: "Name of the L3 Isolation Domain", + args: { name: "l3-isolation-domain-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--option-a-properties", + description: + 'Option A properties object. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "option-a-properties" }, + }, + { + name: "--option-b-properties", + description: + 'Option B properties object. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "option-b-properties" }, + }, + { + name: "--peering-option", + description: "Peering option list", + args: { + name: "peering-option", + suggestions: ["OptionA", "OptionB"], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the External Network", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--l3-isolation-domain-name", "--l3domain"], + description: "Name of the L3 Isolation Domain", + args: { name: "l3-isolation-domain-name" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the External Network", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "fabric", + description: "Manage Network Fabric Resource", + subcommands: [ + { + name: "commit-configuration", + description: + "Atomic update of the given Network Fabric instance. Sync update of NFA resources at Fabric level", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Fabric", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a Network Fabric resource", + options: [ + { + name: "--fabric-asn", + description: + "ASN of CE devices for CE/PE connectivity. The value should be between 1 to 4294967295. Example: 65123", + args: { name: "fabric-asn" }, + isRequired: true, + }, + { + name: "--ipv4-prefix", + description: + "IPv4Prefix for Management Network. Example: 10.1.0.0/19", + args: { name: "ipv4-prefix" }, + isRequired: true, + }, + { + name: "--managed-network-config", + description: + 'Configuration to be used to setup the management network. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "managed-network-config" }, + isRequired: true, + }, + { + name: "--nf-sku", + description: + "Supported Network Fabric SKU. The SKU determines whether it is a single / multi rack Network Fabric", + args: { name: "nf-sku" }, + isRequired: true, + }, + { + name: "--nfc-id", + description: + "Azure resource ID for the NetworkFabricController the NetworkFabric belongs", + args: { name: "nfc-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the Network Fabric", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--server-count-per-rack", + description: "Number of servers.Possible values are from 1-16", + args: { name: "server-count-per-rack" }, + isRequired: true, + }, + { + name: "--ts-config", + description: + 'Network and credentials configuration currently applied to terminal server. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ts-config" }, + isRequired: true, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--ipv6-prefix", + description: + "IPv6Prefix for Management Network. Example: 3FFE:FFFF:0:CD40::/59", + args: { name: "ipv6-prefix" }, + }, + { + name: ["--location", "-l"], + description: + "Location of Azure region When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--rack-count", + description: + "Number of compute racks associated to Network Fabric. Possible values are from 1-8", + args: { name: "rack-count" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Network Fabric resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Fabric", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "deprovision", + description: + "Deprovisions the underlying resources in the given Network Fabric instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Fabric", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all Network Fabrics in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "provision", + description: + "Provisions the underlying resources in the given Network Fabric instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Fabric", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show details of the provided Network Fabric resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Fabric", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Network Fabric resource", + options: [ + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--fabric-asn", + description: + "ASN of CE devices for CE/PE connectivity. The value should be between 1 to 4294967295. Example: 65123", + args: { name: "fabric-asn" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ipv4-prefix", + description: + "IPv4Prefix for Management Network. Example: 10.1.0.0/19", + args: { name: "ipv4-prefix" }, + }, + { + name: "--ipv6-prefix", + description: + "IPv6Prefix for Management Network. Example: 3FFE:FFFF:0:CD40::/59", + args: { name: "ipv6-prefix" }, + }, + { + name: "--managed-network-config", + description: + 'Configuration to be used to setup the management network. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "managed-network-config" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--rack-count", + description: + "Number of compute racks associated to Network Fabric. Possible values are from 1-8", + args: { name: "rack-count" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Fabric", + args: { name: "resource-name" }, + }, + { + name: "--server-count-per-rack", + description: "Number of servers.Possible values are from 1-16", + args: { name: "server-count-per-rack" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--ts-config", + description: + 'Network and credentials configuration currently applied to terminal server. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ts-config" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Fabric", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "interface", + description: "Manage Network Interface Resource", + subcommands: [ + { + name: "delete", + description: "Delete the Network Interface resource", + options: [ + { + name: ["--network-device-name", "--device"], + description: "Name of the Network Device", + args: { name: "network-device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Interface", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all Network Interfaces in the provided resource group", + options: [ + { + name: ["--network-device-name", "--device"], + description: "Name of the Network Device", + args: { name: "network-device-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show details of the provided Network Interface resource", + options: [ + { + name: ["--network-device-name", "--device"], + description: "Name of the Network Device", + args: { name: "network-device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Interface", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update-admin-state", + description: "Update the admin state of the Network Interface", + options: [ + { + name: ["--network-device-name", "--device"], + description: "Name of the Network Device", + args: { name: "network-device-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-ids", + description: + 'Network Fabrics or Network Rack resource Id. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "resource-ids" }, + }, + { + name: "--resource-name", + description: "Name of the Network Interface", + args: { name: "resource-name" }, + }, + { + name: "--state", + description: "Administrative state", + args: { name: "state", suggestions: ["Disable", "Enable"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--network-device-name", "--device"], + description: "Name of the Network Device", + args: { name: "network-device-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Interface", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "internalnetwork", + description: "Manage Internal Network Resource", + subcommands: [ + { + name: "create", + description: "Create a Internal Network resource", + options: [ + { + name: ["--l3-isolation-domain-name", "--l3domain"], + description: "Name of the L3 Isolation Domain", + args: { name: "l3-isolation-domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the Internal Network", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--vlan-id", + description: + "Vlan identifier. The value should be between 100-4094. Example: 1001", + args: { name: "vlan-id" }, + isRequired: true, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--bgp-configuration", + description: + 'BGP configuration properties. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "bgp-configuration" }, + }, + { + name: "--connected-ipv4-subnets", + description: + 'List of Connected IPv4 Subnets. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "connected-ipv4-subnets" }, + }, + { + name: "--connected-ipv6-subnets", + description: + 'List of connected IPv6 Subnets. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "connected-ipv6-subnets" }, + }, + { + name: "--egress-acl-id", + description: "Egress Acl ARM resource ID", + args: { name: "egress-acl-id" }, + }, + { + name: "--export-route-policy", + description: + 'Export Route Policy either IPv4 or IPv6. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "export-route-policy" }, + }, + { + name: "--export-route-policy-id", + description: + "ARM Resource ID of the RoutePolicy. This is used for the backward compatibility", + args: { name: "export-route-policy-id" }, + }, + { + name: "--extension", + description: + "Internal Network Extension type. Default value is NoExtension. Example: NoExtension", + args: { name: "extension", suggestions: ["NPB", "NoExtension"] }, + }, + { + name: "--import-route-policy", + description: + 'Import Route Policy either IPv4 or IPv6. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "import-route-policy" }, + }, + { + name: "--import-route-policy-id", + description: + "ARM Resource ID of the RoutePolicy. This is used for the backward compatibility", + args: { name: "import-route-policy-id" }, + }, + { + name: "--ingress-acl-id", + description: "Ingress Acl ARM resource ID", + args: { name: "ingress-acl-id" }, + }, + { + name: "--is-monitoring-enabled", + description: + "To check whether monitoring of internal network is enabled or not. Default value is False. Example: False", + args: { + name: "is-monitoring-enabled", + suggestions: ["False", "True"], + }, + }, + { + name: "--mtu", + description: + "Maximum transmission unit. The value should be between 64 to 9200. Default value is 1500. Example: 1500", + args: { name: "mtu" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--static-route-configuration", + description: + 'Static Route Configuration properties. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "static-route-configuration" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Internal Network resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--l3-isolation-domain-name", "--l3domain"], + description: "Name of the L3 Isolation Domain", + args: { name: "l3-isolation-domain-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Internal Network", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all Internal Networks in the provided resource group", + options: [ + { + name: ["--l3-isolation-domain-name", "--l3domain"], + description: "Name of the L3 Isolation Domain", + args: { name: "l3-isolation-domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of the provided Internal Network resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--l3-isolation-domain-name", "--l3domain"], + description: "Name of the L3 Isolation Domain", + args: { name: "l3-isolation-domain-name" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Internal Network", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Internal Network resource", + options: [ + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--bgp-configuration", + description: + 'BGP configuration properties. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "bgp-configuration" }, + }, + { + name: "--connected-ipv4-subnets", + description: + 'List of Connected IPv4 Subnets. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "connected-ipv4-subnets" }, + }, + { + name: "--connected-ipv6-subnets", + description: + 'List of connected IPv6 Subnets. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "connected-ipv6-subnets" }, + }, + { + name: "--egress-acl-id", + description: "Egress Acl ARM resource ID", + args: { name: "egress-acl-id" }, + }, + { + name: "--export-route-policy", + description: + 'Export Route Policy either IPv4 or IPv6. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "export-route-policy" }, + }, + { + name: "--export-route-policy-id", + description: + "ARM Resource ID of the RoutePolicy. This is used for the backward compatibility", + args: { name: "export-route-policy-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--import-route-policy", + description: + 'Import Route Policy either IPv4 or IPv6. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "import-route-policy" }, + }, + { + name: "--import-route-policy-id", + description: + "ARM Resource ID of the RoutePolicy. This is used for the backward compatibility", + args: { name: "import-route-policy-id" }, + }, + { + name: "--ingress-acl-id", + description: "Ingress Acl ARM resource ID", + args: { name: "ingress-acl-id" }, + }, + { + name: "--is-monitoring-enabled", + description: + "To check whether monitoring of internal network is enabled or not. Default value is False. Example: False", + args: { + name: "is-monitoring-enabled", + suggestions: ["False", "True"], + }, + }, + { + name: ["--l3-isolation-domain-name", "--l3domain"], + description: "Name of the L3 Isolation Domain", + args: { name: "l3-isolation-domain-name" }, + }, + { + name: "--mtu", + description: + "Maximum transmission unit. The value should be between 64 to 9200. Default value is 1500. Example: 1500", + args: { name: "mtu" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Internal Network", + args: { name: "resource-name" }, + }, + { + name: "--static-route-configuration", + description: + 'Static Route Configuration properties. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "static-route-configuration" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--l3-isolation-domain-name", "--l3domain"], + description: "Name of the L3 Isolation Domain", + args: { name: "l3-isolation-domain-name" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Internal Network", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "internetgateway", + description: "Manage Internet Gateway Resource", + subcommands: [ + { + name: "list", + description: + "List all Internet Gateways in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of the provided Internet Gateway resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Internet Gateway", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Internet Gateway resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--internet-gateway-rule-id", + description: "ARM Resource ID of the Internet Gateway Rule", + args: { name: "internet-gateway-rule-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Internet Gateway", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Internet Gateway", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "internetgatewayrule", + description: "Manage Internet Gateway Rule Resource", + subcommands: [ + { + name: "create", + description: "Create an Internet Gateway Rule resource", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the Internet Gateway rule", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--rule-properties", + description: + 'Rules for the InternetGateways. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rule-properties" }, + isRequired: true, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: ["--location", "-l"], + description: + "Location of Azure region When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Internet Gateway Rule resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Internet Gateway rule", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all Internet Gateway Rules in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of the provided Internet Gateway Rule resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Internet Gateway rule", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Internet Gateway Rule resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Internet Gateway rule", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Internet Gateway rule", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "ipcommunity", + description: "Manage Ip Community Resource", + subcommands: [ + { + name: "create", + description: "Create a Ip Community resource", + options: [ + { + name: "--ip-comm-rules", + description: + 'List of IP Community Rules. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-comm-rules" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the IP Community", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: ["--location", "-l"], + description: + "Location of Azure region When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Ip Community resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the IP Community", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all Ip Communities in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of the provided Ip Community resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the IP Community", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update to update certain properties of the IP Community resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-comm-rules", + description: + 'List of IP Community Rules. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-comm-rules" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the IP Community", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the IP Community", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "ipextendedcommunity", + description: "Manage Ip Extended Community Resource", + subcommands: [ + { + name: "create", + description: "Create a Ip Extended Community resource", + options: [ + { + name: "--ip-ext-comm-rules", + description: + 'List of IP Extended Community Rules. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-ext-comm-rules" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the IP Extended Community", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: ["--location", "-l"], + description: + "Location of Azure region When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Ip Extended Community resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the IP Extended Community", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all Ip Extended Communities in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of the provided Ip Extended Community resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the IP Extended Community", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update to update certain properties of the IP Extended Community resource", + options: [ + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-ext-comm-rules", + description: + 'List of IP Extended Community Rules. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-ext-comm-rules" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the IP Extended Community", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the IP Extended Community", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "ipprefix", + description: "Manage Ip Prefix Resource", + subcommands: [ + { + name: "create", + description: "Create a Ip Prefix resource", + options: [ + { + name: "--ip-prefix-rules", + description: + 'The list of IP Prefix Rules. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-prefix-rules" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the IP Prefix", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: ["--location", "-l"], + description: + "Location of Azure region When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Ip Prefix resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the IP Prefix", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all Ip Prefixes in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of the provided Ip Prefix resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the IP Prefix", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update to update certain properties of the IP Prefix resource", + options: [ + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-prefix-rules", + description: + 'The list of IP Prefix Rules. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-prefix-rules" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the IP Prefix", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the IP Prefix", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "l2domain", + description: "Manage L2 Isolation Domain Resource", + subcommands: [ + { + name: "create", + description: "Create a L2 Isolation Domain resource", + options: [ + { + name: "--nf-id", + description: "ARM Resource ID of the Network Fabric", + args: { name: "nf-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the L2 Isolation Domain", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--vlan-id", + description: + "Vlan Identifier of the Network Fabric. The value should be between 100 to 4094. Example: 501", + args: { name: "vlan-id" }, + isRequired: true, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: ["--location", "-l"], + description: + "Location of Azure region When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--mtu", + description: + "Maximum transmission unit. The value should be between 64 to 9200. Default value is 1500. Example: 1500", + args: { name: "mtu" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the L2 Isolation Domain resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the L2 Isolation Domain", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all L2 Isolation Domains in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of the provided L2 Isolation Domain resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the L2 Isolation Domain", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the L2 Isolation Domain resource", + options: [ + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mtu", + description: + "Maximum transmission unit. The value should be between 64 to 9200. Default value is 1500. Example: 1500", + args: { name: "mtu" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the L2 Isolation Domain", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "update-admin-state", + description: + "Enables isolation domain across the fabric or on specified racks", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-ids", + description: + 'Network Fabrics or Network Rack resource Id. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "resource-ids" }, + }, + { + name: "--resource-name", + description: "Name of the L2 Isolation Domain", + args: { name: "resource-name" }, + }, + { + name: "--state", + description: "Administrative state", + args: { name: "state", suggestions: ["Disable", "Enable"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the L2 Isolation Domain", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "l3domain", + description: "Manage L3 Isolation Domain Resource", + subcommands: [ + { + name: "create", + description: "Create a L3 Isolation Domain resource", + options: [ + { + name: "--nf-id", + description: "ARM Resource ID of the Network Fabric", + args: { name: "nf-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the L3 Isolation Domain", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--aggregate-route-configuration", + description: + 'Aggregate route configurations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "aggregate-route-configuration" }, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--connected-subnet-route-policy", + description: + 'Connected Subnet RoutePolicy. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "connected-subnet-route-policy" }, + }, + { + name: ["--location", "-l"], + description: + "Location of Azure region When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--redistribute-connected-subnets", + description: + "Advertise Connected Subnets. Default value is True. Example: True", + args: { + name: "redistribute-connected-subnets", + suggestions: ["False", "True"], + }, + }, + { + name: "--redistribute-static-routes", + description: + "Advertise Static Routes. Default value is False. Example: True", + args: { + name: "redistribute-static-routes", + suggestions: ["False", "True"], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the L3 Isolation Domain resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the L3 Isolation Domain", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all L3 Isolation Domains in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of the provided L3 Isolation Domain resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the L3 Isolation Domain", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update to update certain properties of the L3 Isolation Domain resource", + options: [ + { + name: "--aggregate-route-configuration", + description: + 'Aggregate route configurations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "aggregate-route-configuration" }, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--connected-subnet-route-policy", + description: + 'Connected Subnet RoutePolicy. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "connected-subnet-route-policy" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--redistribute-connected-subnets", + description: + "Advertise Connected Subnets. Default value is True. Example: True", + args: { + name: "redistribute-connected-subnets", + suggestions: ["False", "True"], + }, + }, + { + name: "--redistribute-static-routes", + description: + "Advertise Static Routes. Default value is False. Example: True", + args: { + name: "redistribute-static-routes", + suggestions: ["False", "True"], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the L3 Isolation Domain", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "update-admin-state", + description: "Enables racks for this Isolation Domain", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-ids", + description: + 'Network Fabrics or Network Rack resource Id. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "resource-ids" }, + }, + { + name: "--resource-name", + description: "Name of the L3 Isolation Domain", + args: { name: "resource-name" }, + }, + { + name: "--state", + description: "Administrative state", + args: { name: "state", suggestions: ["Disable", "Enable"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the L3 Isolation Domain", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "neighborgroup", + description: "Manage Neighbor Group Resource", + subcommands: [ + { + name: "create", + description: "Create a Neighbor Group resource", + options: [ + { + name: "--destination", + description: + 'An array of destination IPv4 Addresses or IPv6 Addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the Neighbor Group", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: ["--location", "-l"], + description: + "Location of Azure region When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Neighbor Group resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Neighbor Group", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all Neighbor Groups in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of the provided Neighbor Group resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Neighbor Group", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Neighbor Group resource", + options: [ + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--destination", + description: + 'An array of destination IPv4 Addresses or IPv6 Addresses. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Neighbor Group", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Neighbor Group", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "nni", + description: "Manage Network To Network Interconnect Resource", + subcommands: [ + { + name: "create", + description: "Create a Network To Network Interconnect resource", + options: [ + { + name: ["--fabric-name", "--fabric"], + description: "Name of the Network Fabric", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the Network to Network Interconnect", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--use-option-b", + description: "Selection of option B for NNI. Example: True", + args: { name: "use-option-b", suggestions: ["False", "True"] }, + isRequired: true, + }, + { + name: "--egress-acl-id", + description: "Egress Acl ARM resource ID", + args: { name: "egress-acl-id" }, + }, + { + name: "--export-route-policy", + description: + 'Export Route Policy configuration. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "export-route-policy" }, + }, + { + name: "--import-route-policy", + description: + 'Import Route Policy configuration. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "import-route-policy" }, + }, + { + name: "--ingress-acl-id", + description: "Ingress Acl ARM resource ID", + args: { name: "ingress-acl-id" }, + }, + { + name: "--is-management-type", + description: + "Configuration to use NNI for Infrastructure Management. Default value is True. Example: True", + args: { + name: "is-management-type", + suggestions: ["False", "True"], + }, + }, + { + name: "--layer2-configuration", + description: + 'Common properties for Layer2 Configuration. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "layer2-configuration" }, + }, + { + name: "--nni-type", + description: + "Usage type of NNI. Default value is CE. Example: CE", + args: { name: "nni-type", suggestions: ["CE", "NPB"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--npb-static-route-configuration", + description: + 'NPB Static Route Configuration properties. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "npb-static-route-configuration" }, + }, + { + name: "--option-b-layer3-configuration", + description: + 'Common properties for Layer3Configuration. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "option-b-layer3-configuration" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Network To Network Interconnect resource", + options: [ + { + name: ["--fabric-name", "--fabric"], + description: "Name of the Network Fabric", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network to Network Interconnect", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all Network To Network Interconnects in the provided resource group", + options: [ + { + name: ["--fabric-name", "--fabric"], + description: "Name of the Network Fabric", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show details of the provided Network To Network Interconnect resource", + options: [ + { + name: ["--fabric-name", "--fabric"], + description: "Name of the Network Fabric", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network to Network Interconnect", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Network to Network interconnect resource", + options: [ + { + name: "--egress-acl-id", + description: "Egress Acl ARM resource ID", + args: { name: "egress-acl-id" }, + }, + { + name: "--export-route-policy", + description: + 'Export Route Policy information Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "export-route-policy" }, + }, + { + name: ["--fabric-name", "--fabric"], + description: "Name of the Network Fabric", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--import-route-policy", + description: + 'Import Route Policy information. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "import-route-policy" }, + }, + { + name: "--ingress-acl-id", + description: "Ingress Acl ARM resource ID", + args: { name: "ingress-acl-id" }, + }, + { + name: "--layer2-configuration", + description: + 'Common properties for Layer2Configuration. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "layer2-configuration" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--npb-static-route-configuration", + description: + 'NPB Static Route Configuration properties. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "npb-static-route-configuration" }, + }, + { + name: "--option-b-layer3-configuration", + description: + 'Common properties for Layer3Configuration. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "option-b-layer3-configuration" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network to Network Interconnect", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: ["--fabric-name", "--fabric"], + description: "Name of the Network Fabric", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network to Network Interconnect", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "npb", + description: "Manage Network Packet Broker Resource", + subcommands: [ + { + name: "list", + description: + "List all Network Packet Brokers in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of the provided Network Packet Broker resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Packet Broker", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "rack", + description: "Manage Network Rack Resource", + subcommands: [ + { + name: "list", + description: + "List all Network Racks in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of the provided Network Rack resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Rack", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "routepolicy", + description: "Manage Route Policy Resource", + subcommands: [ + { + name: "create", + description: "Create a Route Policy resource", + options: [ + { + name: "--nf-id", + description: "ARM Resource ID of the Network Fabric", + args: { name: "nf-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the Route Policy", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--statements", + description: + 'Route Policy statements. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "statements" }, + isRequired: true, + }, + { + name: "--address-family-type", + description: + "AddressFamilyType. This parameter decides whether the given ipv4 or ipv6 route policy. Default value is IPv4", + args: { + name: "address-family-type", + suggestions: ["IPv4", "IPv6"], + }, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--default-action", + description: + "Default action that needs to be applied when no condition is matched. Example: Permit", + args: { name: "default-action", suggestions: ["Deny", "Permit"] }, + }, + { + name: ["--location", "-l"], + description: + "Location of Azure region When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Route Policy resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Route Policy", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all Route Policies in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of the provided Route Policy resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Route Policy", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Route Policy resource", + options: [ + { + name: "--default-action", + description: + "Default action that needs to be applied when no condition is matched. Example: Permit", + args: { name: "default-action", suggestions: ["Deny", "Permit"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Route Policy", + args: { name: "resource-name" }, + }, + { + name: "--statements", + description: + 'Route Policy statements. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "statements" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Route Policy", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "tap", + description: "Manage Network Tap Resource", + subcommands: [ + { + name: "create", + description: "Create a Network Tap resource", + options: [ + { + name: "--destinations", + description: + 'List of destinations to send the filter traffic. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destinations" }, + isRequired: true, + }, + { + name: ["--network-packet-broker-id", "--npb-id"], + description: "ARM resource ID of the Network Packet Broker", + args: { name: "network-packet-broker-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the Network Tap", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: ["--location", "-l"], + description: + "Location of Azure region When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--polling-type", + description: + "Network tap rule file polling type. Default value is Pull. Example: Pull", + args: { name: "polling-type", suggestions: ["Pull", "Push"] }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Network Tap resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Tap", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all Network Taps in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of the provided Network Tap resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Tap", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Network Tap resource", + options: [ + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--destinations", + description: + 'List of destination properties to send the filter traffic. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destinations" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--polling-type", + description: + "Network tap rule file polling type. Default value is Pull. Example: Pull", + args: { name: "polling-type", suggestions: ["Pull", "Push"] }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Tap", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "update-admin-state", + description: "Enable/Disable a network tap", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-ids", + description: + 'Network Fabrics or Network Rack resource Id. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "resource-ids" }, + }, + { + name: "--resource-name", + description: "Name of the Network Tap", + args: { name: "resource-name" }, + }, + { + name: "--state", + description: "Administrative state", + args: { name: "state", suggestions: ["Disable", "Enable"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Tap", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "taprule", + description: "Manage Network Tap Rule Resource", + subcommands: [ + { + name: "create", + description: "Create a Network Tap Rule resource", + options: [ + { + name: "--configuration-type", + description: + "Input method to configure Network Tap Rule. Example: File", + args: { + name: "configuration-type", + suggestions: ["File", "Inline"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the Network Tap Rule", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--dynamic-match-conf", + description: + 'List of dynamic match configurations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dynamic-match-conf" }, + }, + { + name: ["--location", "-l"], + description: + "Location of Azure region When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--match-conf", + description: + 'List of match configurations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "match-conf" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--polling-interval", + description: + "Polling interval in seconds. Default value is 30. Example: 60", + args: { + name: "polling-interval", + suggestions: ["120", "30", "60", "90"], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--tap-rules-url", + description: "Network Tap Rules file URL", + args: { name: "tap-rules-url" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Network Tap Rule resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Tap Rule", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all Network Tap Rules in the provided resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show details of the provided Network Tap Rule resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Tap Rule", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Network Tap Rule resource", + options: [ + { + name: "--annotation", + description: "Description for underlying resource", + args: { name: "annotation" }, + }, + { + name: "--configuration-type", + description: + "Input method to configure Network Tap Rule. Example: File", + args: { + name: "configuration-type", + suggestions: ["File", "Inline"], + }, + }, + { + name: "--dynamic-match-conf", + description: + 'List of dynamic match configurations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dynamic-match-conf" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--match-conf", + description: + 'List of match configurations. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "match-conf" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Tap Rule", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--tap-rules-url", + description: "Network Tap Rules file URL", + args: { name: "tap-rules-url" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--resource-name", + description: "Name of the Network Tap Rule", + args: { name: "resource-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/new-relic.ts b/src/az/2.53.0/new-relic.ts new file mode 100644 index 000000000000..1c2e5b8c5c4a --- /dev/null +++ b/src/az/2.53.0/new-relic.ts @@ -0,0 +1,852 @@ +const completion: Fig.Spec = { + name: "new-relic", + description: "Manage Azure NewRelic resources", + subcommands: [ + { + name: "account", + description: "Manage NewRelic Account resource", + subcommands: [ + { + name: "list", + description: "List all the existing accounts", + options: [ + { + name: "--location", + description: "Location for NewRelic", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--user-email", + description: "User Email", + args: { name: "user-email" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "monitor", + description: "Manage NewRelic Monitor resource", + subcommands: [ + { + name: "create", + description: "Create a NewRelicMonitorResource", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--account-creation-source", "--account-source"], + description: "Source of account creation", + args: { + name: "account-creation-source", + suggestions: ["LIFTR", "NEWRELIC"], + }, + }, + { + name: "--identity", + description: + 'The managed service identities assigned to this resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--new-relic-account", + description: + 'MarketplaceSubscriptionStatus of the resource Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "new-relic-account" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--org-creation-source", + description: "Source of org creation", + args: { + name: "org-creation-source", + suggestions: ["LIFTR", "NEWRELIC"], + }, + }, + { + name: "--plan-data", + description: + 'Plan details Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "plan-data" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--user-info", + description: + 'User Info Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-info" }, + }, + ], + }, + { + name: "delete", + description: "Delete a NewRelicMonitorResource", + options: [ + { + name: "--user-email", + description: "User Email", + args: { name: "user-email" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-metric-rule", + description: "Get metric rules", + options: [ + { + name: "--user-email", + description: "User Email", + args: { name: "user-email" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-metric-statu", + description: "Get metric status", + options: [ + { + name: "--user-email", + description: "User Email", + args: { name: "user-email" }, + isRequired: true, + }, + { + name: "--azure-resource-ids", + description: + 'Azure resource IDs Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "azure-resource-ids" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List NewRelicMonitorResource resources", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-app-service", + description: + "List the app service resources currently being monitored by the NewRelic resource", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--user-email", + description: "User Email", + args: { name: "user-email" }, + isRequired: true, + }, + { + name: "--azure-resource-ids", + description: + 'Azure resource IDs Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "azure-resource-ids" }, + }, + ], + }, + { + name: "list-host", + description: + "List the compute vm resources currently being monitored by the NewRelic resource", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--user-email", + description: "User Email", + args: { name: "user-email" }, + isRequired: true, + }, + { + name: "--vm-ids", + description: + 'VM resource IDs Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "vm-ids" }, + }, + ], + }, + { + name: "monitored-resource", + description: + "List the resources currently being monitored by the NewRelic monitor resource", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a NewRelicMonitorResource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "switch-billing", + description: "Switches the billing for NewRelic monitor resource", + options: [ + { + name: "--user-email", + description: "User Email", + args: { name: "user-email" }, + isRequired: true, + }, + { + name: "--azure-resource-id", + description: "Azure resource Id", + args: { name: "azure-resource-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + }, + { + name: "--organization-id", + description: "Organization id", + args: { name: "organization-id" }, + }, + { + name: "--plan-data", + description: + 'Plan details Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "plan-data" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "vm-host-payload", + description: + "Returns the payload that needs to be passed in the request body for installing NewRelic agent on a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "tag-rule", + description: "Manage tag rule of a NewRelic Monitor resource", + subcommands: [ + { + name: "create", + description: "Create a TagRule", + options: [ + { + name: "--monitor-name", + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Name of the TagRule", + args: { name: "rule-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--log-rules", + description: + 'Set of rules for sending logs for the Monitor resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "log-rules" }, + }, + { + name: "--metric-rules", + description: + 'Set of rules for sending metrics for the Monitor resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metric-rules" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a TagRule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Name of the TagRule", + args: { name: "rule-set-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List TagRule resources by NewRelicMonitorResource", + options: [ + { + name: "--monitor-name", + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a TagRule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Name of the TagRule", + args: { name: "rule-set-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a TagRule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--log-rules", + description: + 'Set of rules for sending logs for the Monitor resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "log-rules" }, + }, + { + name: "--metric-rules", + description: + 'Set of rules for sending metrics for the Monitor resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "metric-rules" }, + }, + { + name: "--monitor-name", + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Name of the TagRule", + args: { name: "rule-set-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--monitor-name", + description: "Name of the Monitors resource", + args: { name: "monitor-name" }, + }, + { + name: ["--rule-set-name", "--name", "-n"], + description: "Name of the TagRule", + args: { name: "rule-set-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "organization", + description: "Manage NewRelic Organization resource", + subcommands: [ + { + name: "list", + description: "List all the existing organizations", + options: [ + { + name: "--location", + description: "Location for NewRelic", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--user-email", + description: "User Email", + args: { name: "user-email" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "plan", + description: "Manage NewRelic Plan resource", + subcommands: [ + { + name: "list", + description: "List plans data", + options: [ + { + name: "--account-id", + description: "Account Id", + args: { name: "account-id" }, + }, + { + name: "--organization-id", + description: "Organization Id", + args: { name: "organization-id" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/next.ts b/src/az/2.53.0/next.ts new file mode 100644 index 000000000000..33acbd2136b7 --- /dev/null +++ b/src/az/2.53.0/next.ts @@ -0,0 +1,16 @@ +const completion: Fig.Spec = { + name: "next", + description: "Recommend the possible next set of commands to take", + options: [ + { + name: ["--command", "-c"], + description: "Specify this parameter will only recommend commands", + }, + { + name: ["--scenario", "-s"], + description: "Specify this parameter will only recommend E2E scenarios", + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/nginx.ts b/src/az/2.53.0/nginx.ts new file mode 100644 index 000000000000..e40304dcd852 --- /dev/null +++ b/src/az/2.53.0/nginx.ts @@ -0,0 +1,1300 @@ +const completion: Fig.Spec = { + name: "nginx", + description: "Manage NGINX deployment resources", + subcommands: [ + { + name: "deployment", + description: "Manage NGINX deployment resources", + subcommands: [ + { + name: "create", + description: "Create an NGINX for Azure resource", + options: [ + { + name: ["--deployment-name", "--name", "-n"], + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--enable-diagnostics", + description: + "Boolean to enable or disable diagnostics on your deployment", + args: { + name: "enable-diagnostics", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--logging", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "logging" }, + }, + { + name: "--managed-resource-group", + description: + "The managed resource group to deploy VNet injection related network resources", + args: { name: "managed-resource-group" }, + }, + { + name: "--network-profile", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "network-profile" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--provisioning-state", + description: "State of the deployment", + args: { + name: "provisioning-state", + suggestions: [ + "Accepted", + "Canceled", + "Creating", + "Deleted", + "Deleting", + "Failed", + "NotSpecified", + "Succeeded", + "Updating", + ], + }, + }, + { + name: "--sku", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sku" }, + }, + { + name: "--tags", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Nginx deployment", + options: [ + { + name: ["--deployment-name", "--name", "-n"], + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List of Nginx deployments", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the properties of a specific Nginx Deployment", + options: [ + { + name: ["--deployment-name", "--name", "-n"], + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Nginx deployment", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--deployment-name", "--name", "-n"], + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + }, + { + name: "--enable-diagnostics", + description: + "Boolean to enable or disable diagnostics on your deployment", + args: { + name: "enable-diagnostics", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--logging", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "logging" }, + }, + { + name: "--managed-resource-group", + description: + "The managed resource group to deploy VNet injection related network resources", + args: { name: "managed-resource-group" }, + }, + { + name: "--network-profile", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "network-profile" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--provisioning-state", + description: "State of the deployment", + args: { + name: "provisioning-state", + suggestions: [ + "Accepted", + "Canceled", + "Creating", + "Deleted", + "Deleting", + "Failed", + "NotSpecified", + "Succeeded", + "Updating", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--deployment-name", "--name", "-n"], + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "certificate", + description: "Manage NGINX certificate resources", + subcommands: [ + { + name: "create", + description: "Create a certificate for an NGINX deployment", + options: [ + { + name: ["--certificate-name", "--name", "-n"], + description: "The name of certificate", + args: { name: "certificate-name" }, + isRequired: true, + }, + { + name: "--deployment-name", + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--certificate-path", + description: + "This path must match one or more ssl_certificate directive file argument in your Nginx configuration. This path must be unique between certificates within the same deployment", + args: { name: "certificate-path" }, + }, + { + name: "--key-path", + description: + "This path must match one or more ssl_certificate_key directive file argument in your Nginx configuration. This path must be unique between certificates within the same deployment", + args: { name: "key-path" }, + }, + { + name: "--key-vault-secret-id", + description: "The secret id to the certificate in KeyVault", + args: { name: "key-vault-secret-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--provisioning-state", + description: "State of the certificate deployment", + args: { + name: "provisioning-state", + suggestions: [ + "Accepted", + "Canceled", + "Creating", + "Deleted", + "Deleting", + "Failed", + "NotSpecified", + "Succeeded", + "Updating", + ], + }, + }, + { + name: "--tags", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Nginx deployment certificate", + options: [ + { + name: ["--certificate-name", "--name", "-n"], + description: "The name of certificate", + args: { name: "certificate-name" }, + }, + { + name: "--deployment-name", + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all certificates under the specified deployment and resource group", + options: [ + { + name: "--deployment-name", + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the properties of a specific Nginx certificate", + options: [ + { + name: ["--certificate-name", "--name", "-n"], + description: "The name of certificate", + args: { name: "certificate-name" }, + }, + { + name: "--deployment-name", + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Nginx deployment certificate", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--certificate-name", "--name", "-n"], + description: "The name of certificate", + args: { name: "certificate-name" }, + }, + { + name: "--certificate-path", + description: + "This path must match one or more ssl_certificate directive file argument in your Nginx configuration. This path must be unique between certificates within the same deployment", + args: { name: "certificate-path" }, + }, + { + name: "--deployment-name", + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-path", + description: + "This path must match one or more ssl_certificate_key directive file argument in your Nginx configuration. This path must be unique between certificates within the same deployment", + args: { name: "key-path" }, + }, + { + name: "--key-vault-secret-id", + description: "The secret id to the certificate in KeyVault", + args: { name: "key-vault-secret-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--provisioning-state", + description: "State of the certificate deployment", + args: { + name: "provisioning-state", + suggestions: [ + "Accepted", + "Canceled", + "Creating", + "Deleted", + "Deleting", + "Failed", + "NotSpecified", + "Succeeded", + "Updating", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--certificate-name", "--name", "-n"], + description: "The name of certificate", + args: { name: "certificate-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--deployment-name", + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "configuration", + description: "Manage NGINX configuration resources", + subcommands: [ + { + name: "create", + description: "Create a configuration for an NGINX deployment", + options: [ + { + name: ["--configuration-name", "--name", "-n"], + description: + "The name of configuration, only 'default' is supported value due to the singleton of Nginx conf", + args: { name: "configuration-name" }, + isRequired: true, + }, + { + name: "--deployment-name", + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--files", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "files" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--package", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "package" }, + }, + { + name: "--protected-files", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "protected-files" }, + }, + { + name: "--provisioning-state", + description: "State of the configuration deployment", + args: { + name: "provisioning-state", + suggestions: [ + "Accepted", + "Canceled", + "Creating", + "Deleted", + "Deleting", + "Failed", + "NotSpecified", + "Succeeded", + "Updating", + ], + }, + }, + { + name: "--root-file", + description: "Aligns with your Nginx configuration structure", + args: { name: "root-file" }, + }, + { + name: "--tags", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Nginx configuration", + options: [ + { + name: ["--configuration-name", "--name", "-n"], + description: + "The name of configuration, only 'default' is supported value due to the singleton of Nginx conf", + args: { name: "configuration-name" }, + }, + { + name: "--deployment-name", + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all configurations under the specified deployment and resource group", + options: [ + { + name: "--deployment-name", + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the properties of a specific Nginx configuration", + options: [ + { + name: ["--configuration-name", "--name", "-n"], + description: + "The name of configuration, only 'default' is supported value due to the singleton of Nginx conf", + args: { name: "configuration-name" }, + }, + { + name: "--deployment-name", + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Nginx configuration", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--configuration-name", "--name", "-n"], + description: + "The name of configuration, only 'default' is supported value due to the singleton of Nginx conf", + args: { name: "configuration-name" }, + }, + { + name: "--deployment-name", + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + }, + { + name: "--files", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "files" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--package", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "package" }, + }, + { + name: "--protected-files", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "protected-files" }, + }, + { + name: "--provisioning-state", + description: "State of the configuration deployment", + args: { + name: "provisioning-state", + suggestions: [ + "Accepted", + "Canceled", + "Creating", + "Deleted", + "Deleting", + "Failed", + "NotSpecified", + "Succeeded", + "Updating", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--root-file", + description: "Aligns with your Nginx configuration structure", + args: { name: "root-file" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--configuration-name", "--name", "-n"], + description: + "The name of configuration, only 'default' is supported value due to the singleton of Nginx conf", + args: { name: "configuration-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--deployment-name", + description: "The name of targeted Nginx deployment", + args: { name: "deployment-name" }, + }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/notification-hub.ts b/src/az/2.53.0/notification-hub.ts new file mode 100644 index 000000000000..c62f98de7c90 --- /dev/null +++ b/src/az/2.53.0/notification-hub.ts @@ -0,0 +1,1442 @@ +const completion: Fig.Spec = { + name: "notification-hub", + description: "Manage notification hubs", + subcommands: [ + { + name: "authorization-rule", + description: "Commands to manage notification hubs authorization rule", + subcommands: [ + { + name: "create", + description: "Create an authorization rule for a notification hub", + options: [ + { + name: ["--name", "-n"], + description: "Authorization Rule Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: "--notification-hub-name", + description: "The notification hub name", + args: { name: "notification-hub-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rights", + description: + 'The rights associated with the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + ], + }, + { + name: "delete", + description: "Delete a notificationHub authorization rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Authorization Rule Name", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--notification-hub-name", + description: "The notification hub name", + args: { name: "notification-hub-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the authorization rules for a notification hub", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: "--notification-hub-name", + description: "The notification hub name", + args: { name: "notification-hub-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-keys", + description: + "List the primary and secondary connection strings to the notification hub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The connection string of the NotificationHub for the specified authorizationRule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--notification-hub-name", + description: "The notification hub name", + args: { name: "notification-hub-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "regenerate-keys", + description: + "Regenerates the primary/secondary keys to the notification hub authorization rule", + options: [ + { + name: "--policy-key", + description: + "Name of the key that has to be regenerated for the Namespace/Notification Hub Authorization Rule. The value can be Primary Key/Secondary Key", + args: { + name: "policy-key", + suggestions: ["Primary Key", "Secondary Key"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The connection string of the NotificationHub for the specified authorizationRule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--notification-hub-name", + description: "The notification hub name", + args: { name: "notification-hub-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show an authorization rule for a notification hub by name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Authorization Rule Name", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--notification-hub-name", + description: "The notification hub name", + args: { name: "notification-hub-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "check-availability", + description: + "Checks the availability of the given notification hub in a namespace", + options: [ + { + name: ["--name", "-n"], + description: "Resource name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a notification hub in a namespace", + options: [ + { + name: ["--name", "-n"], + description: "The notification hub name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Resource location When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--registration-ttl", + description: "The RegistrationTtl of the created NotificationHub", + args: { name: "registration-ttl" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a notification hub associated with a namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The notification hub name", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the notification hubs associated with a namespace", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Show the notification hub information", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The notification hub name", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "test-send", + description: "Test send a push notification", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: "--notification-format", + description: "The format of notification message", + args: { + name: "notification-format", + suggestions: [ + "apple", + "baidu", + "gcm", + "template", + "windows", + "windowsphone", + ], + }, + isRequired: true, + }, + { + name: "--notification-hub-name", + description: "The notification hub name", + args: { name: "notification-hub-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--message", + description: + "The message body to send. If not None, payload will be ignored", + args: { name: "message" }, + }, + { + name: "--payload", + description: "The payload for the message in JSON format", + args: { name: "payload" }, + }, + { + name: "--tag", + description: + "You can send test notifications to a specific set of registrations using this option. Leave this field empty if you like to send push notifications to 10 random registrations on the selected platform", + args: { name: "tag" }, + }, + { + name: "--title", + description: "The title of the notification", + args: { name: "title" }, + }, + ], + }, + { + name: "update", + description: "Update a notification hub in a namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "Resource location", + args: { name: "location" }, + }, + { + name: ["--notification-hub-name", "--name", "-n"], + description: "The notification hub name", + args: { name: "notification-hub-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "credential", + description: "Commands to manage notification hub credential", + subcommands: [ + { + name: "list", + description: + "Lists the PNS credentials associated with a notification hub", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: "--notification-hub-name", + description: "The notification hub name", + args: { name: "notification-hub-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "adm", + description: "", + subcommands: [ + { + name: "update", + description: "Update credential for Amazon(ADM)", + options: [ + { + name: "--client-id", + description: "The client identifier", + args: { name: "client-id" }, + isRequired: true, + }, + { + name: "--client-secret", + description: "The credential secret access key", + args: { name: "client-secret" }, + isRequired: true, + }, + { + name: ["--notification-hub-name", "--name", "-n"], + description: "The notification hub name", + args: { name: "notification-hub-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "apns", + description: "", + subcommands: [ + { + name: "update", + description: "Update credential for Apple(APNS)", + options: [ + { + name: ["--notification-hub-name", "--name", "-n"], + description: "The notification hub name", + args: { name: "notification-hub-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--apns-certificate", + description: "The APNS certificate", + args: { name: "apns-certificate" }, + }, + { + name: "--app-id", + description: + "The issuer (iss) registered claim key. The value is a 10-character TeamId, obtained from your developer account. Specify if using Token Authentication Mode", + args: { name: "app-id" }, + }, + { + name: "--app-name", + description: + "The name of the application or BundleId. Specify if using Token Authentication Mode", + args: { name: "app-name" }, + }, + { + name: "--certificate-key", + description: "The APNS certificate password if it exists", + args: { name: "certificate-key" }, + }, + { + name: "--endpoint", + description: + "The APNS endpoint of this credential. If using Certificate Authentication Mode and Sandbox specify 'gateway.sandbox.push.apple.com'. If using Certificate Authentication Mode and Production specify 'gateway.push.apple.com'. If using Token Authentication Mode and Sandbox specify 'https://api.development.push.apple.com:443/3/device'. If using Token Authentication Mode and Production specify 'https://api.push.apple.com:443/3/device'", + args: { name: "endpoint" }, + }, + { + name: "--key-id", + description: + "A 10-character key identifier (kid) key, obtained from your developer account. Specify if using Token Authentication Mode", + args: { name: "key-id" }, + }, + { + name: "--token", + description: + "Provider Authentication Token, obtained through your developer account. Specify if using Token Authentication Mode", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "baidu", + description: "", + subcommands: [ + { + name: "update", + description: "Update credential for Baidu(Andrioid China)", + options: [ + { + name: "--api-key", + description: "Baidu API key", + args: { name: "api-key" }, + isRequired: true, + }, + { + name: ["--notification-hub-name", "--name", "-n"], + description: "The notification hub name", + args: { name: "notification-hub-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--secret-key", + description: "Baidu secret key", + args: { name: "secret-key" }, + isRequired: true, + }, + { + name: "--baidu-api-key", + description: "Baidu Api Key", + args: { name: "baidu-api-key" }, + }, + { + name: "--baidu-secret-key", + description: "Baidu Secret Key", + args: { name: "baidu-secret-key" }, + }, + ], + }, + ], + }, + { + name: "gcm", + description: "", + subcommands: [ + { + name: "update", + description: "Update the Google GCM/FCM API key", + options: [ + { + name: "--google-api-key", + description: "The Google API key", + args: { name: "google-api-key" }, + isRequired: true, + }, + { + name: ["--notification-hub-name", "--name", "-n"], + description: "The notification hub name", + args: { name: "notification-hub-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "mpns", + description: "", + subcommands: [ + { + name: "update", + description: "Update credential for Windows Phone(MPNS)", + options: [ + { + name: "--certificate-key", + description: "The certificate key for this credential", + args: { name: "certificate-key" }, + isRequired: true, + }, + { + name: "--mpns-certificate", + description: "The MPNS certificate", + args: { name: "mpns-certificate" }, + isRequired: true, + }, + { + name: ["--notification-hub-name", "--name", "-n"], + description: "The notification hub name", + args: { name: "notification-hub-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "wns", + description: "", + subcommands: [ + { + name: "update", + description: "Update credential for Windows(WNS)", + options: [ + { + name: ["--notification-hub-name", "--name", "-n"], + description: "The notification hub name", + args: { name: "notification-hub-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: "--package-sid", + description: "The package ID for this credential", + args: { name: "package-sid" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--secret-key", + description: "The secret key", + args: { name: "secret-key" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "namespace", + description: "Commands to manage notification hub namespace", + subcommands: [ + { + name: "check-availability", + description: + "Checks the availability of the given service namespace across all Azure subscriptions. This is useful because the domain name is created based on the service namespace name", + options: [ + { + name: ["--name", "-n"], + description: "Resource name", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: + "Create a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent", + options: [ + { + name: ["--name", "-n"], + description: "The namespace name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: "Name of the notification hub sku", + args: { name: "sku", suggestions: ["Basic", "Free", "Standard"] }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Resource location When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an existing namespace. This operation also removes all associated notificationHubs under the namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The namespace name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List available namespaces", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Return the description for the specified namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The namespace name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a service namespace. The namespace's resource manifest is immutable and cannot be modified", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "Resource location", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "The namespace name", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "Name of the notification hub sku", + args: { name: "sku", suggestions: ["Basic", "Free", "Standard"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The namespace name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "authorization-rule", + description: + "Commands to manage notification hubs namespace authorization rule", + subcommands: [ + { + name: "create", + description: "Create an authorization rule for a namespace", + options: [ + { + name: ["--name", "-n"], + description: "Authorization Rule Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rights", + description: + 'The rights associated with the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a namespace authorization rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Authorization Rule Name", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the authorization rules for a namespace", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-keys", + description: + "List the primary and secondary connection strings to the namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The connection string of the namespace for the specified authorizationRule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "regenerate-keys", + description: + "Regenerate the primary/secondary keys to the namespace authorization rule", + options: [ + { + name: "--policy-key", + description: + "Name of the key that has to be regenerated for the Namespace/Notification Hub Authorization Rule. The value can be Primary Key/Secondary Key", + args: { + name: "policy-key", + suggestions: ["Primary Key", "Secondary Key"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The connection string of the namespace for the specified authorizationRule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get an authorization rule for a namespace by name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Authorization Rule Name", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/offazure.ts b/src/az/2.53.0/offazure.ts new file mode 100644 index 000000000000..749f4904e0d8 --- /dev/null +++ b/src/az/2.53.0/offazure.ts @@ -0,0 +1,673 @@ +const completion: Fig.Spec = { + name: "offazure", + description: "Manage on-premise resources for migrate", + subcommands: [ + { + name: "hyperv", + description: "Manage Hyper-V on-premise resources", + subcommands: [ + { + name: "cluster", + description: "Manage Hyper-V cluster", + subcommands: [ + { + name: "list", + description: "Get all clusters on the on-premise site", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--site-name", + description: "Name of the Hyper-V Site", + args: { name: "site-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a Hyper-V cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "Name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--site-name", + description: "Name of the Hyper-V Site", + args: { name: "site-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "host", + description: "Manage Hyper-V host", + subcommands: [ + { + name: "list", + description: "Get all hosts on the on-premise site", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--site-name", + description: "Name of the Hyper-V Site", + args: { name: "site-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a Hyper-V host", + options: [ + { + name: ["--host-name", "--name", "-n"], + description: "Name of the host", + args: { name: "host-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--site-name", + description: "Name of the Hyper-V Site", + args: { name: "site-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "machine", + description: "Manage Hyper-V machine", + subcommands: [ + { + name: "list", + description: "List all machines on the on-premise site", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--site-name", + description: "Name of the Hyper-V Site", + args: { name: "site-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a machine", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--machine-name", "--name", "-n"], + description: "Name of the machine", + args: { name: "machine-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--site-name", + description: "Name of the Hyper-V Site", + args: { name: "site-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "run-as-account", + description: "Manage Hyper-V run-as-account", + subcommands: [ + { + name: "list", + description: "List all run-as-accounts on the on-premise site", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--site-name", + description: "Name of the Hyper-V Site", + args: { name: "site-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a run-as-account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "Name of the run-as-account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--site-name", + description: "Name of the Hyper-V Site", + args: { name: "site-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "site", + description: "Manage Hyper-V site", + subcommands: [ + { + name: "create", + description: "Create a Hyper-V site", + options: [ + { + name: ["--site-name", "--name", "-n"], + description: "Name of the Hyper-V Site", + args: { name: "site-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--agent", + description: "On-premises agent details", + args: { name: "agent" }, + }, + { + name: "--appliance-name", + description: "Name of the appliance", + args: { name: "appliance-name" }, + }, + { + name: "--identity", + description: + "Service principal identity details used by agent for communication to the service", + args: { name: "identity" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--solution-id", + description: "ARM ID of migration hub solution for SDS", + args: { name: "solution-id" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Hyper-V site", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--site-name", "--name", "-n"], + description: "Name of the Hyper-V Site", + args: { name: "site-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Get the details of a site", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--site-name", "--name", "-n"], + description: "Name of the Hyper-V Site", + args: { name: "site-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "vmware", + description: "Manage VMware on-premise resources", + subcommands: [ + { + name: "machine", + description: "Manage VMware machine", + subcommands: [ + { + name: "list", + description: "List all machines on the on-premise site", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--site-name", + description: "Name of the Hyper-V Site", + args: { name: "site-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a machine", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--machine-name", "--name", "-n"], + description: "Name of the machine", + args: { name: "machine-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--site-name", + description: "Name of the VMware site", + args: { name: "site-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "run-as-account", + description: "Manage VMware run-as-account", + subcommands: [ + { + name: "list", + description: "List all run-as-accounts on the on-premise site", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--site-name", + description: "Name of the VMware site", + args: { name: "site-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a run-as-account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "Name of the run-as-account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--site-name", + description: "Name of the VMware site", + args: { name: "site-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "site", + description: "Manage VMware site", + subcommands: [ + { + name: "create", + description: "Create a site for VMware resources", + options: [ + { + name: ["--site-name", "--name", "-n"], + description: "Name of the VMware site", + args: { name: "site-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--agent", + description: "On-premises agent details", + args: { name: "agent" }, + }, + { + name: "--appliance-name", + description: "Name of the appliance", + args: { name: "appliance-name" }, + }, + { + name: "--identity", + description: + "Service principal identity details used by agent for communication to the service", + args: { name: "identity" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--solution-id", + description: "ARM ID of migration hub solution for SDS", + args: { name: "solution-id" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a VMware site", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--site-name", "--name", "-n"], + description: "Name of the VMware site", + args: { name: "site-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Get the details of a VMware site", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--site-name", "--name", "-n"], + description: "Name of the VMware site", + args: { name: "site-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "vcenter", + description: "Manage VMware vCenter", + subcommands: [ + { + name: "list", + description: "List all vCenters on the on-premise site", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--site-name", + description: "Name of the VMware site", + args: { name: "site-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a vCenter", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vcenter-name", "--name", "-n"], + description: "VCenter ARM name", + args: { name: "vcenter-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--site-name", + description: "Name of the VMware site", + args: { name: "site-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/orbital.ts b/src/az/2.53.0/orbital.ts new file mode 100644 index 000000000000..7820d38bd3e9 --- /dev/null +++ b/src/az/2.53.0/orbital.ts @@ -0,0 +1,1187 @@ +const completion: Fig.Spec = { + name: "orbital", + description: "Azure Orbital Ground Station as-a-Service (GSaaS)", + subcommands: [ + { + name: "available-ground-station", + description: "Ground stations available to schedule contacts", + subcommands: [ + { + name: "list", + description: "List available ground stations", + options: [ + { + name: "--capability", + description: "Ground Station Capability", + args: { + name: "capability", + suggestions: ["Communication", "EarthObservation"], + }, + }, + ], + }, + { + name: "show", + description: "Get the specified available ground station", + options: [ + { + name: ["--ground-station-name", "--name", "-n"], + description: "Ground Station name", + args: { name: "ground-station-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "contact-profile", + description: "Contact profile is a reusable contact configuration", + subcommands: [ + { + name: "create", + description: "Create a contact profile", + options: [ + { + name: ["--contact-profile-name", "--name", "-n"], + description: "Contact Profile name", + args: { name: "contact-profile-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--auto-tracking-configuration", "--auto-tracking"], + description: "Auto-tracking configuration", + args: { + name: "auto-tracking-configuration", + suggestions: ["disabled", "sBand", "xBand"], + }, + }, + { + name: "--event-hub-uri", + description: + "ARM resource identifier of the Event Hub used for telemetry. Requires granting Orbital Resource Provider the rights to send telemetry into the hub", + args: { name: "event-hub-uri" }, + }, + { + name: "--links", + description: + 'Links of the Contact Profile. Describes RF links, modem processing, and IP endpoints. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "links" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: ["--minimum-elevation-degrees", "--min-elevation"], + description: + "Minimum viable elevation for the contact in decimal degrees. Used for listing the available contacts with a spacecraft at a given ground station", + args: { name: "minimum-elevation-degrees" }, + }, + { + name: [ + "--minimum-viable-contact-duration", + "--min-viable-duration", + ], + description: + "Minimum viable contact duration in ISO 8601 format. Used for listing the available contacts with a spacecraft at a given ground station", + args: { name: "minimum-viable-contact-duration" }, + }, + { + name: "--network-configuration", + description: + 'Network configuration of customer virtual network. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "network-configuration" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a specified contact profile resource", + options: [ + { + name: ["--contact-profile-name", "--name", "-n"], + description: "Contact Profile name", + args: { name: "contact-profile-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List contact profiles", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skiptoken", + description: + "An opaque string that the resource provider uses to skip over previously-returned results. This is used when a previous list operation call returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skiptoken" }, + }, + ], + }, + { + name: "show", + description: + "Get the specified contact Profile in a specified resource group", + options: [ + { + name: ["--contact-profile-name", "--name", "-n"], + description: "Contact Profile name", + args: { name: "contact-profile-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update contact profile", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--auto-tracking-configuration", "--auto-tracking"], + description: "Auto-tracking configuration", + args: { + name: "auto-tracking-configuration", + suggestions: ["disabled", "sBand", "xBand"], + }, + }, + { + name: ["--contact-profile-name", "--name", "-n"], + description: "Contact Profile name", + args: { name: "contact-profile-name" }, + }, + { + name: "--event-hub-uri", + description: + "ARM resource identifier of the Event Hub used for telemetry. Requires granting Orbital Resource Provider the rights to send telemetry into the hub", + args: { name: "event-hub-uri" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--links", + description: + 'Links of the Contact Profile. Describes RF links, modem processing, and IP endpoints. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "links" }, + }, + { + name: ["--location", "-l"], + description: "The geo-location where the resource lives", + args: { name: "location" }, + }, + { + name: ["--minimum-elevation-degrees", "--min-elevation"], + description: + "Minimum viable elevation for the contact in decimal degrees. Used for listing the available contacts with a spacecraft at a given ground station", + args: { name: "minimum-elevation-degrees" }, + }, + { + name: [ + "--minimum-viable-contact-duration", + "--min-viable-duration", + ], + description: + "Minimum viable contact duration in ISO 8601 format. Used for listing the available contacts with a spacecraft at a given ground station", + args: { name: "minimum-viable-contact-duration" }, + }, + { + name: "--network-configuration", + description: + 'Network configuration of customer virtual network. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "network-configuration" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--contact-profile-name", "--name", "-n"], + description: "Contact Profile name", + args: { name: "contact-profile-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "operation-result", + description: "Result of a long running async operation", + subcommands: [ + { + name: "show", + description: "Return operation results", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--operation-id", "--name", "-n"], + description: "The ID of an ongoing async operation", + args: { name: "operation-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "spacecraft", + description: + "Satellites must be registered as a spacecraft with Azure Orbital to establish contacts with the satellite", + subcommands: [ + { + name: "create", + description: "Create a spacecraft resource", + options: [ + { + name: ["--spacecraft-name", "--name", "-n"], + description: "Spacecraft ID", + args: { name: "spacecraft-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--links", + description: + 'Immutable list of Spacecraft links. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "links" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--norad-id", + description: "NORAD ID of the spacecraft", + args: { name: "norad-id" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--title-line", + description: "Title line of the two-line element set (TLE)", + args: { name: "title-line" }, + }, + { + name: "--tle-line1", + description: "Line 1 of the two-line element set (TLE)", + args: { name: "tle-line1" }, + }, + { + name: "--tle-line2", + description: "Line 2 of the two-line element set (TLE)", + args: { name: "tle-line2" }, + }, + ], + }, + { + name: "delete", + description: "Delete a specified spacecraft resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--spacecraft-name", "--name", "-n"], + description: "Spacecraft ID", + args: { name: "spacecraft-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List spacecrafts", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skiptoken", + description: + "An opaque string that the resource provider uses to skip over previously-returned results. This is used when a previous list operation call returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skiptoken" }, + }, + ], + }, + { + name: "list-available-contact", + description: + "List available contacts. A contact is available if the spacecraft is visible from the ground station for more than the minimum viable contact duration provided in the contact profile", + options: [ + { + name: "--contact-profile", + description: + 'The reference to the contact profile resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "contact-profile" }, + isRequired: true, + }, + { + name: "--end-time", + description: "End time of a contact (ISO 8601 UTC standard)", + args: { name: "end-time" }, + isRequired: true, + }, + { + name: "--ground-station-name", + description: "Name of Azure Ground Station", + args: { name: "ground-station-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--spacecraft-name", + description: "Spacecraft ID", + args: { name: "spacecraft-name" }, + isRequired: true, + }, + { + name: "--start-time", + description: "Start time of a contact (ISO 8601 UTC standard)", + args: { name: "start-time" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "show", + description: + "Get the specified spacecraft in a specified resource group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--spacecraft-name", "--name", "-n"], + description: "Spacecraft ID", + args: { name: "spacecraft-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update spacecraft", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: "The geo-location where the resource lives", + args: { name: "location" }, + }, + { + name: ["--spacecraft-name", "--name", "-n"], + description: "Spacecraft ID", + args: { name: "spacecraft-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--norad-id", + description: "NORAD ID of the spacecraft", + args: { name: "norad-id" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--title-line", + description: "Title line of the two-line element set (TLE)", + args: { name: "title-line" }, + }, + { + name: "--tle-line1", + description: "Line 1 of the two-line element set (TLE)", + args: { name: "tle-line1" }, + }, + { + name: "--tle-line2", + description: "Line 2 of the two-line element set (TLE)", + args: { name: "tle-line2" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--spacecraft-name", "--name", "-n"], + description: "Spacecraft ID", + args: { name: "spacecraft-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "contact", + description: + "At the scheduled time, the selected ground station will contact the spacecraft and start data retrieval/delivery using the contact profile", + subcommands: [ + { + name: "create", + description: "Create a contact", + options: [ + { + name: ["--contact-name", "--name", "-n"], + description: "Contact name", + args: { name: "contact-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--spacecraft-name", + description: "Spacecraft ID", + args: { name: "spacecraft-name" }, + isRequired: true, + }, + { + name: "--contact-profile", + description: + 'The reference to the contact profile resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "contact-profile" }, + }, + { + name: "--ground-station-name", + description: "Azure Ground Station name", + args: { name: "ground-station-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--reservation-end-time", + description: + "Reservation end time of a contact (ISO 8601 UTC standard)", + args: { name: "reservation-end-time" }, + }, + { + name: "--reservation-start-time", + description: + "Reservation start time of a contact (ISO 8601 UTC standard)", + args: { name: "reservation-start-time" }, + }, + ], + }, + { + name: "delete", + description: "Delete a specified contact", + options: [ + { + name: ["--contact-name", "--name", "-n"], + description: "Contact name", + args: { name: "contact-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--spacecraft-name", + description: "Spacecraft ID", + args: { name: "spacecraft-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List contacts by spacecraft", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--spacecraft-name", + description: "Spacecraft ID", + args: { name: "spacecraft-name" }, + isRequired: true, + }, + { + name: "--skiptoken", + description: + "An opaque string that the resource provider uses to skip over previously-returned results. This is used when a previous list operation call returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skiptoken" }, + }, + ], + }, + { + name: "show", + description: + "Get the specified contact in a specified resource group", + options: [ + { + name: ["--contact-name", "--name", "-n"], + description: "Contact name", + args: { name: "contact-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--spacecraft-name", + description: "Spacecraft ID", + args: { name: "spacecraft-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--contact-name", "--name", "-n"], + description: "Contact name", + args: { name: "contact-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--spacecraft-name", + description: "Spacecraft ID", + args: { name: "spacecraft-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/palo-alto.ts b/src/az/2.53.0/palo-alto.ts new file mode 100644 index 000000000000..1a9dfb4f7dca --- /dev/null +++ b/src/az/2.53.0/palo-alto.ts @@ -0,0 +1,2662 @@ +const completion: Fig.Spec = { + name: "palo-alto", + description: "Manage palo-alto networks resource", + subcommands: [ + { + name: "cloudngfw", + description: "Manage cloudngfw resource", + subcommands: [ + { + name: "firewall", + description: "Manage cloudngfw firewall resource", + subcommands: [ + { + name: "create", + description: "Create a FirewallResource", + options: [ + { + name: "--dns-settings", + description: + 'DNS settings for Firewall Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-settings" }, + isRequired: true, + }, + { + name: ["--firewall-name", "--name", "-n"], + description: "Firewall resource name", + args: { name: "firewall-name" }, + isRequired: true, + }, + { + name: "--marketplace-details", + description: + 'Marketplace details Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "marketplace-details" }, + isRequired: true, + }, + { + name: "--network-profile", + description: + 'Network settings Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "network-profile" }, + isRequired: true, + }, + { + name: "--plan-data", + description: + 'Billing plan information. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "plan-data" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--associated-rulestack", + description: + 'Associated Rulestack Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "associated-rulestack" }, + }, + { + name: "--front-end-settings", + description: + 'Frontend settings for Firewall Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "front-end-settings" }, + }, + { + name: "--identity", + description: + 'The managed service identities assigned to this resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--is-panorama-managed", + description: + "Panorama Managed: Default is False. Default will be CloudSec managed", + args: { + name: "is-panorama-managed", + suggestions: ["FALSE", "TRUE"], + }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--pan-etag", + description: "PanEtag info", + args: { name: "pan-etag" }, + }, + { + name: "--panorama-config", + description: + 'Panorama Configuration Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "panorama-config" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a FirewallResource", + options: [ + { + name: ["--firewall-name", "--name", "-n"], + description: "Firewall resource name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List FirewallResource resources by subscription ID", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "save-log-profile", + description: "Save Log Profile for Firewall", + options: [ + { + name: "--application-insights", + description: + 'Application Insight details Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "application-insights" }, + }, + { + name: "--common-destination", + description: + 'Common destination configurations Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "common-destination" }, + }, + { + name: ["--decrypt-log-destination", "--decrypt-destination"], + description: + 'Decrypt destination configurations Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "decrypt-log-destination" }, + }, + { + name: ["--firewall-name", "--name", "-n"], + description: "Firewall resource name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--log-option", + description: "Log option SAME/INDIVIDUAL", + args: { + name: "log-option", + suggestions: ["INDIVIDUAL_DESTINATION", "SAME_DESTINATION"], + }, + }, + { + name: "--log-type", + description: "One of possible log type", + args: { + name: "log-type", + suggestions: [ + "AUDIT", + "DECRYPTION", + "DLP", + "THREAT", + "TRAFFIC", + "WILDFIRE", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--threat-log-destination", "--threat-destination"], + description: + 'Threat destination configurations Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-log-destination" }, + }, + { + name: ["--traffic-log-destination", "--traffic-destination"], + description: + 'Traffic destination configurations Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "traffic-log-destination" }, + }, + ], + }, + { + name: "show", + description: "Get a FirewallResource", + options: [ + { + name: ["--firewall-name", "--name", "-n"], + description: "Firewall resource name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-log-profile", + description: "Get Log Profile for Firewall", + options: [ + { + name: ["--firewall-name", "--name", "-n"], + description: "Firewall resource name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-support-info", + description: "Support info for firewall", + options: [ + { + name: "--email", + description: + "Email address on behalf of which this API called", + args: { name: "email" }, + }, + { + name: ["--firewall-name", "--name", "-n"], + description: "Firewall resource name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a FirewallResource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--firewall-name", "--name", "-n"], + description: "Firewall resource name", + args: { name: "firewall-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + 'The managed service identities assigned to this resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: ["--firewall-name", "--name", "-n"], + description: "Firewall resource name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "status", + description: "Manage cloudngfw firewall status resource", + subcommands: [ + { + name: "list", + description: + "List FirewallStatusResource resources by Firewalls", + options: [ + { + name: ["--firewall-name", "--name", "-n"], + description: "Firewall resource name", + args: { name: "firewall-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "default", + description: + "Manage cloudngfw firewall status default resource", + subcommands: [ + { + name: "show", + description: "Get a FirewallStatusResource", + options: [ + { + name: ["--firewall-name", "--name", "-n"], + description: "Firewall resource name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "local-rulestack", + description: "Manage local-rulestack resource", + subcommands: [ + { + name: "commit", + description: "Commit rulestack configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a LocalRulestackResource", + options: [ + { + name: ["--local-rulestack-name", "--name", "-n"], + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--associated-subscriptions", "--associated-subs"], + description: + 'Subscription scope of global rulestack Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "associated-subscriptions" }, + }, + { + name: "--default-mode", + description: "Mode for default rules creation", + args: { + name: "default-mode", + suggestions: ["FIREWALL", "IPS", "NONE"], + }, + }, + { + name: "--description", + description: "Rulestack description", + args: { name: "description" }, + }, + { + name: "--identity", + description: + 'The managed service identities assigned to this resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--min-app-id-version", + description: "Minimum version", + args: { name: "min-app-id-version" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--pan-etag", + description: "PanEtag info", + args: { name: "pan-etag" }, + }, + { + name: "--pan-location", + description: + "Rulestack Location, Required for GlobalRulestacks, Not for LocalRulestacks", + args: { name: "pan-location" }, + }, + { + name: "--scope", + description: "Rulestack Type", + args: { name: "scope", suggestions: ["GLOBAL", "LOCAL"] }, + }, + { + name: "--security-services", + description: + 'Security Profile Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "security-services" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a LocalRulestackResource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--local-rulestack-name", "--name", "-n"], + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List LocalRulestackResource resources by subscription ID", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-advanced-security-object", + description: "Get the list of advanced security objects", + options: [ + { + name: "--type", + description: "LocalRulestack resource type", + args: { name: "type", suggestions: ["feeds", "urlCustom"] }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--local-rulestack-name", "--name", "-n"], + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip", + description: "LocalRulestack resource skip", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "LocalRulestack resource top", + args: { name: "top" }, + }, + ], + }, + { + name: "list-app-id", + description: "List of AppIds for LocalRulestack ApiVersion", + options: [ + { + name: "--app-id-version", + description: "LocalRulestack resource app-id-version", + args: { name: "app-id-version" }, + }, + { + name: "--app-prefix", + description: "LocalRulestack resource app-prefix", + args: { name: "app-prefix" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--local-rulestack-name", "--name", "-n"], + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip", + description: "LocalRulestack resource skip", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "LocalRulestack resource top", + args: { name: "top" }, + }, + ], + }, + { + name: "list-country", + description: "List of countries for Rulestack", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--local-rulestack-name", "--name", "-n"], + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip", + description: "LocalRulestack resource skip", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "LocalRulestack resource top", + args: { name: "top" }, + }, + ], + }, + { + name: "list-firewall", + description: "List of Firewalls associated with Rulestack", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--local-rulestack-name", "--name", "-n"], + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-predefined-url-category", + description: "List predefined URL categories for rulestack", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--local-rulestack-name", "--name", "-n"], + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip", + description: "LocalRulestack resource skip", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "LocalRulestack resource top", + args: { name: "top" }, + }, + ], + }, + { + name: "list-security-service", + description: "List the security services for rulestack", + options: [ + { + name: "--type", + description: "LocalRulestack resource type", + args: { + name: "type", + suggestions: [ + "antiSpyware", + "antiVirus", + "dnsSubscription", + "fileBlocking", + "ipsVulnerability", + "urlFiltering", + ], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--local-rulestack-name", "--name", "-n"], + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip", + description: "LocalRulestack resource skip", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "LocalRulestack resource top", + args: { name: "top" }, + }, + ], + }, + { + name: "revert", + description: "Revert rulestack configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--local-rulestack-name", "--name", "-n"], + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get a LocalRulestackResource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--local-rulestack-name", "--name", "-n"], + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-change-log", + description: "Get changelog", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--local-rulestack-name", "--name", "-n"], + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-support-info", + description: "Support info for rulestack", + options: [ + { + name: "--email", + description: + "Email address on behalf of which this API called", + args: { name: "email" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--local-rulestack-name", "--name", "-n"], + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a LocalRulestackResource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + 'The managed service identities assigned to this resource. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--local-rulestack-name", "--name", "-n"], + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--local-rulestack-name", "--name", "-n"], + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "certificate", + description: "Manage local-rulestack certificate resource", + subcommands: [ + { + name: "create", + description: + "Create a CertificateObjectLocalRulestackResource", + options: [ + { + name: [ + "--certificate-self-signed", + "--certificate-signed", + ], + description: "Use certificate self signed", + args: { + name: "certificate-self-signed", + suggestions: ["FALSE", "TRUE"], + }, + isRequired: true, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Certificate name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--audit-comment", + description: "Comment for this object", + args: { name: "audit-comment" }, + }, + { + name: "--certificate-signer-id", + description: + "Resource Id of certificate signer, to be populated only when certificateSelfSigned is false", + args: { name: "certificate-signer-id" }, + }, + { + name: "--description", + description: "User description for this object", + args: { name: "description" }, + }, + { + name: "--etag", + description: + "Read only string representing last create or update", + args: { name: "etag" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete a CertificateObjectLocalRulestackResource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--name", "-n"], + description: "Certificate name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List CertificateObjectLocalRulestackResource resources by LocalRulestacks", + options: [ + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get a CertificateObjectLocalRulestackResource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--name", "-n"], + description: "Certificate name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--name", "-n"], + description: "Certificate name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "fqdnlist", + description: "Manage local-rulestack fqdnlist resource", + subcommands: [ + { + name: "create", + description: "Create a FqdnListLocalRulestackResource", + options: [ + { + name: "--fqdn-list", + description: + 'Fqdn list Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdn-list" }, + isRequired: true, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Fqdn list name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--audit-comment", + description: "Comment for this object", + args: { name: "audit-comment" }, + }, + { + name: "--description", + description: "Fqdn object description", + args: { name: "description" }, + }, + { + name: "--etag", + description: "Etag info", + args: { name: "etag" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a FqdnListLocalRulestackResource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--name", "-n"], + description: "Fqdn list name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List FqdnListLocalRulestackResource resources by LocalRulestacks", + options: [ + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get a FqdnListLocalRulestackResource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--name", "-n"], + description: "Fqdn list name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--name", "-n"], + description: "Fqdn list name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "local-rule", + description: "Manage local-rulestack local-rule resource", + subcommands: [ + { + name: "create", + description: "Create a LocalRulesResource", + options: [ + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + isRequired: true, + }, + { + name: "--priority", + description: "Local Rule priority", + args: { name: "priority" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Rule name", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--action-type", + description: "Rule action", + args: { + name: "action-type", + suggestions: [ + "Allow", + "DenyResetBoth", + "DenyResetServer", + "DenySilent", + ], + }, + }, + { + name: "--applications", + description: + 'Array of rule applications Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "applications" }, + }, + { + name: "--audit-comment", + description: "Rule comment", + args: { name: "audit-comment" }, + }, + { + name: "--category", + description: + 'Rule category Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "category" }, + }, + { + name: "--decryption-rule-type", + description: "Enable or disable decryption", + args: { + name: "decryption-rule-type", + suggestions: [ + "None", + "SSLInboundInspection", + "SSLOutboundInspection", + ], + }, + }, + { + name: "--description", + description: "Rule description", + args: { name: "description" }, + }, + { + name: "--destination", + description: + 'Destination address Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "destination" }, + }, + { + name: "--enable-logging", + description: "Enable or disable logging", + args: { + name: "enable-logging", + suggestions: ["DISABLED", "ENABLED"], + }, + }, + { + name: "--etag", + description: "Etag info", + args: { name: "etag" }, + }, + { + name: [ + "--inbound-inspection-certificate", + "--inbound-certificate", + ], + description: "Inbound Inspection Certificate", + args: { name: "inbound-inspection-certificate" }, + }, + { + name: "--negate-destination", + description: "Cidr should not be 'any'", + args: { + name: "negate-destination", + suggestions: ["FALSE", "TRUE"], + }, + }, + { + name: "--negate-source", + description: "Cidr should not be 'any'", + args: { + name: "negate-source", + suggestions: ["FALSE", "TRUE"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--protocol", + description: + "Any, application-default, TCP:number, UDP:number", + args: { name: "protocol" }, + }, + { + name: "--protocol-port-list", + description: + 'Prot port list Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "protocol-port-list" }, + }, + { + name: "--rule-state", + description: "State of this rule", + args: { + name: "rule-state", + suggestions: ["DISABLED", "ENABLED"], + }, + }, + { + name: "--source", + description: + 'Source address Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "source" }, + }, + { + name: "--tags", + description: + 'Tag for rule Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a LocalRulesResource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--priority", + description: "Local Rule priority", + args: { name: "priority" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List LocalRulesResource resources by LocalRulestacks", + options: [ + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "refresh-counter", + description: "Refresh counters", + options: [ + { + name: "--firewall-name", + description: "Firewall resource name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: "--priority", + description: "Local Rule priority", + args: { name: "priority" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reset-counter", + description: "Reset counters", + options: [ + { + name: "--firewall-name", + description: "Firewall resource name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: "--priority", + description: "Local Rule priority", + args: { name: "priority" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get a LocalRulesResource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: "--priority", + description: "Local Rule priority", + args: { name: "priority" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-counter", + description: "Get counters", + options: [ + { + name: "--firewall-name", + description: "Firewall resource name", + args: { name: "firewall-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: "--priority", + description: "Local Rule priority", + args: { name: "priority" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: "--priority", + description: "Local Rule priority", + args: { name: "priority" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "prefixlist", + description: "Manage local-rulestack prefixlist resource", + subcommands: [ + { + name: "create", + description: "Create a PrefixListResource", + options: [ + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Local Rule priority", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--prefix-list", + description: + 'Prefix list Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "prefix-list" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--audit-comment", + description: "Comment for this object", + args: { name: "audit-comment" }, + }, + { + name: "--description", + description: "Prefix description", + args: { name: "description" }, + }, + { + name: "--etag", + description: "Etag info", + args: { name: "etag" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a PrefixListResource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--name", "-n"], + description: "Local Rule priority", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List PrefixListResource resources by LocalRulestacks", + options: [ + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get a PrefixListResource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--name", "-n"], + description: "Local Rule priority", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--local-rulestack-name", + description: "LocalRulestack resource name", + args: { name: "local-rulestack-name" }, + }, + { + name: ["--name", "-n"], + description: "Local Rule priority", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/partnercenter.ts b/src/az/2.53.0/partnercenter.ts new file mode 100644 index 000000000000..b30ab5a77c66 --- /dev/null +++ b/src/az/2.53.0/partnercenter.ts @@ -0,0 +1,1052 @@ +const completion: Fig.Spec = { + name: "partnercenter", + description: "Partner Center management", + subcommands: [ + { + name: "marketplace", + description: "Commands to manage the Partner Center Marketplace", + subcommands: [ + { + name: "offer", + description: "Manage Marketplace offers", + subcommands: [ + { + name: "create", + description: "Create a marketplace offer", + options: [ + { + name: ["--alias", "-a"], + description: + "This name won't be used in the marketplace listing and is solely for reference within Partner Center", + args: { name: "alias" }, + isRequired: true, + }, + { + name: ["--offer-id", "--id"], + description: + "Use only lowercase, alphanumeric characters, dashes or underscores. ID cannot be modified", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: ["--type", "-t"], + description: "The type of offer to create", + args: { + name: "type", + suggestions: [ + "AzureApplication", + "AzureConsultingService", + "AzureContainer", + "AzureDynamics365BusinessCentral", + "AzureDynamics365ForCustomerEngagement", + "AzureDynamics365ForOperations", + "AzureIoTEdgeModule", + "AzureManagedService", + "AzurePowerBIApp", + "AzurePowerBIVisual", + "AzureThirdPartyVirtualMachine", + "SoftwareAsAService", + ], + }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a marketplace offer", + options: [ + { + name: ["--offer-id", "--id"], + description: "The offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List marketplace offers", + }, + { + name: "publish", + description: + "Publishes all draft changes made to a marketplace offer", + options: [ + { + name: ["--offer-id", "--id"], + description: "The offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--target", + description: + "The target environment type to publish all draft resources", + args: { + name: "target", + suggestions: ["draft", "live", "preview"], + }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a marketplace offer", + options: [ + { + name: ["--offer-id", "--id"], + description: "The offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + ], + }, + { + name: "listing", + description: "Manage a Marketplace Offer's listing", + subcommands: [ + { + name: "show", + description: "Get the listing of a marketplace offer", + options: [ + { + name: "--offer-id", + description: "The offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update the listing of a marketplace offer", + options: [ + { + name: "--offer-id", + description: "The offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "The description of the listing", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--short-description", + description: "The short description of the listing", + args: { name: "short-description" }, + }, + { + name: "--summary", + description: "The summary that appears in search results", + args: { name: "summary" }, + }, + ], + }, + { + name: "contact", + description: "Manage a Marketplace Offer listing's contacts", + subcommands: [ + { + name: "add", + description: + "Add a contact to a marketplace offer listing", + options: [ + { + name: "--offer-id", + description: "The offerid", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--type", + description: "The contact type", + args: { name: "type" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--email", + description: "The email address of the contact", + args: { name: "email" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--name", + description: "The name of the contact", + args: { name: "name" }, + }, + { + name: "--phone", + description: "The phone number of the contact", + args: { name: "phone" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--uri", + description: "The uri associated with the contact", + args: { name: "uri" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a contact to a marketplace offer listing", + options: [ + { + name: "--offer-id", + description: "The offerid", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--type", + description: "The contact type", + args: { name: "type" }, + isRequired: true, + }, + { + name: "--email", + description: "The email address of the contact", + args: { name: "email" }, + }, + { + name: "--name", + description: "The name of the contact", + args: { name: "name" }, + }, + { + name: "--phone", + description: "The phone number of the contact", + args: { name: "phone" }, + }, + { + name: "--uri", + description: "The uri associated with the contact", + args: { name: "uri" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the contacts for a marketplace offer listing", + options: [ + { + name: "--offer-id", + description: "The offerid", + args: { name: "offer-id" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "media", + description: + "Manage a Marketplace Offer listing's media including images, videos, and thumbnails", + subcommands: [ + { + name: "add", + description: "Add media for a marketplace offer listing", + options: [ + { + name: ["--file", "-f"], + description: "The path to the media file", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--offer-id", "--id"], + description: "The Offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: ["--type", "-t"], + description: "The media type", + args: { + name: "type", + suggestions: [ + "AzureLogoLarge", + "AzureLogoMedium", + "AzureLogoSmall", + "AzureLogoWide", + "Image", + "Video", + ], + }, + isRequired: true, + }, + { + name: "--streaming-uri", + description: "The streaming URI", + args: { name: "streaming-uri" }, + }, + ], + }, + { + name: "delete", + description: + "Delete media for a marketplace offer listing", + options: [ + { + name: ["--offer-id", "--id"], + description: "The Offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: ["--type", "-t"], + description: "The media type", + args: { + name: "type", + suggestions: [ + "AzureLogoLarge", + "AzureLogoMedium", + "AzureLogoSmall", + "AzureLogoWide", + "Image", + "Video", + ], + }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the media for a marketplace offer listing", + options: [ + { + name: ["--offer-id", "--id"], + description: "The Offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: ["--type", "-t"], + description: "The media type", + args: { + name: "type", + suggestions: [ + "AzureLogoLarge", + "AzureLogoMedium", + "AzureLogoSmall", + "AzureLogoWide", + "Image", + "Video", + ], + }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "uri", + description: "Manage a Marketplace Offer listing's URIs", + subcommands: [ + { + name: "add", + description: "Add a URI for a marketplace offer listing", + options: [ + { + name: "--display-text", + description: "The display text of the uri", + args: { name: "display-text" }, + isRequired: true, + }, + { + name: "--offer-id", + description: "The offer id", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--subtype", + description: "The subtype of the uri", + args: { name: "subtype" }, + isRequired: true, + }, + { + name: "--type", + description: "The type of the uri", + args: { name: "type" }, + isRequired: true, + }, + { + name: "--uri", + description: "The value of the uri", + args: { name: "uri" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a URI for a marketplace offer listing", + options: [ + { + name: "--offer-id", + description: "The offer id", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--display-text", + description: "The display text of the uri", + args: { name: "display-text" }, + }, + { + name: "--subtype", + description: "The subtype of the uri", + args: { name: "subtype" }, + }, + { + name: "--type", + description: "The type of the uri", + args: { name: "type" }, + }, + { + name: "--uri", + description: "The value of the uri", + args: { name: "uri" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the uri for a marketplace offer listing", + options: [ + { + name: "--offer-id", + description: "The offer id", + args: { name: "offer-id" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "package", + description: + "Manage the creation of offer packages, including CNAB bundles for AKS (Azure Container offerings that you sell through Microsoft)", + subcommands: [ + { + name: "build", + description: + "Builds the package for an offer, preparing it for upload or publishing to the offer's technical configuration", + options: [ + { + name: "--offer-id", + description: "The Offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--manifest-file", + description: + "The path to the package manifest YAML file that describes the package, the CNAB bundle, and dependent artifacts", + args: { name: "manifest-file" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "verify", + description: + "Verifies the package contents for an offer prior to building it", + options: [ + { + name: "--offer-id", + description: "The Offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--manifest-file", + description: + "The path to the package manifest YAML file that describes the package, the CNAB bundle, and dependent artifacts", + args: { name: "manifest-file" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + ], + }, + { + name: "plan", + description: "Manage a Marketplace offer plans", + subcommands: [ + { + name: "create", + description: "Create a plan for a marketplace offer", + options: [ + { + name: ["--plan-id", "--id"], + description: "The Plan ID", + args: { name: "plan-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The friendly name of the Plan", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--offer-id", + description: "The Offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--subtype", "-s"], + description: + "SubType of Azure Application plan. Allowed Values: solution-template, managed-application. Default: None", + args: { name: "subtype" }, + }, + ], + }, + { + name: "delete", + description: "Delete a plan for a marketplace offer", + options: [ + { + name: ["--plan-id", "--id"], + description: "The Plan ID", + args: { name: "plan-id" }, + isRequired: true, + }, + { + name: "--offer-id", + description: "The Offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List the plans of a marketplace offer", + options: [ + { + name: "--offer-id", + description: "The Offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the plan of a marketplace offer", + options: [ + { + name: ["--plan-id", "--id"], + description: "The Plan ID", + args: { name: "plan-id" }, + isRequired: true, + }, + { + name: "--offer-id", + description: "The Offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + ], + }, + { + name: "listing", + description: "Manage a Marketplace offer plan's listing", + subcommands: [ + { + name: "show", + description: + "Get the plan listing of a marketplace offer", + options: [ + { + name: ["--plan-id", "--id"], + description: "The Plan ID", + args: { name: "plan-id" }, + isRequired: true, + }, + { + name: "--offer-id", + description: "The Offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the plan listing of a marketplace offer", + options: [ + { + name: ["--plan-id", "--id"], + description: "The Plan ID", + args: { name: "plan-id" }, + isRequired: true, + }, + { + name: "--offer-id", + description: "The Offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--description", "-d"], + description: "The description of the plan listing", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--name", "-n"], + description: "The name of the plan listing", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: ["--summary", "-s"], + description: "The summary of the plan listing", + args: { name: "summary" }, + }, + ], + }, + ], + }, + { + name: "technical-configuration", + description: + "Manage a Marketplace offer plan's technical configuration", + subcommands: [ + { + name: "show", + description: "Show a plan's technical configuration", + options: [ + { + name: "--offer-id", + description: "The Offer id", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--plan-id", + description: "The Plan id", + args: { name: "plan-id" }, + isRequired: true, + }, + ], + }, + { + name: "package", + description: + "Manage packages for a plan's technical configuration", + subcommands: [ + { + name: "add", + description: + "Adds a package to the technical configuration of a plan", + options: [ + { + name: "--offer-id", + description: "The Offer id", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--plan-id", + description: "The Plan id", + args: { name: "plan-id" }, + isRequired: true, + }, + { + name: "--cluster-extension-type", + description: "The Cluster Extension Type", + args: { name: "cluster-extension-type" }, + }, + { + name: "--digest", + description: + "The digest of the bundle with a format of sha256:", + args: { name: "digest" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--registry", + description: + "The name of the Azure Container Registry", + args: { name: "registry" }, + }, + { + name: "--repository", + description: + "The name of the image repository in the Azure Container Registry", + args: { name: "repository" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Resource Group name for the Azure Container Registry", + args: { name: "resource-group" }, + }, + { + name: ["--subscription-id", "-s"], + description: "The Subscription ID", + args: { name: "subscription-id" }, + }, + { + name: "--tag", + description: "The name of the image repository", + args: { name: "tag" }, + }, + { + name: ["--tenant-id", "-t"], + description: "The AAD tenant ID", + args: { name: "tenant-id" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes a package to the technical configuration of a plan", + options: [ + { + name: "--offer-id", + description: "The Offer id", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--plan-id", + description: "The Plan id", + args: { name: "plan-id" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--repository", + description: + "The name of the image repository in the Azure Container Registry", + args: { name: "repository" }, + }, + { + name: "--tag", + description: "The name of the image repository", + args: { name: "tag" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "setup", + description: "Manage a Marketplace Offer's setup", + subcommands: [ + { + name: "show", + description: "Show the offer setup", + options: [ + { + name: ["--offer-id", "--id"], + description: "The Offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a marketplace offer", + options: [ + { + name: ["--offer-id", "--id"], + description: "The Offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--reseller", + description: + "Indicates to enable the reseller channel for the offer", + args: { + name: "reseller", + suggestions: ["false", "true"], + }, + }, + { + name: "--sell-through-microsoft", + description: + "Whether to sell through microsoft or list the offer through the marketplace and process transactions independently", + args: { + name: "sell-through-microsoft", + suggestions: ["false", "true"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--test-drive", + description: + "Whether test drive is enabled for the offer. The test drive option in the Microsoft commercial marketplace lets you configure a hands-on, self-guided tour of your product's key features", + args: { + name: "test-drive", + suggestions: ["false", "true"], + }, + }, + { + name: "--trial-uri", + description: "The trial uri", + args: { name: "trial-uri" }, + }, + ], + }, + ], + }, + { + name: "submission", + description: "Manage a Marketplace Offer's submissions", + subcommands: [ + { + name: "list", + description: "List the submissions of a marketplace offer", + options: [ + { + name: "--offer-id", + description: "The offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + ], + }, + { + name: "publish", + description: "Publish the submissions of a marketplace offer", + options: [ + { + name: "--offer-id", + description: "The offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--submission-id", + description: "The offer submission ID", + args: { name: "submission-id" }, + isRequired: true, + }, + { + name: "--target", + description: + "The target environment type to publish changes for the submission to", + args: { + name: "target", + suggestions: ["draft", "live", "preview"], + }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the submission of a marketplace offer", + options: [ + { + name: "--offer-id", + description: "The offer ID", + args: { name: "offer-id" }, + isRequired: true, + }, + { + name: "--submission-id", + description: "The offer submission ID", + args: { name: "submission-id" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/peering.ts b/src/az/2.53.0/peering.ts new file mode 100644 index 000000000000..2665103ec2c5 --- /dev/null +++ b/src/az/2.53.0/peering.ts @@ -0,0 +1,966 @@ +const completion: Fig.Spec = { + name: "peering", + description: "Manage peering", + subcommands: [ + { + name: "asn", + description: "Peering asn", + subcommands: [ + { + name: "create", + description: + "Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subscription", + options: [ + { + name: "--peer-asn-name", + description: "The peer ASN name", + args: { name: "peer-asn-name" }, + isRequired: true, + }, + { + name: "--peer-asn", + description: "The Autonomous System Number (ASN) of the peer", + args: { name: "peer-asn" }, + }, + { + name: "--peer-contact-detail", + description: + "The contact details of the peer. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: role, email, phone", + args: { name: "peer-contact-detail" }, + }, + { + name: "--peer-name", + description: "The name of the peer", + args: { name: "peer-name" }, + }, + { + name: "--validation-state", + description: + "The validation state of the ASN associated with the peer", + args: { + name: "validation-state", + suggestions: ["Approved", "Failed", "None", "Pending"], + }, + }, + ], + }, + { + name: "delete", + description: + "Deletes an existing peer ASN with the specified name under the given subscription", + options: [ + { + name: "--peer-asn-name", + description: "The peer ASN name", + args: { name: "peer-asn-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Lists all of the peer ASNs under the given subscription", + }, + { + name: "show", + description: + "Gets the peer ASN with the specified name under the given subscription", + options: [ + { + name: "--peer-asn-name", + description: "The peer ASN name", + args: { name: "peer-asn-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "legacy", + description: "Peering legacy", + subcommands: [ + { + name: "list", + description: + "Lists all of the legacy peerings under the given subscription matching the specified kind and location", + options: [ + { + name: "--kind", + description: "The kind of the peering", + args: { name: "kind", suggestions: ["Direct", "Exchange"] }, + isRequired: true, + }, + { + name: "--peering-location", + description: "The location of the peering", + args: { name: "peering-location" }, + isRequired: true, + }, + { + name: "--asn", + description: "The ASN number associated with a legacy peering", + args: { name: "asn" }, + }, + ], + }, + ], + }, + { + name: "location", + description: "Peering location", + subcommands: [ + { + name: "list", + description: + "Lists all of the available peering locations for the specified kind of peering", + options: [ + { + name: "--kind", + description: "The kind of the peering", + args: { name: "kind", suggestions: ["Direct", "Exchange"] }, + isRequired: true, + }, + { + name: "--direct-peering-type", + description: "The type of direct peering", + args: { + name: "direct-peering-type", + suggestions: [ + "Cdn", + "Edge", + "Internal", + "Ix", + "IxRs", + "Transit", + ], + }, + }, + ], + }, + ], + }, + { + name: "peering", + description: "Peering peering", + subcommands: [ + { + name: "create", + description: + "Creates a new peering or updates an existing peering with the specified name under the given subscription and resource group", + options: [ + { + name: "--kind", + description: "The kind of the peering", + args: { name: "kind", suggestions: ["Direct", "Exchange"] }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: + "The SKU that defines the tier and kind of the peering. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: name, tier, family, size", + args: { name: "sku" }, + isRequired: true, + }, + { + name: "--direct", + description: + "The properties that define a direct peering. Expected value: json-string/@json-file", + args: { name: "direct" }, + }, + { + name: "--exchange", + description: + "The properties that define an exchange peering. Expected value: json-string/@json-file", + args: { name: "exchange" }, + }, + { + name: "--peering-location", + description: "The location of the peering", + args: { name: "peering-location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes an existing peering with the specified name under the given subscription and resource group", + options: [ + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "Lists all of the peerings under the given subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Gets an existing peering with the specified name under the given subscription and resource group", + options: [ + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Updates tags for a peering with the specified name under the given subscription and resource group", + options: [ + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "received-route", + description: "Peering received-route", + subcommands: [ + { + name: "list", + description: + "Lists the prefixes received over the specified peering under the given subscription and resource group", + options: [ + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--as-path", + description: + "The optional AS path that can be used to filter the routes", + args: { name: "as-path" }, + }, + { + name: "--origin-as-validation-state", + description: + "The optional origin AS validation state that can be used to filter the routes", + args: { name: "origin-as-validation-state" }, + }, + { + name: "--prefix", + description: + "The optional prefix that can be used to filter the routes", + args: { name: "prefix" }, + }, + { + name: "--rpki-validation-state", + description: + "The optional RPKI validation state that can be used to filter the routes", + args: { name: "rpki-validation-state" }, + }, + { + name: "--skip-token", + description: + "The optional page continuation token that is used in the event of paginated result", + args: { name: "skip-token" }, + }, + ], + }, + ], + }, + { + name: "registered-asn", + description: "Peering registered-asn", + subcommands: [ + { + name: "create", + description: + "Creates a new registered ASN with the specified name under the given subscription, resource group and peering", + options: [ + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: "--registered-asn-name", + description: "The name of the ASN", + args: { name: "registered-asn-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--asn", + description: "The customer's ASN from which traffic originates", + args: { name: "asn" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes an existing registered ASN with the specified name under the given subscription, resource group and peering", + options: [ + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: "--registered-asn-name", + description: "The name of the registered ASN", + args: { name: "registered-asn-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Lists all registered ASNs under the given subscription, resource group and peering", + options: [ + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets an existing registered ASN with the specified name under the given subscription, resource group and peering", + options: [ + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: "--registered-asn-name", + description: "The name of the registered ASN", + args: { name: "registered-asn-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Creates a new registered ASN with the specified name under the given subscription, resource group and peering", + options: [ + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: "--registered-asn-name", + description: "The name of the ASN", + args: { name: "registered-asn-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--asn", + description: "The customer's ASN from which traffic originates", + args: { name: "asn" }, + }, + ], + }, + ], + }, + { + name: "registered-prefix", + description: "Peering registered-prefix", + subcommands: [ + { + name: "create", + description: + "Creates a new registered prefix with the specified name under the given subscription, resource group and peering", + options: [ + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: "--registered-prefix-name", + description: "The name of the registered prefix", + args: { name: "registered-prefix-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--prefix", + description: + "The customer's prefix from which traffic originates", + args: { name: "prefix" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes an existing registered prefix with the specified name under the given subscription, resource group and peering", + options: [ + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: "--registered-prefix-name", + description: "The name of the registered prefix", + args: { name: "registered-prefix-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Lists all registered prefixes under the given subscription, resource group and peering", + options: [ + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets an existing registered prefix with the specified name under the given subscription, resource group and peering", + options: [ + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: "--registered-prefix-name", + description: "The name of the registered prefix", + args: { name: "registered-prefix-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Creates a new registered prefix with the specified name under the given subscription, resource group and peering", + options: [ + { + name: "--peering-name", + description: "The name of the peering", + args: { name: "peering-name" }, + isRequired: true, + }, + { + name: "--registered-prefix-name", + description: "The name of the registered prefix", + args: { name: "registered-prefix-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--prefix", + description: + "The customer's prefix from which traffic originates", + args: { name: "prefix" }, + }, + ], + }, + ], + }, + { + name: "service", + description: "Peering service", + subcommands: [ + { + name: "create", + description: + "Creates a new peering service or updates an existing peering with the specified name under the given subscription and resource group", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--peering-service-name", + description: "The name of the peering service", + args: { name: "peering-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--peering-service-location", + description: "The PeeringServiceLocation of the Customer", + args: { name: "peering-service-location" }, + }, + { + name: "--peering-service-provider", + description: "The MAPS Provider Name", + args: { name: "peering-service-provider" }, + }, + { + name: "--sku", + description: + "The SKU that defines the type of the peering service. Expect value: name=xx", + args: { name: "sku" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes an existing peering service with the specified name under the given subscription and resource group", + options: [ + { + name: "--peering-service-name", + description: "The name of the peering service", + args: { name: "peering-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "Lists all of the peerings under the given subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Gets an existing peering service with the specified name under the given subscription and resource group", + options: [ + { + name: "--peering-service-name", + description: "The name of the peering", + args: { name: "peering-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Updates tags for a peering service with the specified name under the given subscription and resource group", + options: [ + { + name: "--peering-service-name", + description: "The name of the peering service", + args: { name: "peering-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "country", + description: "Peering service country", + subcommands: [ + { + name: "list", + description: + "Lists all of the available countries for peering service", + }, + ], + }, + { + name: "location", + description: "Peering service location", + subcommands: [ + { + name: "list", + description: + "Lists all of the available locations for peering service", + options: [ + { + name: "--country", + description: + "The country of interest, in which the locations are to be present", + args: { name: "country" }, + }, + ], + }, + ], + }, + { + name: "prefix", + description: "Peering service prefix", + subcommands: [ + { + name: "create", + description: + "Creates a new prefix with the specified name under the given subscription, resource group and peering service", + options: [ + { + name: "--peering-service-name", + description: "The name of the peering service", + args: { name: "peering-service-name" }, + isRequired: true, + }, + { + name: "--prefix-name", + description: "The name of the prefix", + args: { name: "prefix-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--peering-service-prefix-key", + description: "The peering service prefix key", + args: { name: "peering-service-prefix-key" }, + }, + { + name: "--prefix", + description: "The prefix from which your traffic originates", + args: { name: "prefix" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes an existing prefix with the specified name under the given subscription, resource group and peering service", + options: [ + { + name: "--peering-service-name", + description: "The name of the peering service", + args: { name: "peering-service-name" }, + isRequired: true, + }, + { + name: "--prefix-name", + description: "The name of the prefix", + args: { name: "prefix-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Lists all prefixes under the given subscription, resource group and peering service", + options: [ + { + name: "--peering-service-name", + description: "The name of the peering service", + args: { name: "peering-service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: "The properties to be expanded", + args: { name: "expand" }, + }, + ], + }, + { + name: "show", + description: + "Gets an existing prefix with the specified name under the given subscription, resource group and peering service", + options: [ + { + name: "--peering-service-name", + description: "The name of the peering service", + args: { name: "peering-service-name" }, + isRequired: true, + }, + { + name: "--prefix-name", + description: "The name of the prefix", + args: { name: "prefix-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: "The properties to be expanded", + args: { name: "expand" }, + }, + ], + }, + { + name: "update", + description: + "Creates a new prefix with the specified name under the given subscription, resource group and peering service", + options: [ + { + name: "--peering-service-name", + description: "The name of the peering service", + args: { name: "peering-service-name" }, + isRequired: true, + }, + { + name: "--prefix-name", + description: "The name of the prefix", + args: { name: "prefix-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--peering-service-prefix-key", + description: "The peering service prefix key", + args: { name: "peering-service-prefix-key" }, + }, + { + name: "--prefix", + description: "The prefix from which your traffic originates", + args: { name: "prefix" }, + }, + ], + }, + ], + }, + { + name: "provider", + description: "Peering service provider", + subcommands: [ + { + name: "list", + description: + "Lists all of the available peering service locations for the specified kind of peering", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/pipelines.ts b/src/az/2.53.0/pipelines.ts new file mode 100644 index 000000000000..e668bc347985 --- /dev/null +++ b/src/az/2.53.0/pipelines.ts @@ -0,0 +1,2438 @@ +const completion: Fig.Spec = { + name: "pipelines", + description: + "Manage Azure Pipelines.\n\n\t\tThis command group is a part of the azure-devops extension", + subcommands: [ + { + name: "agent", + description: "Manage agents", + subcommands: [ + { + name: "list", + description: "Get a list of agents in a pool", + options: [ + { + name: "--pool-id", + description: "The agent pool containing the agents", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--agent-name", + description: "Filter on agent name", + args: { name: "agent-name" }, + }, + { + name: "--demands", + description: + "Filter by demands the agents can satisfy. Comma separated list", + args: { name: "demands" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--include-assigned-request", + description: + "Whether to include details about the agents' current work", + args: { + name: "include-assigned-request", + suggestions: ["false", "true"], + }, + }, + { + name: "--include-capabilities", + description: + "Whether to include the agents' capabilities in the response", + args: { + name: "include-capabilities", + suggestions: ["false", "true"], + }, + }, + { + name: "--include-last-completed-request", + description: + "Whether to include details about the agents' most recent completed work", + args: { + name: "include-last-completed-request", + suggestions: ["false", "true"], + }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "show", + description: "Show agent details", + options: [ + { + name: ["--agent-id", "--id"], + description: "The agent ID to get information about", + args: { name: "agent-id" }, + isRequired: true, + }, + { + name: "--pool-id", + description: "The agent pool containing the agent", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--include-assigned-request", + description: + "Whether to include details about the agents' current work", + args: { + name: "include-assigned-request", + suggestions: ["false", "true"], + }, + }, + { + name: "--include-capabilities", + description: + "Whether to include the agents' capabilities in the response", + args: { + name: "include-capabilities", + suggestions: ["false", "true"], + }, + }, + { + name: "--include-last-completed-request", + description: + "Whether to include details about the agents' most recent completed work", + args: { + name: "include-last-completed-request", + suggestions: ["false", "true"], + }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + ], + }, + { + name: "build", + description: "Manage builds", + subcommands: [ + { + name: "cancel", + description: "Cancels if build is running", + options: [ + { + name: "--build-id", + description: "ID of the build", + args: { name: "build-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--open", + description: "Open the build results page in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "list", + description: "List build results", + options: [ + { + name: "--branch", + description: "Filter by builds for this branch", + args: { name: "branch" }, + }, + { + name: "--definition-ids", + description: + "IDs (space separated) of definitions to list builds for", + args: { name: "definition-ids" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--reason", + description: "Limit to builds with this reason", + args: { + name: "reason", + suggestions: [ + "all", + "batchedCI", + "buildCompletion", + "checkInShelveset", + "individualCI", + "manual", + "pullRequest", + "schedule", + "triggered", + "userCreated", + "validateShelveset", + ], + }, + }, + { + name: "--requested-for", + description: "Limit to builds requested for this user or group", + args: { name: "requested-for" }, + }, + { + name: "--result", + description: "Limit to builds with this result", + args: { + name: "result", + suggestions: [ + "canceled", + "failed", + "none", + "partiallySucceeded", + "succeeded", + ], + }, + }, + { + name: "--status", + description: "Limit to builds with this status", + args: { + name: "status", + suggestions: [ + "all", + "cancelling", + "completed", + "inProgress", + "none", + "notStarted", + "postponed", + ], + }, + }, + { + name: "--tags", + description: + "Limit to builds with each of the specified tags. Space separated", + args: { name: "tags" }, + }, + { + name: "--top", + description: "Maximum number of builds to list", + args: { name: "top" }, + }, + ], + }, + { + name: "queue", + description: "Request (queue) a build", + options: [ + { + name: "--branch", + description: + "Branch to build. Required if there is not a default branch set up on the definition. Example: refs/heads/master or master or refs/pull/1/merge or refs/tags/tag", + args: { name: "branch" }, + }, + { + name: "--commit-id", + description: "Commit ID of the branch to build", + args: { name: "commit-id" }, + }, + { + name: "--definition-id", + description: + "ID of the definition to queue. Required if --name is not supplied", + args: { name: "definition-id" }, + }, + { + name: "--definition-name", + description: + "Name of the definition to queue. Ignored if --id is supplied", + args: { name: "definition-name" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--open", + description: "Open the build results page in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--queue-id", + description: + "Queue Id of the pool that will be used to queue the build", + args: { name: "queue-id" }, + }, + { + name: "--variables", + description: + 'Space separated "name=value" pairs for the variables you would like to set', + args: { name: "variables" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a build", + options: [ + { + name: "--id", + description: "ID of the build", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--open", + description: "Open the build results page in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "definition", + description: "Manage build definitions", + subcommands: [ + { + name: "list", + description: "List build definitions", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--name", + description: + 'Limit results to definitions with this name or starting with this name. Examples: "FabCI" or "Fab*"', + args: { name: "name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--repository", + description: + "Limit results to definitions associated with this repository", + args: { name: "repository" }, + }, + { + name: "--repository-type", + description: + "Limit results to definitions associated with this repository type. It is mandatory to pass 'repository' argument along with this argument", + args: { + name: "repository-type", + suggestions: [ + "bitbucket", + "git", + "github", + "githubenterprise", + "svn", + "tfsgit", + "tfsversioncontrol", + ], + }, + }, + { + name: "--top", + description: "Maximum number of definitions to list", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a build definition", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--id", + description: "ID of the definition", + args: { name: "id" }, + }, + { + name: "--name", + description: + "Name of the definition. Ignored if --id is supplied", + args: { name: "name" }, + }, + { + name: "--open", + description: + "Open the definition summary page in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + ], + }, + { + name: "tag", + description: "Manage build tags", + subcommands: [ + { + name: "add", + description: "Add tag(s) for a build", + options: [ + { + name: "--build-id", + description: "ID of the build", + args: { name: "build-id" }, + isRequired: true, + }, + { + name: "--tags", + description: + "Tag(s) to be added to the build. [Comma seperated values]", + args: { name: "tags" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "delete", + description: "Delete a build tag", + options: [ + { + name: "--build-id", + description: "ID of the build", + args: { name: "build-id" }, + isRequired: true, + }, + { + name: "--tag", + description: "Tag to be deleted from the build", + args: { name: "tag" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "list", + description: "Get tags for a build", + options: [ + { + name: "--build-id", + description: "ID of the build", + args: { name: "build-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "create", + description: "Create a new Azure Pipeline (YAML based)", + options: [ + { + name: "--name", + description: "Name of the new pipeline", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--branch", + description: + "Branch name for which the pipeline will be configured. If omitted, it will be auto-detected from local repository", + args: { name: "branch" }, + }, + { + name: "--description", + description: "Description for the new pipeline", + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--folder-path", + description: + 'Path of the folder where the pipeline needs to be created. Default is root folder. e.g. "user1/test_pipelines"', + args: { name: "folder-path" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--queue-id", + description: + "Id of the queue in the available agent pools. Will be auto detected if not specified", + args: { name: "queue-id" }, + }, + { + name: "--repository", + description: + "Repository for which the pipeline needs to be configured. Can be clone url of the git repository or name of the repository for a Azure Repos or Owner/RepoName in case of GitHub repository. If omitted it will be auto-detected from the remote url of local git repository. If name is mentioned instead of url, --repository-type argument is also required", + args: { name: "repository" }, + }, + { + name: "--repository-type", + description: + "Type of repository. If omitted, it will be auto-detected from remote url of local repository. 'tfsgit' for Azure Repos, 'github' for GitHub repository", + args: { name: "repository-type", suggestions: ["github", "tfsgit"] }, + }, + { + name: "--service-connection", + description: + "Id of the Service connection created for the repository for GitHub repository. Use command az devops service-endpoint -h for creating/listing service_connections. Not required for Azure Repos", + args: { name: "service-connection" }, + }, + { + name: ["--skip-first-run", "--skip-run"], + description: + "Specify this flag to prevent the first run being triggered by the command. Command will return a pipeline if run is skipped else it will output a pipeline run", + args: { name: "skip-first-run", suggestions: ["false", "true"] }, + }, + { + name: ["--yaml-path", "--yml-path"], + description: + "Path of the pipelines yaml file in the repo (if yaml is already present in the repo)", + args: { name: "yaml-path" }, + }, + ], + }, + { + name: "delete", + description: "Delete a pipeline", + options: [ + { + name: "--id", + description: "ID of the pipeline", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List pipelines", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--folder-path", + description: "If specified, filters to definitions under this folder", + args: { name: "folder-path" }, + }, + { + name: "--name", + description: + 'Limit results to pipelines with this name or starting with this name. Examples: "FabCI" or "Fab*"', + args: { name: "name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--query-order", + description: "Order of the results", + args: { + name: "query-order", + suggestions: [ + "ModifiedAsc", + "ModifiedDesc", + "NameAsc", + "NameDesc", + "None", + ], + }, + }, + { + name: "--repository", + description: + "Limit results to pipelines associated with this repository", + args: { name: "repository" }, + }, + { + name: "--repository-type", + description: + "Limit results to pipelines associated with this repository type. It is mandatory to pass 'repository' argument along with this argument", + args: { + name: "repository-type", + suggestions: [ + "bitbucket", + "git", + "github", + "githubenterprise", + "svn", + "tfsgit", + "tfsversioncontrol", + ], + }, + }, + { + name: "--top", + description: "Maximum number of pipelines to list", + args: { name: "top" }, + }, + ], + }, + { + name: "run", + description: "Queue (run) a pipeline", + options: [ + { + name: "--branch", + description: + "Name of the branch on which the pipeline run is to be queued. Example: refs/heads/master or master or refs/pull/1/merge or refs/tags/tag", + args: { name: "branch" }, + }, + { + name: "--commit-id", + description: "Commit-id on which the pipeline run is to be queued", + args: { name: "commit-id" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--folder-path", + description: "Folder path of pipeline. Default is root level folder", + args: { name: "folder-path" }, + }, + { + name: "--id", + description: + "ID of the pipeline to queue. Required if --name is not supplied", + args: { name: "id" }, + }, + { + name: "--name", + description: + "Name of the pipeline to queue. Ignored if --id is supplied", + args: { name: "name" }, + }, + { + name: "--open", + description: "Open the pipeline results page in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--parameters", + description: + 'Space separated "name=value" pairs for the parameters you would like to set', + args: { name: "parameters" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--variables", + description: + 'Space separated "name=value" pairs for the variables you would like to set', + args: { name: "variables" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a pipeline", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--folder-path", + description: "Folder path of pipeline. Default is root level folder", + args: { name: "folder-path" }, + }, + { + name: "--id", + description: "ID of the pipeline", + args: { name: "id" }, + }, + { + name: "--name", + description: "Name of the pipeline. Ignored if --id is supplied", + args: { name: "name" }, + }, + { + name: "--open", + description: "Open the pipeline summary page in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update a pipeline", + options: [ + { + name: "--id", + description: "Id of the pipeline to update", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--branch", + description: "Branch name for which the pipeline will be configured", + args: { name: "branch" }, + }, + { + name: "--description", + description: "New description for the pipeline", + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--new-folder-path", + description: + 'New full path of the folder to move the pipeline to. e.g. "user1/production_pipelines"', + args: { name: "new-folder-path" }, + }, + { + name: "--new-name", + description: "New updated name of the pipeline", + args: { name: "new-name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--queue-id", + description: + "Queue id of the agent pool where the pipeline needs to run", + args: { name: "queue-id" }, + }, + { + name: ["--yaml-path", "--yml-path"], + description: "Path of the pipelines yaml file in the repo", + args: { name: "yaml-path" }, + }, + ], + }, + { + name: "folder", + description: "Manage folders for organizing pipelines", + subcommands: [ + { + name: "create", + description: "Create a folder", + options: [ + { + name: "--path", + description: "Full path of the folder", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of the folder", + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "delete", + description: "Delete a folder", + options: [ + { + name: "--path", + description: "Full path of the folder", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all folders", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--path", + description: "Full path of the folder", + args: { name: "path" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--query-order", + description: "Order in which folders are returned", + args: { + name: "query-order", + suggestions: ["Asc", "Desc", "None"], + }, + }, + ], + }, + { + name: "update", + description: "Update a folder name or description", + options: [ + { + name: "--path", + description: "Full path of the folder", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--new-description", + description: "New description of the folder", + args: { name: "new-description" }, + }, + { + name: "--new-path", + description: "New full path of the folder", + args: { name: "new-path" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + ], + }, + { + name: "pool", + description: "Manage agent pools", + subcommands: [ + { + name: "list", + description: "List agent pools", + options: [ + { + name: "--action", + description: "Filter the list with user action permitted", + args: { name: "action", suggestions: ["manage", "none", "use"] }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--pool-name", + description: "Filter the list with matching pool name", + args: { name: "pool-name" }, + }, + { + name: "--pool-type", + description: "Filter the list with type of pool", + args: { + name: "pool-type", + suggestions: ["automation", "deployment"], + }, + }, + ], + }, + { + name: "show", + description: "Show agent pool details", + options: [ + { + name: ["--pool-id", "--id"], + description: "Id of the pool to list the details", + args: { name: "pool-id" }, + isRequired: true, + }, + { + name: "--action", + description: "Filter the list with user action permitted", + args: { name: "action", suggestions: ["manage", "none", "use"] }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + ], + }, + { + name: "queue", + description: "Manage agent queues", + subcommands: [ + { + name: "list", + description: "List agent queues", + options: [ + { + name: "--action", + description: + "Filter by whether the calling user has use or manage permissions", + args: { name: "action", suggestions: ["manage", "none", "use"] }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--queue-name", + description: + "Filter the list with matching queue name regex. e.g. ubuntu for queue with name 'Hosted Ubuntu 1604'", + args: { name: "queue-name" }, + }, + ], + }, + { + name: "show", + description: "Show details of agent queue", + options: [ + { + name: ["--queue-id", "--id"], + description: "Id of the agent queue to get information about", + args: { name: "queue-id" }, + isRequired: true, + }, + { + name: "--action", + description: + "Filter by whether the calling user has use or manage permissions", + args: { name: "action", suggestions: ["manage", "none", "use"] }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + ], + }, + { + name: "release", + description: "Manage releases", + subcommands: [ + { + name: "create", + description: "Request (create) a release", + options: [ + { + name: "--artifact-metadata-list", + description: 'Space separated "alias=version_id" pairs', + args: { name: "artifact-metadata-list" }, + }, + { + name: "--definition-id", + description: + "ID of the definition to create. Required if --definition-name is not supplied", + args: { name: "definition-id" }, + }, + { + name: "--definition-name", + description: + "Name of the definition to create. Ignored if --definition-id is supplied", + args: { name: "definition-name" }, + }, + { + name: "--description", + description: "Description of the release", + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--open", + description: "Open the release results page in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "list", + description: "List release results", + options: [ + { + name: "--definition-id", + description: "ID of definition to list releases for", + args: { name: "definition-id" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--source-branch", + description: "Filter releases for this branch", + args: { name: "source-branch" }, + }, + { + name: "--status", + description: "Limit to releases with this status", + args: { name: "status" }, + }, + { + name: "--top", + description: "Maximum number of releases to list. Default is 50", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a release", + options: [ + { + name: "--id", + description: "ID of the release", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--open", + description: "Open the release results page in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "definition", + description: "Manage release definitions", + subcommands: [ + { + name: "list", + description: "List release definitions", + options: [ + { + name: "--artifact-source-id", + description: + "Limit results to definitions associated with this artifact_source_id. e.g. For build it would be {projectGuid}:{BuildDefinitionId}, for Jenkins it would be {JenkinsConnectionId}:{JenkinsDefinitionId}, for TfsOnPrem it would be {TfsOnPremConnectionId}:{ProjectName}:{TfsOnPremDefinitionId}. For third-party artifacts e.g. TeamCity, BitBucket you may refer 'uniqueSourceIdentifier' inside vss-extension.json at https://github.com/Microsoft/vsts-rm-extensions/blob/master/Extensions", + args: { name: "artifact-source-id" }, + }, + { + name: "--artifact-type", + description: + "Release definitions with given artifactType will be returned", + args: { + name: "artifact-type", + suggestions: [ + "build", + "externaltfsbuild", + "git", + "github", + "jenkins", + "tfvc", + ], + }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--name", + description: + 'Limit results to definitions with this name or contains this name. Example: "FabCI"', + args: { name: "name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--top", + description: "Maximum number of definitions to list", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a release definition", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--id", + description: "ID of the definition", + args: { name: "id" }, + }, + { + name: "--name", + description: + "Name of the definition. Ignored if --id is supplied", + args: { name: "name" }, + }, + { + name: "--open", + description: + "Open the definition summary page in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "runs", + description: "Manage pipeline runs", + subcommands: [ + { + name: "list", + description: "List the pipeline runs in a project", + options: [ + { + name: "--branch", + description: "Filter by builds for this branch", + args: { name: "branch" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--pipeline-ids", + description: + "IDs (space separated) of definitions to list builds for. For multiple pipeline ids: --pipeline-ids 1 2", + args: { name: "pipeline-ids" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--query-order", + description: "Order of pipeline runs", + args: { + name: "query-order", + suggestions: [ + "FinishTimeAsc", + "FinishTimeDesc", + "QueueTimeAsc", + "QueueTimeDesc", + "StartTimeAsc", + "StartTimeDesc", + ], + }, + }, + { + name: "--reason", + description: "Limit to builds with this reason", + args: { + name: "reason", + suggestions: [ + "all", + "batchedCI", + "buildCompletion", + "checkInShelveset", + "individualCI", + "manual", + "pullRequest", + "schedule", + "triggered", + "userCreated", + "validateShelveset", + ], + }, + }, + { + name: "--requested-for", + description: "Limit to builds requested for this user or group", + args: { name: "requested-for" }, + }, + { + name: "--result", + description: "Limit to builds with this result", + args: { + name: "result", + suggestions: [ + "canceled", + "failed", + "none", + "partiallySucceeded", + "succeeded", + ], + }, + }, + { + name: "--status", + description: "Limit to builds with this status", + args: { + name: "status", + suggestions: [ + "all", + "cancelling", + "completed", + "inProgress", + "none", + "notStarted", + "postponed", + ], + }, + }, + { + name: "--tags", + description: + "Limit to builds with each of the specified tags. Space separated", + args: { name: "tags" }, + }, + { + name: "--top", + description: "Maximum number of builds to list", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Show details of a pipeline run", + options: [ + { + name: "--id", + description: "ID of the pipeline run", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--open", + description: "Open the build results page in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "artifact", + description: "Manage pipeline run artifacts", + subcommands: [ + { + name: "download", + description: "Download a pipeline artifact", + options: [ + { + name: "--artifact-name", + description: "Name of the artifact to download", + args: { name: "artifact-name" }, + isRequired: true, + }, + { + name: "--path", + description: "Path to download the artifact into", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--run-id", + description: + "ID of the run that the artifact is associated to", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "list", + description: "List artifacts associated with a run", + options: [ + { + name: "--run-id", + description: + "ID of the run that the artifact is associated to", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "upload", + description: "Upload a pipeline artifact", + options: [ + { + name: "--artifact-name", + description: "Name of the artifact to upload", + args: { name: "artifact-name" }, + isRequired: true, + }, + { + name: "--path", + description: "Path to upload the artifact from", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--run-id", + description: + "ID of the run that the artifact is associated to", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + ], + }, + { + name: "tag", + description: "Manage pipeline run tags", + subcommands: [ + { + name: "add", + description: "Add tag(s) for a pipeline run", + options: [ + { + name: "--run-id", + description: "ID of the pipeline run", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: "--tags", + description: + "Tag(s) to be added to the pipeline run. [Comma seperated values]", + args: { name: "tags" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "delete", + description: "Delete a pipeline run tag", + options: [ + { + name: "--run-id", + description: "ID of the pipeline run", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: "--tag", + description: "Tag to be deleted from the pipeline run", + args: { name: "tag" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "list", + description: "Get tags for a pipeline run", + options: [ + { + name: "--run-id", + description: "ID of the pipeline run", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "variable", + description: "Manage pipeline variables", + subcommands: [ + { + name: "create", + description: "Add a variable to a pipeline", + options: [ + { + name: "--name", + description: "Name of the variable", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--allow-override", + description: + "Indicates whether the value can be set at queue time", + args: { name: "allow-override", suggestions: ["false", "true"] }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--pipeline-id", + description: "Id of the pipeline", + args: { name: "pipeline-id" }, + }, + { + name: "--pipeline-name", + description: + "Name of the pipeline. Ignored if --pipeline-id parameter is supplied", + args: { name: "pipeline-name" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--secret", + description: "Indicates whether the variable's value is a secret", + args: { name: "secret", suggestions: ["false", "true"] }, + }, + { + name: "--value", + description: + "Value of the variable. For secret variables, if --value parameter is not given, it will be picked from environment variable prefixed with AZURE_DEVOPS_EXT_PIPELINE_VAR_ or user will be prompted to enter it via standard input. e.g. A variable named MySecret can be input using environment variable AZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret", + args: { name: "value" }, + }, + ], + }, + { + name: "delete", + description: "Delete a variable from pipeline", + options: [ + { + name: "--name", + description: "Name of the variable to delete", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--pipeline-id", + description: "Id of the pipeline", + args: { name: "pipeline-id" }, + }, + { + name: "--pipeline-name", + description: "Name of the pipeline", + args: { name: "pipeline-name" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the variables in a pipeline", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--pipeline-id", + description: "Id of the pipeline", + args: { name: "pipeline-id" }, + }, + { + name: "--pipeline-name", + description: + "Name of the pipeline. Ignored if --pipeline-id parameter is supplied", + args: { name: "pipeline-name" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update a variable in a pipeline", + options: [ + { + name: "--name", + description: "Name of the variable", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--allow-override", + description: + "Indicates whether the value can be set at queue time", + args: { name: "allow-override", suggestions: ["false", "true"] }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--new-name", + description: "New name of the variable", + args: { name: "new-name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--pipeline-id", + description: "Id of the pipeline", + args: { name: "pipeline-id" }, + }, + { + name: "--pipeline-name", + description: + "Name of the pipeline. Ignored if --pipeline-id parameter is supplied", + args: { name: "pipeline-name" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--prompt-value", + description: + "Set it to True to update the value of a secret variable using environment variable or prompt via standard input", + args: { name: "prompt-value", suggestions: ["false", "true"] }, + }, + { + name: "--secret", + description: "If the value of the variable is a secret", + args: { name: "secret", suggestions: ["false", "true"] }, + }, + { + name: "--value", + description: + "New value of the variable. For secret variables, use --prompt-value parameter, to be prompted to enter it via standard input. For non-interactive consoles it can be picked from environment variable prefixed with AZURE_DEVOPS_EXT_PIPELINE_VAR_ e.g. A variable nameed MySecret can be input using environment variable AZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret", + args: { name: "value" }, + }, + ], + }, + ], + }, + { + name: "variable-group", + description: "Manage variable groups", + subcommands: [ + { + name: "create", + description: "Create a variable group", + options: [ + { + name: "--name", + description: "Name of the variable group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--variables", + description: + "Variables in format key=value space separated pairs. Secret variables should be managed using az pipelines variable-group variable commands", + args: { name: "variables" }, + isRequired: true, + }, + { + name: "--authorize", + description: + "Whether the variable group should be accessible by all pipelines", + args: { name: "authorize", suggestions: ["false", "true"] }, + }, + { + name: "--description", + description: "Description of the variable group", + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "delete", + description: "Delete a variable group", + options: [ + { + name: ["--group-id", "--id"], + description: "Id of the variable group", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List variable groups", + options: [ + { + name: ["--action-filter", "--action"], + description: + "Action filter for the variable group. It specifies the action which can be performed on the variable groups", + args: { + name: "action-filter", + suggestions: ["manage", "none", "use"], + }, + }, + { + name: "--continuation-token", + description: + "Gets the variable groups after the continuation token provided", + args: { name: "continuation-token" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--group-name", + description: + "Name of the variable group. Wildcards are accepted. e.g. var_group*", + args: { name: "group-name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--query-order", + description: "Gets the results in the defined order", + args: { name: "query-order", suggestions: ["Asc", "Desc"] }, + }, + { + name: "--top", + description: "Number of variable groups to get", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Show variable group details", + options: [ + { + name: ["--group-id", "--id"], + description: "ID of the variable group", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update a variable group", + options: [ + { + name: ["--group-id", "--id"], + description: "Id of the variable group", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: "--authorize", + description: + "Whether the variable group should be accessible by all pipelines", + args: { name: "authorize", suggestions: ["false", "true"] }, + }, + { + name: "--description", + description: "New description of the variable group", + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--name", + description: "New name of the variable group", + args: { name: "name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "variable", + description: "Manage variables in a variable group", + subcommands: [ + { + name: "create", + description: "Add a variable to a variable group", + options: [ + { + name: ["--group-id", "--id"], + description: "Id of the variable group", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the variable", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--secret", + description: "If the value of the variable is a secret", + args: { name: "secret", suggestions: ["false", "true"] }, + }, + { + name: "--value", + description: + "Value of the variable. For secret variables, if --value parameter is not given, it will be picked from environment variable prefixed with AZURE_DEVOPS_EXT_PIPELINE_VAR_ or user will be prompted to enter it via standard input. e.g. PersonalAccessToken can be input using environment variable AZURE_DEVOPS_EXT_PIPELINE_VAR_PersonalAccessToken", + args: { name: "value" }, + }, + ], + }, + { + name: "delete", + description: "Delete a variable from variable group", + options: [ + { + name: ["--group-id", "--id"], + description: "Id of the variable group", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the variable", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the variables in a variable group", + options: [ + { + name: ["--group-id", "--id"], + description: "Id of the variable group", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update a variable in a variable group", + options: [ + { + name: ["--group-id", "--id"], + description: "Id of the variable group", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the variable", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--new-name", + description: "New name of the variable", + args: { name: "new-name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--prompt-value", + description: + "Set it to True to update the value of a secret variable using environment variable or prompt via standard input", + }, + { + name: "--secret", + description: "If the value of the variable is a secret", + args: { name: "secret", suggestions: ["false", "true"] }, + }, + { + name: "--value", + description: + "New value of the variable. For secret variables, if --value parameter is not given, it will be picked from environment variable prefixed with AZURE_DEVOPS_EXT_PIPELINE_VAR_ or user will be prompted to enter it via standard input. e.g. PersonalAccessToken can be input using environment variable AZURE_DEVOPS_EXT_PIPELINE_VAR_PersonalAccessToken", + args: { name: "value" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/policy.ts b/src/az/2.53.0/policy.ts new file mode 100644 index 000000000000..e927df9ae7e2 --- /dev/null +++ b/src/az/2.53.0/policy.ts @@ -0,0 +1,1938 @@ +const completion: Fig.Spec = { + name: "policy", + description: "Manage resource policies", + subcommands: [ + { + name: "assignment", + description: "Manage resource policy assignments", + subcommands: [ + { + name: "create", + description: "Create a resource policy assignment", + options: [ + { + name: "--description", + description: "Description of the policy assignment", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of the policy assignment", + args: { name: "display-name" }, + }, + { + name: ["--enforcement-mode", "-e"], + description: + "Enforcement mode of the policy assignment, e.g. Default, DoNotEnforce. Please visit https://aka.ms/azure-policyAssignment-enforcement-mode for more information", + args: { + name: "enforcement-mode", + suggestions: ["Default", "DoNotEnforce"], + }, + }, + { + name: "--identity-scope", + description: "Scope that the system assigned identity can access", + args: { name: "identity-scope" }, + }, + { + name: ["--location", "-l"], + description: + "The location of the policy assignment. Only required when utilizing managed identity", + args: { name: "location" }, + }, + { + name: "--mi-system-assigned", + description: + "Provide this flag to use system assigned identity for policy assignment. Check out help for more examples", + args: { name: "mi-system-assigned" }, + }, + { + name: "--mi-user-assigned", + description: + "UserAssigned Identity Id to be used for policy assignment. Check out help for more examples", + args: { name: "mi-user-assigned" }, + }, + { + name: ["--name", "-n"], + description: "Name of the new policy assignment", + args: { name: "name" }, + }, + { + name: "--not-scopes", + description: + "Space-separated scopes where the policy assignment does not apply", + args: { name: "not-scopes" }, + }, + { + name: ["--params", "-p"], + description: + "JSON formatted string or a path to a file or uri with parameter values of the policy rule", + args: { name: "params" }, + }, + { + name: "--policy", + description: + "Name or id of the policy definition. If not provided, a policy set definition parameter must be provided", + args: { name: "policy" }, + }, + { + name: ["--policy-set-definition", "-d"], + description: + "Name or id of the policy set definition. If not provided, a policy definition parameter must be provided", + args: { name: "policy-set-definition" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: + "Role name or id that will be assigned to the managed identity", + args: { name: "role" }, + }, + { + name: "--scope", + description: "Scope to which this policy assignment applies", + args: { name: "scope" }, + }, + ], + }, + { + name: "delete", + description: "Delete a resource policy assignment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the policy assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "Scope at which this policy assignment subcommand applies. Defaults to current context subscription", + args: { name: "scope" }, + }, + ], + }, + { + name: "list", + description: "List resource policy assignments", + options: [ + { + name: "--disable-scope-strict-match", + description: + "Include policy assignments either inherited from parent scope or at child scope", + args: { name: "disable-scope-strict-match" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "Scope at which this policy assignment subcommand applies. Defaults to current context subscription", + args: { name: "scope" }, + }, + ], + }, + { + name: "show", + description: "Show a resource policy assignment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the policy assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "Scope at which this policy assignment subcommand applies. Defaults to current context subscription", + args: { name: "scope" }, + }, + ], + }, + { + name: "update", + description: "Update a resource policy assignment", + options: [ + { + name: "--description", + description: "Description of the policy assignment", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of the policy assignment", + args: { name: "display-name" }, + }, + { + name: ["--enforcement-mode", "-e"], + description: + "Enforcement mode of the policy assignment, e.g. Default, DoNotEnforce. Please visit https://aka.ms/azure-policyAssignment-enforcement-mode for more information", + args: { + name: "enforcement-mode", + suggestions: ["Default", "DoNotEnforce"], + }, + }, + { + name: ["--name", "-n"], + description: "Name of the policy assignment", + args: { name: "name" }, + }, + { + name: "--not-scopes", + description: + "Space-separated scopes where the policy assignment does not apply", + args: { name: "not-scopes" }, + }, + { + name: ["--params", "-p"], + description: + "JSON formatted string or a path to a file or uri with parameter values of the policy rule", + args: { name: "params" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "Scope at which this policy assignment subcommand applies. Defaults to current context subscription", + args: { name: "scope" }, + }, + ], + }, + { + name: "identity", + description: "Manage a policy assignment's managed identity", + subcommands: [ + { + name: "assign", + description: + "Add a system assigned identity or a user assigned identity to a policy assignment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the policy assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--identity-scope", + description: + "Scope that the system assigned identity can access", + args: { name: "identity-scope" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: + "Role name or id that will be assigned to the managed identity", + args: { name: "role" }, + }, + { + name: "--scope", + description: + "Scope at which this policy assignment subcommand applies. Defaults to current context subscription", + args: { name: "scope" }, + }, + { + name: "--system-assigned", + description: + "Provide this flag to use system assigned identity for policy assignment. Check out help for more examples", + args: { name: "system-assigned" }, + }, + { + name: "--user-assigned", + description: + "UserAssigned Identity Id to be used for policy assignment. Check out help for more examples", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "remove", + description: "Remove a managed identity from a policy assignment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the policy assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "Scope at which this policy assignment subcommand applies. Defaults to current context subscription", + args: { name: "scope" }, + }, + ], + }, + { + name: "show", + description: "Show a policy assignment's managed identity", + options: [ + { + name: ["--name", "-n"], + description: "Name of the policy assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "Scope at which this policy assignment subcommand applies. Defaults to current context subscription", + args: { name: "scope" }, + }, + ], + }, + ], + }, + { + name: "non-compliance-message", + description: "Manage a policy assignment's non-compliance messages", + subcommands: [ + { + name: "create", + description: + "Add a non-compliance message to a policy assignment", + options: [ + { + name: ["--message", "-m"], + description: + "Message that will be shown when a resource is denied by policy or evaluation details are inspected", + args: { name: "message" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the policy assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--policy-definition-reference-id", "-r"], + description: + "Policy definition reference ID within the assigned initiative (policy set) that the message applies to", + args: { name: "policy-definition-reference-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "Scope at which this policy assignment subcommand applies. Defaults to current context subscription", + args: { name: "scope" }, + }, + ], + }, + { + name: "delete", + description: + "Remove one or more non-compliance messages from a policy assignment", + options: [ + { + name: ["--message", "-m"], + description: + "Message that will be shown when a resource is denied by policy or evaluation details are inspected", + args: { name: "message" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the policy assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--policy-definition-reference-id", "-r"], + description: + "Policy definition reference ID within the assigned initiative (policy set) that the message applies to", + args: { name: "policy-definition-reference-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "Scope at which this policy assignment subcommand applies. Defaults to current context subscription", + args: { name: "scope" }, + }, + ], + }, + { + name: "list", + description: + "List the non-compliance messages for a policy assignment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the policy assignment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "Scope at which this policy assignment subcommand applies. Defaults to current context subscription", + args: { name: "scope" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "attestation", + description: "Manage resource policy attestations", + subcommands: [ + { + name: "create", + description: "Create a policy attestation", + options: [ + { + name: ["--attestation-name", "--name", "-n"], + description: "The name of the attestation", + args: { name: "attestation-name" }, + isRequired: true, + }, + { + name: ["--policy-assignment-id", "--policy-assignment", "-a"], + description: + "The resource ID of the policy assignment that the attestation is setting the state for", + args: { name: "policy-assignment-id" }, + isRequired: true, + }, + { + name: "--assessment-date", + description: "The time the evidence was assessed", + args: { name: "assessment-date" }, + }, + { + name: "--comments", + description: + "Comments describing why this attestation was created", + args: { name: "comments" }, + }, + { + name: "--compliance-state", + description: + "The compliance state that should be set on the resource", + args: { + name: "compliance-state", + suggestions: ["Compliant", "NonCompliant", "Unknown"], + }, + }, + { + name: "--definition-reference-id", + description: + "The policy definition reference ID from a policy set definition that the attestation is setting the state for. If the policy assignment assigns a policy set definition the attestation can choose a definition within the set definition with this property or omit this and set the state for the entire set definition", + args: { name: "definition-reference-id" }, + }, + { + name: "--evidence", + description: + "The evidence supporting the compliance state set in this attestation", + args: { name: "evidence" }, + }, + { + name: "--expires-on", + description: "The time the compliance state should expire", + args: { name: "expires-on" }, + }, + { + name: "--metadata", + description: + "Additional metadata in space-separated key=value pairs for an attestation. This overwrites any existing metadata for the attestation", + args: { name: "metadata" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: Microsoft.Provider)", + args: { name: "namespace" }, + }, + { + name: "--owner", + description: + "The person responsible for setting the state of the resource. This value is typically an Azure Active Directory object ID", + args: { name: "owner" }, + }, + { + name: "--parent", + description: + "The parent path (Ex: resourceTypeA/nameA/resourceTypeB/nameB)", + args: { name: "parent" }, + }, + { + name: ["--resource-id", "--resource"], + description: + "Resource ID or resource name. If a name is given, please provide the resource group and other relevant resource id arguments", + args: { name: "resource-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: "Resource type (Ex: resourceTypeC)", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "delete", + description: "Delete an existing policy attestation", + options: [ + { + name: ["--attestation-name", "--name", "-n"], + description: "The name of the attestation", + args: { name: "attestation-name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: Microsoft.Provider)", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: + "The parent path (Ex: resourceTypeA/nameA/resourceTypeB/nameB)", + args: { name: "parent" }, + }, + { + name: ["--resource-id", "--resource"], + description: + "Resource ID or resource name. If a name is given, please provide the resource group and other relevant resource id arguments", + args: { name: "resource-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: "Resource type (Ex: resourceTypeC)", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "list", + description: "List all attestations for a resource", + options: [ + { + name: "--filter", + description: "OData filter expression", + args: { name: "filter" }, + }, + { + name: ["--resource-id", "--resource"], + description: "Resource ID", + args: { name: "resource-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--top", + description: "Maximum number of records to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get a policy attestation", + options: [ + { + name: ["--attestation-name", "--name", "-n"], + description: "The name of the attestation", + args: { name: "attestation-name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: Microsoft.Provider)", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: + "The parent path (Ex: resourceTypeA/nameA/resourceTypeB/nameB)", + args: { name: "parent" }, + }, + { + name: ["--resource-id", "--resource"], + description: + "Resource ID or resource name. If a name is given, please provide the resource group and other relevant resource id arguments", + args: { name: "resource-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: "Resource type (Ex: resourceTypeC)", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "update", + description: "Update an existing policy attestation", + options: [ + { + name: ["--attestation-name", "--name", "-n"], + description: "The name of the attestation", + args: { name: "attestation-name" }, + isRequired: true, + }, + { + name: "--assessment-date", + description: "The time the evidence was assessed", + args: { name: "assessment-date" }, + }, + { + name: "--comments", + description: + "Comments describing why this attestation was created", + args: { name: "comments" }, + }, + { + name: "--compliance-state", + description: + "The compliance state that should be set on the resource", + args: { + name: "compliance-state", + suggestions: ["Compliant", "NonCompliant", "Unknown"], + }, + }, + { + name: "--definition-reference-id", + description: + "The policy definition reference ID from a policy set definition that the attestation is setting the state for. If the policy assignment assigns a policy set definition the attestation can choose a definition within the set definition with this property or omit this and set the state for the entire set definition", + args: { name: "definition-reference-id" }, + }, + { + name: "--evidence", + description: + "The evidence supporting the compliance state set in this attestation", + args: { name: "evidence" }, + }, + { + name: "--expires-on", + description: "The time the compliance state should expire", + args: { name: "expires-on" }, + }, + { + name: "--metadata", + description: + "Additional metadata in space-separated key=value pairs for an attestation. This overwrites any existing metadata for the attestation", + args: { name: "metadata" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: Microsoft.Provider)", + args: { name: "namespace" }, + }, + { + name: "--owner", + description: + "The person responsible for setting the state of the resource. This value is typically an Azure Active Directory object ID", + args: { name: "owner" }, + }, + { + name: "--parent", + description: + "The parent path (Ex: resourceTypeA/nameA/resourceTypeB/nameB)", + args: { name: "parent" }, + }, + { + name: ["--policy-assignment-id", "--policy-assignment", "-a"], + description: + "The resource ID of the policy assignment that the attestation is setting the state for", + args: { name: "policy-assignment-id" }, + }, + { + name: ["--resource-id", "--resource"], + description: + "Resource ID or resource name. If a name is given, please provide the resource group and other relevant resource id arguments", + args: { name: "resource-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: "Resource type (Ex: resourceTypeC)", + args: { name: "resource-type" }, + }, + ], + }, + ], + }, + { + name: "definition", + description: "Manage resource policy definitions", + subcommands: [ + { + name: "create", + description: "Create a policy definition", + options: [ + { + name: ["--name", "-n"], + description: "Name of the new policy definition", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of policy definition", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of policy definition", + args: { name: "display-name" }, + }, + { + name: "--management-group", + description: + "Name of the management group the new policy definition can be assigned in", + args: { name: "management-group" }, + }, + { + name: "--metadata", + description: "Metadata in space-separated key=value pairs", + args: { name: "metadata" }, + }, + { + name: ["--mode", "-m"], + description: + "Mode of the policy definition, e.g. All, Indexed. Please visit https://aka.ms/azure-policy-mode for more information", + args: { name: "mode" }, + }, + { + name: "--params", + description: + "JSON formatted string or a path to a file or uri with parameter definitions", + args: { name: "params" }, + }, + { + name: "--rules", + description: + "Policy rules in JSON format, or a path to a file containing JSON rules", + args: { name: "rules" }, + }, + { + name: "--subscription", + description: + "Name or id of the subscription the new policy definition can be assigned in", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete a policy definition", + options: [ + { + name: ["--name", "-n"], + description: "The policy definition name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--management-group", + description: + "The name of the management group of the policy [set] definition. This parameter is required if your policy set is scoped to a management group", + args: { name: "management-group" }, + }, + { + name: "--subscription", + description: "The subscription id of the policy [set] definition", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List policy definitions", + options: [ + { + name: "--management-group", + description: + "The name of the management group of the policy [set] definition. This parameter is required if your policy set is scoped to a management group", + args: { name: "management-group" }, + }, + { + name: "--subscription", + description: "The subscription id of the policy [set] definition", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show a policy definition", + options: [ + { + name: ["--name", "-n"], + description: "The policy definition name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--management-group", + description: + "The name of the management group of the policy [set] definition. This parameter is required if your policy set is scoped to a management group", + args: { name: "management-group" }, + }, + { + name: "--subscription", + description: "The subscription id of the policy [set] definition", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a policy definition", + options: [ + { + name: ["--name", "-n"], + description: "The policy definition name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of policy definition", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of policy definition", + args: { name: "display-name" }, + }, + { + name: "--management-group", + description: + "The name of the management group of the policy [set] definition. This parameter is required if your policy set is scoped to a management group", + args: { name: "management-group" }, + }, + { + name: "--metadata", + description: "Metadata in space-separated key=value pairs", + args: { name: "metadata" }, + }, + { + name: ["--mode", "-m"], + description: + "Mode of the policy definition, e.g. All, Indexed. Please visit https://aka.ms/azure-policy-mode for more information", + args: { name: "mode" }, + }, + { + name: "--params", + description: + "JSON formatted string or a path to a file or uri with parameter definitions", + args: { name: "params" }, + }, + { + name: "--rules", + description: + "JSON formatted string or a path to a file with such content", + args: { name: "rules" }, + }, + { + name: "--subscription", + description: "The subscription id of the policy [set] definition", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "event", + description: "Manage policy events", + subcommands: [ + { + name: "list", + description: "List policy events", + options: [ + { + name: "--apply", + description: + "Apply expression for aggregations using OData notation", + args: { name: "apply" }, + }, + { + name: "--filter", + description: "Filter expression using OData notation", + args: { name: "filter" }, + }, + { + name: "--from", + description: + "ISO 8601 formatted timestamp specifying the start time of the interval to query", + args: { name: "from" }, + }, + { + name: ["--management-group", "-m"], + description: "Name of management group", + args: { name: "management-group" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: Microsoft.Provider)", + args: { name: "namespace" }, + }, + { + name: "--order-by", + description: "Ordering expression using OData notation", + args: { name: "order-by" }, + }, + { + name: "--parent", + description: + "The parent path (Ex: resourceTypeA/nameA/resourceTypeB/nameB)", + args: { name: "parent" }, + }, + { + name: ["--policy-assignment", "-a"], + description: "Name of policy assignment", + args: { name: "policy-assignment" }, + }, + { + name: ["--policy-definition", "-d"], + description: "Name of policy definition", + args: { name: "policy-definition" }, + }, + { + name: ["--policy-set-definition", "-s"], + description: "Name of policy set definition", + args: { name: "policy-set-definition" }, + }, + { + name: "--resource", + description: + "Resource ID or resource name. If a name is given, please provide the resource group and other relevant resource id arguments", + args: { name: "resource" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: "Resource type (Ex: resourceTypeC)", + args: { name: "resource-type" }, + }, + { + name: "--select", + description: "Select expression using OData notation", + args: { name: "select" }, + }, + { + name: "--to", + description: + "ISO 8601 formatted timestamp specifying the end time of the interval to query", + args: { name: "to" }, + }, + { + name: "--top", + description: "Maximum number of records to return", + args: { name: "top" }, + }, + ], + }, + ], + }, + { + name: "exemption", + description: "Manage resource policy exemptions", + subcommands: [ + { + name: "create", + description: "Create a policy exemption", + options: [ + { + name: ["--name", "-n"], + description: "Name of the new policy exemption", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of policy exemption", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of the policy exemption", + args: { name: "display-name" }, + }, + { + name: ["--exemption-category", "-e"], + description: + "The policy exemption category of the policy exemption", + args: { name: "exemption-category" }, + }, + { + name: "--expires-on", + description: + "The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption", + args: { name: "expires-on" }, + }, + { + name: "--metadata", + description: "Metadata in space-separated key=value pairs", + args: { name: "metadata" }, + }, + { + name: ["--policy-assignment", "-a"], + description: + "The referenced policy assignment Id for the policy exemption", + args: { name: "policy-assignment" }, + }, + { + name: ["--policy-definition-reference-ids", "-r"], + description: + "The policy definition reference ids to exempt in the initiative (policy set)", + args: { name: "policy-definition-reference-ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: "Scope to which this policy exemption applies", + args: { name: "scope" }, + }, + ], + }, + { + name: "delete", + description: "Delete a policy exemption", + options: [ + { + name: ["--name", "-n"], + description: "Name of the policy exemption", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: "Scope to which this policy exemption applies", + args: { name: "scope" }, + }, + ], + }, + { + name: "list", + description: "List policy exemptions", + options: [ + { + name: ["--disable-scope-strict-match", "-i"], + description: + "Include policy exemptions either inherited from parent scope or at child scope", + args: { name: "disable-scope-strict-match" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: "Scope to which this policy exemption applies", + args: { name: "scope" }, + }, + ], + }, + { + name: "show", + description: "Show a policy exemption", + options: [ + { + name: ["--name", "-n"], + description: "Name of the policy exemption", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: "Scope to which this policy exemption applies", + args: { name: "scope" }, + }, + ], + }, + { + name: "update", + description: "Update a policy exemption", + options: [ + { + name: ["--name", "-n"], + description: "Name of the policy exemption", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of policy exemption", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of the policy exemption", + args: { name: "display-name" }, + }, + { + name: ["--exemption-category", "-e"], + description: + "The policy exemption category of the policy exemption", + args: { name: "exemption-category" }, + }, + { + name: "--expires-on", + description: + "The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption", + args: { name: "expires-on" }, + }, + { + name: "--metadata", + description: "Metadata in space-separated key=value pairs", + args: { name: "metadata" }, + }, + { + name: ["--policy-definition-reference-ids", "-r"], + description: + "The policy definition reference ids to exempt in the initiative (policy set)", + args: { name: "policy-definition-reference-ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the policy will be applied", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: "Scope to which this policy exemption applies", + args: { name: "scope" }, + }, + ], + }, + ], + }, + { + name: "metadata", + description: "Get policy metadata resources", + subcommands: [ + { + name: "list", + description: "List policy metadata resources", + options: [ + { + name: "--top", + description: "Maximum number of records to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get a single policy metadata resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the metadata resource", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "remediation", + description: "Manage resource policy remediations", + subcommands: [ + { + name: "cancel", + description: "Cancel a resource policy remediation", + options: [ + { + name: ["--name", "-n"], + description: "Name of the remediation", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: "Name of management group", + args: { name: "management-group" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: Microsoft.Provider)", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: + "The parent path (Ex: resourceTypeA/nameA/resourceTypeB/nameB)", + args: { name: "parent" }, + }, + { + name: "--resource", + description: + "Resource ID or resource name. If a name is given, please provide the resource group and other relevant resource id arguments", + args: { name: "resource" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: "Resource type (Ex: resourceTypeC)", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "create", + description: "Create a resource policy remediation", + options: [ + { + name: ["--name", "-n"], + description: "Name of the remediation", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--policy-assignment", "-a"], + description: "Name or resource ID of the policy assignment", + args: { name: "policy-assignment" }, + isRequired: true, + }, + { + name: "--definition-reference-id", + description: + "Policy definition reference ID inside the policy set definition. Only required when the policy assignment is assigning a policy set definition", + args: { name: "definition-reference-id" }, + }, + { + name: "--location-filters", + description: + "Space separated list of resource locations that should be remediated (Ex: centralus westeurope)", + args: { name: "location-filters" }, + }, + { + name: ["--management-group", "-m"], + description: "Name of management group", + args: { name: "management-group" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: Microsoft.Provider)", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: + "The parent path (Ex: resourceTypeA/nameA/resourceTypeB/nameB)", + args: { name: "parent" }, + }, + { + name: "--resource", + description: + "Resource ID or resource name. If a name is given, please provide the resource group and other relevant resource id arguments", + args: { name: "resource" }, + }, + { + name: "--resource-discovery-mode", + description: + "The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified", + args: { + name: "resource-discovery-mode", + suggestions: ["ExistingNonCompliant", "ReEvaluateCompliance"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: "Resource type (Ex: resourceTypeC)", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "delete", + description: "Delete a resource policy remediation", + options: [ + { + name: ["--name", "-n"], + description: "Name of the remediation", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: "Name of management group", + args: { name: "management-group" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: Microsoft.Provider)", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: + "The parent path (Ex: resourceTypeA/nameA/resourceTypeB/nameB)", + args: { name: "parent" }, + }, + { + name: "--resource", + description: + "Resource ID or resource name. If a name is given, please provide the resource group and other relevant resource id arguments", + args: { name: "resource" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: "Resource type (Ex: resourceTypeC)", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "list", + description: "List resource policy remediations", + options: [ + { + name: ["--management-group", "-m"], + description: "Name of management group", + args: { name: "management-group" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: Microsoft.Provider)", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: + "The parent path (Ex: resourceTypeA/nameA/resourceTypeB/nameB)", + args: { name: "parent" }, + }, + { + name: "--resource", + description: + "Resource ID or resource name. If a name is given, please provide the resource group and other relevant resource id arguments", + args: { name: "resource" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: "Resource type (Ex: resourceTypeC)", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "show", + description: "Show a resource policy remediation", + options: [ + { + name: ["--name", "-n"], + description: "Name of the remediation", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: "Name of management group", + args: { name: "management-group" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: Microsoft.Provider)", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: + "The parent path (Ex: resourceTypeA/nameA/resourceTypeB/nameB)", + args: { name: "parent" }, + }, + { + name: "--resource", + description: + "Resource ID or resource name. If a name is given, please provide the resource group and other relevant resource id arguments", + args: { name: "resource" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: "Resource type (Ex: resourceTypeC)", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "deployment", + description: "Manage resource policy remediation deployments", + subcommands: [ + { + name: "list", + description: + "Lists deployments for a resource policy remediation", + options: [ + { + name: ["--name", "-n"], + description: "Name of the remediation", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--management-group", "-m"], + description: "Name of management group", + args: { name: "management-group" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: Microsoft.Provider)", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: + "The parent path (Ex: resourceTypeA/nameA/resourceTypeB/nameB)", + args: { name: "parent" }, + }, + { + name: "--resource", + description: + "Resource ID or resource name. If a name is given, please provide the resource group and other relevant resource id arguments", + args: { name: "resource" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: "Resource type (Ex: resourceTypeC)", + args: { name: "resource-type" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "set-definition", + description: "Manage resource policy set definitions", + subcommands: [ + { + name: "create", + description: "Create a policy set definition", + options: [ + { + name: "--definitions", + description: + "Policy definitions in JSON format, or a path to a file or URI containing JSON rules", + args: { name: "definitions" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the new policy set definition", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--definition-groups", + description: + "JSON formatted string or a path to a file or uri containing policy definition groups. Groups are used to organize policy definitions within a policy set", + args: { name: "definition-groups" }, + }, + { + name: "--description", + description: "Description of policy set definition", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of policy set definition", + args: { name: "display-name" }, + }, + { + name: "--management-group", + description: + "Name of management group the new policy set definition can be assigned in", + args: { name: "management-group" }, + }, + { + name: "--metadata", + description: "Metadata in space-separated key=value pairs", + args: { name: "metadata" }, + }, + { + name: "--params", + description: + "JSON formatted string or a path to a file or uri with parameter definitions", + args: { name: "params" }, + }, + { + name: "--subscription", + description: + "Name or id of the subscription the new policy set definition can be assigned in", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete a policy set definition", + options: [ + { + name: ["--name", "-n"], + description: "The policy set definition name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--management-group", + description: + "The name of the management group of the policy [set] definition. This parameter is required if your policy set is scoped to a management group", + args: { name: "management-group" }, + }, + { + name: "--subscription", + description: "The subscription id of the policy [set] definition", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List policy set definitions", + options: [ + { + name: "--management-group", + description: + "The name of the management group of the policy [set] definition. This parameter is required if your policy set is scoped to a management group", + args: { name: "management-group" }, + }, + { + name: "--subscription", + description: "The subscription id of the policy [set] definition", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show a policy set definition", + options: [ + { + name: ["--name", "-n"], + description: "The policy set definition name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--management-group", + description: + "The name of the management group of the policy [set] definition. This parameter is required if your policy set is scoped to a management group", + args: { name: "management-group" }, + }, + { + name: "--subscription", + description: "The subscription id of the policy [set] definition", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a policy set definition", + options: [ + { + name: ["--name", "-n"], + description: "The policy set definition name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--definition-groups", + description: + "JSON formatted string or a path to a file or uri containing policy definition groups. Groups are used to organize policy definitions within a policy set", + args: { name: "definition-groups" }, + }, + { + name: "--definitions", + description: + "JSON formatted string or a path to a file or uri containing definitions", + args: { name: "definitions" }, + }, + { + name: "--description", + description: "Description of policy set definition", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of policy set definition", + args: { name: "display-name" }, + }, + { + name: "--management-group", + description: + "The name of the management group of the policy [set] definition. This parameter is required if your policy set is scoped to a management group", + args: { name: "management-group" }, + }, + { + name: "--metadata", + description: "Metadata in space-separated key=value pairs", + args: { name: "metadata" }, + }, + { + name: "--params", + description: + "JSON formatted string or a path to a file or uri with parameter definitions", + args: { name: "params" }, + }, + { + name: "--subscription", + description: "The subscription id of the policy [set] definition", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "state", + description: "Manage policy compliance states", + subcommands: [ + { + name: "list", + description: "List policy compliance states", + options: [ + { + name: "--all", + description: + "Within the specified time interval, get all policy states instead of the latest only", + }, + { + name: "--apply", + description: + "Apply expression for aggregations using OData notation", + args: { name: "apply" }, + }, + { + name: "--expand", + description: "Expand expression using OData notation", + args: { name: "expand" }, + }, + { + name: "--filter", + description: "Filter expression using OData notation", + args: { name: "filter" }, + }, + { + name: "--from", + description: + "ISO 8601 formatted timestamp specifying the start time of the interval to query", + args: { name: "from" }, + }, + { + name: ["--management-group", "-m"], + description: "Name of management group", + args: { name: "management-group" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: Microsoft.Provider)", + args: { name: "namespace" }, + }, + { + name: "--order-by", + description: "Ordering expression using OData notation", + args: { name: "order-by" }, + }, + { + name: "--parent", + description: + "The parent path (Ex: resourceTypeA/nameA/resourceTypeB/nameB)", + args: { name: "parent" }, + }, + { + name: ["--policy-assignment", "-a"], + description: "Name of policy assignment", + args: { name: "policy-assignment" }, + }, + { + name: ["--policy-definition", "-d"], + description: "Name of policy definition", + args: { name: "policy-definition" }, + }, + { + name: ["--policy-set-definition", "-s"], + description: "Name of policy set definition", + args: { name: "policy-set-definition" }, + }, + { + name: "--resource", + description: + "Resource ID or resource name. If a name is given, please provide the resource group and other relevant resource id arguments", + args: { name: "resource" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: "Resource type (Ex: resourceTypeC)", + args: { name: "resource-type" }, + }, + { + name: "--select", + description: "Select expression using OData notation", + args: { name: "select" }, + }, + { + name: "--to", + description: + "ISO 8601 formatted timestamp specifying the end time of the interval to query", + args: { name: "to" }, + }, + { + name: "--top", + description: "Maximum number of records to return", + args: { name: "top" }, + }, + ], + }, + { + name: "summarize", + description: "Summarize policy compliance states", + options: [ + { + name: "--filter", + description: "Filter expression using OData notation", + args: { name: "filter" }, + }, + { + name: "--from", + description: + "ISO 8601 formatted timestamp specifying the start time of the interval to query", + args: { name: "from" }, + }, + { + name: ["--management-group", "-m"], + description: "Name of management group", + args: { name: "management-group" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: Microsoft.Provider)", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: + "The parent path (Ex: resourceTypeA/nameA/resourceTypeB/nameB)", + args: { name: "parent" }, + }, + { + name: ["--policy-assignment", "-a"], + description: "Name of policy assignment", + args: { name: "policy-assignment" }, + }, + { + name: ["--policy-definition", "-d"], + description: "Name of policy definition", + args: { name: "policy-definition" }, + }, + { + name: ["--policy-set-definition", "-s"], + description: "Name of policy set definition", + args: { name: "policy-set-definition" }, + }, + { + name: "--resource", + description: + "Resource ID or resource name. If a name is given, please provide the resource group and other relevant resource id arguments", + args: { name: "resource" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: "Resource type (Ex: resourceTypeC)", + args: { name: "resource-type" }, + }, + { + name: "--to", + description: + "ISO 8601 formatted timestamp specifying the end time of the interval to query", + args: { name: "to" }, + }, + { + name: "--top", + description: "Maximum number of records to return", + args: { name: "top" }, + }, + ], + }, + { + name: "trigger-scan", + description: "Trigger a policy compliance evaluation for a scope", + options: [ + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/portal.ts b/src/az/2.53.0/portal.ts new file mode 100644 index 000000000000..53bb4bb9a383 --- /dev/null +++ b/src/az/2.53.0/portal.ts @@ -0,0 +1,150 @@ +const completion: Fig.Spec = { + name: "portal", + description: "Manage Portal", + subcommands: [ + { + name: "dashboard", + description: "Manage portal dashboards", + subcommands: [ + { + name: "create", + description: "Creates or updates a dashboard", + options: [ + { + name: "--input-path", + description: "The path to the dashboard properties JSON file", + args: { name: "input-path" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the dashboard", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a dashboard", + options: [ + { + name: ["--name", "-n"], + description: "The name of the dashboard", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "import", + description: "Imports a dashboard from a JSON file", + options: [ + { + name: "--input-path", + description: "The path to the dashboard json file", + args: { name: "input-path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the dashboard", + args: { name: "name" }, + }, + ], + }, + { + name: "list", + description: + "Lists the dashboards within a subscription or resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: "The name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Gets details for a single dashboard", + options: [ + { + name: ["--name", "-n"], + description: "The name of the dashboard", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Updates an existing dashboard", + options: [ + { + name: "--input-path", + description: "The path to the dashboard properties JSON file", + args: { name: "input-path" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the dashboard", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/postgres.ts b/src/az/2.53.0/postgres.ts new file mode 100644 index 000000000000..81558e0d21a7 --- /dev/null +++ b/src/az/2.53.0/postgres.ts @@ -0,0 +1,5210 @@ +const completion: Fig.Spec = { + name: "postgres", + description: "Manage Azure Database for PostgreSQL servers", + subcommands: [ + { + name: "db", + description: "Manage PostgreSQL databases on a server", + subcommands: [ + { + name: "create", + description: "Create a PostgreSQL database", + options: [ + { + name: ["--name", "-n"], + description: "The name of the database", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--charset", + description: "The charset of the database", + args: { name: "charset" }, + }, + { + name: "--collation", + description: "The collation of the database", + args: { name: "collation" }, + }, + ], + }, + { + name: "delete", + description: "Delete a database", + options: [ + { + name: ["--name", "-n"], + description: "The name of the database", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the databases for a server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: "Name of the Server", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of a database", + options: [ + { + name: ["--name", "-n"], + description: "The name of the database", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "down", + description: "Delete the PostgreSQL server and its cached information", + options: [ + { + name: "--delete-group", + description: "Delete the resource group", + args: { name: "delete-group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show-connection-string", + description: + "Show the connection strings for a PostgreSQL server database", + options: [ + { + name: ["--admin-password", "-p"], + description: "The login password of the administrator", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: "The login username of the administrator", + args: { name: "admin-user" }, + }, + { + name: ["--database-name", "-d"], + description: "The name of a database", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "up", + description: + "Set up an Azure Database for PostgreSQL server and configurations", + options: [ + { + name: ["--admin-password", "-p"], + description: + "The login password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters.Your password cannot contain all or part of the login name. Part of a login name is defined as three or more consecutive alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: "The login username of the administrator", + args: { name: "admin-user" }, + }, + { + name: "--backup-retention", + description: "The number of days a backup is retained", + args: { name: "backup-retention" }, + }, + { + name: ["--database-name", "-d"], + description: "The name of a database to initialize", + args: { name: "database-name" }, + }, + { + name: "--generate-password", + description: "Generate a password", + args: { name: "generate-password" }, + }, + { + name: "--geo-redundant-backup", + description: "Enable Geo-redundant or not for server backup", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the server", + args: { name: "server-name" }, + }, + { + name: "--sku-name", + description: + "The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8", + args: { name: "sku-name" }, + }, + { + name: "--ssl-enforcement", + description: "Enable ssl enforcement or not when connect to server", + args: { + name: "ssl-enforcement", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: "The max storage size of the server. Unit is megabytes", + args: { name: "storage-size" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--version", + description: "Server version", + args: { name: "version" }, + }, + ], + }, + { + name: "flexible-server", + description: "Manage Azure Database for PostgreSQL Flexible Servers", + subcommands: [ + { + name: "connect", + description: "Connect to a flexible server", + options: [ + { + name: ["--admin-user", "-u"], + description: "The login username of the administrator", + args: { name: "admin-user" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--admin-password", "-p"], + description: "The login password of the administrator", + args: { name: "admin-password" }, + }, + { + name: ["--database-name", "-d"], + description: "The name of a database", + args: { name: "database-name" }, + }, + { + name: "--interactive", + description: + "Pass this parameter to connect to database in interactive mode", + args: { name: "interactive" }, + }, + { + name: ["--querytext", "-q"], + description: + "Argument 'querytext' has been deprecated and will be removed in a future release. Use 'execute' instead. A query to run against the flexible server", + args: { name: "querytext" }, + }, + ], + }, + { + name: "create", + description: "Create a PostgreSQL flexible server", + options: [ + { + name: "--active-directory-auth", + description: + "Whether Azure Active Directory authentication is enabled", + args: { + name: "active-directory-auth", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--address-prefixes", + description: + "The IP address prefix to use when creating a new virtual network in CIDR format. Default value is 10.0.0.0/16", + args: { name: "address-prefixes" }, + }, + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: + "Administrator username for the server. Once set, it cannot be changed", + args: { name: "admin-user" }, + }, + { + name: "--backup-identity", + description: + "The name or resource ID of the geo backup user identity for data encryption. The identity needs to be in the same region as the backup region", + args: { name: "backup-identity" }, + }, + { + name: "--backup-key", + description: + "The resource ID of the geo backup keyvault key for data encryption. The key needs to be in the same region as the backup region", + args: { name: "backup-key" }, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 7 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: ["--database-name", "-d"], + description: + "The name of the database to be created when provisioning the database server", + args: { name: "database-name" }, + }, + { + name: "--geo-redundant-backup", + description: "Whether or not geo redundant backup is enabled", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--high-availability", + description: + "Enable (ZoneRedundant or SameZone) or disable high availability feature", + args: { + name: "high-availability", + suggestions: ["Disabled", "SameZone", "ZoneRedundant"], + }, + }, + { + name: "--identity", + description: + "The name or resource ID of the user assigned identity for data encryption", + args: { name: "identity" }, + }, + { + name: "--key", + description: + "The resource ID of the primary keyvault key for data encryption", + args: { name: "key" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--password-auth", + description: "Whether password authentication is enabled", + args: { + name: "password-auth", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--private-dns-zone", + description: + "This parameter only applies for a server with private access. The name or id of new or existing private dns zone. You can use the private dns zone from same resource group, different resource group, or different subscription. If you want to use a zone from different resource group or subscription, please provide resource Id. CLI creates a new private dns zone within the same resource group as virtual network if not provided by users", + args: { name: "private-dns-zone" }, + }, + { + name: "--public-access", + description: + 'Determines the public access. Enter single or range of IP addresses to be included in the allowed list of IPs. IP address ranges must be dash-separated and not contain any spaces. Specifying 0.0.0.0 allows public access from any resources deployed within Azure to access your server. Setting it to "None" sets the server in public access mode but does not create a firewall rule', + args: { name: "public-access" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku-name", + description: + "The name of the compute SKU. Follows the convention Standard_{VM name}. Examples: Standard_B1ms", + args: { name: "sku-name" }, + }, + { + name: "--standby-zone", + description: + "The availability zone information of the standby server when high availability is enabled", + args: { name: "standby-zone" }, + }, + { + name: "--storage-auto-grow", + description: + "Enable or disable autogrow of the storage. Default value is Enabled", + args: { + name: "storage-auto-grow", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: + "The storage capacity of the server. Minimum is 32 GiB and max is 16 TiB", + args: { name: "storage-size" }, + }, + { + name: "--subnet", + description: + "Name or resource ID of a new or existing subnet. If you want to use a subnet from different resource group or subscription, please provide resource ID instead of name. Please note that the subnet will be delegated to flexibleServers. After delegation, this subnet cannot be used for any other type of Azure resources", + args: { name: "subnet" }, + }, + { + name: "--subnet-prefixes", + description: + "The subnet IP address prefix to use when creating a new subnet in CIDR format. Default value is 10.0.0.0/24", + args: { name: "subnet-prefixes" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "Compute tier of the server. Accepted values: Burstable, GeneralPurpose, MemoryOptimized", + args: { name: "tier" }, + }, + { + name: "--version", + description: "Server major version", + args: { name: "version" }, + }, + { + name: "--vnet", + description: + "Name or ID of a new or existing virtual network. If you want to use a vnet from different resource group or subscription, please provide a resource ID. The name must be between 2 to 64 characters. The name must begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens", + args: { name: "vnet" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone", "-z"], + description: + "Availability zone into which to provision the resource", + args: { name: "zone" }, + }, + ], + }, + { + name: "delete", + description: "Delete a flexible server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "execute", + description: "Connect to a flexible server", + options: [ + { + name: ["--admin-password", "-p"], + description: "The login password of the administrator", + args: { name: "admin-password" }, + isRequired: true, + }, + { + name: ["--admin-user", "-u"], + description: "The login username of the administrator", + args: { name: "admin-user" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--database-name", "-d"], + description: "The name of a database", + args: { name: "database-name" }, + }, + { + name: ["--file-path", "-f"], + description: "The path of the sql file to execute", + args: { name: "file-path" }, + }, + { + name: ["--querytext", "-q"], + description: "A query to run against the flexible server", + args: { name: "querytext" }, + }, + ], + }, + { + name: "geo-restore", + description: "Geo-restore a flexible server from backup", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--source-server", + description: + "The name or resource ID of the source server to restore from", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: "--address-prefixes", + description: + "The IP address prefix to use when creating a new virtual network in CIDR format. Default value is 10.0.0.0/16", + args: { name: "address-prefixes" }, + }, + { + name: "--backup-identity", + description: + "The name or resource ID of the geo backup user identity for data encryption. The identity needs to be in the same region as the backup region", + args: { name: "backup-identity" }, + }, + { + name: "--backup-key", + description: + "The resource ID of the geo backup keyvault key for data encryption. The key needs to be in the same region as the backup region", + args: { name: "backup-key" }, + }, + { + name: "--geo-redundant-backup", + description: "Whether or not geo redundant backup is enabled", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--identity", + description: + "The name or resource ID of the user assigned identity for data encryption", + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key", + description: + "The resource ID of the primary keyvault key for data encryption", + args: { name: "key" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-dns-zone", + description: + "This parameter only applies for a server with private access. The name or id of new or existing private dns zone. You can use the private dns zone from same resource group, different resource group, or different subscription. If you want to use a zone from different resource group or subscription, please provide resource Id. CLI creates a new private dns zone within the same resource group as virtual network if not provided by users", + args: { name: "private-dns-zone" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subnet", + description: + "Name or resource ID of a new or existing subnet. If you want to use a subnet from different resource group or subscription, please provide resource ID instead of name. Please note that the subnet will be delegated to flexibleServers. After delegation, this subnet cannot be used for any other type of Azure resources", + args: { name: "subnet" }, + }, + { + name: "--subnet-prefixes", + description: + "The subnet IP address prefix to use when creating a new subnet in CIDR format. Default value is 10.0.0.0/24", + args: { name: "subnet-prefixes" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet", + description: + "Name or ID of a new or existing virtual network. If you want to use a vnet from different resource group or subscription, please provide a resource ID. The name must be between 2 to 64 characters. The name must begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens", + args: { name: "vnet" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone", "-z"], + description: + "Availability zone into which to provision the resource", + args: { name: "zone" }, + }, + ], + }, + { + name: "list", + description: "List available flexible servers", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-skus", + description: "Lists available sku's in the given region", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "restart", + description: "Restart a flexible server", + options: [ + { + name: "--failover", + description: + "Forced or planned failover for server restart operation. Allowed values: Forced, Planned", + args: { name: "failover" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restore", + description: "Restore a flexible server from backup", + options: [ + { + name: "--source-server", + description: + "The name or resource ID of the source server to restore from", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: "--address-prefixes", + description: + "The IP address prefix to use when creating a new virtual network in CIDR format. Default value is 10.0.0.0/16", + args: { name: "address-prefixes" }, + }, + { + name: "--backup-identity", + description: + "The name or resource ID of the geo backup user identity for data encryption. The identity needs to be in the same region as the backup region", + args: { name: "backup-identity" }, + }, + { + name: "--backup-key", + description: + "The resource ID of the geo backup keyvault key for data encryption. The key needs to be in the same region as the backup region", + args: { name: "backup-key" }, + }, + { + name: "--geo-redundant-backup", + description: "Whether or not geo redundant backup is enabled", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--identity", + description: + "The name or resource ID of the user assigned identity for data encryption", + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key", + description: + "The resource ID of the primary keyvault key for data encryption", + args: { name: "key" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-dns-zone", + description: + "This parameter only applies for a server with private access. The name or id of new or existing private dns zone. You can use the private dns zone from same resource group, different resource group, or different subscription. If you want to use a zone from different resource group or subscription, please provide resource Id. CLI creates a new private dns zone within the same resource group as virtual network if not provided by users", + args: { name: "private-dns-zone" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--restore-time", + description: + "The point in time in UTC to restore from (ISO8601 format), e.g., 2017-04-26T02:10:00+00:00The default value is set to current time", + args: { name: "restore-time" }, + }, + { + name: "--subnet", + description: + "Name or resource ID of a new or existing subnet. If you want to use a subnet from different resource group or subscription, please provide resource ID instead of name. Please note that the subnet will be delegated to flexibleServers. After delegation, this subnet cannot be used for any other type of Azure resources", + args: { name: "subnet" }, + }, + { + name: "--subnet-prefixes", + description: + "The subnet IP address prefix to use when creating a new subnet in CIDR format. Default value is 10.0.0.0/24", + args: { name: "subnet-prefixes" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet", + description: + "Name or ID of a new or existing virtual network. If you want to use a vnet from different resource group or subscription, please provide a resource ID. The name must be between 2 to 64 characters. The name must begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens", + args: { name: "vnet" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone", "-z"], + description: + "Availability zone into which to provision the resource", + args: { name: "zone" }, + }, + ], + }, + { + name: "revive-dropped", + description: "Revive a dropped flexible server from backup", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--source-server", + description: + "The name or resource ID of the source server to restore from", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: "--address-prefixes", + description: + "The IP address prefix to use when creating a new virtual network in CIDR format. Default value is 10.0.0.0/16", + args: { name: "address-prefixes" }, + }, + { + name: "--backup-identity", + description: + "The name or resource ID of the geo backup user identity for data encryption. The identity needs to be in the same region as the backup region", + args: { name: "backup-identity" }, + }, + { + name: "--backup-key", + description: + "The resource ID of the geo backup keyvault key for data encryption. The key needs to be in the same region as the backup region", + args: { name: "backup-key" }, + }, + { + name: "--geo-redundant-backup", + description: "Whether or not geo redundant backup is enabled", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--identity", + description: + "The name or resource ID of the user assigned identity for data encryption", + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key", + description: + "The resource ID of the primary keyvault key for data encryption", + args: { name: "key" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-dns-zone", + description: + "This parameter only applies for a server with private access. The name or id of new or existing private dns zone. You can use the private dns zone from same resource group, different resource group, or different subscription. If you want to use a zone from different resource group or subscription, please provide resource Id. CLI creates a new private dns zone within the same resource group as virtual network if not provided by users", + args: { name: "private-dns-zone" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subnet", + description: + "Name or resource ID of a new or existing subnet. If you want to use a subnet from different resource group or subscription, please provide resource ID instead of name. Please note that the subnet will be delegated to flexibleServers. After delegation, this subnet cannot be used for any other type of Azure resources", + args: { name: "subnet" }, + }, + { + name: "--subnet-prefixes", + description: + "The subnet IP address prefix to use when creating a new subnet in CIDR format. Default value is 10.0.0.0/24", + args: { name: "subnet-prefixes" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet", + description: + "Name or ID of a new or existing virtual network. If you want to use a vnet from different resource group or subscription, please provide a resource ID. The name must be between 2 to 64 characters. The name must begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens", + args: { name: "vnet" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone", "-z"], + description: + "Availability zone into which to provision the resource", + args: { name: "zone" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a flexible server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-connection-string", + description: + "Show the connection strings for a PostgreSQL flexible-server database", + options: [ + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: + "Administrator username for the server. Once set, it cannot be changed", + args: { name: "admin-user" }, + }, + { + name: ["--database-name", "-d"], + description: + "The name of the database to be created when provisioning the database server", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--pg-bouncer", + description: "Show connection strings for PgBouncer", + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a flexible server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop a flexible server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a flexible server", + options: [ + { + name: "--active-directory-auth", + description: + "Whether Azure Active Directory authentication is enabled", + args: { + name: "active-directory-auth", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: "--backup-identity", + description: + "The name or resource ID of the geo backup user identity for data encryption. The identity needs to be in the same region as the backup region", + args: { name: "backup-identity" }, + }, + { + name: "--backup-key", + description: + "The resource ID of the geo backup keyvault key for data encryption. The key needs to be in the same region as the backup region", + args: { name: "backup-key" }, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 7 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--high-availability", + description: + "Enable (ZoneRedundant or SameZone) or disable high availability feature", + args: { + name: "high-availability", + suggestions: ["Disabled", "SameZone", "ZoneRedundant"], + }, + }, + { + name: "--identity", + description: + "The name or resource ID of the user assigned identity for data encryption", + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key", + description: + "The resource ID of the primary keyvault key for data encryption", + args: { name: "key" }, + }, + { + name: "--maintenance-window", + description: + 'Period of time (UTC) designated for maintenance. Examples: "Sun:23:30" to schedule on Sunday, 11:30pm UTC. To set back to default pass in "Disabled"', + args: { name: "maintenance-window" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--password-auth", + description: "Whether password authentication is enabled", + args: { + name: "password-auth", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--private-dns-zone", + description: + "This parameter only applies for a server with private access. The name or id of new or existing private dns zone. You can use the private dns zone from same resource group, different resource group, or different subscription. If you want to use a zone from different resource group or subscription, please provide resource Id. CLI creates a new private dns zone within the same resource group as virtual network if not provided by users", + args: { name: "private-dns-zone" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku-name", + description: + "The name of the compute SKU. Follows the convention Standard_{VM name}. Examples: Standard_B1ms", + args: { name: "sku-name" }, + }, + { + name: "--standby-zone", + description: + "The availability zone information of the standby server when high availability is enabled", + args: { name: "standby-zone" }, + }, + { + name: "--storage-auto-grow", + description: + "Enable or disable autogrow of the storage. Default value is Enabled", + args: { + name: "storage-auto-grow", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: + "The storage capacity of the server. Minimum is 32 GiB and max is 16 TiB", + args: { name: "storage-size" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "Compute tier of the server. Accepted values: Burstable, GeneralPurpose, MemoryOptimized", + args: { name: "tier" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "upgrade", + description: "Upgrade the major version of a flexible server", + options: [ + { + name: ["--version", "-v"], + description: "Server major version", + args: { name: "version", suggestions: ["12", "13", "14"] }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "wait", + description: + "Wait for the flexible server to satisfy certain conditions", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "ad-admin", + description: "Manage server Active Directory administrators", + subcommands: [ + { + name: "create", + description: "Create an Active Directory administrator", + options: [ + { + name: ["--display-name", "-u"], + description: + "Display name of the Azure AD administrator user or group", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: ["--object-id", "-i"], + description: "The unique ID of the Azure AD administrator", + args: { name: "object-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--type", "-t"], + description: "Type of the Azure AD administrator", + args: { + name: "type", + suggestions: [ + "Group", + "ServicePrincipal", + "Unknown", + "User", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an Active Directory administrator", + options: [ + { + name: ["--object-id", "-i"], + description: "The unique ID of the Azure AD administrator", + args: { name: "object-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all Active Directory administrators", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get an Active Directory administrator", + options: [ + { + name: ["--object-id", "-i"], + description: "The unique ID of the Azure AD administrator", + args: { name: "object-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Wait for an Active Directory administrator to satisfy certain conditions", + options: [ + { + name: ["--object-id", "-i"], + description: "The unique ID of the Azure AD administrator", + args: { name: "object-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "backup", + description: "Manage flexible server backups", + subcommands: [ + { + name: "list", + description: "List all the backups for a given server", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of a specific backup for a given server", + options: [ + { + name: ["--backup-name", "-b"], + description: "The name of the backup", + args: { name: "backup-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "db", + description: "Manage PostgreSQL databases on a flexible server", + subcommands: [ + { + name: "create", + description: "Create a PostgreSQL database on a flexible server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--charset", + description: + "The charset of the database. The default value is UTF8", + args: { name: "charset" }, + }, + { + name: "--collation", + description: "The collation of the database", + args: { name: "collation" }, + }, + { + name: ["--database-name", "-d"], + description: + "The name of the database to be created when provisioning the database server", + args: { name: "database-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a database on a flexible server", + options: [ + { + name: ["--database-name", "-d"], + description: + "The name of the database to be created when provisioning the database server", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the databases for a flexible server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of a database", + options: [ + { + name: ["--database-name", "-d"], + description: + "The name of the database to be created when provisioning the database server", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "deploy", + description: + "Enable and run GitHub Actions workflow for PostgreSQL server", + subcommands: [ + { + name: "run", + description: "Run an existing workflow in your github repository", + options: [ + { + name: "--action-name", + description: "The name of the github action", + args: { name: "action-name" }, + isRequired: true, + }, + { + name: "--branch", + description: + "The name of the branch you want upload github action file. The default will be your current branch", + args: { name: "branch" }, + isRequired: true, + }, + ], + }, + { + name: "setup", + description: + "Create GitHub Actions workflow file for PostgreSQL server", + options: [ + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + isRequired: true, + }, + { + name: ["--admin-user", "-u"], + description: + "Administrator username for the server. Once set, it cannot be changed", + args: { name: "admin-user" }, + isRequired: true, + }, + { + name: "--repo", + description: + "The name of your github username and repository e.g., Azure/azure-cli", + args: { name: "repo" }, + isRequired: true, + }, + { + name: "--sql-file", + description: + "The path of the sql file. The sql file should be already in the repository", + args: { name: "sql-file" }, + isRequired: true, + }, + { + name: "--action-name", + description: "The name of the github action", + args: { name: "action-name" }, + }, + { + name: "--allow-push", + description: + "Push the action yml file to the remote repository. The changes will be pushed to origin repository, speicified branch or current branch if not specified", + }, + { + name: "--branch", + description: + "The name of the branch you want upload github action file. The default will be your current branch", + args: { name: "branch" }, + }, + { + name: ["--database-name", "-d"], + description: + "The name of the database to be created when provisioning the database server", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "firewall-rule", + description: "Manage firewall rules for a server", + subcommands: [ + { + name: "create", + description: "Create a new firewall rule for a flexible server", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--end-ip-address", + description: + "The end IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "end-ip-address" }, + }, + { + name: ["--rule-name", "-r"], + description: + "The name of the firewall rule. If name is omitted, default name will be chosen for firewall name. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "rule-name" }, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "start-ip-address" }, + }, + ], + }, + { + name: "delete", + description: "Delete a firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rule-name", "-r"], + description: + "The name of the firewall rule. If name is omitted, default name will be chosen for firewall name. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all firewall rules for a flexible server", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rule-name", "-r"], + description: + "The name of the firewall rule. If name is omitted, default name will be chosen for firewall name. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a firewall rule", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--end-ip-address", + description: + "The end IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "end-ip-address" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rule-name", "-r"], + description: + "The name of the firewall rule. If name is omitted, default name will be chosen for firewall name. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "rule-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "start-ip-address" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage server user assigned identities", + subcommands: [ + { + name: "assign", + description: "Add user asigned managed identities to the server", + options: [ + { + name: ["--identity", "-n"], + description: "Space-separated names or ID's of identities", + args: { name: "identity" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: + "List all user assigned managed identities from the server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Remove user asigned managed identites from the server", + options: [ + { + name: ["--identity", "-n"], + description: "Space-separated names or ID's of identities", + args: { name: "identity" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Get an user assigned managed identity from the server", + options: [ + { + name: ["--identity", "-n"], + description: "Name or ID of identity to show", + args: { name: "identity" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "migration", + description: + "Manage migration workflows for PostgreSQL Flexible Servers", + subcommands: [ + { + name: "check-name-availability", + description: "Checks if the provided migration-name can be used", + options: [ + { + name: "--migration-name", + description: "Name of the migration", + args: { name: "migration-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Migration target server name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource Group Name of the migration target server", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: + "Create a new migration workflow for a flexible server", + options: [ + { + name: ["--name", "-n"], + description: "Migration target server name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--properties", "-b"], + description: + "Request properties. Use double or no quotes to pass in json filepath as argument", + args: { name: "properties" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource Group Name of the migration target server", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--migration-mode", + description: "Either offline or online(with CDC) migration", + args: { + name: "migration-mode", + suggestions: ["offline", "online"], + }, + }, + { + name: "--migration-name", + description: "Name of the migration", + args: { name: "migration-name" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "list", + description: "List the migrations of a flexible server", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource Group Name of the migration target server", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: + "Indicate whether all the migrations or just the Active migrations are returned. Valid values are: Active and All", + args: { name: "filter", suggestions: ["Active", "All"] }, + }, + ], + }, + { + name: "show", + description: "Get the details of a specific migration", + options: [ + { + name: "--migration-name", + description: "Name of the migration", + args: { name: "migration-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Migration target server name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource Group Name of the migration target server", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a specific migration", + options: [ + { + name: "--migration-name", + description: "Name of the migration", + args: { name: "migration-name" }, + isRequired: true, + }, + { + name: "--cancel", + description: + "Cancel the data migration for all the databases", + args: { name: "cancel" }, + }, + { + name: "--cutover", + description: + "Cut-over the data migration for all the databases in the migration. After this is complete, subsequent updates to all databases will not be migrated to the target", + args: { name: "cutover" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Migration target server name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Resource Group Name of the migration target server", + args: { name: "resource-group" }, + }, + { + name: "--setup-replication", + description: + "Allow the migration workflow to setup logical replication on the source. Note that this command will restart the source server", + args: { name: "setup-replication" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "parameter", + description: + "Commands for managing server parameter values for flexible server", + subcommands: [ + { + name: "list", + description: "List the parameter values for a flexible server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Update the parameter of a flexible server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the server configuration", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--source", + description: "Source of the configuration", + args: { name: "source" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--value", "-v"], + description: "Value of the configuration", + args: { name: "value" }, + }, + ], + }, + { + name: "show", + description: 'Get the parameter for a flexible server."', + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the server configuration", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "replica", + description: "Manage read replicas", + subcommands: [ + { + name: "create", + description: "Create a read replica for a server", + options: [ + { + name: "--replica-name", + description: "The name of the server to restore to", + args: { name: "replica-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--source-server", + description: + "The name or resource ID of the source server to restore from", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: "--address-prefixes", + description: + "The IP address prefix to use when creating a new virtual network in CIDR format. Default value is 10.0.0.0/16", + args: { name: "address-prefixes" }, + }, + { + name: "--identity", + description: + "The name or resource ID of the user assigned identity for data encryption", + args: { name: "identity" }, + }, + { + name: "--key", + description: + "The resource ID of the primary keyvault key for data encryption", + args: { name: "key" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-dns-zone", + description: + "This parameter only applies for a server with private access. The name or id of new or existing private dns zone. You can use the private dns zone from same resource group, different resource group, or different subscription. If you want to use a zone from different resource group or subscription, please provide resource Id. CLI creates a new private dns zone within the same resource group as virtual network if not provided by users", + args: { name: "private-dns-zone" }, + }, + { + name: "--subnet", + description: + "Name or resource ID of a new or existing subnet. If you want to use a subnet from different resource group or subscription, please provide resource ID instead of name. Please note that the subnet will be delegated to flexibleServers. After delegation, this subnet cannot be used for any other type of Azure resources", + args: { name: "subnet" }, + }, + { + name: "--subnet-prefixes", + description: + "The subnet IP address prefix to use when creating a new subnet in CIDR format. Default value is 10.0.0.0/24", + args: { name: "subnet-prefixes" }, + }, + { + name: "--vnet", + description: + "Name or ID of a new or existing virtual network. If you want to use a vnet from different resource group or subscription, please provide a resource ID. The name must be between 2 to 64 characters. The name must begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens", + args: { name: "vnet" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone", "-z"], + description: + "Availability zone into which to provision the resource", + args: { name: "zone" }, + }, + ], + }, + { + name: "list", + description: "List all read replicas for a given server", + options: [ + { + name: ["--name", "-n"], + description: "Name of the source server", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "stop-replication", + description: + "Stop replication to a read replica and make it a read/write server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + ], + }, + { + name: "server", + description: "Manage PostgreSQL servers", + subcommands: [ + { + name: "create", + description: "Create a server", + options: [ + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: + "Administrator username for the server. Once set, it cannot be changed", + args: { name: "admin-user" }, + }, + { + name: "--assign-identity", + description: + "Generate and assign an Azure Active Directory Identity for this server for use with key management services like Azure KeyVault", + }, + { + name: "--auto-grow", + description: + "Enable or disable autogrow of the storage. Default value is Enabled", + args: { name: "auto-grow", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 7 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--geo-redundant-backup", + description: + "Enable or disable geo-redundant backups. Default value is Disabled. Not supported in Basic pricing tier", + args: { + name: "geo-redundant-backup", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--infrastructure-encryption", "-i"], + description: + "Add an optional second layer of encryption for data using new encryption algorithm. Default value is Disabled", + args: { + name: "infrastructure-encryption", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--minimal-tls-version", + description: + "Set the minimal TLS version for connections to server when SSL is enabled. Default is TLSEnforcementDisabled", + args: { + name: "minimal-tls-version", + suggestions: [ + "TLS1_0", + "TLS1_1", + "TLS1_2", + "TLSEnforcementDisabled", + ], + }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--public-network-access", "--public"], + description: + "Enable or disable public network access to server. When disabled, only connections made through Private Links can reach this server. Allowed values are : Enabled, Disabled, all, 0.0.0.0, , . Default is Enabled", + args: { name: "public-network-access" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku-name", + description: + "The name of the sku. Follows the convention {pricing tier}{compute generation}{vCores} in shorthand. Examples: B_Gen5_1, GP_Gen5_4, MO_Gen5_16", + args: { name: "sku-name" }, + }, + { + name: "--ssl-enforcement", + description: + "Enable or disable ssl enforcement for connections to server. Default is Enabled", + args: { + name: "ssl-enforcement", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: + "The storage capacity of the server (unit is megabytes). Minimum 5120 and increases in 1024 increments. Default is 5120", + args: { name: "storage-size" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--version", + description: + "Server major version. https://docs.microsoft.com/en-us/azure/postgresql/single-server/concepts-supported-versions", + args: { name: "version" }, + }, + ], + }, + { + name: "delete", + description: "Delete a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "georestore", + description: "Geo-restore a server from backup", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--source-server", "-s"], + description: + "The name or ID of the source server to restore from", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 7 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--geo-redundant-backup", + description: + "Enable or disable geo-redundant backups. Default value is Disabled. Not supported in Basic pricing tier", + args: { name: "geo-redundant-backup" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku-name", + description: + "The name of the sku. Defaults to sku of the source server. Follows the convention {pricing tier}{compute generation}{vCores} in shorthand. Examples: B_Gen5_1, GP_Gen5_4, MO_Gen5_16", + args: { name: "sku-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List available servers", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-skus", + description: "List available sku's in the given region", + options: [ + { + name: ["--location", "-l"], + description: "The name of the location. Required", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "restart", + description: "Restart a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restore", + description: "Restore a server from backup", + options: [ + { + name: ["--restore-point-in-time", "--pitr-time"], + description: + "The point in time in UTC to restore from (ISO8601 format), e.g., 2017-04-26T02:10:00+08:00", + args: { name: "restore-point-in-time" }, + isRequired: true, + }, + { + name: ["--source-server", "-s"], + description: + "The name or resource ID of the source server to restore from", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-connection-string", + description: + "Show the connection strings for a PostgreSQL server database", + options: [ + { + name: ["--admin-password", "-p"], + description: "The login password of the administrator", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: "The login username of the administrator", + args: { name: "admin-user" }, + }, + { + name: ["--database-name", "-d"], + description: "The name of a database", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a server", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--admin-password", "-p"], + description: + "The password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: "--assign-identity", + description: + "Generate and assign an Azure Active Directory Identity for this server for use with key management services like Azure KeyVault", + }, + { + name: "--auto-grow", + description: + "Enable or disable autogrow of the storage. Default value is Enabled", + args: { name: "auto-grow", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--backup-retention", + description: + "The number of days a backup is retained. Range of 7 to 35 days. Default is 7 days", + args: { name: "backup-retention" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--minimal-tls-version", + description: + "Set the minimal TLS version for connections to server when SSL is enabled. Default is TLSEnforcementDisabled", + args: { + name: "minimal-tls-version", + suggestions: [ + "TLS1_0", + "TLS1_1", + "TLS1_2", + "TLSEnforcementDisabled", + ], + }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--public-network-access", "--public"], + description: + "Enable or disable public network access to server. When disabled, only connections made through Private Links can reach this server. Allowed values are : Enabled, Disabled, all, 0.0.0.0, , . Default is Enabled", + args: { name: "public-network-access" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku-name", + description: + "The name of the sku. Follows the convention {pricing tier}{compute generation}{vCores} in shorthand. Examples: B_Gen5_1, GP_Gen5_4, MO_Gen5_16", + args: { name: "sku-name" }, + }, + { + name: "--ssl-enforcement", + description: + "Enable or disable ssl enforcement for connections to server. Default is Enabled", + args: { + name: "ssl-enforcement", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-size", + description: + "The storage capacity of the server (unit is megabytes). Minimum 5120 and increases in 1024 increments. Default is 5120", + args: { name: "storage-size" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: "Wait for server to satisfy certain conditions", + options: [ + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + ], + }, + { + name: "ad-admin", + description: + "Manage a postgres server's Active Directory administrator", + subcommands: [ + { + name: "create", + description: + "Create an Active Directory Administrator for PostgreSQL server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: ["--display-name", "-u"], + description: + "Display name of the Azure AD administrator user or group", + args: { name: "display-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--object-id", "-i"], + description: "The unique ID of the Azure AD administrator", + args: { name: "object-id" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an Active Directory Administrator for PostgreSQL server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all Active Directory Administrators for PostgreSQL server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get Active Directory Administrator information for a PostgreSQL server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the PostgreSQL server Active Directory Administrator is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "configuration", + description: "Manage configuration values for a server", + subcommands: [ + { + name: "list", + description: "List the configuration values for a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set", + description: "Update the configuration of a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the configuration", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--value", + description: + "Value of the configuration. If not provided, configuration value will be set to default", + args: { name: "value" }, + }, + ], + }, + { + name: "show", + description: 'Get the configuration for a server."', + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the server configuration. Required", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "firewall-rule", + description: "Manage firewall rules for a server", + subcommands: [ + { + name: "create", + description: "Create a new firewall rule for a server", + options: [ + { + name: "--end-ip-address", + description: + "The end IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "end-ip-address" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the firewall rule. The firewall rule name cannot be empty. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "start-ip-address" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the firewall rule. The firewall rule name cannot be empty. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all firewall rules for a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the firewall rule. The firewall rule name cannot be empty. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a firewall rule", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--end-ip-address", + description: + "The end IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "end-ip-address" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the firewall rule. The firewall rule name cannot be empty. The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "start-ip-address" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "key", + description: "Manage PostgreSQL server keys", + subcommands: [ + { + name: "create", + description: "Create server key", + options: [ + { + name: ["--kid", "-k"], + description: + 'The Azure Key Vault key identifier of the server key. An example key identifier is "https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"', + args: { name: "kid" }, + isRequired: true, + }, + { + name: ["--name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete server key", + options: [ + { + name: ["--kid", "-k"], + description: + 'The Azure Key Vault key identifier of the server key. An example key identifier is "https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"', + args: { name: "kid" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Gets a list of Server keys", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show server key", + options: [ + { + name: ["--kid", "-k"], + description: + 'The Azure Key Vault key identifier of the server key. An example key identifier is "https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"', + args: { name: "kid" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: "Manage PostgreSQL server private endpoint connections", + subcommands: [ + { + name: "approve", + description: + "Approve the specified private endpoint connection associated with a PostgreSQL server", + options: [ + { + name: "--description", + description: "Comments for approve operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Server. If specified --server-name/-s and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Server. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name of specified server", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the Server. Required if --id is not specified", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the specified private endpoint connection associated with a PostgreSQL server", + options: [ + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Server. If specified --server-name/-s and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Server. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name of specified server", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the Server. Required if --id is not specified", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reject", + description: + "Reject the specified private endpoint connection associated with a PostgreSQL server", + options: [ + { + name: "--description", + description: "Comments for reject operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Server. If specified --server-name/-s and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Server. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name of specified server", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the Server. Required if --id is not specified", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a private endpoint connection associated with a PostgreSQL server", + options: [ + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Server. If specified --server-name/-s and --name/-n, this should be omitted", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Server. Required if --id is not specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name of specified server", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the Server. Required if --id is not specified", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage PostgreSQL server private link resources", + subcommands: [ + { + name: "list", + description: + "List the private link resources supported for a PostgreSQL server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the Server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "replica", + description: "Manage read replicas", + subcommands: [ + { + name: "create", + description: "Create a read replica for a server", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--source-server", "-s"], + description: + "The name or resource ID of the master server to the create replica for", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. If not provided, the create replica will be in the same location as the master server", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--sku-name", + description: + "The name of the sku. Follows the convention {pricing tier}{compute generation}{vCores} in shorthand. Examples: B_Gen5_1, GP_Gen5_4, MO_Gen5_16", + args: { name: "sku-name" }, + }, + ], + }, + { + name: "list", + description: "List all read replicas for a given server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the master server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: + "Stop replication to a read replica and make it a read/write server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "vnet-rule", + description: "Manage a server's virtual network rules", + subcommands: [ + { + name: "create", + description: + "Create a virtual network rule to allows access to a PostgreSQL server", + options: [ + { + name: ["--name", "-n"], + description: "The name of the vnet rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "Name or ID of the subnet that allows access to an Azure Postgres Server. If subnet name is provided, --vnet-name must be provided", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: ["--ignore-missing-endpoint", "-i"], + description: + "Create vnet rule before virtual network has vnet service endpoint enabled", + args: { + name: "ignore-missing-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vnet-name", + description: "The virtual network name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes the virtual network rule with the given name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the vnet rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Gets a list of virtual network rules in a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Gets a virtual network rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the vnet rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a virtual network rule", + options: [ + { + name: "--subnet", + description: + "Name or ID of the subnet that allows access to an Azure Postgres Server. If subnet name is provided, --vnet-name must be provided", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--ignore-missing-endpoint", "-i"], + description: + "Create vnet rule before virtual network has vnet service endpoint enabled", + args: { + name: "ignore-missing-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--name", "-n"], + description: "The name of the vnet rule", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "The virtual network name", + args: { name: "vnet-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "server-arc", + description: "Manage Azure Arc enabled PostgreSQL servers", + subcommands: [ + { + name: "create", + description: "Create an Azure Arc enabled PostgreSQL server", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Arc enabled PostgreSQL server", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ad-account-name", + description: + "The Active Directory account name for this Azure Arc enabled PostgreSQL server. This account needs to be created prior to the deployment of this instance", + args: { name: "ad-account-name" }, + }, + { + name: "--ad-connector-name", + description: + "The name of the Active Directory Connector. This parameter indicates an intent to deploy with AD support", + args: { name: "ad-connector-name" }, + }, + { + name: "--admin-login-secret", + description: + "Name of the Kubernetes secret to generate that hosts or will host user admin login account credential", + args: { name: "admin-login-secret" }, + }, + { + name: "--cert-private-key-file", + description: + "Path to the file containing a PEM formatted certificate private key to be used for client SSL connections", + args: { name: "cert-private-key-file" }, + }, + { + name: "--cert-public-key-file", + description: + "Path to the file containing a PEM formatted certificate public key to be used for client SSL connections", + args: { name: "cert-public-key-file" }, + }, + { + name: "--cores-limit", + description: + "The maximum number of CPU cores that can be used for Azure Arc enabled PostgreSQL server", + args: { name: "cores-limit" }, + }, + { + name: "--cores-request", + description: + "The minimum number of CPU cores that must be available per node to schedule the service", + args: { name: "cores-request" }, + }, + { + name: "--dev", + description: + "If this is specified, then it is considered a dev instance and will not be billed for", + args: { name: "dev" }, + }, + { + name: "--dns-name", + description: + "The service DNS name exposed to the end-users to connect to this Azure Arc enabled PostgreSQL server (e.g. pginstancename.contoso.com)", + args: { name: "dns-name" }, + }, + { + name: "--extensions", + description: + "Comma seperated list of extensions to be enabled. Once enabled, extension can be installed via 'CREATE EXTENSION' command", + args: { name: "extensions" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace where the Azure Arc enabled PostgreSQL server is deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--keytab-secret", + description: + "The name of the Kubernetes secret that contains the keytab file for this Azure Arc enabled PostgreSQL server", + args: { name: "keytab-secret" }, + }, + { + name: "--log-level", + description: + "Sets the log_min_messages setting for the PostgreSQL engine. Valid values are: DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, PANIC", + args: { name: "log-level" }, + }, + { + name: "--memory-limit", + description: + "The memory limit of the Azure Arc enabled PostgreSQL server as a number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes)", + args: { name: "memory-limit" }, + }, + { + name: "--memory-request", + description: + "The memory request of the Azure Arc enabled PostgreSQL server as a number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes)", + args: { name: "memory-request" }, + }, + { + name: "--no-external-endpoint", + description: + "If specified, no external service will be created. Otherwise, an external service will be created using either the type given with the --service-type argument or the same service type as the data controller", + args: { name: "no-external-endpoint" }, + }, + { + name: "--no-wait", + description: + "Do not wait for deployment to be ready before returning", + }, + { + name: "--path", + description: + "The path to the source json file for the Azure Arc enabled PostgreSQL server. This is optional", + args: { name: "path" }, + }, + { + name: "--port", + description: + "The port number on which the primary service is exposed to the end-users", + args: { name: "port" }, + }, + { + name: "--retention-days", + description: + "Backup retention period, specified in days. Allowed values are 0 to 35. Default is 7. Setting the retention period to 0 will turn off automatic backups for Azure Arc enabled PostgreSql", + args: { name: "retention-days" }, + }, + { + name: "--service-annotations", + description: + "Comma-separated list of annotations to apply to all external services", + args: { name: "service-annotations" }, + }, + { + name: "--service-cert-secret", + description: + "Name of the Kubernetes secret to generate that hosts the SSL certificate", + args: { name: "service-cert-secret" }, + }, + { + name: "--service-labels", + description: + "Comma-separated list of labels to apply to all external services", + args: { name: "service-labels" }, + }, + { + name: "--service-type", + description: "The type for the primary service", + args: { name: "service-type" }, + }, + { + name: "--storage-class-backups", + description: + "The storage class to be used for backup persistent volumes", + args: { name: "storage-class-backups" }, + }, + { + name: "--storage-class-data", + description: + "The storage class to be used for data persistent volumes", + args: { name: "storage-class-data" }, + }, + { + name: "--storage-class-logs", + description: + "The storage class to be used for logs persistent volumes", + args: { name: "storage-class-logs" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + { + name: "--volume-size-backups", + description: + "The size of the storage volume to be used for backups as a positive number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes)", + args: { name: "volume-size-backups" }, + }, + { + name: "--volume-size-data", + description: + "The size of the storage volume to be used for data as a positive number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes)", + args: { name: "volume-size-data" }, + }, + { + name: "--volume-size-logs", + description: + "The size of the storage volume to be used for logs as a positive number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes)", + args: { name: "volume-size-logs" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure Arc enabled PostgreSQL server", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Arc enabled PostgreSQL server", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--force", "-f"], + description: + "Delete the Azure Arc enabled PostgreSQL server without confirmation", + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace where the Azure Arc enabled PostgreSQL server is deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "list", + description: "List Azure Arc enabled PostgreSQL server", + options: [ + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace where the Azure Arc enabled PostgreSQL servers are deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "restore", + description: + "Restore an Azure Arc enabled PostgreSQL server from backup from another server", + options: [ + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace that contains the Azure Arc enabled PostgreSql. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure Arc enabled PostgreSQL server to be created", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--source-server", + description: + "The name of the Azure Arc enabled PostgreSQL server to restore from", + args: { name: "source-server" }, + isRequired: true, + }, + { + name: "--dry-run", + description: + "If set, validates the source and destination resources and the time, without performing the restore. The earliest and latest possible restore times are returned in the status of the restore task", + }, + { + name: "--no-wait", + description: + "Do not wait for deployment to be ready before returning", + }, + { + name: "--storage-class-backups", + description: + "The storage class to be used for backup persistent volumes", + args: { name: "storage-class-backups" }, + }, + { + name: "--storage-class-data", + description: + "The storage class to be used for data persistent volumes", + args: { name: "storage-class-data" }, + }, + { + name: "--storage-class-logs", + description: + "The storage class to be used for logs persistent volumes", + args: { name: "storage-class-logs" }, + }, + { + name: ["--time", "-t"], + description: + "The point in time of the source server that will be restored to create the new Azure Arc enabled PostgreSQL server. Must be greater than or equal to the source database's earliest restore date/time value. Time should be in following format: 'YYYY-MM-DDTHH:MM:SSZ'. If no time is provided, the most recent backup will be restored", + args: { name: "time" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + { + name: "--volume-size-backups", + description: + "The size of the storage volume to be used for backups as a positive number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes)", + args: { name: "volume-size-backups" }, + }, + { + name: "--volume-size-data", + description: + "The size of the storage volume to be used for data as a positive number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes)", + args: { name: "volume-size-data" }, + }, + { + name: "--volume-size-logs", + description: + "The size of the storage volume to be used for logs as a positive number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes)", + args: { name: "volume-size-logs" }, + }, + ], + }, + { + name: "show", + description: + "Show the details of an Azure Arc enabled PostgreSQL server", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure Arc enabled PostgreSQL server", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace where the Azure Arc enabled PostgreSQL server is deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--path", + description: + "A path where the full specification for the Azure Arc enabled PostgreSQL server should be written. If omitted, the specification will be written to standard output", + args: { name: "path" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "update", + description: + "Update the configuration of an Azure Arc enabled PostgreSQL server", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the Azure Arc enabled PostgreSQL server that is being updated. The name under which your instance is deployed cannot be changed", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--cert-private-key-file", + description: + "Path to the file containing a PEM formatted certificate private key to be used for client SSL connections", + args: { name: "cert-private-key-file" }, + }, + { + name: "--cert-public-key-file", + description: + "Path to the file containing a PEM formatted certificate public key to be used for client SSL connections", + args: { name: "cert-public-key-file" }, + }, + { + name: "--cores-limit", + description: + "The maximum number of CPU cores for Azure Arc enabled PostgreSQL server that can be used per node. To remove the cores_limit, specify its value as empty string", + args: { name: "cores-limit" }, + }, + { + name: "--cores-request", + description: + "The minimum number of CPU cores that must be available per node to schedule the service. To remove the cores_request, specify its value as empty string", + args: { name: "cores-request" }, + }, + { + name: "--dev", + description: + "If this is specified, then it is considered a dev instance and will not be billed for", + args: { name: "dev" }, + }, + { + name: "--extensions", + description: + "Comma seperated list of extensions to be enabled. To Add or remove a new extension update the existing list of extensions. Once enabled, extension can be installed via 'CREATE EXTENSION' command", + args: { name: "extensions" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace where the Azure Arc enabled PostgreSQL server is deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--keytab-secret", + description: + "The name of the Kubernetes secret that contains the keytab file for this Azure Arc enabled PostgreSQL server", + args: { name: "keytab-secret" }, + }, + { + name: "--log-level", + description: + "Sets the log_min_messages setting for the PostgreSQL engine. Valid values are: DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, PANIC", + args: { name: "log-level" }, + }, + { + name: "--memory-limit", + description: + "The memory limit for Azure Arc enabled PostgreSQL server as a number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes). To remove the memory_limit, specify its value as empty string", + args: { name: "memory-limit" }, + }, + { + name: "--memory-request", + description: + "The memory request for Azure Arc enabled PostgreSQL server as a number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes). To remove the memory_request, specify its value as empty string", + args: { name: "memory-request" }, + }, + { + name: "--no-external-endpoint", + description: + "If specified, no external service will be created. Otherwise, an external service will be created using either the type given with the --service-type argument or the same service type as the data controller", + args: { name: "no-external-endpoint" }, + }, + { + name: "--no-wait", + description: + "Do not wait for deployment to be ready before returning", + }, + { + name: "--path", + description: + "The path to the source json file for the Azure Arc enabled PostgreSQL server. This is optional", + args: { name: "path" }, + }, + { + name: "--port", + description: + "The port number on which the primary service is exposed to the end-users", + args: { name: "port" }, + }, + { + name: "--retention-days", + description: + "Backup retention period, specified in days. Allowed values are 0 to 35. Default is 7. Setting the retention period to 0 will turn off automatic backups for Azure Arc enabled PostgreSql", + args: { name: "retention-days" }, + }, + { + name: "--service-annotations", + description: + "Comma-separated list of annotations to apply to all external services", + args: { name: "service-annotations" }, + }, + { + name: "--service-cert-secret", + description: + "Name of the Kubernetes secret to generate that hosts the SSL certificate", + args: { name: "service-cert-secret" }, + }, + { + name: "--service-labels", + description: + "Comma-separated list of labels to apply to all external services", + args: { name: "service-labels" }, + }, + { + name: "--service-type", + description: "The type for the primary service", + args: { name: "service-type" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "endpoint", + description: "Manage Azure Arc enabled PostgreSQL server endpoints", + subcommands: [ + { + name: "list", + description: "List Azure Arc enabled PostgreSQL server endpoints", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the Azure Arc enabled PostgreSQL server", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace where the Azure Arc enabled PostgreSQL server is deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--use-k8s", + description: + "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "server-logs", + description: "Manage server logs", + subcommands: [ + { + name: "download", + description: "Download log files", + options: [ + { + name: ["--name", "-n"], + description: + "Space-separated list of log filenames on the server to download", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: + "Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List log files for a server", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "-s"], + description: "Name of the Server", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--file-last-written", + description: + "Integer in hours to indicate file last modify time, default value is 72", + args: { name: "file-last-written" }, + }, + { + name: "--filename-contains", + description: "The pattern that file name should match", + args: { name: "filename-contains" }, + }, + { + name: "--max-file-size", + description: "The file size limitation to filter files", + args: { name: "max-file-size" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/powerbi.ts b/src/az/2.53.0/powerbi.ts new file mode 100644 index 000000000000..720928922212 --- /dev/null +++ b/src/az/2.53.0/powerbi.ts @@ -0,0 +1,316 @@ +const completion: Fig.Spec = { + name: "powerbi", + description: "Manage PowerBI resources", + subcommands: [ + { + name: "embedded-capacity", + description: "Manage PowerBI embedded capacity", + subcommands: [ + { + name: "create", + description: "Create a new PowerBI embedded capacity", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Dedicated capacity. It must be at least 3 characters in length, and no more than 63", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku-name", + description: + "Name of the SKU level. For more information, please refer to https://azure.microsoft.com/en- us/pricing/details/power-bi-embedded/. Allowed values: A1, A2, A3, A4, A5, A6", + args: { name: "sku-name" }, + isRequired: true, + }, + { + name: "--administration-members", + description: + 'An array of administrator user identities. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "administration-members" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--sku-tier", + description: + "The name of the Azure pricing tier to which the SKU applies", + args: { name: "sku-tier", suggestions: ["PBIE_Azure"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified PowerBI embedded capacity", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Dedicated capacity. It must be at least 3 characters in length, and no more than 63", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the embedded capacities for the given resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get details about the specified PowerBI embedded capacity", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Dedicated capacity. It must be at least 3 characters in length, and no more than 63", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the specified PowerBI embedded capacity", + options: [ + { + name: "--administration-members", + description: + 'An array of administrator user identities. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "administration-members" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Dedicated capacity. It must be at least 3 characters in length, and no more than 63", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku-name", + description: + "Name of the SKU level. For more information, please refer to https://azure.microsoft.com/en- us/pricing/details/power-bi-embedded/. Allowed values: A1, A2, A3, A4, A5, A6", + args: { name: "sku-name" }, + }, + { + name: "--sku-tier", + description: + "The name of the Azure pricing tier to which the SKU applies", + args: { name: "sku-tier", suggestions: ["PBIE_Azure"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Dedicated capacity. It must be at least 3 characters in length, and no more than 63", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/ppg.ts b/src/az/2.53.0/ppg.ts new file mode 100644 index 000000000000..70e0bf1a9717 --- /dev/null +++ b/src/az/2.53.0/ppg.ts @@ -0,0 +1,193 @@ +const completion: Fig.Spec = { + name: "ppg", + description: "Manage Proximity Placement Groups", + subcommands: [ + { + name: "create", + description: "Create a proximity placement group", + options: [ + { + name: ["--name", "-n"], + description: "The name of the proximity placement group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--intent-vm-sizes", + description: + "Specify possible sizes of virtual machines that can be created in the proximity placement group", + args: { name: "intent-vm-sizes" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--type", "-t"], + description: "The type of the proximity placement group", + args: { name: "type", suggestions: ["Standard", "Ultra"] }, + }, + { + name: ["--zone", "-z"], + description: "Availability zone into which to provision the resource", + args: { name: "zone", suggestions: ["1", "2", "3"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a proximity placement group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--proximity-placement-group-name", "--name", "-n"], + description: "The name of the proximity placement group", + args: { name: "proximity-placement-group-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List proximity placement groups", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a proximity placement group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--include-colocation-status", + description: + "Enable fetching the colocation status of all the resources in the proximity placement group", + args: { + name: "include-colocation-status", + suggestions: ["False", "True"], + }, + }, + { + name: ["--proximity-placement-group-name", "--name", "-n"], + description: "The name of the proximity placement group", + args: { name: "proximity-placement-group-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a proximity placement group", + options: [ + { + name: ["--name", "-n"], + description: "The name of the proximity placement group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--include-colocation-status", + description: + "IncludeColocationStatus=true enables fetching the colocation status of all the resources in the proximity placement group. Default value is None", + args: { name: "include-colocation-status" }, + }, + { + name: "--intent-vm-sizes", + description: + "Specify possible sizes of virtual machines that can be created in the proximity placement group", + args: { name: "intent-vm-sizes" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: ["--type", "-t"], + description: "The type of the proximity placement group", + args: { name: "type", suggestions: ["Standard", "Ultra"] }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/private-link.ts b/src/az/2.53.0/private-link.ts new file mode 100644 index 000000000000..61d04de1b0e4 --- /dev/null +++ b/src/az/2.53.0/private-link.ts @@ -0,0 +1,100 @@ +const completion: Fig.Spec = { + name: "private-link", + description: "Private-link association CLI command group", + subcommands: [ + { + name: "association", + description: "Private-link association management on a resource", + subcommands: [ + { + name: "create", + description: "Create a PrivateLinkAssociation", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the private link association", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--privatelink", "-p"], + description: "The name of the private link", + args: { name: "privatelink" }, + isRequired: true, + }, + { + name: ["--public-network-access", "-a"], + description: "Restrict traffic to private link", + args: { + name: "public-network-access", + suggestions: ["disabled", "enabled"], + }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a PrivateLinkAssociation", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the private link association", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Get a private link association for a management group scope", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id", + args: { name: "management-group-id" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a private link association", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the private link association", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/provider.ts b/src/az/2.53.0/provider.ts new file mode 100644 index 000000000000..2fbef6cb74f9 --- /dev/null +++ b/src/az/2.53.0/provider.ts @@ -0,0 +1,114 @@ +const completion: Fig.Spec = { + name: "provider", + description: "Manage resource providers", + subcommands: [ + { + name: "list", + description: "Gets all resource providers for a subscription", + options: [ + { + name: "--expand", + description: + "The properties to include in the results. For example, use &$expand=metadata in the query string to retrieve resource provider metadata. To include property aliases in response, use $expand=resourceTypes/aliases. Default value is None", + args: { name: "expand" }, + }, + ], + }, + { + name: "register", + description: "Register a provider", + options: [ + { + name: ["--namespace", "-n"], + description: "The resource namespace, aka 'provider'", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: ["--consent-to-permissions", "-c"], + description: + "A value indicating whether authorization is consented or not", + }, + { + name: ["--management-group-id", "-m"], + description: "The management group id to register", + args: { name: "management-group-id" }, + }, + { name: "--wait", description: "Wait for the registration to finish" }, + ], + }, + { + name: "show", + description: "Gets the specified resource provider", + options: [ + { + name: ["--namespace", "-n"], + description: "The resource namespace, aka 'provider'", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: "--expand", + description: + "The $expand query parameter. For example, to include property aliases in response, use $expand=resourceTypes/aliases. Default value is None", + args: { name: "expand" }, + }, + ], + }, + { + name: "unregister", + description: "Unregister a provider", + options: [ + { + name: ["--namespace", "-n"], + description: "The resource namespace, aka 'provider'", + args: { name: "namespace" }, + isRequired: true, + }, + { name: "--wait", description: "Wait for unregistration to finish" }, + ], + }, + { + name: "operation", + description: "Get provider operations metadatas", + subcommands: [ + { + name: "list", + description: "Get operations from all providers", + }, + { + name: "show", + description: "Get an individual provider's operations", + options: [ + { + name: ["--namespace", "-n"], + description: "The resource namespace, aka 'provider'", + args: { name: "namespace" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "permission", + description: "Manage permissions for a provider", + subcommands: [ + { + name: "list", + description: "List permissions from a provider", + options: [ + { + name: ["--namespace", "-n"], + description: "The resource namespace, aka 'provider'", + args: { name: "namespace" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/providerhub.ts b/src/az/2.53.0/providerhub.ts new file mode 100644 index 000000000000..ff43f9c02340 --- /dev/null +++ b/src/az/2.53.0/providerhub.ts @@ -0,0 +1,1357 @@ +const completion: Fig.Spec = { + name: "providerhub", + description: "Manage resources with ProviderHub", + subcommands: [ + { + name: "custom-rollout", + description: "Manage custom rollout with providerhub", + subcommands: [ + { + name: "create", + description: "Create the rollout details", + options: [ + { + name: "--canary", + description: "The canary regions to apply the manifest", + args: { name: "canary" }, + isRequired: true, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + isRequired: true, + }, + { + name: "--rollout-name", + description: "The rollout name", + args: { name: "rollout-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Gets the list of the custom rollouts for the given provider", + options: [ + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets the custom rollout details", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--rollout-name", + description: "The rollout name", + args: { name: "rollout-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "default-rollout", + description: "Manage default rollout with providerhub", + subcommands: [ + { + name: "create", + description: "Create the rollout details", + options: [ + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + isRequired: true, + }, + { + name: "--rollout-name", + description: "The rollout name", + args: { name: "rollout-name" }, + isRequired: true, + }, + { + name: "--canary", + description: "The canary regions to skip", + args: { name: "canary" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--rest-of-the-world-group-two", "--row2"], + description: "DefaultRollout rest of the world group two", + args: { name: "rest-of-the-world-group-two" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes the rollout resource. Rollout must be in terminal state", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--rollout-name", + description: "The rollout name", + args: { name: "rollout-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Gets the list of the rollouts for the given provider", + options: [ + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets the default rollout details", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--rollout-name", + description: "The rollout name", + args: { name: "rollout-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stops or cancels the rollout, if in progress", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--rollout-name", + description: "The rollout name", + args: { name: "rollout-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "manifest", + description: "Manage with providerhub manifest operations", + subcommands: [ + { + name: "checkin", + description: "Checkin the manifest", + options: [ + { + name: [ + "--baseline-arm-manifest-location", + "--arm-manifest-location", + "--location", + ], + description: + "The baseline ARM manifest location supplied to the checkin manifest operation", + args: { name: "baseline-arm-manifest-location" }, + isRequired: true, + }, + { + name: "--environment", + description: + "The environment supplied to the checkin manifest operation", + args: { name: "environment" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "generate", + description: "Generates the manifest for the given provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "notification-registration", + description: "Manage notification registration with providerhub", + subcommands: [ + { + name: "create", + description: "Create a notification registration", + options: [ + { + name: ["--notification-registration-name", "--name", "-n"], + description: "The notification registration", + args: { name: "notification-registration-name" }, + isRequired: true, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + isRequired: true, + }, + { + name: "--included-events", + description: + "These are the events that the RP should be messaged on. The message format is in the form {RP Namespace}/{Resource Type}/{action}. The availabe actions are: write, delete and move/action", + args: { name: "included-events" }, + }, + { + name: "--message-scope", + description: + "Limits the messages that are sent to the RP. The default value is RegisteredSubscriptions. The available values are Global (all messages in Azure) and RegisteredSubscriptions (only messages in subscriptions registered by RP)", + args: { + name: "message-scope", + suggestions: ["NotSpecified", "RegisteredSubscriptions"], + }, + }, + { + name: "--notification-endpoints", + description: + "These are the locations for the notification messages. Notifications will be sent to the region of the event resource's location (e.g. VM in East Us will send message to the specified endpoint in East US)", + args: { name: "notification-endpoints" }, + }, + { + name: "--notification-mode", + description: + "Determines how the notifications are sent to the RP. The two available modes are EventHub and Webhook", + args: { + name: "notification-mode", + suggestions: ["EventHub", "NotSpecified", "WebHook"], + }, + }, + ], + }, + { + name: "delete", + description: "Deletes a notification registration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--notification-registration-name", "--name", "-n"], + description: "The notification registration", + args: { name: "notification-registration-name" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Gets the list of the notification registrations for the given provider", + options: [ + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets the notification registration details", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--notification-registration-name", "--name", "-n"], + description: "The notification registration", + args: { name: "notification-registration-name" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "operation", + description: "Manage operation with providerhub", + subcommands: [ + { + name: "create", + description: "Create the operation supported by the given provider", + options: [ + { + name: "--contents", + description: "Expected value: json-string/@json-file", + args: { name: "contents" }, + isRequired: true, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Deletes an operation", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Gets the operations supported by the given provider", + options: [ + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "provider-registration", + description: "Manage provider registration with providerhub", + subcommands: [ + { + name: "create", + description: "Create the provider registration", + options: [ + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + isRequired: true, + }, + { + name: "--capabilities", + description: "The resource provider capabilities", + args: { name: "capabilities" }, + }, + { + name: "--incident-contact-email", + description: + "The email address of contacts for incidents related to the RP", + args: { name: "incident-contact-email" }, + }, + { + name: ["--incident-routing-service", "--incident-service"], + description: + "The service in IcM when creating or transferring incidents to the RP", + args: { name: "incident-routing-service" }, + }, + { + name: ["--incident-routing-team", "--incident-team"], + description: + "The team in IcM when creating or transferring incidents to the RP", + args: { name: "incident-routing-team" }, + }, + { + name: ["--lighthouse-authorizations", "--lighthouse-auth"], + description: "The lighthouse authorizations", + args: { name: "lighthouse-authorizations" }, + }, + { + name: "--managed-by-tenant-id", + description: "The managed by tenant ID", + args: { name: "managed-by-tenant-id" }, + }, + { + name: "--manifest-owners", + description: + "Specifies an array of required ACIS claims to modify the resource provider's manifest content via ACIS", + args: { name: "manifest-owners" }, + }, + { + name: "--metadata", + description: "The metadata", + args: { name: "metadata" }, + }, + { + name: [ + "--providerhub-metadata-authentication", + "--metadata-authn", + ], + description: "The ProviderHub metadata authentication", + args: { name: "providerhub-metadata-authentication" }, + }, + { + name: [ + "--providerhub-metadata-authorizations", + "--metadata-authz", + ], + description: "The ProviderHub metadata authorizations", + args: { name: "providerhub-metadata-authorizations" }, + }, + { + name: "--namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--opt-in-headers", + description: "The opt-in headers", + args: { + name: "opt-in-headers", + suggestions: [ + "ClientGroupMembership", + "NotSpecified", + "SignedAuxiliaryTokens", + "SignedUserToken", + "UnboundedClientGroupMembership", + ], + }, + }, + { + name: [ + "--subscription-state-override-actions", + "--override-actions", + ], + description: "The subscription state override actions", + args: { name: "subscription-state-override-actions" }, + }, + { + name: ["--provider-authentication", "--provider-authn"], + description: + "Used to set alternative audiences or resources that ARM should accept from the token while authenticating requests for the provider", + args: { name: "provider-authentication" }, + }, + { + name: ["--provider-authorizations", "--provider-authz"], + description: "The resource provider authorizations", + args: { name: "provider-authorizations" }, + }, + { + name: "--provider-type", + description: "The provider type", + args: { name: "provider-type" }, + }, + { + name: "--provider-version", + description: "The provider version", + args: { name: "provider-version" }, + }, + { + name: ["--required-features-policy", "--req-features-policy"], + description: + 'The accepted values are "Any" or "All". If the value is "All", then only the subscriptions registered to all the corresponding feature flag will be allowed.​', + args: { + name: "required-features-policy", + suggestions: ["All", "Any"], + }, + }, + { + name: "--required-features", + description: "The required features", + args: { name: "required-features" }, + }, + { + name: "--resource-access-policy", + description: "The resource access policy", + args: { + name: "resource-access-policy", + suggestions: [ + "AcisActionAllowed", + "AcisReadAllowed", + "NotSpecified", + ], + }, + }, + { + name: "--resource-access-roles", + description: + "The resource access roles. Expected value: json-string/@json-file", + args: { name: "resource-access-roles" }, + }, + { + name: "--schema-owners", + description: + "Specifies an array of needed ACIS claims to modify the resource provider schema via ACIS", + args: { name: "schema-owners" }, + }, + { + name: "--service-tree-infos", + description: + "The ServiceTree information for the resource provider", + args: { name: "service-tree-infos" }, + }, + { + name: "--soft-delete-ttl", + description: "The soft delete time to live", + args: { name: "soft-delete-ttl" }, + }, + { + name: ["--template-deployment-options", "--tmplt-deploy-opt"], + description: "The template deployment options", + args: { name: "template-deployment-options" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a provider registration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "generate-operation", + description: "Generates the operations api for the given provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Gets the list of the provider registrations in the subscription", + }, + { + name: "show", + description: "Gets the provider registration details", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "resource-type-registration", + description: "Manage resource type registration with providerhub", + subcommands: [ + { + name: "create", + description: "Create a resource type", + options: [ + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + isRequired: true, + }, + { + name: "--resource-type", + description: "The resource type", + args: { name: "resource-type" }, + isRequired: true, + }, + { + name: ["--allowed-unauthorized-actions", "--aua"], + description: "The allowed unauthorized actions", + args: { name: "allowed-unauthorized-actions" }, + }, + { + name: ["--authorization-action-mappings", "--auth-mappings"], + description: + "Allows RP to override action verb for RBAC purposes at ARM", + args: { name: "authorization-action-mappings" }, + }, + { + name: [ + "--check-name-availability-specifications", + "--checkname-specs", + ], + description: + "Name availability checks feature at the platform level", + args: { name: "check-name-availability-specifications" }, + }, + { + name: ["--resource-creation-begin", "--creation-begin"], + description: + "Extension options for handling the resource creation begin extension request", + args: { name: "resource-creation-begin" }, + }, + { + name: ["--disallowed-action-verbs", "--dav"], + description: "The disallowed action verbs", + args: { name: "disallowed-action-verbs" }, + }, + { + name: "--default-api-version", + description: "The default API version for the endpoint", + args: { name: "default-api-version" }, + }, + { + name: ["--resource-deletion-policy", "--deletion-policy"], + description: "The resource deletion policy", + args: { + name: "resource-deletion-policy", + suggestions: [ + "CascadeDeleteAll", + "CascadeDeleteProxyOnlyChildren", + "NotSpecified", + ], + }, + }, + { + name: "--enable-async-operation", + description: + "Indicates whether the async operation is enabled for this resource type", + args: { + name: "enable-async-operation", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-third-party-s2s", + description: + "Indicates whether third party s2s is enabled for this resource type", + args: { + name: "enable-third-party-s2s", + suggestions: ["false", "true"], + }, + }, + { + name: "--endpoints", + description: "The resource type endpoints", + args: { name: "endpoints" }, + }, + { + name: "--extended-locations", + description: "The extended location options", + args: { name: "extended-locations" }, + }, + { + name: "--identity-management", + description: "MSI related settings", + args: { name: "identity-management" }, + }, + { + name: "--is-pure-proxy", + description: + "Indicates whether this is a PureProxy resource type", + args: { name: "is-pure-proxy", suggestions: ["false", "true"] }, + }, + { + name: "--linked-access-checks", + description: + "Enables additional Role Based Access Control (RBAC) checks on related resources", + args: { name: "linked-access-checks" }, + }, + { + name: "--logging-rules", + description: "The logging rules", + args: { name: "logging-rules" }, + }, + { + name: "--marketplace-type", + description: + "The type of marketplace behavior for the resource type", + args: { + name: "marketplace-type", + suggestions: ["AddOn", "Bypass", "NotSpecified", "Store"], + }, + }, + { + name: "--opt-in-headers", + description: "The opt-in headers", + args: { + name: "opt-in-headers", + suggestions: [ + "ClientGroupMembership", + "NotSpecified", + "SignedAuxiliaryTokens", + "SignedUserToken", + "UnboundedClientGroupMembership", + ], + }, + }, + { + name: [ + "--subscription-state-override-actions", + "--override-actions", + ], + description: "The subscription state override actions", + args: { name: "subscription-state-override-actions" }, + }, + { + name: ["--resource-patch-begin", "--patch-begin"], + description: + "Extension options for handling the resource patch begin extension request", + args: { name: "resource-patch-begin" }, + }, + { + name: "--regionality", + description: "The regionality of the resource type", + args: { + name: "regionality", + suggestions: ["Global", "NotSpecified", "Regional"], + }, + }, + { + name: ["--required-features-policy", "--req-features-policy"], + description: + 'The accepted values are "Any" or "All". If the value is "All", then only the subscriptions registered to all the corresponding feature flag will be allowed.​', + args: { + name: "required-features-policy", + suggestions: ["All", "Any"], + }, + }, + { + name: "--required-features", + description: "The required features", + args: { name: "required-features" }, + }, + { + name: "--resource-move-policy", + description: "The resource move policy", + args: { name: "resource-move-policy" }, + }, + { + name: "--routing-type", + description: "The resource routing type.​", + args: { name: "routing-type" }, + }, + { + name: "--service-tree-infos", + description: + "The ServiceTree information for the resource provider", + args: { name: "service-tree-infos" }, + }, + { + name: "--soft-delete-ttl", + description: "The soft delete time to live", + args: { name: "soft-delete-ttl" }, + }, + { + name: ["--subscription-state-rules", "--sub-state-rules"], + description: "The subscription state rules", + args: { name: "subscription-state-rules" }, + }, + { + name: "--swagger-specifications", + description: "The Swagger spec of the resource type", + args: { name: "swagger-specifications" }, + }, + { + name: ["--template-deployment-options", "--tmplt-deploy-opt"], + description: "The template deployment options", + args: { name: "template-deployment-options" }, + }, + { + name: "--throttling-rules", + description: + "Enables setting individual limits for different actions in terms of number of requests or number of resources (for collection read requests only)", + args: { name: "throttling-rules" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a resource type", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--resource-type", + description: "The resource type", + args: { name: "resource-type" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Gets the list of the resource types for the given provider", + options: [ + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets a resource type details in the given subscription and provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--resource-type", + description: "The resource type", + args: { name: "resource-type" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "sku", + description: "Manage sku with providerhub", + subcommands: [ + { + name: "create", + description: + "Creates or updates the resource type skus in the given resource type. And Creates or updates the resource type skus in the given resource type. And Creates or updates the resource type skus in the given resource type. And Create the resource type skus in the given resource type", + options: [ + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + isRequired: true, + }, + { + name: "--resource-type", + description: "The resource type", + args: { name: "resource-type" }, + isRequired: true, + }, + { + name: "--sku", + description: "The SKU", + args: { name: "sku" }, + isRequired: true, + }, + { + name: "--sku-settings", + description: "Expected value: json-string/@json-file", + args: { name: "sku-settings" }, + isRequired: true, + }, + { + name: ["--nested-resource-type-first", "--nested-first"], + description: "The first child resource type", + args: { name: "nested-resource-type-first" }, + }, + { + name: ["--nested-resource-type-second", "--nested-second"], + description: "The second child resource type", + args: { name: "nested-resource-type-second" }, + }, + { + name: ["--nested-resource-type-third", "--nested-third"], + description: "The third child resource type", + args: { name: "nested-resource-type-third" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes a resource type sku. And Deletes a resource type sku. And Deletes a resource type sku. And Deletes a resource type sku", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--nested-resource-type-first", "--nested-first"], + description: "The first child resource type", + args: { name: "nested-resource-type-first" }, + }, + { + name: ["--nested-resource-type-second", "--nested-second"], + description: "The second child resource type", + args: { name: "nested-resource-type-second" }, + }, + { + name: ["--nested-resource-type-third", "--nested-third"], + description: "The third child resource type", + args: { name: "nested-resource-type-third" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--resource-type", + description: "The resource type", + args: { name: "resource-type" }, + }, + { name: "--sku", description: "The SKU", args: { name: "sku" } }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Gets the list of skus for the given resource type. And Gets the list of skus for the given resource type. And Gets the list of skus for the given resource type. And Gets the list of skus for the given resource type", + options: [ + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + isRequired: true, + }, + { + name: "--resource-type", + description: "The resource type", + args: { name: "resource-type" }, + isRequired: true, + }, + { + name: ["--nested-resource-type-first", "--nested-first"], + description: "The first child resource type", + args: { name: "nested-resource-type-first" }, + }, + { + name: ["--nested-resource-type-second", "--nested-second"], + description: "The second child resource type", + args: { name: "nested-resource-type-second" }, + }, + { + name: ["--nested-resource-type-third", "--nested-third"], + description: "The third child resource type", + args: { name: "nested-resource-type-third" }, + }, + ], + }, + { + name: "show", + description: + "Gets the sku details for the given resource type and sku name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--resource-type", + description: "The resource type", + args: { name: "resource-type" }, + }, + { name: "--sku", description: "The SKU", args: { name: "sku" } }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-nested-resource-type-first", + description: + "Gets the sku details for the given resource type and sku name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--nested-resource-type-first", "--nested-first"], + description: "The first child resource type", + args: { name: "nested-resource-type-first" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--resource-type", + description: "The resource type", + args: { name: "resource-type" }, + }, + { name: "--sku", description: "The SKU", args: { name: "sku" } }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-nested-resource-type-second", + description: + "Gets the sku details for the given resource type and sku name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--nested-resource-type-first", "--nested-first"], + description: "The first child resource type", + args: { name: "nested-resource-type-first" }, + }, + { + name: ["--nested-resource-type-second", "--nested-second"], + description: "The second child resource type", + args: { name: "nested-resource-type-second" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--resource-type", + description: "The resource type", + args: { name: "resource-type" }, + }, + { name: "--sku", description: "The SKU", args: { name: "sku" } }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-nested-resource-type-third", + description: + "Gets the sku details for the given resource type and sku name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--nested-resource-type-first", "--nested-first"], + description: "The first child resource type", + args: { name: "nested-resource-type-first" }, + }, + { + name: ["--nested-resource-type-second", "--nested-second"], + description: "The second child resource type", + args: { name: "nested-resource-type-second" }, + }, + { + name: ["--nested-resource-type-third", "--nested-third"], + description: "The third child resource type", + args: { name: "nested-resource-type-third" }, + }, + { + name: "--provider-namespace", + description: + "The name of the resource provider hosted within ProviderHub", + args: { name: "provider-namespace" }, + }, + { + name: "--resource-type", + description: "The resource type", + args: { name: "resource-type" }, + }, + { name: "--sku", description: "The SKU", args: { name: "sku" } }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/purview.ts b/src/az/2.53.0/purview.ts new file mode 100644 index 000000000000..597fb716f8ec --- /dev/null +++ b/src/az/2.53.0/purview.ts @@ -0,0 +1,419 @@ +const completion: Fig.Spec = { + name: "purview", + description: "Manage Purview", + subcommands: [ + { + name: "account", + description: "Manage account with purview", + subcommands: [ + { + name: "add-root-collection-admin", + description: + "Add the administrator for root collection associated with this account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--object-id", + description: "Gets or sets the object identifier of the admin", + args: { name: "object-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create an account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--managed-group-name", + description: "Gets or sets the managed resource group name", + args: { name: "managed-group-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--public-network-access", + description: "Gets or sets the public network access", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled", "NotSpecified"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an account resource", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List accounts in ResourceGroup And List accounts in Subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-token", + description: "The skip token", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "list-key", + description: + "List the authorization keys associated with this account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get an account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates an account", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the account", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--managed-group-name", + description: "Gets or sets the managed resource group name", + args: { name: "managed-group-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--public-network-access", + description: "Gets or sets the public network access", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled", "NotSpecified"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the purview account is met", + options: [ + { + name: ["--account-name", "--name", "-n"], + description: "The name of the account", + args: { name: "account-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "default-account", + description: "Manage default account with purview", + subcommands: [ + { + name: "remove", + description: "Removes the default account from the scope", + options: [ + { + name: "--scope-tenant-id", + description: "The tenant ID", + args: { name: "scope-tenant-id" }, + isRequired: true, + }, + { + name: "--scope-type", + description: "The scope for the default account", + args: { + name: "scope-type", + suggestions: ["Subscription", "Tenant"], + }, + isRequired: true, + }, + { + name: "--scope", + description: + 'The Id of the scope object, for example if the scope is "Subscription" then it is the ID of that subscription', + args: { name: "scope" }, + }, + ], + }, + { + name: "set", + description: "Sets the default account for the scope", + options: [ + { + name: "--scope-tenant-id", + description: + "The scope tenant in which the default account is set", + args: { name: "scope-tenant-id" }, + isRequired: true, + }, + { + name: "--subscription-id", + description: + "The subscription ID of the account that is set as the default", + args: { name: "subscription-id" }, + isRequired: true, + }, + { + name: ["--account-name", "--name", "-n"], + description: "The name of the account that is set as the default", + args: { name: "account-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "The scope object ID. For example, sub ID or tenant ID", + args: { name: "scope" }, + }, + { + name: "--scope-type", + description: "The scope where the default account is set", + args: { + name: "scope-type", + suggestions: ["Subscription", "Tenant"], + }, + }, + ], + }, + { + name: "show", + description: "Get the default account for the scope", + options: [ + { + name: "--scope-tenant-id", + description: "The tenant ID", + args: { name: "scope-tenant-id" }, + isRequired: true, + }, + { + name: "--scope-type", + description: "The scope for the default account", + args: { + name: "scope-type", + suggestions: ["Subscription", "Tenant"], + }, + isRequired: true, + }, + { + name: "--scope", + description: + 'The Id of the scope object, for example if the scope is "Subscription" then it is the ID of that subscription', + args: { name: "scope" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/quantum.ts b/src/az/2.53.0/quantum.ts new file mode 100644 index 000000000000..6a641225b7e7 --- /dev/null +++ b/src/az/2.53.0/quantum.ts @@ -0,0 +1,822 @@ +const completion: Fig.Spec = { + name: "quantum", + description: + "Manage Azure Quantum Workspaces and submit jobs to Azure Quantum Providers", + subcommands: [ + { + name: "execute", + description: + "Submit a job to run on Azure Quantum, and waits for the result", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--target-id", "-t"], + description: + "Execution engine for quantum computing jobs. When a workspace is configured with a set of providers, they each enable one or more targets. You can configure the default target using az quantum target set", + args: { name: "target-id" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--entry-point", + description: + "The entry point for the QIR program or circuit. Required for QIR. Ignored on Q# jobs", + args: { name: "entry-point" }, + }, + { + name: "--job-input-file", + description: + "The location of the input file to submit. Required for QIR, QIO, and pass-through jobs. Ignored on Q# jobs", + args: { name: "job-input-file" }, + }, + { + name: "--job-input-format", + description: + "The format of the file to submit. Omit this parameter on Q# jobs", + args: { name: "job-input-format" }, + }, + { + name: "--job-name", + description: "A friendly name to give to this run of the program", + args: { name: "job-name" }, + }, + { + name: "--job-output-format", + description: "The expected job output format. Ignored on Q# jobs", + args: { name: "job-output-format" }, + }, + { + name: "--job-params", + description: + "Job parameters passed to the target as a list of key=value pairs, json string, or @{file} with json content", + args: { name: "job-params" }, + }, + { + name: "--no-build", + description: + "If specified, the Q# program is not built before submitting", + }, + { + name: "--project", + description: + "The location of the Q# project to submit. Defaults to current folder", + args: { name: "project" }, + }, + { + name: "--shots", + description: + "The number of times to run the Q# program on the given target", + args: { name: "shots" }, + }, + { + name: "--storage", + description: + "If specified, the ConnectionString of an Azure Storage is used to store job data and results", + args: { name: "storage" }, + }, + { + name: "--target-capability", + description: "Target-capability parameter passed to the compiler", + args: { name: "target-capability" }, + }, + ], + args: { + name: "", + description: + "List of arguments expected by the Q# operation specified as --name=value after --", + isOptional: true, + }, + }, + { + name: "run", + description: "Equivalent to az quantum execute", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--target-id", "-t"], + description: + "Execution engine for quantum computing jobs. When a workspace is configured with a set of providers, they each enable one or more targets. You can configure the default target using az quantum target set", + args: { name: "target-id" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--entry-point", + description: + "The entry point for the QIR program or circuit. Required for QIR. Ignored on Q# jobs", + args: { name: "entry-point" }, + }, + { + name: "--job-input-file", + description: + "The location of the input file to submit. Required for QIR, QIO, and pass-through jobs. Ignored on Q# jobs", + args: { name: "job-input-file" }, + }, + { + name: "--job-input-format", + description: + "The format of the file to submit. Omit this parameter on Q# jobs", + args: { name: "job-input-format" }, + }, + { + name: "--job-name", + description: "A friendly name to give to this run of the program", + args: { name: "job-name" }, + }, + { + name: "--job-output-format", + description: "The expected job output format. Ignored on Q# jobs", + args: { name: "job-output-format" }, + }, + { + name: "--job-params", + description: + "Job parameters passed to the target as a list of key=value pairs, json string, or @{file} with json content", + args: { name: "job-params" }, + }, + { + name: "--no-build", + description: + "If specified, the Q# program is not built before submitting", + }, + { + name: "--project", + description: + "The location of the Q# project to submit. Defaults to current folder", + args: { name: "project" }, + }, + { + name: "--shots", + description: + "The number of times to run the Q# program on the given target", + args: { name: "shots" }, + }, + { + name: "--storage", + description: + "If specified, the ConnectionString of an Azure Storage is used to store job data and results", + args: { name: "storage" }, + }, + { + name: "--target-capability", + description: "Target-capability parameter passed to the compiler", + args: { name: "target-capability" }, + }, + ], + args: { + name: "", + description: + "List of arguments expected by the Q# operation specified as --name=value after --", + isOptional: true, + }, + }, + { + name: "job", + description: "Manage jobs for Azure Quantum", + subcommands: [ + { + name: "cancel", + description: + "Request to cancel a job on Azure Quantum if it hasn't completed", + options: [ + { + name: ["--job-id", "-j"], + description: "Job unique identifier in GUID format", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "Get the list of jobs in a Quantum Workspace", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "output", + description: "Get the results of running a Q# job", + options: [ + { + name: ["--job-id", "-j"], + description: "Job unique identifier in GUID format", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--item", + description: "The item index in a batching job", + args: { name: "item" }, + }, + ], + }, + { + name: "show", + description: "Get the job's status and details", + options: [ + { + name: ["--job-id", "-j"], + description: "Job unique identifier in GUID format", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "submit", + description: "Submit a program or circuit to run on Azure Quantum", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--target-id", "-t"], + description: + "Execution engine for quantum computing jobs. When a workspace is configured with a set of providers, they each enable one or more targets. You can configure the default target using az quantum target set", + args: { name: "target-id" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--entry-point", + description: + "The entry point for the QIR program or circuit. Required for QIR. Ignored on Q# jobs", + args: { name: "entry-point" }, + }, + { + name: "--job-input-file", + description: + "The location of the input file to submit. Required for QIR, QIO, and pass-through jobs. Ignored on Q# jobs", + args: { name: "job-input-file" }, + }, + { + name: "--job-input-format", + description: + "The format of the file to submit. Omit this parameter on Q# jobs", + args: { name: "job-input-format" }, + }, + { + name: "--job-name", + description: "A friendly name to give to this run of the program", + args: { name: "job-name" }, + }, + { + name: "--job-output-format", + description: "The expected job output format. Ignored on Q# jobs", + args: { name: "job-output-format" }, + }, + { + name: "--job-params", + description: + "Job parameters passed to the target as a list of key=value pairs, json string, or @{file} with json content", + args: { name: "job-params" }, + }, + { + name: "--no-build", + description: + "If specified, the Q# program is not built before submitting", + }, + { + name: "--project", + description: + "The location of the Q# project to submit. Defaults to current folder", + args: { name: "project" }, + }, + { + name: "--shots", + description: + "The number of times to run the Q# program on the given target", + args: { name: "shots" }, + }, + { + name: "--storage", + description: + "If specified, the ConnectionString of an Azure Storage is used to store job data and results", + args: { name: "storage" }, + }, + { + name: "--target-capability", + description: "Target-capability parameter passed to the compiler", + args: { name: "target-capability" }, + }, + ], + args: { + name: "", + description: + "List of arguments expected by the Q# operation specified as --name=value after --", + isOptional: true, + }, + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until the job finishes running", + options: [ + { + name: ["--job-id", "-j"], + description: "Job unique identifier in GUID format", + args: { name: "job-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--max-poll-wait-secs", + description: + "Poll time in seconds to query Azure Quantum for results of the corresponding job", + args: { name: "max-poll-wait-secs" }, + }, + ], + }, + ], + }, + { + name: "offerings", + description: "Manage provider offerings for Azure Quantum", + subcommands: [ + { + name: "accept-terms", + description: + "Accept the terms of a provider and SKU combination to enable it for workspace creation", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--provider-id", "-p"], + description: "Identifier of an Azure Quantum provider", + args: { name: "provider-id" }, + isRequired: true, + }, + { + name: ["--sku", "-k"], + description: + "Identify a plan or SKU offered by an Azure Quantum provider", + args: { name: "sku" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Get the list of all provider offerings available on the given location", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--autoadd-only", + description: + 'If specified, only the plans flagged "autoAdd" are displayed', + }, + ], + }, + { + name: "show-terms", + description: + "Show the terms of a provider and SKU combination including license URL and acceptance status", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--provider-id", "-p"], + description: "Identifier of an Azure Quantum provider", + args: { name: "provider-id" }, + isRequired: true, + }, + { + name: ["--sku", "-k"], + description: + "Identify a plan or SKU offered by an Azure Quantum provider", + args: { name: "sku" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "target", + description: "Manage targets for Azure Quantum workspaces", + subcommands: [ + { + name: "clear", + description: "Clear the default target-id", + }, + { + name: "list", + description: + "Get the list of providers and their targets in an Azure Quantum workspace", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: + "Select the default target to use when submitting jobs to Azure Quantum", + options: [ + { + name: ["--target-id", "-t"], + description: + "Execution engine for quantum computing jobs. When a workspace is configured with a set of providers, they each enable one or more targets. You can configure the default target using az quantum target set", + args: { name: "target-id" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the Target ID of the current default target to use when submitting jobs to Azure Quantum", + options: [ + { + name: ["--target-id", "-t"], + description: + "Execution engine for quantum computing jobs. When a workspace is configured with a set of providers, they each enable one or more targets. You can configure the default target using az quantum target set", + args: { name: "target-id" }, + }, + ], + }, + ], + }, + { + name: "workspace", + description: "Manage Azure Quantum workspaces", + subcommands: [ + { + name: "clear", + description: "Clear the default Azure Quantum workspace", + }, + { + name: "create", + description: "Create a new Azure Quantum workspace", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--storage-account", "-a"], + description: + "Name of the storage account to be used by a quantum workspace", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--auto-accept", + description: + "If specified, provider terms are accepted without an interactive Y/N prompt", + }, + { + name: ["--provider-sku-list", "-r"], + description: + "Comma separated list of Provider/SKU pairs. Separate the Provider and SKU with a slash. Enclose the entire list in quotes. Values from az quantum offerings list -l -o table", + args: { name: "provider-sku-list" }, + }, + { + name: "--skip-autoadd", + description: + "If specified, the plans that offer free credits will not automatically be added", + }, + { + name: "--skip-role-assignment", + description: + "Skip the role assignment step for the quantum workspace in the storage account", + }, + ], + }, + { + name: "delete", + description: "Delete the given (or current) Azure Quantum workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "Get the list of Azure Quantum workspaces available", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--tag", + description: + "Show only quantum workspaces that have associated the specified tag", + args: { name: "tag" }, + }, + ], + }, + { + name: "quotas", + description: + "List the quotas for the given (or current) Azure Quantum workspace", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: + "Select a default Azure Quantum workspace for future commands", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of the given (or current) Azure Quantum workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--workspace-name", "-w"], + description: + "Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/qumulo.ts b/src/az/2.53.0/qumulo.ts new file mode 100644 index 000000000000..4301d0180f46 --- /dev/null +++ b/src/az/2.53.0/qumulo.ts @@ -0,0 +1,283 @@ +const completion: Fig.Spec = { + name: "qumulo", + description: "Manage qumulo", + subcommands: [ + { + name: "storage", + description: "Manage qumulo storage", + subcommands: [ + { + name: "file-system", + description: "Manage qumulo storage file system", + subcommands: [ + { + name: "create", + description: "Create file system resource", + options: [ + { + name: "--admin-password", + description: "Initial administrator password of the resource", + args: { name: "admin-password" }, + isRequired: true, + }, + { + name: "--delegated-subnet-id", + description: "Delegated subnet id for Vnet injection", + args: { name: "delegated-subnet-id" }, + isRequired: true, + }, + { + name: ["--file-system-name", "--name", "-n"], + description: "Name of the File System resource", + args: { name: "file-system-name" }, + isRequired: true, + }, + { + name: "--initial-capacity", + description: "Storage capacity in TB", + args: { name: "initial-capacity" }, + isRequired: true, + }, + { + name: "--marketplace-details", + description: + 'Marketplace details Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "marketplace-details" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-sku", + description: "Storage Sku", + args: { + name: "storage-sku", + suggestions: ["Performance", "Standard"], + }, + isRequired: true, + }, + { + name: "--user-details", + description: + 'User Details Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-details" }, + isRequired: true, + }, + { + name: "--availability-zone", + description: "Availability zone", + args: { name: "availability-zone" }, + }, + { + name: "--cluster-login-url", + description: "File system Id of the resource", + args: { name: "cluster-login-url" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--private-ips", + description: + 'Private IPs of the resource Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "private-ips" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete file system resource", + options: [ + { + name: ["--file-system-name", "--name", "-n"], + description: "Name of the File System resource", + args: { name: "file-system-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List file system resources", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show file system resource", + options: [ + { + name: ["--file-system-name", "--name", "-n"], + description: "Name of the File System resource", + args: { name: "file-system-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: ["--file-system-name", "--name", "-n"], + description: "Name of the File System resource", + args: { name: "file-system-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/quota.ts b/src/az/2.53.0/quota.ts new file mode 100644 index 000000000000..f6d0c2b0c5d1 --- /dev/null +++ b/src/az/2.53.0/quota.ts @@ -0,0 +1,274 @@ +const completion: Fig.Spec = { + name: "quota", + description: "Manage Azure Quota Extension API", + subcommands: [ + { + name: "create", + description: + "Create the quota limit for the specified resource with the requested value", + options: [ + { + name: "--resource-name", + description: "The resource name for a given resource provider", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--scope", + description: "The target Azure resource URI", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--limit-object", + description: "The resource quota limit value", + args: { name: "limit-object" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--properties", + description: + "The additional properties for the specific resource provider", + args: { name: "properties" }, + }, + { + name: "--resource-type", + description: "The resource type name", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "list", + description: + "Get a list of current quota limits of all resources for the specified scope. The response from this GET operation can be leveraged to submit requests to update a quota", + options: [ + { + name: "--scope", + description: "The target Azure resource URI", + args: { name: "scope" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the quota limit of a resource. The response can be used to determine the remaining quota to calculate a new quota limit that can be submitted with a PUT request", + options: [ + { + name: "--resource-name", + description: "The resource name for a given resource provider", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--scope", + description: "The target Azure resource URI", + args: { name: "scope" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the quota limit for a specific resource to the specified value", + options: [ + { + name: "--resource-name", + description: "The resource name for a given resource provider", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--scope", + description: "The target Azure resource URI", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--limit-object", + description: "The resource quota limit value", + args: { name: "limit-object" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--properties", + description: + "The additional properties for the specific resource provider", + args: { name: "properties" }, + }, + { + name: "--resource-type", + description: "Resource type name", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the quota is met", + options: [ + { + name: "--resource-name", + description: "The resource name for a given resource provider", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--scope", + description: "The target Azure resource URI", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "operation", + description: "Manage quota operation with quota", + subcommands: [ + { + name: "list", + description: + "List all the operations supported by the Microsoft.Quota resource provider", + }, + ], + }, + { + name: "request", + description: "Manage quota request with quota", + subcommands: [ + { + name: "status", + description: "Manage quota request status with quota", + subcommands: [ + { + name: "list", + description: + "For the specified scope, get the current quota requests for a one year period ending at the time is made. Use the oData filter to select quota requests", + options: [ + { + name: "--scope", + description: "The target Azure resource URI", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--filter", + description: + "The filter that is applied to packet capture request. Multiple filters can be applied", + args: { name: "filter" }, + }, + { + name: "--skip-token", + description: + "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: "Number of records to return", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Get the quota request details and status by quota request ID for the resources of the resource provider at a specific location. The quota request ID id is returned in the response of the PUT operation", + options: [ + { + name: "--name", + description: "Quota request ID", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--scope", + description: "The target Azure resource URI", + args: { name: "scope" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "usage", + description: "Manage usage with quota", + subcommands: [ + { + name: "list", + description: + "Get a list of current usage for all resources for the scope specified", + options: [ + { + name: "--scope", + description: "The target Azure resource URI", + args: { name: "scope" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the current usage of a resource", + options: [ + { + name: "--resource-name", + description: "The resource name for a given resource provider", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--scope", + description: "The target Azure resource URI", + args: { name: "scope" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/redis.ts b/src/az/2.53.0/redis.ts new file mode 100644 index 000000000000..e6d130a21307 --- /dev/null +++ b/src/az/2.53.0/redis.ts @@ -0,0 +1,1066 @@ +const completion: Fig.Spec = { + name: "redis", + description: "Manage dedicated Redis caches for your Azure applications", + subcommands: [ + { + name: "create", + description: "Create new Redis Cache instance", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: "Type of Redis cache", + args: { name: "sku", suggestions: ["Basic", "Premium", "Standard"] }, + isRequired: true, + }, + { + name: "--vm-size", + description: + "Size of Redis cache to deploy. Basic and Standard Cache sizes start with C. Premium Cache sizes start with P", + args: { + name: "vm-size", + suggestions: [ + "c0", + "c1", + "c2", + "c3", + "c4", + "c5", + "c6", + "p1", + "p2", + "p3", + "p4", + "p5", + ], + }, + isRequired: true, + }, + { + name: "--enable-non-ssl-port", + description: + "If specified, then the non-ssl redis server port (6379) will be enabled", + args: { name: "enable-non-ssl-port" }, + }, + { + name: "--mi-system-assigned", + description: "Flag to specify system assigned identity", + args: { name: "mi-system-assigned" }, + }, + { + name: "--mi-user-assigned", + description: + "One or more space separated resource IDs of user assigned identities", + args: { name: "mi-user-assigned" }, + }, + { + name: "--minimum-tls-version", + description: + "Specifies the TLS version required by clients to connect to cache", + args: { + name: "minimum-tls-version", + suggestions: ["1.0", "1.1", "1.2"], + }, + }, + { + name: "--redis-configuration", + description: + "A json file used to set redis-configuration settings. You may encounter parse errors if the json file is invalid", + args: { name: "redis-configuration" }, + }, + { + name: "--redis-version", + description: + "Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'", + args: { name: "redis-version" }, + }, + { + name: "--replicas-per-master", + description: "The number of replicas to be created per master", + args: { name: "replicas-per-master" }, + }, + { + name: "--shard-count", + description: + "The number of shards to be created on a Premium Cluster Cache", + args: { name: "shard-count" }, + }, + { + name: "--static-ip", + description: + "Specify a static ip if required for the VNET. If you do not specify a static IP then an IP address is chosen automatically", + args: { name: "static-ip" }, + }, + { + name: "--subnet-id", + description: + "The full resource ID of a subnet in a virtual network to deploy the redis cache in. Example format /subscriptions/{subid}/resourceGroups/{resourceGroupName}/providers/Microsoft.{Network|ClassicNetwork}/virtualNetworks/vnet1/subnets/subnet1", + args: { name: "subnet-id" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tenant-settings", + description: "Space-separated tenant settings in key[=value] format", + args: { name: "tenant-settings" }, + }, + { + name: ["--zones", "-z"], + description: + "Space-separated list of availability zones into which to provision the resource", + args: { name: "zones", suggestions: ["1", "2", "3"] }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Redis cache", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "export", + description: "Export data stored in a Redis cache", + options: [ + { + name: "--container", + description: + "SAS url for container where data needs to be exported to", + args: { name: "container" }, + isRequired: true, + }, + { + name: "--prefix", + description: "Prefix to use for exported files", + args: { name: "prefix" }, + isRequired: true, + }, + { + name: ["--preferred-data-archive-auth-method", "--auth-method"], + description: + "Preferred auth method to communicate to storage account used for data archive, default value is SAS", + args: { + name: "preferred-data-archive-auth-method", + suggestions: ["ManagedIdentity", "SAS"], + }, + }, + { + name: "--file-format", + description: + "Format of the blob (Currently rdb is the only supported format, with other formats expected in the future)", + args: { name: "file-format" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "force-reboot", + description: "Reboot specified Redis node(s)", + options: [ + { + name: "--reboot-type", + description: + "Which Redis node(s) to reboot. Depending on this value data loss is possible", + args: { + name: "reboot-type", + suggestions: ["AllNodes", "PrimaryNode", "SecondaryNode"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--shard-id", + description: + "If clustering is enabled, the ID of the shard to be rebooted", + args: { name: "shard-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "import", + description: "Import data into a Redis cache", + options: [ + { + name: "--files", + description: "SAS url for blobs that needs to be imported", + args: { name: "files" }, + isRequired: true, + }, + { + name: ["--preferred-data-archive-auth-method", "--auth-method"], + description: + "Preferred auth method to communicate to storage account used for data archive, default value is SAS", + args: { + name: "preferred-data-archive-auth-method", + suggestions: ["ManagedIdentity", "SAS"], + }, + }, + { + name: "--file-format", + description: + "Format of the blob (Currently rdb is the only supported format, with other formats expected in the future)", + args: { name: "file-format" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "import-method", + description: "Import data into Redis cache", + options: [ + { + name: "--files", + description: "SAS url for blobs that needs to be imported", + args: { name: "files" }, + isRequired: true, + }, + { + name: ["--preferred-data-archive-auth-method", "--auth-method"], + description: + "Preferred auth method to communicate to storage account used for data archive, default value is SAS", + args: { + name: "preferred-data-archive-auth-method", + suggestions: ["ManagedIdentity", "SAS"], + }, + }, + { + name: "--file-format", + description: + "Format of the blob (Currently rdb is the only supported format, with other formats expected in the future)", + args: { name: "file-format" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Redis Caches", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-keys", + description: "Retrieve a Redis cache's access keys", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "regenerate-keys", + description: "Regenerate Redis cache's access keys", + options: [ + { + name: "--key-type", + description: "The Redis access key to regenerate", + args: { name: "key-type", suggestions: ["Primary", "Secondary"] }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Gets a Redis cache (resource description)", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Redis cache", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "Type of Redis cache", + args: { name: "sku", suggestions: ["Basic", "Premium", "Standard"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-size", + description: + "Size of Redis cache to deploy. Basic and Standard Cache sizes start with C. Premium Cache sizes start with P", + args: { + name: "vm-size", + suggestions: [ + "c0", + "c1", + "c2", + "c3", + "c4", + "c5", + "c6", + "p1", + "p2", + "p3", + "p4", + "p5", + ], + }, + }, + ], + }, + { + name: "firewall-rules", + description: "Manage Redis firewall rules", + subcommands: [ + { + name: "create", + description: "Create a redis cache firewall rule", + options: [ + { + name: "--end-ip", + description: "Highest IP address included in the range", + args: { name: "end-ip" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "The name of the firewall rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--start-ip", + description: "Lowest IP address included in the range", + args: { name: "start-ip" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Deletes a single firewall rule in a specified redis cache", + options: [ + { + name: "--rule-name", + description: "The name of the firewall rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Gets all firewall rules in the specified redis cache", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a single firewall rule in a specified redis cache", + options: [ + { + name: "--rule-name", + description: "The name of the firewall rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a redis cache firewall rule", + options: [ + { + name: "--end-ip", + description: "Highest IP address included in the range", + args: { name: "end-ip" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "The name of the firewall rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--start-ip", + description: "Lowest IP address included in the range", + args: { name: "start-ip" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage identity assigned to Azure cache for Redis", + subcommands: [ + { + name: "assign", + description: "Assign identity for Azure cache for Redis", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mi-system-assigned", + description: "Flag to specify system assigned identity", + args: { name: "mi-system-assigned" }, + }, + { + name: "--mi-user-assigned", + description: + "One or more space separated resource IDs of user assigned identities", + args: { name: "mi-user-assigned" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: + "Remove the identity already assigned for Azure cache for Redis", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--mi-system-assigned", + description: "Flag to specify system assigned identity", + args: { name: "mi-system-assigned" }, + }, + { + name: "--mi-user-assigned", + description: + "One or more space separated resource IDs of user assigned identities", + args: { name: "mi-user-assigned" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show the identity assigned for Azure cache for Redis", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "patch-schedule", + description: "Manage Redis patch schedules", + subcommands: [ + { + name: "create", + description: "Create patching schedule for Redis cache", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--schedule-entries", + description: + 'List of Patch schedule entries. Example Value:[{"dayOfWeek":"Monday","startHourUtc":"00","maintenanceWindow":"PT5H"}]', + args: { name: "schedule-entries" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Deletes the patching schedule of a redis cache", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets the patching schedule of a redis cache", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update the patching schedule for Redis cache", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--schedule-entries", + description: + 'List of Patch schedule entries. Example Value:[{"dayOfWeek":"Monday","startHourUtc":"00","maintenanceWindow":"PT5H"}]', + args: { name: "schedule-entries" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "server-link", + description: "Manage Redis server links", + subcommands: [ + { + name: "create", + description: + "Adds a server link to the Redis cache (requires Premium SKU)", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--replication-role", + description: "Role of the redis cache to be linked", + args: { + name: "replication-role", + suggestions: ["Primary", "Secondary"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--server-to-link", + description: + "Resource ID or name of the redis cache to be linked", + args: { name: "server-to-link" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Deletes the linked server from a redis cache (requires Premium SKU)", + options: [ + { + name: "--linked-server-name", + description: "Name of the linked redis cache", + args: { name: "linked-server-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Gets the list of linked servers associated with this redis cache (requires Premium SKU)", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets the detailed information about a linked server of a redis cache (requires Premium SKU)", + options: [ + { + name: "--linked-server-name", + description: "Name of the linked redis cache", + args: { name: "linked-server-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Redis cache", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/redisenterprise.ts b/src/az/2.53.0/redisenterprise.ts new file mode 100644 index 000000000000..ddb6a704c156 --- /dev/null +++ b/src/az/2.53.0/redisenterprise.ts @@ -0,0 +1,1265 @@ +const completion: Fig.Spec = { + name: "redisenterprise", + description: "Manage the redisenterprise cache", + subcommands: [ + { + name: "create", + description: + "Create an existing (overwrite/recreate, with potential downtime) cache cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: + "The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)", + args: { + name: "sku", + suggestions: [ + "EnterpriseFlash_F1500", + "EnterpriseFlash_F300", + "EnterpriseFlash_F700", + "Enterprise_E10", + "Enterprise_E100", + "Enterprise_E20", + "Enterprise_E200", + "Enterprise_E400", + "Enterprise_E5", + "Enterprise_E50", + ], + }, + isRequired: true, + }, + { + name: ["--user-assigned-identities", "--assigned-identities"], + description: + "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests", + args: { name: "user-assigned-identities" }, + }, + { + name: "--capacity", + description: + "The size of the RedisEnterprise cluster. Defaults to 2 or 3 depending on SKU. Valid values are (2, 4, 6, ...) for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs", + args: { name: "capacity" }, + }, + { + name: "--client-protocol", + description: + "Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted", + args: { + name: "client-protocol", + suggestions: ["Encrypted", "Plaintext"], + }, + }, + { + name: "--clustering-policy", + description: + "Clustering policy - default is OSSCluster. Specified at create time", + args: { + name: "clustering-policy", + suggestions: ["EnterpriseCluster", "OSSCluster"], + }, + }, + { + name: "--eviction-policy", + description: "Redis eviction policy - default is VolatileLRU", + args: { + name: "eviction-policy", + suggestions: [ + "AllKeysLFU", + "AllKeysLRU", + "AllKeysRandom", + "NoEviction", + "VolatileLFU", + "VolatileLRU", + "VolatileRandom", + "VolatileTTL", + ], + }, + }, + { + name: "--group-nickname", + description: "Name for the group of linked database resources", + args: { name: "group-nickname" }, + }, + { + name: [ + "--user-assigned-identity-resource-id", + "--identity-resource-id", + ], + description: + "User assigned identity to use for accessing key encryption key Url. Ex: /subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId", + args: { name: "user-assigned-identity-resource-id" }, + }, + { + name: "--identity-type", + description: + "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: ["--key-encryption-identity-type", "--key-identity-type"], + description: + "Only userAssignedIdentity is supported in this API version; other types may be supported in the future", + args: { + name: "key-encryption-identity-type", + suggestions: ["systemAssignedIdentity", "userAssignedIdentity"], + }, + }, + { + name: "--key-encryption-key-url", + description: + "Key encryption key Url, versioned only.Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78", + args: { name: "key-encryption-key-url" }, + }, + { + name: "--linked-databases", + description: "List of database resources to link with this database", + args: { name: "linked-databases" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--minimum-tls-version", + description: + "The minimum TLS version for the cluster to support, e.g. '1.2'", + args: { + name: "minimum-tls-version", + suggestions: ["1.0", "1.1", "1.2"], + }, + }, + { + name: ["--modules", "--module"], + description: + "Optional set of redis modules to enable in this database - modules can only be added at creation time", + args: { name: "modules" }, + }, + { + name: "--no-database", + description: + "Advanced. Do not automatically create a default database. Warning: the cache will not be usable until you create a database", + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--persistence", + description: "Persistence settings", + args: { name: "persistence" }, + }, + { + name: "--port", + description: + "TCP port of the database endpoint. Specified at create time. Defaults to an available port", + args: { name: "port" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--zones", "-z"], + description: + "The Availability Zones where this cluster will be deployed", + args: { name: "zones" }, + }, + ], + }, + { + name: "delete", + description: "Delete a RedisEnterprise cache cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all RedisEnterprise clusters in the specified subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get information about a RedisEnterprise cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an existing (overwrite/recreate, with potential downtime) cache cluster", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--user-assigned-identities", "--assigned-identities"], + description: + 'The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: \'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "user-assigned-identities" }, + }, + { + name: "--capacity", + description: + "The size of the RedisEnterprise cluster. Defaults to 2 or 3 depending on SKU. Valid values are (2, 4, 6, ...) for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs", + args: { name: "capacity" }, + }, + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: [ + "--user-assigned-identity-resource-id", + "--identity-resource-id", + ], + description: + "User assigned identity to use for accessing key encryption key Url. Ex: /subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId", + args: { name: "user-assigned-identity-resource-id" }, + }, + { + name: "--identity-type", + description: + "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--key-encryption-identity-type", "--key-identity-type"], + description: + "Only userAssignedIdentity is supported in this API version; other types may be supported in the future", + args: { + name: "key-encryption-identity-type", + suggestions: ["systemAssignedIdentity", "userAssignedIdentity"], + }, + }, + { + name: "--key-encryption-key-url", + description: + "Key encryption key Url, versioned only. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78", + args: { name: "key-encryption-key-url" }, + }, + { + name: "--minimum-tls-version", + description: + "The minimum TLS version for the cluster to support, e.g. '1.2'", + args: { + name: "minimum-tls-version", + suggestions: ["1.0", "1.1", "1.2"], + }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: + "The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)", + args: { + name: "sku", + suggestions: [ + "EnterpriseFlash_F1500", + "EnterpriseFlash_F300", + "EnterpriseFlash_F700", + "Enterprise_E10", + "Enterprise_E100", + "Enterprise_E20", + "Enterprise_E200", + "Enterprise_E400", + "Enterprise_E5", + "Enterprise_E50", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--zones", + description: + 'The Availability Zones where this cluster will be deployed. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "zones" }, + }, + ], + }, + { + name: "wait", + description: "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "database", + description: "Manage Redis Enterprise databases", + subcommands: [ + { + name: "create", + description: "Create a database", + options: [ + { + name: "--cluster-name", + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--client-protocol", + description: + "Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted", + args: { + name: "client-protocol", + suggestions: ["Encrypted", "Plaintext"], + }, + }, + { + name: "--clustering-policy", + description: + "Clustering policy - default is OSSCluster. Specified at create time", + args: { + name: "clustering-policy", + suggestions: ["EnterpriseCluster", "OSSCluster"], + }, + }, + { + name: "--eviction-policy", + description: "Redis eviction policy - default is VolatileLRU", + args: { + name: "eviction-policy", + suggestions: [ + "AllKeysLFU", + "AllKeysLRU", + "AllKeysRandom", + "NoEviction", + "VolatileLFU", + "VolatileLRU", + "VolatileRandom", + "VolatileTTL", + ], + }, + }, + { + name: "--group-nickname", + description: "Name for the group of linked database resources", + args: { name: "group-nickname" }, + }, + { + name: [ + "--linked-databases", + "--linked-database", + "--linkeddatabase", + ], + description: + 'List of database resources to link with this database Support shorthand-syntax, json-file and yaml-file. Try "??" to show more. Singular flags: --linked-database --linked-databases', + args: { name: "linked-databases" }, + }, + { + name: ["--modules", "--module", "--mods"], + description: + 'Optional set of redis modules to enable in this database - modules can only be added at creation time. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more. Singular flags: --module --modules', + args: { name: "modules" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--persistence", + description: + 'Persistence settings Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "persistence" }, + }, + { + name: "--port", + description: + "TCP port of the database endpoint. Specified at create time. Defaults to an available port", + args: { name: "port" }, + }, + ], + }, + { + name: "delete", + description: "Delete a single database", + options: [ + { + name: "--cluster-name", + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "export", + description: "Exports a database file from target database", + options: [ + { + name: "--sas-uri", + description: "SAS URI for the target directory to export to", + args: { name: "sas-uri" }, + isRequired: true, + }, + { + name: "--cluster-name", + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "flush", + description: + "Flushes all the keys in this database and also from its linked databases", + options: [ + { + name: "--cluster-name", + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--linked-ids", + description: + 'The resource identifiers of all the other database resources in the georeplication group to be flushed Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "linked-ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "force-unlink", + description: + "Forcibly removes the link to the specified database resource", + options: [ + { + name: "--unlink-ids", + description: + 'The resource IDs of the database resources to be unlinked. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "unlink-ids" }, + isRequired: true, + }, + { + name: "--cluster-name", + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "import", + description: "Imports database files to target database", + options: [ + { + name: "--sas-uris", + description: + 'SAS URIs for the target blobs to import from Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sas-uris" }, + isRequired: true, + }, + { + name: "--cluster-name", + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all databases in the specified RedisEnterprise cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-keys", + description: + "Retrieves the access keys for the RedisEnterprise database", + options: [ + { + name: "--cluster-name", + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "regenerate-key", + description: "Regenerates the RedisEnterprise database's access keys", + options: [ + { + name: "--key-type", + description: "Which access key to regenerate", + args: { name: "key-type", suggestions: ["Primary", "Secondary"] }, + isRequired: true, + }, + { + name: "--cluster-name", + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get information about a database in a RedisEnterprise cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a database", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--client-protocol", + description: + "Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted", + args: { + name: "client-protocol", + suggestions: ["Encrypted", "Plaintext"], + }, + }, + { + name: "--cluster-name", + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + }, + { + name: "--eviction-policy", + description: "Redis eviction policy - default is VolatileLRU", + args: { + name: "eviction-policy", + suggestions: [ + "AllKeysLFU", + "AllKeysLRU", + "AllKeysRandom", + "NoEviction", + "VolatileLFU", + "VolatileLRU", + "VolatileRandom", + "VolatileTTL", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--persistence", + description: + 'Persistence settings Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "persistence" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the RedisEnterprise cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "operation-status", + description: "Get the status of an operation", + subcommands: [ + { + name: "show", + description: "Get the status of operation", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--operation-id", "--name", "-n"], + description: "The ID of an ongoing async operation", + args: { name: "operation-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/relay.ts b/src/az/2.53.0/relay.ts new file mode 100644 index 000000000000..6cfab4c88969 --- /dev/null +++ b/src/az/2.53.0/relay.ts @@ -0,0 +1,1865 @@ +const completion: Fig.Spec = { + name: "relay", + description: + "Manage Azure Relay Service namespaces, WCF relays, hybrid connections, and rules", + subcommands: [ + { + name: "hyco", + description: + "Manage Azure Relay Service Hybrid Connection and Authorization Rule", + subcommands: [ + { + name: "create", + description: "Create the Relay Service Hybrid Connection", + options: [ + { + name: ["--name", "-n"], + description: "Name of Hybrid Connection", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--requires-client-authorization", "-c"], + description: "Indicates whether client authorization is required", + args: { + name: "requires-client-authorization", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--user-metadata", + description: "Endpoint metadata", + args: { name: "user-metadata" }, + }, + ], + }, + { + name: "delete", + description: "Deletes the Relay Service Hybrid Connection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of Hybrid Connection", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List the Hybrid Connection by Relay Service Namespace", + options: [ + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Shows the Relay Service Hybrid Connection Details", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of Hybrid Connection", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates the Relay Service Hybrid Connection", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of Hybrid Connection", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--requires-client-authorization", "-r"], + description: "Indicates whether client authorization is required", + args: { + name: "requires-client-authorization", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--status", + description: + "Enumerates the possible values for the status of a messaging entity", + args: { + name: "status", + suggestions: [ + "Active", + "Disabled", + "ReceiveDisabled", + "SendDisabled", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--user-metadata", + description: "Endpoint metadata", + args: { name: "user-metadata" }, + }, + ], + }, + { + name: "authorization-rule", + description: + "Manage Azure Relay Service Hybrid Connection Authorization Rule", + subcommands: [ + { + name: "create", + description: + "Create Authorization Rule for given Relay Service Hybrid Connection", + options: [ + { + name: "--hybrid-connection-name", + description: "Name of Hybrid Connection", + args: { name: "hybrid-connection-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of Hybrid Connection Authorization Rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rights", + description: + 'Space-separated list of Authorization rule rights. Allowed values: Listen, Manage, Send. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes the Authorization Rule of the given Relay Service Hybrid Connection", + options: [ + { + name: "--hybrid-connection-name", + description: "Name of Hybrid Connection", + args: { name: "hybrid-connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of Hybrid Connection Authorization Rule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Shows list of Authorization Rule by Relay Service Hybrid Connection", + options: [ + { + name: "--hybrid-connection-name", + description: "Name of Hybrid Connection", + args: { name: "hybrid-connection-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Shows the details of Authorization Rule for given Relay Service Hybrid Connection", + options: [ + { + name: "--hybrid-connection-name", + description: "Name of Hybrid Connection", + args: { name: "hybrid-connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of Hybrid Connection Authorization Rule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update Authorization Rule for given Relay Service Hybrid Connection", + options: [ + { + name: "--rights", + description: + 'Space-separated list of Authorization rule rights. Allowed values: Listen, Manage, Send. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--hybrid-connection-name", + description: "Name of Hybrid Connection", + args: { name: "hybrid-connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of Hybrid Connection Authorization Rule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "keys", + description: + "Manage Azure Authorization Rule keys for Relay Service Hybrid Connection", + subcommands: [ + { + name: "list", + description: + "List the keys and connection strings of Authorization Rule for Relay Service Hybrid Connection", + options: [ + { + name: "--hybrid-connection-name", + description: "Name of Hybrid Connection", + args: { name: "hybrid-connection-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of Hybrid Connection Authorization Rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "renew", + description: + "Regenerate keys of Authorization Rule for Relay Service Hybrid Connection", + options: [ + { + name: "--key", + description: + "Specifies Primary or Secondary key needs to be reset", + args: { + name: "key", + suggestions: ["PrimaryKey", "SecondaryKey"], + }, + isRequired: true, + }, + { + name: "--hybrid-connection-name", + description: "Name of Hybrid Connection", + args: { name: "hybrid-connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-value", + description: + "Optional. If the key value is provided, this is set to key type, or autogenerated key value set for key type", + args: { name: "key-value" }, + }, + { + name: ["--name", "-n"], + description: + "Name of Hybrid Connection Authorization Rule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "namespace", + description: "Manage Azure Relay Service Namespace", + subcommands: [ + { + name: "create", + description: "Create a Relay Service Namespace", + options: [ + { + name: ["--name", "-n"], + description: "Name of Namespace", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes the Relay Service Namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of Namespace", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "exists", + description: + "Check for the availability of the given name for the Namespace", + options: [ + { + name: ["--name", "-n"], + description: + "Namespace name. Name can contain only letters, numbers, and hyphens. The namespace must start with a letter, and it must end with a letter or number", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List the Relay Service Namespaces", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Shows the Relay Service Namespace details", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of Namespace", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates a Relay Service Namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of Namespace", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of Namespace", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "authorization-rule", + description: + "Manage Azure Relay Service Namespace Authorization Rule", + subcommands: [ + { + name: "create", + description: + "Create Authorization Rule for the given Relay Service Namespace", + options: [ + { + name: ["--name", "-n"], + description: "Name of Namespace Authorization Rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rights", + description: + 'Space-separated list of Authorization rule rights. Allowed values: Listen, Manage, Send. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes the Authorization Rule of the Relay Service Namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of Namespace Authorization Rule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Shows the list of Authorization Rule by Relay Service Namespace", + options: [ + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Shows the details of Relay Service Namespace Authorization Rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of Namespace Authorization Rule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Updates Authorization Rule for the given Relay Service Namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of Namespace Authorization Rule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rights", + description: + 'Space-separated list of Authorization rule rights. Allowed values: Listen, Manage, Send. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "keys", + description: + "Manage Azure Authorization Rule connection strings for Namespace", + subcommands: [ + { + name: "list", + description: + "List the keys and connection strings of Authorization Rule for Relay Service Namespace", + options: [ + { + name: ["--name", "-n"], + description: "Name of Namespace Authorization Rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "renew", + description: + "Regenerate keys of Authorization Rule for the Relay Service Namespace", + options: [ + { + name: "--key", + description: + "Specifies Primary or Secondary key needs to be reset", + args: { + name: "key", + suggestions: ["PrimaryKey", "SecondaryKey"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-value", + description: + "Optional. If the key value is provided, this is set to key type, or autogenerated key value set for key type", + args: { name: "key-value" }, + }, + { + name: ["--name", "-n"], + description: "Name of Namespace Authorization Rule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "wcfrelay", + description: + "Manage Azure Relay Service WCF Relay and Authorization Rule", + subcommands: [ + { + name: "create", + description: "Create the Relay Service WCF Relay", + options: [ + { + name: ["--name", "-n"], + description: "Name of WCF Relay", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--relay-type", + description: "Relay type. Allowed values: Http, NetTcp", + args: { name: "relay-type", suggestions: ["Http", "NetTcp"] }, + }, + { + name: ["--requires-client-authorization", "-c"], + description: "Indicates whether client authorization is required", + args: { + name: "requires-client-authorization", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--requires-transport-security", "-t"], + description: "Indicates whether transport security is required", + args: { + name: "requires-transport-security", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--user-metadata", + description: "Endpoint metadata", + args: { name: "user-metadata" }, + }, + ], + }, + { + name: "delete", + description: "Deletes the Relay Service WCF Relay", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of WCF Relay", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List the WCF Relay by Relay Service Namespace", + options: [ + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Shows the Relay Service WCF Relay Details", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of WCF Relay", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates existing Relay Service WCF Relay", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of WCF Relay", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: "--relay-type", + description: "Relay type", + args: { name: "relay-type", suggestions: ["Http", "NetTcp"] }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--status", + description: + "Enumerates the possible values for the status of a messaging entity", + args: { + name: "status", + suggestions: [ + "Active", + "Disabled", + "ReceiveDisabled", + "SendDisabled", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--user-metadata", + description: "Endpoint metadata", + args: { name: "user-metadata" }, + }, + ], + }, + { + name: "authorization-rule", + description: + "Manage Azure Relay Service WCF Relay Authorization Rule", + subcommands: [ + { + name: "create", + description: + "Create Authorization Rule for the given Relay Service WCF Relay", + options: [ + { + name: ["--name", "-n"], + description: "Name of WCF Relay Authorization Rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: "--relay-name", + description: "Name of WCF Relay", + args: { name: "relay-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rights", + description: + 'The rights associated with the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the Authorization Rule of Relay Service WCF Relay", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of WCF Relay Authorization Rule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: "--relay-name", + description: "Name of WCF Relay", + args: { name: "relay-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List of Authorization Rule by Relay Service WCF Relay", + options: [ + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: "--relay-name", + description: "Name of WCF Relay", + args: { name: "relay-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Show properties of Authorization Rule for the given Relay Service WCF Relay", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of WCF Relay Authorization Rule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: "--relay-name", + description: "Name of WCF Relay", + args: { name: "relay-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update Authorization Rule for the given Relay Service WCF Relay", + options: [ + { + name: "--rights", + description: + 'The rights associated with the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of WCF Relay Authorization Rule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: "--relay-name", + description: "Name of WCF Relay", + args: { name: "relay-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "keys", + description: + "Manage Azure Authorization Rule keys for Relay Service WCF Relay", + subcommands: [ + { + name: "list", + description: + "List the keys and connection strings of Authorization Rule for the given Relay Service WCF Relay", + options: [ + { + name: ["--name", "-n"], + description: "Name of WCF Relay Authorization Rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: "--relay-name", + description: "Name of WCF Relay", + args: { name: "relay-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "renew", + description: + "Regenerate keys of Authorization Rule for Relay Service WCF Relay", + options: [ + { + name: "--key", + description: + "Specifies Primary or Secondary key needs to be reset", + args: { + name: "key", + suggestions: ["PrimaryKey", "SecondaryKey"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-value", + description: + "Optional. If the key value is provided, this is set to key type, or autogenerated key value set for key type", + args: { name: "key-value" }, + }, + { + name: ["--name", "-n"], + description: "Name of WCF Relay Authorization Rule", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: "--relay-name", + description: "Name of WCF Relay", + args: { name: "relay-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/remote-rendering-account.ts b/src/az/2.53.0/remote-rendering-account.ts new file mode 100644 index 000000000000..699ad4ded8f8 --- /dev/null +++ b/src/az/2.53.0/remote-rendering-account.ts @@ -0,0 +1,255 @@ +const completion: Fig.Spec = { + name: "remote-rendering-account", + description: "Manage remote rendering account with mixed reality", + subcommands: [ + { + name: "create", + description: "Create a Remote Rendering Account", + options: [ + { + name: ["--name", "-n"], + description: "Name of an Mixed Reality Account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--kind", + description: + 'The kind of account, if supported Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "kind" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--sku", + description: + 'The sku associated with this account Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sku" }, + }, + { + name: "--storage-account-name", + description: + "The name of the storage account associated with this accountId", + args: { name: "storage-account-name" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Remote Rendering Account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of an Mixed Reality Account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Remote Rendering Accounts by Subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a Remote Rendering Account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of an Mixed Reality Account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Remote Rendering Account", + options: [ + { + name: "--identity", + description: + 'The identity associated with this account Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kind", + description: + 'The kind of account, if supported Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "kind" }, + }, + { + name: ["--name", "-n"], + description: "Name of an Mixed Reality Account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: + 'The sku associated with this account Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sku" }, + }, + { + name: "--storage-account-name", + description: + "The name of the storage account associated with this accountId", + args: { name: "storage-account-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "key", + description: "Manage developer keys of a remote rendering account", + subcommands: [ + { + name: "renew", + description: "Regenerate specified Key of a Remote Rendering Account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--key", "-k"], + description: "Key to be regenerated", + args: { name: "key", suggestions: ["primary", "secondary"] }, + }, + { + name: ["--name", "-n"], + description: "Name of an Mixed Reality Account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "List Both of the 2 Keys of a Remote Rendering Account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of an Mixed Reality Account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/repos.ts b/src/az/2.53.0/repos.ts new file mode 100644 index 000000000000..bb87ffd0caf2 --- /dev/null +++ b/src/az/2.53.0/repos.ts @@ -0,0 +1,2410 @@ +const completion: Fig.Spec = { + name: "repos", + description: + "Manage Azure Repos.\n\n\t\tThis command group is a part of the azure-devops extension", + subcommands: [ + { + name: "create", + description: "Create a Git repository in a team project", + options: [ + { + name: "--name", + description: "Name for the new repository", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--open", + description: "Open the repository page in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Git repository in a team project", + options: [ + { + name: "--id", + description: "ID of the repository", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List Git repositories of a team project", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a Git repository", + options: [ + { + name: ["--repository", "-r"], + description: "Name or ID of the repository", + args: { name: "repository" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--open", + description: "Open the repository page in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update the Git repository", + options: [ + { + name: ["--repository", "-r"], + description: "Name or ID of the repository", + args: { name: "repository" }, + isRequired: true, + }, + { + name: "--default-branch", + description: + "Default branch to be set for the repository. Example: 'refs/heads/live' or 'live'", + args: { name: "default-branch" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--name", + description: "New name for the repository", + args: { name: "name" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "import", + description: + 'Manage Git repositories import.\n\n\t\tThis command imports the public repo fabrikam-open-source to the empty Git repo fabrikam-open-source for the default configuration az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"', + subcommands: [ + { + name: "create", + description: "Create a git import request", + options: [ + { + name: ["--git-source-url", "--git-url"], + description: "Url of the source git repository", + args: { name: "git-source-url" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--git-service-endpoint-id", + description: + "Service Endpoint for connection to external endpoint", + args: { name: "git-service-endpoint-id" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--repository", "-r"], + description: + "Name or ID of the repository to create the import request in", + args: { name: "repository" }, + }, + { + name: "--requires-authorization", + description: "Flag to tell if source git repository is private", + }, + { + name: "--user-name", + description: "User name in case source git repository is private", + args: { name: "user-name" }, + }, + ], + }, + ], + }, + { + name: "policy", + description: "Manage branch policy", + subcommands: [ + { + name: "create", + description: "Create a policy using a configuration file", + options: [ + { + name: ["--policy-configuration", "--config"], + description: + "Local file path for configuration file. Please use \\backslash when typing in directory path", + args: { name: "policy-configuration" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "delete", + description: "Delete a policy", + options: [ + { + name: ["--policy-id", "--id"], + description: "ID of the policy", + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all policies in a project", + options: [ + { + name: "--branch", + description: + "Branch name to filter results by exact match of branch name. The --repository-id parameter is required to use the branch filter. For example: --branch master", + args: { name: "branch" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--repository-id", + description: + "ID of the repository to filter results by exact match of the repository ID. For example --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345", + args: { name: "repository-id" }, + }, + ], + }, + { + name: "show", + description: "Show policy details", + options: [ + { + name: ["--policy-id", "--id"], + description: "ID of the policy", + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update a policy using a configuration file", + options: [ + { + name: ["--policy-configuration", "--config"], + description: + "Local file path for configuration file. Please use \\backslash when typing in directory path", + args: { name: "policy-configuration" }, + isRequired: true, + }, + { + name: ["--policy-id", "--id"], + description: "ID of the policy", + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "approver-count", + description: "Manage approver count policy", + subcommands: [ + { + name: "create", + description: "Create approver count policy", + options: [ + { + name: "--allow-downvotes", + description: "Whether to allow downvotes or not", + args: { + name: "allow-downvotes", + suggestions: ["false", "true"], + }, + isRequired: true, + }, + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--branch", + description: + "Branch on which this policy should be applied. For example: master", + args: { name: "branch" }, + isRequired: true, + }, + { + name: "--creator-vote-counts", + description: "Whether the creator's vote counts or not", + args: { + name: "creator-vote-counts", + suggestions: ["false", "true"], + }, + isRequired: true, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--minimum-approver-count", + description: + "Minimum number of approvers required. For example: 2", + args: { name: "minimum-approver-count" }, + isRequired: true, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + isRequired: true, + }, + { + name: "--reset-on-source-push", + description: "Whether to reset source on push", + args: { + name: "reset-on-source-push", + suggestions: ["false", "true"], + }, + isRequired: true, + }, + { + name: "--branch-match-type", + description: + "Determines how the branch argument is used to apply a policy. If value is 'exact', the policy will be applied on a branch which has an exact match on the --branch argument. If value is 'prefix' the policy is applied across all branch folders that match the prefix provided by the --branch argument", + args: { + name: "branch-match-type", + suggestions: ["exact", "prefix"], + }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update approver count policy", + options: [ + { + name: ["--policy-id", "--id"], + description: "ID of the policy", + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: "--allow-downvotes", + description: "Whether to allow downvotes or not", + args: { + name: "allow-downvotes", + suggestions: ["false", "true"], + }, + }, + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + }, + { + name: "--branch", + description: + "Branch on which this policy should be applied. For example: master", + args: { name: "branch" }, + }, + { + name: "--branch-match-type", + description: + "Determines how the branch argument is used to apply a policy. If value is 'exact', the policy will be applied on a branch which has an exact match on the --branch argument. If value is 'prefix' the policy is applied across all branch folders that match the prefix provided by the --branch argument", + args: { + name: "branch-match-type", + suggestions: ["exact", "prefix"], + }, + }, + { + name: "--creator-vote-counts", + description: "Whether the creator's vote counts or not", + args: { + name: "creator-vote-counts", + suggestions: ["false", "true"], + }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--minimum-approver-count", + description: + "Minimum number of approvers required. For example: 2", + args: { name: "minimum-approver-count" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + }, + { + name: "--reset-on-source-push", + description: "Whether to reset source on push", + args: { + name: "reset-on-source-push", + suggestions: ["false", "true"], + }, + }, + ], + }, + ], + }, + { + name: "build", + description: "Manage build policy", + subcommands: [ + { + name: "create", + description: "Create build policy", + options: [ + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--branch", + description: + "Branch on which this policy should be applied. For example: master", + args: { name: "branch" }, + isRequired: true, + }, + { + name: "--build-definition-id", + description: "Build Definition Id", + args: { name: "build-definition-id" }, + isRequired: true, + }, + { + name: "--display-name", + description: + "Display name for this build policy to identify the policy. For example: 'Manual queue policy'", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--manual-queue-only", + description: "Whether to allow only manual queue of builds", + args: { + name: "manual-queue-only", + suggestions: ["false", "true"], + }, + isRequired: true, + }, + { + name: "--queue-on-source-update-only", + description: "Queue Only on source update", + args: { + name: "queue-on-source-update-only", + suggestions: ["false", "true"], + }, + isRequired: true, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + isRequired: true, + }, + { + name: "--valid-duration", + description: "Policy validity duration (in minutes)", + args: { name: "valid-duration" }, + isRequired: true, + }, + { + name: "--branch-match-type", + description: + "Determines how the branch argument is used to apply a policy. If value is 'exact', the policy will be applied on a branch which has an exact match on the --branch argument. If value is 'prefix' the policy is applied across all branch folders that match the prefix provided by the --branch argument", + args: { + name: "branch-match-type", + suggestions: ["exact", "prefix"], + }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--path-filter", + description: + "Filter path(s) on which the policy is applied. Supports absolute paths, wildcards and multiple paths separated by ';'. Example: /WebApp/Models/Data.cs, /WebApp/* or *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs", + args: { name: "path-filter" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update build policy", + options: [ + { + name: ["--policy-id", "--id"], + description: "ID of the policy", + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + }, + { + name: "--branch", + description: + "Branch on which this policy should be applied. For example: master", + args: { name: "branch" }, + }, + { + name: "--branch-match-type", + description: + "Determines how the branch argument is used to apply a policy. If value is 'exact', the policy will be applied on a branch which has an exact match on the --branch argument. If value is 'prefix' the policy is applied across all branch folders that match the prefix provided by the --branch argument", + args: { + name: "branch-match-type", + suggestions: ["exact", "prefix"], + }, + }, + { + name: "--build-definition-id", + description: "Build Definition Id", + args: { name: "build-definition-id" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--display-name", + description: + "Display name for this build policy to identify the policy. For example: 'Manual queue policy'", + args: { name: "display-name" }, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--manual-queue-only", + description: "Whether to allow only manual queue of builds", + args: { + name: "manual-queue-only", + suggestions: ["false", "true"], + }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--path-filter", + description: + "Filter path(s) on which the policy is applied. Supports absolute paths, wildcards and multiple paths separated by ';'. Example: /WebApp/Models/Data.cs, /WebApp/* or *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs", + args: { name: "path-filter" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--queue-on-source-update-only", + description: "Queue Only on source update", + args: { + name: "queue-on-source-update-only", + suggestions: ["false", "true"], + }, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + }, + { + name: "--valid-duration", + description: "Policy validity duration (in minutes)", + args: { name: "valid-duration" }, + }, + ], + }, + ], + }, + { + name: "case-enforcement", + description: "Manage case enforcement policy", + subcommands: [ + { + name: "create", + description: "Create case enforcement policy", + options: [ + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update case enforcement policy", + options: [ + { + name: ["--policy-id", "--id"], + description: "ID of the policy", + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + }, + ], + }, + ], + }, + { + name: "comment-required", + description: "Manage comment required policy", + subcommands: [ + { + name: "create", + description: "Create comment resolution required policy", + options: [ + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--branch", + description: + "Branch on which this policy should be applied. For example: master", + args: { name: "branch" }, + isRequired: true, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + isRequired: true, + }, + { + name: "--branch-match-type", + description: + "Determines how the branch argument is used to apply a policy. If value is 'exact', the policy will be applied on a branch which has an exact match on the --branch argument. If value is 'prefix' the policy is applied across all branch folders that match the prefix provided by the --branch argument", + args: { + name: "branch-match-type", + suggestions: ["exact", "prefix"], + }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update comment resolution required policy", + options: [ + { + name: ["--policy-id", "--id"], + description: "ID of the policy", + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + }, + { + name: "--branch", + description: + "Branch on which this policy should be applied. For example: master", + args: { name: "branch" }, + }, + { + name: "--branch-match-type", + description: + "Determines how the branch argument is used to apply a policy. If value is 'exact', the policy will be applied on a branch which has an exact match on the --branch argument. If value is 'prefix' the policy is applied across all branch folders that match the prefix provided by the --branch argument", + args: { + name: "branch-match-type", + suggestions: ["exact", "prefix"], + }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + }, + ], + }, + ], + }, + { + name: "file-size", + description: "Manage file size policy", + subcommands: [ + { + name: "create", + description: "Create file size policy", + options: [ + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--maximum-git-blob-size", + description: + "Maximum git blob size in bytes. For example, to specify a 10byte limit, --maximum-git-blob-size 10", + args: { name: "maximum-git-blob-size" }, + isRequired: true, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + isRequired: true, + }, + { + name: "--use-uncompressed-size", + description: "Whether to use uncompressed size", + args: { + name: "use-uncompressed-size", + suggestions: ["false", "true"], + }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update file size policy", + options: [ + { + name: ["--policy-id", "--id"], + description: "ID of the policy", + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--maximum-git-blob-size", + description: + "Maximum git blob size in bytes. For example, to specify a 10byte limit, --maximum-git-blob-size 10", + args: { name: "maximum-git-blob-size" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + }, + { + name: "--use-uncompressed-size", + description: "Whether to use uncompressed size", + args: { + name: "use-uncompressed-size", + suggestions: ["false", "true"], + }, + }, + ], + }, + ], + }, + { + name: "merge-strategy", + description: "Manage merge strategy policy", + subcommands: [ + { + name: "create", + description: "Create merge strategy policy", + options: [ + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--branch", + description: + "Branch on which this policy should be applied. For example: master", + args: { name: "branch" }, + isRequired: true, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + isRequired: true, + }, + { + name: "--allow-no-fast-forward", + description: + "Basic merge (no fast-forward) - Preserves nonlinear history exactly as it happened during development", + args: { + name: "allow-no-fast-forward", + suggestions: ["false", "true"], + }, + }, + { + name: "--allow-rebase", + description: + "Rebase and fast-forward - Creates a linear history by replaying the source branch commits onto the target without a merge commit", + args: { + name: "allow-rebase", + suggestions: ["false", "true"], + }, + }, + { + name: "--allow-rebase-merge", + description: + "Rebase with merge commit - Creates a semi-linear history by replaying the source branch commits onto the target and then creating a merge commit", + args: { + name: "allow-rebase-merge", + suggestions: ["false", "true"], + }, + }, + { + name: "--allow-squash", + description: + "Squash merge - Creates a linear history by condensing the source branch commits into a single new commit on the target branch", + args: { + name: "allow-squash", + suggestions: ["false", "true"], + }, + }, + { + name: "--branch-match-type", + description: + "Determines how the branch argument is used to apply a policy. If value is 'exact', the policy will be applied on a branch which has an exact match on the --branch argument. If value is 'prefix' the policy is applied across all branch folders that match the prefix provided by the --branch argument", + args: { + name: "branch-match-type", + suggestions: ["exact", "prefix"], + }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update merge strategy policy", + options: [ + { + name: ["--policy-id", "--id"], + description: "ID of the policy", + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: "--allow-no-fast-forward", + description: + "Basic merge (no fast-forward) - Preserves nonlinear history exactly as it happened during development", + args: { + name: "allow-no-fast-forward", + suggestions: ["false", "true"], + }, + }, + { + name: "--allow-rebase", + description: + "Rebase and fast-forward - Creates a linear history by replaying the source branch commits onto the target without a merge commit", + args: { + name: "allow-rebase", + suggestions: ["false", "true"], + }, + }, + { + name: "--allow-rebase-merge", + description: + "Rebase with merge commit - Creates a semi-linear history by replaying the source branch commits onto the target and then creating a merge commit", + args: { + name: "allow-rebase-merge", + suggestions: ["false", "true"], + }, + }, + { + name: "--allow-squash", + description: + "Squash merge - Creates a linear history by condensing the source branch commits into a single new commit on the target branch", + args: { + name: "allow-squash", + suggestions: ["false", "true"], + }, + }, + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + }, + { + name: "--branch", + description: + "Branch on which this policy should be applied. For example: master", + args: { name: "branch" }, + }, + { + name: "--branch-match-type", + description: + "Determines how the branch argument is used to apply a policy. If value is 'exact', the policy will be applied on a branch which has an exact match on the --branch argument. If value is 'prefix' the policy is applied across all branch folders that match the prefix provided by the --branch argument", + args: { + name: "branch-match-type", + suggestions: ["exact", "prefix"], + }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + }, + ], + }, + ], + }, + { + name: "required-reviewer", + description: "Manage required reviewer policy", + subcommands: [ + { + name: "create", + description: "Create required reviewer policy", + options: [ + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--branch", + description: + "Branch on which this policy should be applied. For example: master", + args: { name: "branch" }, + isRequired: true, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--message", + description: "Message", + args: { name: "message" }, + isRequired: true, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + isRequired: true, + }, + { + name: "--required-reviewer-ids", + description: + "Required reviewers email addresses separated by ';'. For example: john@contoso.com;alice@contoso.com", + args: { name: "required-reviewer-ids" }, + isRequired: true, + }, + { + name: "--branch-match-type", + description: + "Determines how the branch argument is used to apply a policy. If value is 'exact', the policy will be applied on a branch which has an exact match on the --branch argument. If value is 'prefix' the policy is applied across all branch folders that match the prefix provided by the --branch argument", + args: { + name: "branch-match-type", + suggestions: ["exact", "prefix"], + }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--path-filter", + description: + "Filter path(s) on which the policy is applied. Supports absolute paths, wildcards and multiple paths separated by ';'. Example: /WebApp/Models/Data.cs, /WebApp/* or *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs", + args: { name: "path-filter" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update required reviewer policy", + options: [ + { + name: ["--policy-id", "--id"], + description: "ID of the policy", + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + }, + { + name: "--branch", + description: + "Branch on which this policy should be applied. For example: master", + args: { name: "branch" }, + }, + { + name: "--branch-match-type", + description: + "Determines how the branch argument is used to apply a policy. If value is 'exact', the policy will be applied on a branch which has an exact match on the --branch argument. If value is 'prefix' the policy is applied across all branch folders that match the prefix provided by the --branch argument", + args: { + name: "branch-match-type", + suggestions: ["exact", "prefix"], + }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--message", + description: "Message", + args: { name: "message" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--path-filter", + description: + "Filter path(s) on which the policy is applied. Supports absolute paths, wildcards and multiple paths separated by ';'. Example: /WebApp/Models/Data.cs, /WebApp/* or *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs", + args: { name: "path-filter" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + }, + { + name: "--required-reviewer-ids", + description: + "Required reviewers email addresses separated by ';'. For example: john@contoso.com;alice@contoso.com", + args: { name: "required-reviewer-ids" }, + }, + ], + }, + ], + }, + { + name: "work-item-linking", + description: "Manage work item linking policy", + subcommands: [ + { + name: "create", + description: "Create work item linking policy", + options: [ + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--branch", + description: + "Branch on which this policy should be applied. For example: master", + args: { name: "branch" }, + isRequired: true, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + isRequired: true, + }, + { + name: "--branch-match-type", + description: + "Determines how the branch argument is used to apply a policy. If value is 'exact', the policy will be applied on a branch which has an exact match on the --branch argument. If value is 'prefix' the policy is applied across all branch folders that match the prefix provided by the --branch argument", + args: { + name: "branch-match-type", + suggestions: ["exact", "prefix"], + }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + ], + }, + { + name: "update", + description: "Update work item linking policy", + options: [ + { + name: ["--policy-id", "--id"], + description: "ID of the policy", + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: "--blocking", + description: "Whether the policy should be blocking or not", + args: { name: "blocking", suggestions: ["false", "true"] }, + }, + { + name: "--branch", + description: + "Branch on which this policy should be applied. For example: master", + args: { name: "branch" }, + }, + { + name: "--branch-match-type", + description: + "Determines how the branch argument is used to apply a policy. If value is 'exact', the policy will be applied on a branch which has an exact match on the --branch argument. If value is 'prefix' the policy is applied across all branch folders that match the prefix provided by the --branch argument", + args: { + name: "branch-match-type", + suggestions: ["exact", "prefix"], + }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--enabled", + description: "Whether the policy is enabled or not", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: "--repository-id", + description: + "Id of the repository on which to apply the policy", + args: { name: "repository-id" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "pr", + description: "Manage pull requests", + subcommands: [ + { + name: "checkout", + description: + "Checkout the PR source branch locally, if no local changes are present", + options: [ + { + name: "--id", + description: "ID of the pull request", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--remote-name", + description: "Name of git remote against which PR is raised", + args: { name: "remote-name" }, + }, + ], + }, + { + name: "create", + description: "Create a pull request", + options: [ + { + name: "--auto-complete", + description: + "Set the pull request to complete automatically when all policies have passed and the source branch can be merged into the target branch", + }, + { + name: "--bypass-policy", + description: + "Bypass required policies (if any) and completes the pull request once it can be merged", + }, + { + name: "--bypass-policy-reason", + description: "Reason for bypassing the required policies", + args: { name: "bypass-policy-reason" }, + }, + { + name: "--delete-source-branch", + description: + "Delete the source branch after the pull request has been completed and merged into the target branch", + }, + { + name: ["--description", "-d"], + description: + 'Description for the new pull request. Can include markdown. Each value sent to this arg will be a new line. For example: --description "First Line" "Second Line"', + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--draft", + description: + "Use this flag to create the pull request in draft/work in progress mode", + args: { name: "draft", suggestions: ["false", "true"] }, + }, + { + name: "--merge-commit-message", + description: "Message displayed when commits are merged", + args: { name: "merge-commit-message" }, + }, + { + name: "--open", + description: "Open the pull request in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--repository", "-r"], + description: + "Name or ID of the repository to create the pull request in", + args: { name: "repository" }, + }, + { + name: "--reviewers", + description: + "Additional users or groups to include as reviewers on the new pull request. Space separated", + args: { name: "reviewers" }, + }, + { + name: ["--source-branch", "-s"], + description: 'Name of the source branch. Example: "dev"', + args: { name: "source-branch" }, + }, + { + name: "--squash", + description: + "Squash the commits in the source branch when merging into the target branch", + }, + { + name: ["--target-branch", "-t"], + description: + "Name of the target branch. If not specified, defaults to the default branch of the target repository", + args: { name: "target-branch" }, + }, + { + name: "--title", + description: "Title for the new pull request", + args: { name: "title" }, + }, + { + name: "--transition-work-items", + description: + "Transition any work items linked to the pull request into the next logical state. (e.g. Active -> Resolved)", + }, + { + name: "--work-items", + description: + "IDs of the work items to link to the new pull request. Space separated", + args: { name: "work-items" }, + }, + ], + }, + { + name: "list", + description: "List pull requests", + options: [ + { + name: "--creator", + description: + "Limit results to pull requests created by this user", + args: { name: "creator" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--include-links", + description: "Include _links for each pull request", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--repository", "-r"], + description: "Name or ID of the repository", + args: { name: "repository" }, + }, + { + name: "--reviewer", + description: + "Limit results to pull requests where this user is a reviewer", + args: { name: "reviewer" }, + }, + { + name: "--skip", + description: "Number of pull requests to skip", + args: { name: "skip" }, + }, + { + name: ["--source-branch", "-s"], + description: + "Limit results to pull requests that originate from this source branch", + args: { name: "source-branch" }, + }, + { + name: "--status", + description: "Limit results to pull requests with this status", + args: { + name: "status", + suggestions: ["abandoned", "active", "all", "completed"], + }, + }, + { + name: ["--target-branch", "-t"], + description: + "Limit results to pull requests that target this branch", + args: { name: "target-branch" }, + }, + { + name: "--top", + description: "Maximum number of pull requests to list", + args: { name: "top" }, + }, + ], + }, + { + name: "set-vote", + description: "Vote on a pull request", + options: [ + { + name: "--id", + description: "ID of the pull request", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--vote", + description: "New vote value for the pull request", + args: { + name: "vote", + suggestions: [ + "approve", + "approve-with-suggestions", + "reject", + "reset", + "wait-for-author", + ], + }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a pull request", + options: [ + { + name: "--id", + description: "ID of the pull request", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--open", + description: "Open the pull request in your web browser", + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "update", + description: "Update a pull request", + options: [ + { + name: "--id", + description: "ID of the pull request", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--auto-complete", + description: + "Set the pull request to complete automatically when all policies have passed and the source branch can be merged into the target branch", + args: { name: "auto-complete", suggestions: ["false", "true"] }, + }, + { + name: "--bypass-policy", + description: + "Bypass required policies (if any) and completes the pull request once it can be merged", + args: { name: "bypass-policy", suggestions: ["false", "true"] }, + }, + { + name: "--bypass-policy-reason", + description: "Reason for bypassing the required policies", + args: { name: "bypass-policy-reason" }, + }, + { + name: "--delete-source-branch", + description: + "Delete the source branch after the pull request has been completed and merged into the target branch", + args: { + name: "delete-source-branch", + suggestions: ["false", "true"], + }, + }, + { + name: ["--description", "-d"], + description: + 'New description for the pull request. Can include markdown. Each value sent to this arg will be a new line. For example: --description "First Line" "Second Line"', + args: { name: "description" }, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--draft", + description: "Publish the PR or convert to draft mode", + args: { name: "draft", suggestions: ["false", "true"] }, + }, + { + name: "--merge-commit-message", + description: "Message displayed when commits are merged", + args: { name: "merge-commit-message" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--squash", + description: + "Squash the commits in the source branch when merging into the target branch", + args: { name: "squash", suggestions: ["false", "true"] }, + }, + { + name: "--status", + description: "Set the new state of pull request", + args: { + name: "status", + suggestions: ["abandoned", "active", "completed"], + }, + }, + { + name: "--title", + description: "New title for the pull request", + args: { name: "title" }, + }, + { + name: "--transition-work-items", + description: + "Transition any work items linked to the pull request into the next logical state. (e.g. Active -> Resolved)", + args: { + name: "transition-work-items", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "policy", + description: "Manage pull request policy", + subcommands: [ + { + name: "list", + description: "List policies of a pull request", + options: [ + { + name: "--id", + description: "ID of the pull request", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: "--skip", + description: "Number of policies to skip", + args: { name: "skip" }, + }, + { + name: "--top", + description: "Maximum number of policies to list", + args: { name: "top" }, + }, + ], + }, + { + name: "queue", + description: "Queue an evaluation of a policy for a pull request", + options: [ + { + name: ["--evaluation-id", "-e"], + description: "ID of the policy evaluation to queue", + args: { name: "evaluation-id" }, + isRequired: true, + }, + { + name: "--id", + description: "ID of the pull request", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + ], + }, + { + name: "reviewer", + description: "Manage pull request reviewers", + subcommands: [ + { + name: "add", + description: "Add one or more reviewers to a pull request", + options: [ + { + name: "--id", + description: "ID of the pull request", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--reviewers", + description: + "Users or groups to include as reviewers on a pull request. Space separated", + args: { name: "reviewers" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "list", + description: "List reviewers of a pull request", + options: [ + { + name: "--id", + description: "ID of the pull request", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "remove", + description: "Remove one or more reviewers from a pull request", + options: [ + { + name: "--id", + description: "ID of the pull request", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--reviewers", + description: + "Users or groups to remove as reviewers on a pull request. Space separated", + args: { name: "reviewers" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + ], + }, + { + name: "work-item", + description: "Manage work items associated with pull requests", + subcommands: [ + { + name: "add", + description: "Link one or more work items to a pull request", + options: [ + { + name: "--id", + description: "ID of the pull request", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--work-items", + description: "IDs of the work items to link. Space separated", + args: { name: "work-items" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "list", + description: "List linked work items for a pull request", + options: [ + { + name: "--id", + description: "ID of the pull request", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + { + name: "remove", + description: "Unlink one or more work items from a pull request", + options: [ + { + name: "--id", + description: "ID of the pull request", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--work-items", + description: + "IDs of the work items to unlink. Space separated", + args: { name: "work-items" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "ref", + description: "Manage Git references", + subcommands: [ + { + name: "create", + description: "Create a reference", + options: [ + { + name: "--name", + description: + "Name of the reference to create (example: heads/my_branch or tags/my_tag)", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--object-id", + description: "Id of the object to create the reference from", + args: { name: "object-id" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--repository", "-r"], + description: "Name or ID of the repository", + args: { name: "repository" }, + }, + ], + }, + { + name: "delete", + description: "Delete a reference", + options: [ + { + name: "--name", + description: + "Name of the reference to delete (example: heads/my_branch)", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--object-id", + description: "Id of the reference to delete", + args: { name: "object-id" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--repository", "-r"], + description: "Name or ID of the repository", + args: { name: "repository" }, + }, + ], + }, + { + name: "list", + description: "List the references", + options: [ + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: "--filter", + description: + "A filter to apply to the refs (starts with). Example: head or heads/ for the branches", + args: { name: "filter" }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--repository", "-r"], + description: "Name or ID of the repository", + args: { name: "repository" }, + }, + ], + }, + { + name: "lock", + description: "Lock a reference", + options: [ + { + name: "--name", + description: + "Name of the reference to update (example: heads/my_branch)", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--repository", "-r"], + description: "Name or ID of the repository", + args: { name: "repository" }, + }, + ], + }, + { + name: "unlock", + description: "Unlock a reference", + options: [ + { + name: "--name", + description: + "Name of the reference to update (example: heads/my_branch)", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--detect", + description: "Automatically detect organization", + args: { name: "detect", suggestions: ["false", "true"] }, + }, + { + name: ["--organization", "--org"], + description: + "Azure DevOps organization URL. You can configure the default organization using az devops configure -d organization=ORG_URL. Required if not configured as default or picked up via git config. Example: https://dev.azure.com/MyOrganizationName/", + args: { name: "organization" }, + }, + { + name: ["--project", "-p"], + description: + "Name or ID of the project. You can configure the default project using az devops configure -d project=NAME_OR_ID. Required if not configured as default or picked up via git config", + args: { name: "project" }, + }, + { + name: ["--repository", "-r"], + description: "Name or ID of the repository", + args: { name: "repository" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/reservations.ts b/src/az/2.53.0/reservations.ts new file mode 100644 index 000000000000..668ae5bfe715 --- /dev/null +++ b/src/az/2.53.0/reservations.ts @@ -0,0 +1,1042 @@ +const completion: Fig.Spec = { + name: "reservations", + description: "Azure Reservations", + subcommands: [ + { + name: "calculate-exchange", + description: + "Calculates price for exchanging Reservations if there are no policy errors", + options: [ + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ris-to-exchange", + description: + 'List of reservations that are being returned in this exchange. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ris-to-exchange" }, + }, + { + name: "--ris-to-purchase", + description: + 'List of reservations that are being purchased in this exchange. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ris-to-purchase" }, + }, + { + name: "--sp-to-purchase", + description: + 'List of savings plans that are being purchased in this exchange. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sp-to-purchase" }, + }, + ], + }, + { + name: "exchange", + description: + "Returns one or more Reservations in exchange for one or more Reservation purchases", + options: [ + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--session-id", + description: "SessionId that was returned by CalculateExchange API", + args: { name: "session-id" }, + }, + ], + }, + { + name: "list", + description: + "List the reservations that the user has access to in the current tenant", + options: [ + { + name: "--filter", + description: + "May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. Reservation properties include sku/name, properties/{appliedScopeType, archived, displayName, displayProvisioningState, effectiveDateTime, expiryDate, provisioningState, quantity, renew, reservedResourceType, term, userFriendlyAppliedScopeType, userFriendlyRenewState}", + args: { name: "filter" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--orderby", + description: "May be used to sort order by reservation properties", + args: { name: "orderby" }, + }, + { + name: "--selected-state", + description: "The selected provisioning state", + args: { name: "selected-state" }, + }, + ], + }, + { + name: "catalog", + description: "Reservations catalog", + subcommands: [ + { + name: "show", + description: "Get catalog of available reservation", + options: [ + { + name: "--subscription-id", + description: "Subscription id", + args: { name: "subscription-id" }, + isRequired: true, + }, + { + name: "--filter", + description: + "May be used to filter by Catalog properties. The filter supports 'eq', 'or', and 'and'", + args: { name: "filter" }, + }, + { + name: "--location", + description: + "Filters the skus based on the location specified in this parameter. This can be an azure region or global", + args: { name: "location" }, + }, + { + name: "--offer-id", + description: "Offer id used to get the third party products", + args: { name: "offer-id" }, + }, + { + name: "--plan-id", + description: "Plan id used to get the third party products", + args: { name: "plan-id" }, + }, + { + name: "--publisher-id", + description: "Publisher id used to get the third party products", + args: { name: "publisher-id" }, + }, + { + name: "--reserved-resource-type", + description: + "The type of the resource for which the skus should be provided", + args: { name: "reserved-resource-type" }, + }, + ], + }, + ], + }, + { + name: "reservation", + description: "Reservations reservation", + subcommands: [ + { + name: "archive", + description: + "Archiving a Reservation which is in cancelled/expired state and move it to Archived state", + options: [ + { + name: "--reservation-id", + description: "Id of the Reservation Item", + args: { name: "reservation-id" }, + isRequired: true, + }, + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List Reservations within a single ReservationOrder", + options: [ + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-available-scope", + description: "List Available Scopes for Reservation", + options: [ + { + name: "--reservation-id", + description: "Id of the Reservation Item", + args: { name: "reservation-id" }, + isRequired: true, + }, + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--scopes", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "scopes" }, + }, + ], + }, + { + name: "list-history", + description: "List of all the revisions for the Reservation", + options: [ + { + name: "--reservation-id", + description: "Id of the Reservation Item", + args: { name: "reservation-id" }, + isRequired: true, + }, + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "merge", + description: + "Merge the specified Reservations into a new Reservation. The two Reservations being merged must have same properties", + options: [ + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--sources", + description: + 'Format of the resource id should be /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId} Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sources" }, + }, + ], + }, + { + name: "show", + description: "Get specific Reservation details", + options: [ + { + name: "--reservation-id", + description: "Id of the Reservation Item", + args: { name: "reservation-id" }, + isRequired: true, + }, + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: "--expand", + description: "Supported value of this query is renewProperties", + args: { name: "expand" }, + }, + ], + }, + { + name: "split", + description: + "Split a Reservation into two Reservations with specified quantity distribution", + options: [ + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--quantities", + description: + 'List of the quantities in the new reservations to create. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "quantities" }, + }, + { + name: "--reservation-id", + description: + "Resource id of the reservation to be split. Format of the resource id should be /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}", + args: { name: "reservation-id" }, + }, + ], + }, + { + name: "unarchive", + description: + "Unarchiving a Reservation moves it to the state it was before archiving", + options: [ + { + name: "--reservation-id", + description: "Id of the Reservation Item", + args: { name: "reservation-id" }, + isRequired: true, + }, + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the applied scopes, renewal, name, instance-flexibility of the Reservation", + options: [ + { + name: "--reservation-id", + description: "Id of the Reservation Item", + args: { name: "reservation-id" }, + isRequired: true, + }, + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: "--applied-scope-property", + description: + 'Properties specific to applied scope type. Not required if not applicable. Required and need to provide tenantId and managementGroupId if AppliedScopeType is ManagementGroup Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "applied-scope-property" }, + }, + { + name: "--applied-scope-type", + description: "Type of the Applied Scope", + args: { + name: "applied-scope-type", + suggestions: ["ManagementGroup", "Shared", "Single"], + }, + }, + { + name: "--applied-scopes", + description: + 'List of the subscriptions that the benefit will be applied. Do not specify if AppliedScopeType is Shared. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "applied-scopes" }, + }, + { + name: "--instance-flexibility", + description: + "Turning this on will apply the reservation discount to other VMs in the same VM size group. Only specify for VirtualMachines reserved resource type", + args: { + name: "instance-flexibility", + suggestions: ["Off", "On"], + }, + }, + { + name: "--name", + description: "Name of the Reservation", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--renew", + description: + "Setting this to true will automatically purchase a new reservation on the expiration date time", + }, + { + name: "--renewal-properties", + description: + 'Renewal purchase properties Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "renewal-properties" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--reservation-id", + description: "Id of the Reservation Item", + args: { name: "reservation-id" }, + isRequired: true, + }, + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: "Supported value of this query is renewProperties", + args: { name: "expand" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "reservation-order", + description: "Reservations reservation-order", + subcommands: [ + { + name: "calculate", + description: "Calculate price for placing a ReservationOrder", + options: [ + { + name: "--applied-scope", + description: + 'Subscription that the benefit will be applied. Required if --applied-scope-type is Single. Do not specify if --applied-scope-type is Shared. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "applied-scope" }, + }, + { + name: "--applied-scope-property", + description: + 'Properties specific to applied scope type. Not required if not applicable. Required and need to provide tenantId and managementGroupId if AppliedScopeType is ManagementGroup Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "applied-scope-property" }, + }, + { + name: "--applied-scope-type", + description: "Type of the Applied Scope", + args: { + name: "applied-scope-type", + suggestions: ["ManagementGroup", "Shared", "Single"], + }, + }, + { + name: "--billing-plan", + description: "Represent the billing plans", + args: { + name: "billing-plan", + suggestions: ["Monthly", "Upfront"], + }, + }, + { + name: "--billing-scope", + description: + "Subscription that will be charged for purchasing Reservation", + args: { name: "billing-scope" }, + }, + { + name: "--display-name", + description: "Friendly name of the Reservation", + args: { name: "display-name" }, + }, + { + name: "--instance-flexibility", + description: + "Turning this on will apply the reservation discount to other VMs in the same VM size group. Only specify for VirtualMachines reserved resource type", + args: { + name: "instance-flexibility", + suggestions: ["Off", "On"], + }, + }, + { + name: "--location", + description: "The Azure Region where the reserved resource lives", + args: { name: "location" }, + }, + { + name: "--quantity", + description: + "Quantity of the SKUs that are part of the Reservation", + args: { name: "quantity" }, + }, + { + name: "--renew", + description: + "Setting this to true will automatically purchase a new reservation on the expiration date time", + }, + { + name: "--reserved-resource-type", + description: "The type of the resource that is being reserved", + args: { + name: "reserved-resource-type", + suggestions: [ + "AVS", + "AppService", + "AzureDataExplorer", + "AzureFiles", + "BlockBlob", + "CosmosDb", + "DataFactory", + "Databricks", + "DedicatedHost", + "ManagedDisk", + "MariaDb", + "MySql", + "NetAppStorage", + "PostgreSql", + "RedHat", + "RedHatOsa", + "RedisCache", + "SapHana", + "SqlAzureHybridBenefit", + "SqlDataWarehouse", + "SqlDatabases", + "SqlEdge", + "SuseLinux", + "VMwareCloudSimple", + "VirtualMachineSoftware", + "VirtualMachines", + ], + }, + }, + { + name: "--review-date-time", + description: + "This is the date-time when the Azure hybrid benefit needs to be reviewed", + args: { name: "review-date-time" }, + }, + { + name: "--sku", + description: "Sku name for purchasing", + args: { name: "sku" }, + }, + { + name: "--term", + description: "Represent the term of Reservation", + args: { name: "term", suggestions: ["P1Y", "P3Y", "P5Y"] }, + }, + ], + }, + { + name: "calculate-refund", + description: + "Calculate price for returning Reservations if there are no policy errors", + options: [ + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: "--id", + description: + "Fully qualified identifier of the reservation order being returned", + args: { name: "id" }, + }, + { + name: "--quantity", + description: "Quantity to be returned. Must be greater than zero", + args: { name: "quantity" }, + }, + { + name: "--reservation-id", + description: + "Fully qualified identifier of the Reservation being returned", + args: { name: "reservation-id" }, + }, + { + name: "--scope", + description: "The scope of the refund, e.g. Reservation", + args: { name: "scope" }, + }, + ], + }, + { + name: "change-directory", + description: + "Change directory (tenant) of ReservationOrder and all Reservation under it to specified tenant id", + options: [ + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: "--destination-tenant-id", + description: + "Tenant id GUID that reservation order is to be transferred to", + args: { name: "destination-tenant-id" }, + }, + ], + }, + { + name: "list", + description: + "List of all the ReservationOrders that the user has access to in the current tenant", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "purchase", + description: + "Create ReservationOrder and create resource under the specified URI", + options: [ + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: "--applied-scope", + description: + 'Subscription that the benefit will be applied. Required if --applied-scope-type is Single. Do not specify if --applied-scope-type is Shared. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "applied-scope" }, + }, + { + name: "--applied-scope-property", + description: + 'Properties specific to applied scope type. Not required if not applicable. Required and need to provide tenantId and managementGroupId if AppliedScopeType is ManagementGroup Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "applied-scope-property" }, + }, + { + name: "--applied-scope-type", + description: "Type of the Applied Scope", + args: { + name: "applied-scope-type", + suggestions: ["ManagementGroup", "Shared", "Single"], + }, + }, + { + name: "--billing-plan", + description: "Represent the billing plans", + args: { + name: "billing-plan", + suggestions: ["Monthly", "Upfront"], + }, + }, + { + name: "--billing-scope", + description: + "Subscription that will be charged for purchasing Reservation", + args: { name: "billing-scope" }, + }, + { + name: "--display-name", + description: "Friendly name of the Reservation", + args: { name: "display-name" }, + }, + { + name: "--instance-flexibility", + description: + "Turning this on will apply the reservation discount to other VMs in the same VM size group. Only specify for VirtualMachines reserved resource type", + args: { + name: "instance-flexibility", + suggestions: ["Off", "On"], + }, + }, + { + name: "--location", + description: "The Azure Region where the reserved resource lives", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--quantity", + description: + "Quantity of the SKUs that are part of the Reservation", + args: { name: "quantity" }, + }, + { + name: "--renew", + description: + "Setting this to true will automatically purchase a new reservation on the expiration date time", + }, + { + name: "--reserved-resource-type", + description: "The type of the resource that is being reserved", + args: { + name: "reserved-resource-type", + suggestions: [ + "AVS", + "AppService", + "AzureDataExplorer", + "AzureFiles", + "BlockBlob", + "CosmosDb", + "DataFactory", + "Databricks", + "DedicatedHost", + "ManagedDisk", + "MariaDb", + "MySql", + "NetAppStorage", + "PostgreSql", + "RedHat", + "RedHatOsa", + "RedisCache", + "SapHana", + "SqlAzureHybridBenefit", + "SqlDataWarehouse", + "SqlDatabases", + "SqlEdge", + "SuseLinux", + "VMwareCloudSimple", + "VirtualMachineSoftware", + "VirtualMachines", + ], + }, + }, + { + name: "--review-date-time", + description: + "This is the date-time when the Azure hybrid benefit needs to be reviewed", + args: { name: "review-date-time" }, + }, + { + name: "--sku", + description: "Sku name for purchasing", + args: { name: "sku" }, + }, + { + name: "--term", + description: "Represent the term of Reservation", + args: { name: "term", suggestions: ["P1Y", "P3Y", "P5Y"] }, + }, + ], + }, + { + name: "return", + description: "Return a reservation", + options: [ + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--quantity", + description: "Quantity to be returned. Must be greater than zero", + args: { name: "quantity" }, + }, + { + name: "--reservation-id", + description: + "Fully qualified identifier of the Reservation being returned", + args: { name: "reservation-id" }, + }, + { + name: "--return-reason", + description: "The reason of returning the reservation", + args: { name: "return-reason" }, + }, + { + name: "--scope", + description: "The scope of the refund, e.g. Reservation", + args: { name: "scope" }, + }, + { + name: "--session-id", + description: "SessionId that was returned by CalculateRefund API", + args: { name: "session-id" }, + }, + ], + }, + { + name: "show", + description: "Get the details of the ReservationOrder", + options: [ + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: "--expand", + description: "May be used to expand the planInformation", + args: { name: "expand" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--reservation-order-id", + description: "Order Id of the reservation", + args: { name: "reservation-order-id" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: "May be used to expand the planInformation", + args: { name: "expand" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "reservation-order-id", + description: "Reservations reservation-order-id", + subcommands: [ + { + name: "list", + description: + "List applicable Reservations that are applied to this subscription or a resource group under this subscription", + options: [ + { + name: "--subscription-id", + description: "Subscription id", + args: { name: "subscription-id" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/resource-mover.ts b/src/az/2.53.0/resource-mover.ts new file mode 100644 index 000000000000..4ec07e6abdeb --- /dev/null +++ b/src/az/2.53.0/resource-mover.ts @@ -0,0 +1,1183 @@ +const completion: Fig.Spec = { + name: "resource-mover", + description: "Manage Resource Mover Service API", + subcommands: [ + { + name: "move-collection", + description: "Manage move-collection", + subcommands: [ + { + name: "bulk-remove", + description: + "Removes the set of move resources included in the request body from move collection. The orchestration is done by service. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--input-type", + description: "Defines the move resource input type", + args: { + name: "input-type", + suggestions: ["MoveResourceId", "MoveResourceSourceId"], + }, + }, + { + name: ["--move-collection-name", "--name", "-n"], + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: "--move-resources", + description: + "Gets or sets the list of resource Id's, by default it accepts move resource id's unless the input type is switched via moveResourceInputType property. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "move-resources" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--validate-only", + description: + "Gets or sets a value indicating whether the operation needs to only run pre-requisite", + args: { + name: "validate-only", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "commit", + description: + "Commits the set of resources included in the request body. The commit operation is triggered on the moveResources in the moveState 'CommitPending' or 'CommitFailed', on a successful completion the moveResource moveState do a transition to Committed. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--input-type", + description: "Defines the move resource input type", + args: { + name: "input-type", + suggestions: ["MoveResourceId", "MoveResourceSourceId"], + }, + }, + { + name: ["--move-collection-name", "--name", "-n"], + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: "--move-resources", + description: + "Gets or sets the list of resource Id's, by default it accepts move resource id's unless the input type is switched via moveResourceInputType property. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "move-resources" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--validate-only", + description: + "Gets or sets a value indicating whether the operation needs to only run pre-requisite", + args: { + name: "validate-only", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "create", + description: "Create a move collection", + options: [ + { + name: ["--move-collection-name", "--name", "-n"], + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--identity", + description: + 'Defines the MSI properties of the Move Collection. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: ["--location", "-l"], + description: "The geo-location where the resource lives", + args: { name: "location" }, + }, + { + name: "--move-region", + description: + "Gets or sets the move region which indicates the region where the VM Regional to Zonal move will be conducted", + args: { name: "move-region" }, + }, + { + name: "--move-type", + description: "Defines the MoveType", + args: { + name: "move-type", + suggestions: ["RegionToRegion", "RegionToZone"], + }, + }, + { + name: "--source-region", + description: "Gets or sets the source region", + args: { name: "source-region" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--target-region", + description: "Gets or sets the target region", + args: { name: "target-region" }, + }, + { + name: "--version", + description: "Gets or sets the version of move collection", + args: { name: "version" }, + }, + ], + }, + { + name: "delete", + description: "Delete a move collection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--move-collection-name", "--name", "-n"], + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "discard", + description: + "Discards the set of resources included in the request body. The discard operation is triggered on the moveResources in the moveState 'CommitPending' or 'DiscardFailed', on a successful completion the moveResource moveState do a transition to MovePending. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--input-type", + description: "Defines the move resource input type", + args: { + name: "input-type", + suggestions: ["MoveResourceId", "MoveResourceSourceId"], + }, + }, + { + name: ["--move-collection-name", "--name", "-n"], + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: "--move-resources", + description: + "Gets or sets the list of resource Id's, by default it accepts move resource id's unless the input type is switched via moveResourceInputType property. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "move-resources" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--validate-only", + description: + "Gets or sets a value indicating whether the operation needs to only run pre-requisite", + args: { + name: "validate-only", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "initiate-move", + description: + "Moves the set of resources included in the request body. The move operation is triggered after the moveResources are in the moveState 'MovePending' or 'MoveFailed', on a successful completion the moveResource moveState do a transition to CommitPending. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--input-type", + description: "Defines the move resource input type", + args: { + name: "input-type", + suggestions: ["MoveResourceId", "MoveResourceSourceId"], + }, + }, + { + name: ["--move-collection-name", "--name", "-n"], + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: "--move-resources", + description: + "Gets or sets the list of resource Id's, by default it accepts move resource id's unless the input type is switched via moveResourceInputType property. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "move-resources" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--validate-only", + description: + "Gets or sets a value indicating whether the operation needs to only run pre-requisite", + args: { + name: "validate-only", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "list", + description: "List all the Move Collections in the subscription", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-required-for", + description: + "List of the move resources for which an arm resource is required for", + options: [ + { + name: "--source-id", + description: "The sourceId for which the api is invoked", + args: { name: "source-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--move-collection-name", "--name", "-n"], + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-unresolved-dependency", + description: "Lists a list of unresolved dependencies", + options: [ + { + name: ["--move-collection-name", "--name", "-n"], + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--dependency-level", + description: "Defines the dependency level", + args: { + name: "dependency-level", + suggestions: ["Descendant", "Direct"], + }, + }, + { + name: "--filter", + description: + "The filter to apply on the operation. For example, $apply=filter(count eq 2)", + args: { name: "filter" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--orderby", + description: + "OData order by query option. For example, you can use $orderby=Count desc", + args: { name: "orderby" }, + }, + ], + }, + { + name: "prepare", + description: + "Initiates prepare for the set of resources included in the request body. The prepare operation is on the moveResources that are in the moveState 'PreparePending' or 'PrepareFailed', on a successful completion the moveResource moveState do a transition to MovePending. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--input-type", + description: "Defines the move resource input type", + args: { + name: "input-type", + suggestions: ["MoveResourceId", "MoveResourceSourceId"], + }, + }, + { + name: ["--move-collection-name", "--name", "-n"], + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: "--move-resources", + description: + "Gets or sets the list of resource Id's, by default it accepts move resource id's unless the input type is switched via moveResourceInputType property. Support shorthand-syntax, json-file and yaml-file. Try \"??\" to show more", + args: { name: "move-resources" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--validate-only", + description: + "Gets or sets a value indicating whether the operation needs to only run pre-requisite", + args: { + name: "validate-only", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "resolve-dependency", + description: + "Computes, resolves and validate the dependencies of the moveResources in the move collection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--move-collection-name", "--name", "-n"], + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the move collection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--move-collection-name", "--name", "-n"], + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a move collection", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + 'Defines the MSI properties of the Move Collection. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--move-collection-name", "--name", "-n"], + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: "--move-region", + description: + "Gets or sets the move region which indicates the region where the VM Regional to Zonal move will be conducted", + args: { name: "move-region" }, + }, + { + name: "--move-type", + description: "Defines the MoveType", + args: { + name: "move-type", + suggestions: ["RegionToRegion", "RegionToZone"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--source-region", + description: "Gets or sets the source region", + args: { name: "source-region" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--target-region", + description: "Gets or sets the target region", + args: { name: "target-region" }, + }, + { + name: "--version", + description: "Gets or sets the version of move collection", + args: { name: "version" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--move-collection-name", "--name", "-n"], + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "move-resource", + description: "Manage move-resource", + subcommands: [ + { + name: "add", + description: "Create a Move Resource in the move collection", + options: [ + { + name: "--depends-on-overrides", + description: + 'Gets or sets the move resource dependencies overrides. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "depends-on-overrides" }, + }, + { + name: "--existing-target-id", + description: + "Gets or sets the existing target ARM Id of the resource", + args: { name: "existing-target-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--move-collection-name", + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: ["--move-resource-name", "--name", "-n"], + description: "The Move Resource Name", + args: { name: "move-resource-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-settings", + description: + "The resource settings. Expected value: json-string/@json-file. Support json-file and yaml-file", + args: { name: "resource-settings" }, + }, + { + name: "--source-id", + description: "Gets or sets the Source ARM Id of the resource", + args: { name: "source-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Move Resource from the move collection", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--move-collection-name", + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: ["--move-resource-name", "--name", "-n"], + description: "The Move Resource Name", + args: { name: "move-resource-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the Move Resources in the move collection", + options: [ + { + name: ["--move-collection-name", "--name", "-n"], + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--filter", + description: + "The filter to apply on the operation. For example, you can use $filter=Properties/ProvisioningState eq 'Succeeded'", + args: { name: "filter" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get the Move Resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--move-collection-name", + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: ["--move-resource-name", "--name", "-n"], + description: "The Move Resource Name", + args: { name: "move-resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--move-collection-name", + description: "The Move Collection Name", + args: { name: "move-collection-name" }, + }, + { + name: ["--move-resource-name", "--name", "-n"], + description: "The Move Resource Name", + args: { name: "move-resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/resource.ts b/src/az/2.53.0/resource.ts new file mode 100644 index 000000000000..6e7c9acda85a --- /dev/null +++ b/src/az/2.53.0/resource.ts @@ -0,0 +1,932 @@ +const completion: Fig.Spec = { + name: "resource", + description: "Manage Azure resources", + subcommands: [ + { + name: "create", + description: "Create a resource", + options: [ + { + name: ["--properties", "-p"], + description: "A JSON-formatted string containing resource properties", + args: { name: "properties" }, + isRequired: true, + }, + { + name: "--api-version", + description: + "The api version of the resource (omit for the latest stable version)", + args: { name: "api-version" }, + }, + { name: "--id", description: "Resource ID", args: { name: "id" } }, + { + name: "--is-full-object", + description: + "Indicate that the properties object includes other options such as location, tags, sku, and/or plan", + }, + { + name: ["--latest-include-preview", "-v"], + description: + "Indicate that the latest api-version will be used regardless of whether it is preview version (like 2020-01-01-preview) or not. For example, if the supported api-version of resource provider is 2020-01-01-preview and 2019-01-01: when passing in this parameter it will take the latest version 2020-01-01-preview, otherwise it will take the latest stable version 2019-01-01 without passing in this parameter", + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "The resource name. (Ex: myC)", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "delete", + description: "Delete a resource", + options: [ + { + name: "--api-version", + description: + "The api version of the resource (omit for the latest stable version)", + args: { name: "api-version" }, + }, + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--latest-include-preview", "-v"], + description: + "Indicate that the latest api-version will be used regardless of whether it is preview version (like 2020-01-01-preview) or not. For example, if the supported api-version of resource provider is 2020-01-01-preview and 2019-01-01: when passing in this parameter it will take the latest version 2020-01-01-preview, otherwise it will take the latest stable version 2019-01-01 without passing in this parameter", + }, + { + name: ["--name", "-n"], + description: "The resource name. (Ex: myC)", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "invoke-action", + description: "Invoke an action on the resource", + options: [ + { + name: "--action", + description: + "The action that will be invoked on the specified resource", + args: { name: "action" }, + isRequired: true, + }, + { + name: "--api-version", + description: + "The api version of the resource (omit for the latest stable version)", + args: { name: "api-version" }, + }, + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--latest-include-preview", "-v"], + description: + "Indicate that the latest api-version will be used regardless of whether it is preview version (like 2020-01-01-preview) or not. For example, if the supported api-version of resource provider is 2020-01-01-preview and 2019-01-01: when passing in this parameter it will take the latest version 2020-01-01-preview, otherwise it will take the latest stable version 2019-01-01 without passing in this parameter", + }, + { + name: ["--name", "-n"], + description: "The resource name. (Ex: myC)", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: "--request-body", + description: + "JSON encoded parameter arguments for the action that will be passed along in the post request body. Use @{file} to load from a file", + args: { name: "request-body" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "list", + description: "List resources", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "The resource name. (Ex: myC)", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + { + name: "--tag", + description: + "A single tag in 'key[=value]' format. Use \"\" to clear existing tags", + args: { name: "tag" }, + }, + ], + }, + { + name: "move", + description: + "Move resources from one resource group to another (can be under different subscription)", + options: [ + { + name: "--destination-group", + description: "The destination resource group name", + args: { name: "destination-group" }, + isRequired: true, + }, + { + name: "--ids", + description: "The space-separated resource ids to be moved", + args: { name: "ids" }, + isRequired: true, + }, + { + name: "--destination-subscription-id", + description: "The destination subscription identifier", + args: { name: "destination-subscription-id" }, + }, + ], + }, + { + name: "patch", + description: "Update a resource by PATCH request", + options: [ + { + name: ["--properties", "-p"], + description: "A JSON-formatted string containing resource properties", + args: { name: "properties" }, + isRequired: true, + }, + { + name: "--api-version", + description: + "The api version of the resource (omit for the latest stable version)", + args: { name: "api-version" }, + }, + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: "--is-full-object", + description: + "Indicate that the properties object includes other options such as location, tags, sku, and/or plan", + }, + { + name: ["--latest-include-preview", "-v"], + description: + "Indicate that the latest api-version will be used regardless of whether it is preview version (like 2020-01-01-preview) or not. For example, if the supported api-version of resource provider is 2020-01-01-preview and 2019-01-01: when passing in this parameter it will take the latest version 2020-01-01-preview, otherwise it will take the latest stable version 2019-01-01 without passing in this parameter", + }, + { + name: ["--name", "-n"], + description: "The resource name. (Ex: myC)", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a resource", + options: [ + { + name: "--api-version", + description: + "The api version of the resource (omit for the latest stable version)", + args: { name: "api-version" }, + }, + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: "--include-response-body", + description: + "Use if the default command output doesn't capture all of the property data", + }, + { + name: ["--latest-include-preview", "-v"], + description: + "Indicate that the latest api-version will be used regardless of whether it is preview version (like 2020-01-01-preview) or not. For example, if the supported api-version of resource provider is 2020-01-01-preview and 2019-01-01: when passing in this parameter it will take the latest version 2020-01-01-preview, otherwise it will take the latest stable version 2019-01-01 without passing in this parameter", + }, + { + name: ["--name", "-n"], + description: "The resource name. (Ex: myC)", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "tag", + description: "Tag a resource", + options: [ + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + isRequired: true, + }, + { + name: "--api-version", + description: + "The api version of the resource (omit for the latest stable version)", + args: { name: "api-version" }, + }, + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--is-incremental", "-i"], + description: + "The option to add tags incrementally without deleting the original tags. If the key of new tag and original tag are duplicated, the original value will be overwritten", + args: { name: "is-incremental" }, + }, + { + name: ["--latest-include-preview", "-v"], + description: + "Indicate that the latest api-version will be used regardless of whether it is preview version (like 2020-01-01-preview) or not. For example, if the supported api-version of resource provider is 2020-01-01-preview and 2019-01-01: when passing in this parameter it will take the latest version 2020-01-01-preview, otherwise it will take the latest stable version 2019-01-01 without passing in this parameter", + }, + { + name: ["--name", "-n"], + description: "The resource name. (Ex: myC)", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "update", + description: "Update a resource by PUT request", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--api-version", + description: + "The api version of the resource (omit for the latest stable version)", + args: { name: "api-version" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: "--include-response-body", + description: + "Use if the default command output doesn't capture all of the property data", + }, + { + name: ["--latest-include-preview", "-v"], + description: + "Indicate that the latest api-version will be used regardless of whether it is preview version (like 2020-01-01-preview) or not. For example, if the supported api-version of resource provider is 2020-01-01-preview and 2019-01-01: when passing in this parameter it will take the latest version 2020-01-01-preview, otherwise it will take the latest stable version 2019-01-01 without passing in this parameter", + }, + { + name: ["--name", "-n"], + description: "The resource name. (Ex: myC)", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a resources is met", + options: [ + { + name: "--api-version", + description: + "The api version of the resource (omit for the latest stable version)", + args: { name: "api-version" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: "--include-response-body", + description: + "Use if the default command output doesn't capture all of the property data", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "The resource name. (Ex: myC)", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "link", + description: + "Manage links between resources.\n\n\t\tLinking is a feature of the Resource Manager. It enables declaring relationships between resources even if they do not reside in the same resource group. Linking has no impact on resource usage, billing, or role-based access. It allows for managing multiple resources across groups as a single unit", + subcommands: [ + { + name: "create", + description: "Create a new link between resources", + options: [ + { + name: "--link", + description: "Fully-qualified resource ID of the resource link", + args: { name: "link" }, + isRequired: true, + }, + { + name: "--target", + description: + "Fully-qualified resource ID of the resource link target", + args: { name: "target" }, + isRequired: true, + }, + { + name: "--notes", + description: "Notes for the link", + args: { name: "notes" }, + }, + ], + }, + { + name: "delete", + description: "Delete a link between resources", + options: [ + { + name: "--link", + description: "Fully-qualified resource ID of the resource link", + args: { name: "link" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List resource links", + options: [ + { + name: "--filter", + description: "Filter string for limiting results", + args: { name: "filter" }, + }, + { + name: "--scope", + description: "Fully-qualified scope for retrieving links", + args: { name: "scope" }, + }, + ], + }, + { + name: "show", + description: "Gets a resource link with the specified ID", + options: [ + { + name: "--link", + description: "Fully-qualified resource ID of the resource link", + args: { name: "link" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update link between resources", + options: [ + { + name: "--link", + description: "Fully-qualified resource ID of the resource link", + args: { name: "link" }, + isRequired: true, + }, + { + name: "--notes", + description: "Notes for the link", + args: { name: "notes" }, + }, + { + name: "--target", + description: + "Fully-qualified resource ID of the resource link target", + args: { name: "target" }, + }, + ], + }, + ], + }, + { + name: "lock", + description: "Manage Azure resource level locks", + subcommands: [ + { + name: "create", + description: "Create a resource-level lock", + options: [ + { + name: ["--lock-type", "-t"], + description: "The type of lock restriction", + args: { + name: "lock-type", + suggestions: ["CanNotDelete", "ReadOnly"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--notes", + description: "Notes about this lock", + args: { name: "notes" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-name", "--resource"], + description: + "If an ID is given, other resource arguments should not be given", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "delete", + description: "Delete a resource-level lock", + options: [ + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-name", "--resource"], + description: + "If an ID is given, other resource arguments should not be given", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "list", + description: "List lock information in the resource-level", + options: [ + { + name: "--filter-string", + description: "A query filter to use to restrict the results", + args: { name: "filter-string" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-name", "--resource"], + description: + "If an ID is given, other resource arguments should not be given", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a resource-level lock", + options: [ + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-name", "--resource"], + description: + "If an ID is given, other resource arguments should not be given", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + { + name: "update", + description: "Update a resource-level lock", + options: [ + { + name: "--ids", + description: + 'One or more resource IDs (space-delimited). If provided, no other "Resource Id" arguments should be specified', + args: { name: "ids" }, + }, + { + name: ["--lock-type", "-t"], + description: "The type of lock restriction", + args: { + name: "lock-type", + suggestions: ["CanNotDelete", "ReadOnly"], + }, + }, + { + name: ["--name", "-n"], + description: "Name of the lock", + args: { name: "name" }, + }, + { + name: "--namespace", + description: "Provider namespace (Ex: 'Microsoft.Provider')", + args: { name: "namespace" }, + }, + { + name: "--notes", + description: "Notes about this lock", + args: { name: "notes" }, + }, + { + name: "--parent", + description: "The parent path (Ex: 'resA/myA/resB/myB')", + args: { name: "parent" }, + }, + { + name: ["--resource-name", "--resource"], + description: + "If an ID is given, other resource arguments should not be given", + args: { name: "resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "The resource type (Ex: 'resC'). Can also accept namespace/type format (Ex: 'Microsoft.Provider/resC')", + args: { name: "resource-type" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/resourcemanagement.ts b/src/az/2.53.0/resourcemanagement.ts new file mode 100644 index 000000000000..6c2acb46d151 --- /dev/null +++ b/src/az/2.53.0/resourcemanagement.ts @@ -0,0 +1,90 @@ +const completion: Fig.Spec = { + name: "resourcemanagement", + description: "Resourcemanagement CLI command group", + subcommands: [ + { + name: "private-link", + description: "Resourcemanagement private-link management on a resource", + subcommands: [ + { + name: "create", + description: "Create a resource management group private link", + options: [ + { + name: ["--location", "-l"], + description: + "The region to create the resource management private link", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the resource management private link", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a resource management private link", + options: [ + { + name: ["--name", "-n"], + description: "The name of the resource management private link", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all the resource management private links at scope", + options: [ + { + name: ["--resource-group", "-g"], + description: "The name of the resource group", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get resource management private", + options: [ + { + name: ["--name", "-n"], + description: "The name of the resource management private link", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/rest.ts b/src/az/2.53.0/rest.ts new file mode 100644 index 000000000000..169f16712341 --- /dev/null +++ b/src/az/2.53.0/rest.ts @@ -0,0 +1,64 @@ +const completion: Fig.Spec = { + name: "rest", + description: "Invoke a custom request", + options: [ + { + name: ["--uri", "--url", "-u"], + description: + "Request URL. If it doesn't start with a host, CLI assumes it as an Azure resource ID and prefixes it with the ARM endpoint of the current cloud shown by az cloud show --query endpoints.resourceManager. Common token {subscriptionId} will be replaced with the current subscription ID specified by az account set", + args: { name: "uri" }, + isRequired: true, + }, + { + name: ["--body", "-b"], + description: + "Request body. Use @{file} to load from a file. For quoting issues in different terminals, see https://github.com/Azure/azure-cli/blob/dev/doc/use_cli_effectively.md#quoting-issues", + args: { name: "body" }, + }, + { + name: "--headers", + description: + "Space-separated headers in KEY=VALUE format or JSON string. Use @{file} to load from a file", + args: { name: "headers" }, + }, + { + name: ["--method", "-m"], + description: "HTTP request method", + args: { + name: "method", + suggestions: [ + "delete", + "get", + "head", + "options", + "patch", + "post", + "put", + ], + }, + }, + { + name: "--output-file", + description: "Save response payload to a file", + args: { name: "output-file" }, + }, + { + name: "--resource", + description: + 'Resource url for which CLI should acquire a token from AAD in order to access the service. The token will be placed in the Authorization header. By default, CLI can figure this out based on --url argument, unless you use ones not in the list of "az cloud show --query endpoints"', + args: { name: "resource" }, + }, + { + name: "--skip-authorization-header", + description: "Do not auto-append Authorization header", + }, + { + name: ["--uri-parameters", "--url-parameters"], + description: + "Query parameters in the URL. Space-separated queries in KEY=VALUE format or JSON string. Use @{file} to load from a file", + args: { name: "uri-parameters" }, + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/restore-point.ts b/src/az/2.53.0/restore-point.ts new file mode 100644 index 000000000000..a9d8bf723a0a --- /dev/null +++ b/src/az/2.53.0/restore-point.ts @@ -0,0 +1,433 @@ +const completion: Fig.Spec = { + name: "restore-point", + description: "Manage restore point with res", + subcommands: [ + { + name: "collection", + description: + "Create the restore point collection. Please refer to https://aka.ms/RestorePoints for more details. When updating a restore point collection, only tags may be modified", + subcommands: [ + { + name: "create", + description: + "Create the restore point collection. Please refer to https://aka.ms/RestorePoints for more details. When updating a restore point collection, only tags may be modified", + options: [ + { + name: "--collection-name", + description: "The name of the restore point collection", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--source-id", + description: + "Resource Id of the source resource used to create this restore point collection", + args: { name: "source-id" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the restore point collection. This operation will also delete all the contained restore points", + options: [ + { + name: ["--restore-point-collection-name", "--collection-name"], + description: "The name of the restore point collection", + args: { name: "restore-point-collection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Get the list of restore point collections in a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-all", + description: + "Get the list of restore point collections in the subscription. Use nextLink property in the response to get the next page of restore point collections. Do this till nextLink is not null to fetch all the restore point collections", + }, + { + name: "show", + description: "Get the restore point collection", + options: [ + { + name: "--collection-name", + description: "The name of the restore point collection", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--restore-points", + description: + "Show all contained restore points in the restore point collection", + args: { name: "restore-points" }, + }, + ], + }, + { + name: "update", + description: "Update the restore point collection", + options: [ + { + name: "--collection-name", + description: "The name of the restore point collection", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the restore-point-collection is met", + options: [ + { + name: "--collection-name", + description: "The name of the restore point collection", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + 'The expand expression to apply on the operation. If expand=restorePoints, server will return all contained restore points in the restorePointCollection. "restorePoints" Default value is None', + args: { name: "expand" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "create", + description: + "Create the restore point. Updating properties of an existing restore point is not allowed", + options: [ + { + name: "--collection-name", + description: "The name of the restore point collection", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--restore-point-name", "--name", "-n"], + description: "The name of the restore point", + args: { name: "restore-point-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--consistency-mode", + description: + "Consistency mode of the restore point. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details", + args: { + name: "consistency-mode", + suggestions: [ + "ApplicationConsistent", + "CrashConsistent", + "FileSystemConsistent", + ], + }, + }, + { + name: "--exclude-disks", + description: + "List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included", + args: { name: "exclude-disks" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--source-restore-point", + description: + "Resource Id of the source restore point from which a copy needs to be created", + args: { name: "source-restore-point" }, + }, + ], + }, + { + name: "delete", + description: "Delete the restore point", + options: [ + { + name: ["--restore-point-collection-name", "--collection-name"], + description: "The name of the restore point collection", + args: { name: "restore-point-collection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--restore-point-name", "--name", "-n"], + description: "The name of the restore point", + args: { name: "restore-point-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Get the restore point", + options: [ + { + name: "--collection-name", + description: "The name of the restore point collection", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--restore-point-name", "--name", "-n"], + description: "The name of the restore point", + args: { name: "restore-point-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--instance-view", + description: "Show the instance view of a restore point", + args: { name: "instance-view" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the restore-point is met", + options: [ + { + name: "--collection-name", + description: "The name of the restore point collection", + args: { name: "collection-name" }, + isRequired: true, + }, + { + name: ["--restore-point-name", "--name", "-n"], + description: "The name of the restore point", + args: { name: "restore-point-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "The expand expression to apply on the operation. 'InstanceView' retrieves information about the run-time state of a restore point. 'instanceView' Default value is None", + args: { name: "expand" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/role.ts b/src/az/2.53.0/role.ts new file mode 100644 index 000000000000..9de0f6ae3e07 --- /dev/null +++ b/src/az/2.53.0/role.ts @@ -0,0 +1,299 @@ +const completion: Fig.Spec = { + name: "role", + description: + "Manage user roles for access control with Azure Active Directory and service principals", + subcommands: [ + { + name: "assignment", + description: "Manage role assignments", + subcommands: [ + { + name: "create", + description: + "Create a new role assignment for a user, group, or service principal", + options: [ + { + name: "--role", + description: "Role name or id", + args: { name: "role" }, + isRequired: true, + }, + { + name: "--assignee", + description: + "Represent a user, group, or service principal. supported format: object id, user sign-in name, or service principal name", + args: { name: "assignee" }, + }, + { + name: "--assignee-object-id", + description: + "Use this parameter instead of '--assignee' to bypass Graph API invocation in case of insufficient privileges. This parameter only works with object ids for users, groups, service principals, and managed identities. For managed identities use the principal id. For service principals, use the object id and not the app id", + args: { name: "assignee-object-id" }, + }, + { + name: "--assignee-principal-type", + description: + "Use with --assignee-object-id to avoid errors caused by propagation latency in AAD Graph", + args: { + name: "assignee-principal-type", + suggestions: [ + "ForeignGroup", + "Group", + "ServicePrincipal", + "User", + ], + }, + }, + { + name: "--condition", + description: + "Condition under which the user can be granted permission", + args: { name: "condition" }, + }, + { + name: "--condition-version", + description: + "Version of the condition syntax. If --condition is specified without --condition-version, default to 2.0", + args: { name: "condition-version" }, + }, + { + name: "--description", + description: "Description of role assignment", + args: { name: "description" }, + }, + { + name: ["--name", "-n"], + description: + "A GUID for the role assignment. It must be unique and different for each role assignment. If omitted, a new GUID is generetd", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Use it only if the role or assignment was added at the level of a resource group", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "Scope at which the role assignment or definition applies to, e.g., /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333, /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup, or /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM", + args: { name: "scope" }, + }, + ], + }, + { + name: "delete", + description: "Delete role assignments", + options: [ + { + name: "--assignee", + description: + "Represent a user, group, or service principal. supported format: object id, user sign-in name, or service principal name", + args: { name: "assignee" }, + }, + { + name: "--ids", + description: "Space-separated role assignment ids", + args: { name: "ids" }, + }, + { + name: "--include-inherited", + description: "Include assignments applied on parent scopes", + }, + { + name: ["--resource-group", "-g"], + description: + "Use it only if the role or assignment was added at the level of a resource group", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: "Role name or id", + args: { name: "role" }, + }, + { + name: "--scope", + description: + "Scope at which the role assignment or definition applies to, e.g., /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333, /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup, or /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM", + args: { name: "scope" }, + }, + { + name: ["--yes", "-y"], + description: + "Continue to delete all assignments under the subscription", + }, + ], + }, + { + name: "list", + description: "List role assignments", + options: [ + { + name: "--all", + description: + "Show all assignments under the current subscription", + }, + { + name: "--assignee", + description: + "Represent a user, group, or service principal. supported format: object id, user sign-in name, or service principal name", + args: { name: "assignee" }, + }, + { + name: "--include-classic-administrators", + description: + "List default role assignments for subscription classic administrators, aka co-admins", + }, + { + name: "--include-groups", + description: + "Include extra assignments to the groups of which the user is a member(transitively)", + }, + { + name: "--include-inherited", + description: "Include assignments applied on parent scopes", + }, + { + name: ["--resource-group", "-g"], + description: + "Use it only if the role or assignment was added at the level of a resource group", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: "Role name or id", + args: { name: "role" }, + }, + { + name: "--scope", + description: + "Scope at which the role assignment or definition applies to, e.g., /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333, /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup, or /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM", + args: { name: "scope" }, + }, + ], + }, + { + name: "list-changelogs", + description: "List changelogs for role assignments", + options: [ + { + name: "--end-time", + description: + "The end time of the query in the format of %Y-%m-%dT%H:%M:%SZ, e.g. 2000-12-31T12:59:59Z. Defaults to the current time", + args: { name: "end-time" }, + }, + { + name: "--start-time", + description: + "The start time of the query in the format of %Y-%m-%dT%H:%M:%SZ, e.g. 2000-12-31T12:59:59Z. Defaults to 1 Hour prior to the current time", + args: { name: "start-time" }, + }, + ], + }, + { + name: "update", + description: + "Update an existing role assignment for a user, group, or service principal", + options: [ + { + name: "--role-assignment", + description: + "Description of an existing role assignment as JSON, or a path to a file containing a JSON description", + args: { name: "role-assignment" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "definition", + description: "Manage role definitions", + subcommands: [ + { + name: "create", + description: "Create a custom role definition", + options: [ + { + name: "--role-definition", + description: + "Description of a role as JSON, or a path to a file containing a JSON description", + args: { name: "role-definition" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a role definition", + options: [ + { + name: ["--name", "-n"], + description: "The role's name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--custom-role-only", + description: "Custom roles only(vs. build-in ones)", + }, + { + name: ["--resource-group", "-g"], + description: + "Use it only if the role or assignment was added at the level of a resource group", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "Scope at which the role assignment or definition applies to, e.g., /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333, /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup, or /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM", + args: { name: "scope" }, + }, + ], + }, + { + name: "list", + description: "List role definitions", + options: [ + { + name: "--custom-role-only", + description: "Custom roles only(vs. build-in ones)", + }, + { + name: ["--name", "-n"], + description: "The role's name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Use it only if the role or assignment was added at the level of a resource group", + args: { name: "resource-group" }, + }, + { + name: "--scope", + description: + "Scope at which the role assignment or definition applies to, e.g., /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333, /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup, or /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM", + args: { name: "scope" }, + }, + ], + }, + { + name: "update", + description: "Update a role definition", + options: [ + { + name: "--role-definition", + description: + "Description of an existing role as JSON, or a path to a file containing a JSON description", + args: { name: "role-definition" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/sapmonitor.ts b/src/az/2.53.0/sapmonitor.ts new file mode 100644 index 000000000000..1383c687a3cd --- /dev/null +++ b/src/az/2.53.0/sapmonitor.ts @@ -0,0 +1,261 @@ +const completion: Fig.Spec = { + name: "sapmonitor", + description: "(PREVIEW) Manage Azure SAP Monitor", + subcommands: [ + { + name: "create", + description: "Create a SAP Monitor", + options: [ + { + name: ["--hana-subnet", "--hdbsn"], + description: + "ARM ID of an Azure Subnet with access to the HANA instance", + args: { name: "hana-subnet" }, + isRequired: true, + }, + { + name: ["--monitor-name", "-n"], + description: "The name of the SAP monitor", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: "--region", + description: "The region to create this SAP monitor on", + args: { name: "region" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--disable_customer_analytics", "--dca"], + description: "Disable sending analytics to Microsoft", + }, + { + name: ["--log-analytics-workspace-arm-id", "--lawsid"], + description: + "Existing log analytics workspace id to use for log monitoring", + args: { name: "log-analytics-workspace-arm-id" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a SAP Monitor", + options: [ + { + name: ["--monitor-name", "-n"], + description: "The name of the SAP monitor", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { name: "list", description: "List SAP Monitors" }, + { + name: "show", + description: "Get the details of a SAP Monitor", + options: [ + { + name: ["--monitor-name", "-n"], + description: "The name of the SAP monitor", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Updates the tags field of a SAP Monitor", + options: [ + { + name: ["--monitor-name", "-n"], + description: "The name of the SAP monitor", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "provider-instance", + description: "Manage the provider instance for the SAP Monitor", + subcommands: [ + { + name: "create", + description: "Create a new provider instance for the SAP Monitor", + options: [ + { + name: ["--monitor-name", "-n"], + description: "The name of the SAP monitor", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: "--provider-instance-name", + description: "The name of the provider instance", + args: { name: "provider-instance-name" }, + isRequired: true, + }, + { + name: "--provider-instance-properties", + description: + "The properties of the provider instance (Should be of JSON format)", + args: { name: "provider-instance-properties" }, + isRequired: true, + }, + { + name: "--provider-instance-type", + description: "The type of the provider instance", + args: { name: "provider-instance-type" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--provider-instance-metadata", + description: + "The metadata of the provider instance (Should be of JSON format)", + args: { name: "provider-instance-metadata" }, + }, + ], + }, + { + name: "delete", + description: "Delete a provider instance from the SAP Monitor", + options: [ + { + name: ["--monitor-name", "-n"], + description: "The name of the SAP monitor", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: "--provider-instance-name", + description: "The name of the provider instance", + args: { name: "provider-instance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List provider instances for the SAP Monitor", + options: [ + { + name: ["--monitor-name", "-n"], + description: "The name of the SAP monitor", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the details of a provider instance for the SAP Monitor", + options: [ + { + name: ["--monitor-name", "-n"], + description: "The name of the SAP monitor", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: "--provider-instance-name", + description: "The name of the provider instance", + args: { name: "provider-instance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/scenario.ts b/src/az/2.53.0/scenario.ts new file mode 100644 index 000000000000..e9b37fa20052 --- /dev/null +++ b/src/az/2.53.0/scenario.ts @@ -0,0 +1,39 @@ +const completion: Fig.Spec = { + name: "scenario", + description: "E2E Scenario Usage Guidance", + subcommands: [ + { + name: "guide", + description: + "Fuzzy search E2E scenario examples and execute them with walk-through", + options: [ + { + name: "--match-rule", + description: + 'The matching rules for multi-keywords: "and" is to search scenarios that match all keywords, "or" is to search scenarios that match any keyword, "all" is to search scenarios that match all keywords first, if the number is not enough then search any keyword', + args: { name: "match-rule", suggestions: ["all", "and", "or"] }, + }, + { + name: "--scope", + description: + 'The scope of search: "scenario" is to search whether the title and description in E2E scenario data contain keywords, "command" is to search whether the commands in E2E scenario data contain keywords, "all" is to search all contents', + args: { name: "scope", suggestions: ["all", "command", "scenario"] }, + }, + { + name: "--top", + description: + "Specify the number of results to return. The maximum value is limited to 20", + args: { name: "top" }, + }, + ], + args: { + name: "", + description: + "Keywords for search. If there are multiple keywords, please separate them with spaces. Fuzzy search is supported, and the returned results are sorted by keyword matching degree", + isOptional: true, + }, + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/scvmm.ts b/src/az/2.53.0/scvmm.ts new file mode 100644 index 000000000000..20c50f34910b --- /dev/null +++ b/src/az/2.53.0/scvmm.ts @@ -0,0 +1,2743 @@ +const completion: Fig.Spec = { + name: "scvmm", + description: "Commands for managing Arc for SCVMM resources", + subcommands: [ + { + name: "avset", + description: "Manage Arc for SCVMM Availability Set resources", + subcommands: [ + { + name: "create", + description: "Create availabilty set resource", + options: [ + { + name: ["--avset-name", "-a"], + description: "Name of the Availabilty Set", + args: { name: "avset-name" }, + isRequired: true, + }, + { + name: "--custom-location", + description: + "Name or ID of the custom location that will manage this resource", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vmmserver", "-v"], + description: + "Name or ID of the vmmserver that is managing this resource", + args: { name: "vmmserver" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete availabilty set resource", + options: [ + { + name: "--force", + description: "Force the resource to be deleted from azure", + args: { name: "force" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve a list of availabilty sets", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get details of an availabilty set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update availabilty set resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the availability set is met", + options: [ + { + name: "--availability-set-name", + description: "Name of the AvailabilitySet", + args: { name: "availability-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "cloud", + description: "Manage Arc for SCVMM Cloud resources", + subcommands: [ + { + name: "create", + description: "Create cloud resource", + options: [ + { + name: "--custom-location", + description: + "Name or ID of the custom location that will manage this resource", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--inventory-item", "-i"], + description: "Name or ID of the inventory item", + args: { name: "inventory-item" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--uuid", + description: "The ID of the resource created in the VMM", + args: { name: "uuid" }, + }, + { + name: ["--vmmserver", "-v"], + description: + "Name or ID of the vmmserver that is managing this resource", + args: { name: "vmmserver" }, + }, + ], + }, + { + name: "delete", + description: "Delete cloud resource", + options: [ + { + name: "--force", + description: "Force the resource to be deleted from azure", + args: { name: "force" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve a list of clouds", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get details of a cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update cloud resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the cloud is met", + options: [ + { + name: "--cloud-name", + description: "Name of the Cloud", + args: { name: "cloud-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "virtual-network", + description: "Manage Arc for SCVMM Virtual Network resources", + subcommands: [ + { + name: "create", + description: "Create virtual-network resource", + options: [ + { + name: "--custom-location", + description: + "Name or ID of the custom location that will manage this resource", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--inventory-item", "-i"], + description: "Name or ID of the inventory item", + args: { name: "inventory-item" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--uuid", + description: "The ID of the resource created in the VMM", + args: { name: "uuid" }, + }, + { + name: ["--vmmserver", "-v"], + description: + "Name or ID of the vmmserver that is managing this resource", + args: { name: "vmmserver" }, + }, + ], + }, + { + name: "delete", + description: "Delete virtual-network resource", + options: [ + { + name: "--force", + description: "Force the resource to be deleted from azure", + args: { name: "force" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve a list of virtual-networks", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get details of a virtual-network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update virtual-network resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the virtual-network is met", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--virtual-network-name", + description: "Name of the VirtualNetwork", + args: { name: "virtual-network-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "vm", + description: "Manage Arc for SCVMM Virtual Machine resources", + subcommands: [ + { + name: "create", + description: "Create VM resource", + options: [ + { + name: "--custom-location", + description: + "Name or ID of the custom location that will manage this resource", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--admin-password", + description: "Admin password for the vm", + args: { name: "admin-password" }, + }, + { + name: ["--availability-sets", "-a"], + description: + "List of the name or the ID of the availability sets for the vm", + args: { name: "availability-sets" }, + }, + { + name: ["--cloud", "-c"], + description: "Name or ID of the cloud for deploying the vm", + args: { name: "cloud" }, + }, + { + name: "--cpu-count", + description: "Number of desired vCPUs for the vm", + args: { name: "cpu-count" }, + }, + { + name: "--disk", + description: + "Disk overrides for the vm.Usage: --disk name=<> disk-size=<> template-disk-id=<> bus-type=<> bus=<> lun=<> vhd-type=<> qos-name=<> qos-id=<>", + args: { name: "disk" }, + }, + { + name: "--dynamic-memory-enabled", + description: "If dynamic memory should be enabled", + args: { + name: "dynamic-memory-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--dynamic-memory-max", + description: "DynamicMemoryMax in MBs for the vm", + args: { name: "dynamic-memory-max" }, + }, + { + name: "--dynamic-memory-min", + description: "DynamicMemoryMin in MBs for the vm", + args: { name: "dynamic-memory-min" }, + }, + { + name: ["--inventory-item", "-i"], + description: "Name or ID of the inventory item", + args: { name: "inventory-item" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--memory-size", + description: "Desired memory size in MBs for the vm", + args: { name: "memory-size" }, + }, + { + name: "--nic", + description: + "Network overrides for the vm.Usage: --nic name=<> network=<> ipv4-address-type=<> ipv6-address-type=<> mac-address-type=<> mac-address=<>", + args: { name: "nic" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--vm-template", "-t"], + description: "Name or ID of the vm template for deploying the vm", + args: { name: "vm-template" }, + }, + { + name: ["--vmmserver", "-v"], + description: + "Name or ID of the vmmserver that is managing this resource", + args: { name: "vmmserver" }, + }, + ], + }, + { + name: "create-checkpoint", + description: "Create a VM checkpoint", + options: [ + { + name: "--checkpoint-description", + description: "Description of the checkpoint to be created", + args: { name: "checkpoint-description" }, + isRequired: true, + }, + { + name: "--checkpoint-name", + description: "Name of the checkpoint to be created", + args: { name: "checkpoint-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete VM resource", + options: [ + { + name: "--delete-from-host", + description: "Delete the VM from the VMware host", + args: { name: "delete-from-host" }, + }, + { + name: "--delete-machine", + description: + "Delete the parent Microsoft.HybridCompute Machine resource", + args: { name: "delete-machine" }, + }, + { + name: "--force", + description: "Force delete the azure resource", + args: { name: "force" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "delete-checkpoint", + description: "Delete the specified VM checkpoint", + options: [ + { + name: "--checkpoint-id", + description: "Checkpoint UUID", + args: { name: "checkpoint-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Retrieve a list of VMs", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "restart", + description: "Restart a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restore-checkpoint", + description: "Restore VM checkpoint", + options: [ + { + name: "--checkpoint-id", + description: "Checkpoint UUID", + args: { name: "checkpoint-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get details of an VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-shutdown", + description: "Skip shutdown and power-off immediately", + args: { name: "skip-shutdown", suggestions: ["false", "true"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a VM. Management of VM disks and NICs are not using this subcommand. There are separate subcommands for the same", + options: [ + { + name: ["--availability-sets", "-a"], + description: + "List of the name or the ID of the availability sets for the vm", + args: { name: "availability-sets" }, + }, + { + name: "--cpu-count", + description: "Number of desired vCPUs for the vm", + args: { name: "cpu-count" }, + }, + { + name: "--dynamic-memory-enabled", + description: "If dynamic memory should be enabled", + args: { + name: "dynamic-memory-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--dynamic-memory-max", + description: "DynamicMemoryMax in MBs for the vm", + args: { name: "dynamic-memory-max" }, + }, + { + name: "--dynamic-memory-min", + description: "DynamicMemoryMin in MBs for the vm", + args: { name: "dynamic-memory-min" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--memory-size", + description: "Desired memory size in MBs for the vm", + args: { name: "memory-size" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the vm is met", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--virtual-machine-name", + description: "Name of the VirtualMachine", + args: { name: "virtual-machine-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "disk", + description: "Managing the Disks of Arc for SCVMM Virtual Machine", + subcommands: [ + { + name: "add", + description: "Add a virtual disk to a virtual machine", + options: [ + { + name: "--bus", + description: "Bus Number for the disk", + args: { name: "bus" }, + isRequired: true, + }, + { + name: "--disk-size", + description: "Size of the disk in GB", + args: { name: "disk-size" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Disk", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--bus-type", + description: "Bus Type of the Disk", + args: { name: "bus-type", suggestions: ["IDE", "SCSI"] }, + }, + { + name: "--lun", + description: "Lun Number for the disk", + args: { name: "lun" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--qos-id", + description: + "UUID of the Storage QoS Policy to be applied on the disk", + args: { name: "qos-id" }, + }, + { + name: "--qos-name", + description: + "Name of the Storage QoS Policy to be applied on the disk", + args: { name: "qos-name" }, + }, + { + name: "--vhd-type", + description: "VHD Type of the Disk", + args: { + name: "vhd-type", + suggestions: ["Dynamic", "Static"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete disks of a virtual machine", + options: [ + { + name: "--disks", + description: "Names of the Disks", + args: { name: "disks" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve the list of disks present in a VM", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a disk present in a VM", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Disk", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a disk of a VM", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--bus", + description: "Bus Number for the disk", + args: { name: "bus" }, + }, + { + name: "--bus-type", + description: "Bus Type of the Disk", + args: { name: "bus-type", suggestions: ["IDE", "SCSI"] }, + }, + { + name: "--disk-id", + description: "UUID of the Disk", + args: { name: "disk-id" }, + }, + { + name: "--disk-size", + description: "Size of the disk in GB", + args: { name: "disk-size" }, + }, + { + name: "--lun", + description: "Lun Number for the disk", + args: { name: "lun" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Disk", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--qos-id", + description: + "UUID of the Storage QoS Policy to be applied on the disk", + args: { name: "qos-id" }, + }, + { + name: "--qos-name", + description: + "Name of the Storage QoS Policy to be applied on the disk", + args: { name: "qos-name" }, + }, + { + name: "--vhd-type", + description: "VHD Type of the Disk", + args: { + name: "vhd-type", + suggestions: ["Dynamic", "Static"], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the vm disk is met", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--virtual-machine-name", + description: "Name of the VirtualMachine", + args: { name: "virtual-machine-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "extension", + description: "Manage vm extension with scvmm", + subcommands: [ + { + name: "create", + description: "The operation to create the extension", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--name", + description: "The name of the vm extension", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: + "The name of the vm where the extension should be created or updated", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--auto-upgrade-minor", + description: + "Indicate whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true", + args: { + name: "auto-upgrade-minor", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-auto-upgrade", + description: + "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available", + args: { + name: "enable-auto-upgrade", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-update-tag", + description: + "How the extension handler should be forced to update even if the extension configuration has not changed", + args: { name: "force-update-tag" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--protected-settings", + description: + "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. Expected value: json-string/json-file/@json-file", + args: { name: "protected-settings" }, + }, + { + name: "--publisher", + description: "The name of the extension handler publisher", + args: { name: "publisher" }, + }, + { + name: "--settings", + description: + "Json formatted public settings for the extension. Expected value: json-string/json-file/@json-file", + args: { name: "settings" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--type", + description: + 'Specify the type of the extension; an example is "CustomScriptExtension"', + args: { name: "type" }, + }, + { + name: "--type-handler-version", + description: "Specifies the version of the script handler", + args: { name: "type-handler-version" }, + }, + ], + }, + { + name: "delete", + description: "The operation to delete the extension", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "The name of the vm extension", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: + "The name of the vm where the extension should be deleted", + args: { name: "vm-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "The operation to get all extensions of a non-Azure vm", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "The name of the vm containing the extension", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--expand", + description: + "The expand expression to apply on the operation", + args: { name: "expand" }, + }, + ], + }, + { + name: "show", + description: "The operation to get the extension", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: "The name of the vm extension", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: "The name of the vm containing the extension", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "update", + description: "The operation to update the extension", + options: [ + { + name: "--name", + description: "The name of the vm extension", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: + "The name of the vm where the extension should be created or updated", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--auto-upgrade-minor", + description: + "Indicate whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true", + args: { + name: "auto-upgrade-minor", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-auto-upgrade", + description: + "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available", + args: { + name: "enable-auto-upgrade", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-update-tag", + description: + "How the extension handler should be forced to update even if the extension configuration has not changed", + args: { name: "force-update-tag" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--protected-settings", + description: + "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. Expected value: json-string/json-file/@json-file", + args: { name: "protected-settings" }, + }, + { + name: "--publisher", + description: "The name of the extension handler publisher", + args: { name: "publisher" }, + }, + { + name: "--settings", + description: + "Json formatted public settings for the extension. Expected value: json-string/json-file/@json-file", + args: { name: "settings" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--type", + description: + 'Specify the type of the extension; an example is "CustomScriptExtension"', + args: { name: "type" }, + }, + { + name: "--type-handler-version", + description: "Specifies the version of the script handler", + args: { name: "type-handler-version" }, + }, + ], + }, + ], + }, + { + name: "guest-agent", + description: "Vm guest agent", + subcommands: [ + { + name: "enable", + description: "Enable guest agent on the vm", + options: [ + { + name: "--password", + description: + "Username password credentials to use for connecting to the VM", + args: { name: "password" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--username", + description: "Username to use for connecting to the vm", + args: { name: "username" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the VM", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--https-proxy", + description: "HTTPS proxy server url for the VM", + args: { name: "https-proxy" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: + "Get details of a guest agent by guest agent name, resource-group and vm name", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the VM", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "nic", + description: "Managing the NICs of Arc for SCVMM Virtual Machine", + subcommands: [ + { + name: "add", + description: "Add a network interface card to a virtual machine", + options: [ + { + name: ["--name", "-n"], + description: "Name of the NIC", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--ipv4-address-type", + description: "The allocation type of the ipv4 address", + args: { + name: "ipv4-address-type", + suggestions: ["Dynamic", "Static"], + }, + }, + { + name: "--ipv6-address-type", + description: "The allocation type of the ipv6 address", + args: { + name: "ipv6-address-type", + suggestions: ["Dynamic", "Static"], + }, + }, + { + name: "--mac-address", + description: "MAC address of the NIC", + args: { name: "mac-address" }, + }, + { + name: "--mac-address-type", + description: "The allocation type of the MAC address", + args: { + name: "mac-address-type", + suggestions: ["Dynamic", "Static"], + }, + }, + { + name: "--network", + description: "Name or Id of the virtual network", + args: { name: "network" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete NICs of a virtual machine", + options: [ + { + name: "--nics", + description: "Names of the NICs", + args: { name: "nics" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve the list of NICs present in a VM", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the details of a NIC present in a VM", + options: [ + { + name: ["--name", "-n"], + description: "Name of the NIC", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a NIC of a VM", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "Name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--disconnect", + description: + "Disconnect the NIC from any virtual network it is connected to", + }, + { + name: "--ipv4-address-type", + description: "The allocation type of the ipv4 address", + args: { + name: "ipv4-address-type", + suggestions: ["Dynamic", "Static"], + }, + }, + { + name: "--ipv6-address-type", + description: "The allocation type of the ipv6 address", + args: { + name: "ipv6-address-type", + suggestions: ["Dynamic", "Static"], + }, + }, + { + name: "--mac-address-type", + description: "The allocation type of the MAC address", + args: { + name: "mac-address-type", + suggestions: ["Dynamic", "Static"], + }, + }, + { + name: ["--name", "-n"], + description: "Name of the NIC", + args: { name: "name" }, + }, + { + name: "--network", + description: "Name or Id of the virtual network", + args: { name: "network" }, + }, + { + name: "--nic-id", + description: "UUID of the NIC", + args: { name: "nic-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the vm nic is met", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--virtual-machine-name", + description: "Name of the VirtualMachine", + args: { name: "virtual-machine-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "vm-template", + description: "Manage Arc for SCVMM Virtual Machine Template resources", + subcommands: [ + { + name: "create", + description: "Create vm-template resource", + options: [ + { + name: "--custom-location", + description: + "Name or ID of the custom location that will manage this resource", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--inventory-item", "-i"], + description: "Name or ID of the inventory item", + args: { name: "inventory-item" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--uuid", + description: "The ID of the resource created in the VMM", + args: { name: "uuid" }, + }, + { + name: ["--vmmserver", "-v"], + description: + "Name or ID of the vmmserver that is managing this resource", + args: { name: "vmmserver" }, + }, + ], + }, + { + name: "delete", + description: "Delete vm-template resource", + options: [ + { + name: "--force", + description: "Force the resource to be deleted from azure", + args: { name: "force" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve a list of vm-templates", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get details of a vm-template", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update vm-template resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the vm-template is met", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-template-name", + description: "Name of the VirtualMachineTemplate", + args: { name: "vm-template-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "vmmserver", + description: "Manage Arc for SCVMM VMMServer resources", + subcommands: [ + { + name: "connect", + description: "Create a vmmserver resource", + options: [ + { + name: "--custom-location", + description: + "Name or ID of the custom location that will manage this resource", + args: { name: "custom-location" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--fqdn", + description: "FQDN/IP address of the vmmserver", + args: { name: "fqdn" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--password", + description: + "Username password credentials to use for connecting to the vmmserver", + args: { name: "password" }, + }, + { + name: "--port", + description: "The port of the vmmserver", + args: { name: "port" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--username", + description: "Username to use for connecting to the vmmserver", + args: { name: "username" }, + }, + ], + }, + { + name: "delete", + description: "Delete a vmmserver resource", + options: [ + { + name: "--force", + description: "Force the resource to be deleted from azure", + args: { name: "force" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Retrieve a list of vmmservers", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get details of a vmmserver", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update vmmserver resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the resource", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the vmmserver is met", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vmm-server-name", + description: "Name of the VMMServer", + args: { name: "vmm-server-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "inventory-item", + description: "Inventory item resource", + subcommands: [ + { + name: "list", + description: + "Retrieve a list of inventory items present in a vmmserver", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vmmserver", "-v"], + description: + "Name or ID of the vmmserver that is managing this resource", + args: { name: "vmmserver" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get details of an inventory item present in a vmmserver", + options: [ + { + name: ["--inventory-item", "-i"], + description: "Name or ID of the inventory item", + args: { name: "inventory-item" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--vmmserver", "-v"], + description: + "Name or ID of the vmmserver that is managing this resource", + args: { name: "vmmserver" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/search.ts b/src/az/2.53.0/search.ts new file mode 100644 index 000000000000..66f22623ca06 --- /dev/null +++ b/src/az/2.53.0/search.ts @@ -0,0 +1,845 @@ +const completion: Fig.Spec = { + name: "search", + description: "Manage Azure Search services, admin keys and query keys", + subcommands: [ + { + name: "admin-key", + description: "Manage Azure Search admin keys", + subcommands: [ + { + name: "renew", + description: + "Regenerates either the primary or secondary admin API key", + options: [ + { + name: "--key-kind", + description: "The type (primary or secondary) of the admin key", + args: { name: "key-kind" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets the primary and secondary admin API keys for the specified Azure Cognitive Search service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: "Manage Azure Search private endpoint connections", + subcommands: [ + { + name: "delete", + description: + "Disconnects the private endpoint connection and deletes it from the search service", + options: [ + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: + "The name of the private endpoint connection to the Azure Cognitive Search service with the specified resource group. Required", + args: { name: "private-endpoint-connection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Gets a list of all private endpoint connections in the given service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets the details of the private endpoint connection to the search service in the given resource group", + options: [ + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: + "The name of the private endpoint connection to the Azure Cognitive Search service with the specified resource group. Required", + args: { name: "private-endpoint-connection-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an existing private endpoint connection in a Search service in the given resource group", + options: [ + { + name: "--actions-required", + description: + "Custom 'actions required' message when updating the private endpoint connection resource", + args: { name: "actions-required" }, + isRequired: true, + }, + { + name: "--description", + description: + "Custom description when updating the private endpoint connection resource", + args: { name: "description" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the private endpoint connection resource; for example: {the name of the private endpoint resource}.{guid}", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--status", + description: + 'The updated status of the private endpoint connection resource. Possible values include: "Pending", "Approved", "Rejected", "Disconnected"', + args: { name: "status" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage Azure Search private link resources", + subcommands: [ + { + name: "list", + description: + "Gets a list of all supported private link resource types for the given service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "query-key", + description: "Manage Azure Search query keys", + subcommands: [ + { + name: "create", + description: + "Generates a new query key for the specified search service", + options: [ + { + name: ["--name", "-n"], + description: "The name of the query key", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Deletes the specified query key", + options: [ + { + name: "--key-value", + description: "The value of the query key", + args: { name: "key-value" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Returns the list of query API keys for the given Azure Cognitive Search service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "service", + description: "Manage Azure Search services", + subcommands: [ + { + name: "create", + description: "Creates a Search service in the given resource group", + options: [ + { + name: ["--name", "-n"], + description: "The name of the search service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: + "The SKU of the search service, which determines price tier and capacity limits. Accepted Values: Free, Basic, Standard, Standard2, Standard3", + args: { + name: "sku", + suggestions: [ + "Basic", + "Free", + "Standard", + "Standard2", + "Standard3", + ], + }, + isRequired: true, + }, + { + name: "--aad-auth-failure-mode", + description: + 'Describes response code from calls to the search service that failed authentication; possible values include "http401WithBearerChallenge", "http403"; This cannot be combined with disable_local_auth', + args: { name: "aad-auth-failure-mode" }, + }, + { + name: "--auth-options", + description: + 'Options for authenticating calls to the search service; possible values include"aadOrApiKey", "apiKeyOnly"; This cannot be combined with disable_local_auth', + args: { name: "auth-options" }, + }, + { + name: "--disable-local-auth", + description: + "If calls to the search service will not be permitted to utilize API keys for authentication; This cannot be combined with auth_options", + args: { + name: "disable-local-auth", + suggestions: ["false", "true"], + }, + }, + { + name: "--hosting-mode", + description: + 'The hosting mode; possible values include: "default", "highDensity"; Note that "highDensity" is only applicable to the standard3 SKU', + args: { name: "hosting-mode" }, + }, + { + name: "--identity-type", + description: + 'The identity type; possible values include: "None", "SystemAssigned"', + args: { name: "identity-type" }, + }, + { + name: "--ip-rules", + description: + 'Public IP(v4) addresses or CIDR ranges to the search service, seperated by comma or semicolon; these IP rules are applicable only when --public-network-access is "enabled"', + args: { name: "ip-rules" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--partition-count", + description: "Number of partitions in the search service", + args: { name: "partition-count" }, + }, + { + name: ["--public-network-access", "--public-access"], + description: + 'Public accessibility to the search service; allowed values are "enabled" or "disabled"', + args: { name: "public-network-access" }, + }, + { + name: "--replica-count", + description: "Number of replicas in the search service", + args: { name: "replica-count" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes a search service in the given resource group, along with its associated resources", + options: [ + { + name: ["--name", "-n"], + description: "The name of the search service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Gets a list of all Search services in the given resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets the search service with the given name in the given resource group", + options: [ + { + name: ["--name", "-n"], + description: "The name of the search service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update partition and replica of the given search service", + options: [ + { + name: ["--name", "-n"], + description: "The name of the search service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aad-auth-failure-mode", + description: + 'Describes response code from calls to the search service that failed authentication; possible values include "http401WithBearerChallenge", "http403"; This cannot be combined with disable_local_auth', + args: { name: "aad-auth-failure-mode" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--auth-options", + description: + 'Options for authenticating calls to the search service; possible values include "aadOrApiKey", "apiKeyOnly"; This cannot be combined with disable_local_auth', + args: { name: "auth-options" }, + }, + { + name: "--disable-local-auth", + description: + "If calls to the search service will not be permitted to utilize API keys for authentication. This cannot be combined with auth_options", + args: { + name: "disable-local-auth", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--identity-type", + description: + 'The identity type; possible values include: "None", "SystemAssigned"', + args: { name: "identity-type" }, + }, + { + name: "--ip-rules", + description: + "Public IP(v4) addresses or CIDR ranges to the search service, seperated by comma(',') or semicolon(';'); If spaces (' '), ',' or ';' is provided, any existing IP rule will be nullified and no public IP rule is applied. These IP rules are applicable only when public_network_access is \"enabled\"", + args: { name: "ip-rules" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--partition-count", + description: "Number of partitions in the search service", + args: { name: "partition-count" }, + }, + { + name: ["--public-network-access", "--public-access"], + description: + 'Public accessibility to the search service; allowed values are "enabled" or "disabled"', + args: { name: "public-network-access" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--replica-count", + description: "Number of replicas in the search service", + args: { name: "replica-count" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: "Wait for async service operations", + options: [ + { + name: ["--name", "-n"], + description: "The name of the search service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "shared-private-link-resource", + description: "Manage Azure Search shared private link resources", + subcommands: [ + { + name: "create", + description: + "Create shared privatelink resources in a Search service in the given resource group", + options: [ + { + name: "--group-id", + description: + "The group id of the resource; for example: blob, sql or vault", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the shared private link resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-id", + description: + "Fully qualified resource ID for the resource. for example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/ {resourceProviderNamespace}/{resourceType}/{resourceName}", + args: { name: "resource-id" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--request-message", + description: + "Custom request message when creating or updating the shared privatelink resources", + args: { name: "request-message" }, + }, + ], + }, + { + name: "delete", + description: + "Initiates the deletion of the shared private link resource from the search service", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the shared private link resource managed by the Azure Cognitive Search service within the specified resource group. Required", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Gets a list of all shared private link resources managed by the given service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets the details of the shared private link resource managed by the search service in the given resource group", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the shared private link resource managed by the Azure Cognitive Search service within the specified resource group. Required", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update shared privatelink resources in a Search service in the given resource group", + options: [ + { + name: "--group-id", + description: + "The group id of the resource; for example: blob, sql or vault", + args: { name: "group-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the shared private link resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--request-message", + description: + "Custom request message when creating or updating the shared privatelink resources", + args: { name: "request-message" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-id", + description: + "Fully qualified resource ID for the resource; for example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/ {resourceProviderNamespace}/{resourceType}/{resourceName}", + args: { name: "resource-id" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "wait", + description: "Wait for async shared private link resource operations", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the shared private link resource managed by the Azure Cognitive Search service within the specified resource group. Required", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the search service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/security.ts b/src/az/2.53.0/security.ts new file mode 100644 index 000000000000..a9b0152e19ab --- /dev/null +++ b/src/az/2.53.0/security.ts @@ -0,0 +1,2540 @@ +const completion: Fig.Spec = { + name: "security", + description: "Manage your security posture with Microsoft Defender for Cloud", + subcommands: [ + { + name: "adaptive-application-controls", + description: + "Enable control which applications can run on your Azure and non-Azure machines (Windows and Linux)", + subcommands: [ + { + name: "list", + description: "Adaptive Application Controls - List", + }, + { + name: "show", + description: "Adaptive Application Controls - Get", + options: [ + { + name: "--group-name", + description: "Name of an application control VM/server group", + args: { name: "group-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + 'Location of the resource. Possible values are "centralsus", "westeurope". Please use "list" operation to get all resources and locations', + args: { name: "location" }, + }, + ], + }, + ], + }, + { + name: "adaptive_network_hardenings", + description: "View all Adaptive Network Hardening resources", + subcommands: [ + { + name: "list", + description: + "Gets a list of Adaptive Network Hardenings resources in scope of an extended resource", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the resource", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--resource-namespace", + description: "The Namespace of the resource", + args: { name: "resource-namespace" }, + isRequired: true, + }, + { + name: "--resource-type", + description: "The type of the resource", + args: { name: "resource-type" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a single Adaptive Network Hardening resource", + options: [ + { + name: "--adaptive-network-hardenings-resource-name", + description: "Adaptive Network Hardening resource name", + args: { name: "adaptive-network-hardenings-resource-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-name", + description: "Name of the resource", + args: { name: "resource-name" }, + isRequired: true, + }, + { + name: "--resource-namespace", + description: "The Namespace of the resource", + args: { name: "resource-namespace" }, + isRequired: true, + }, + { + name: "--resource-type", + description: "The type of the resource", + args: { name: "resource-type" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "alert", + description: "View security alerts", + subcommands: [ + { + name: "list", + description: "List security alerts", + options: [ + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Shows a security alert", + options: [ + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Updates a security alert status", + options: [ + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--status", + description: + 'Target status of the alert. possible values are "dismiss", "activate", "resolve" and "inprogress"', + args: { name: "status" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "alerts-suppression-rule", + description: "View and manage alerts suppression rules", + subcommands: [ + { + name: "delete", + description: "Delete an alerts suppression rule", + options: [ + { + name: "--rule-name", + description: "The unique name of the alerts suppression rule", + args: { name: "rule-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete_scope", + description: "Delete an alerts suppression rule scope", + options: [ + { + name: "--field", + description: "Entity name", + args: { name: "field" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "The unique name of the alerts suppression rule", + args: { name: "rule-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List all alerts suppression rule on a subscription scope", + }, + { + name: "show", + description: "Shows an alerts suppression rule", + options: [ + { + name: "--rule-name", + description: "The unique name of the alerts suppression rule", + args: { name: "rule-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Updates or create an alerts suppression rule", + options: [ + { + name: "--alert-type", + description: + 'Type of the alert to automatically suppress. For all alert types, use "*"', + args: { name: "alert-type" }, + isRequired: true, + }, + { + name: "--reason", + description: "The reason for dismissing the alert", + args: { name: "reason" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "The unique name of the alerts suppression rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--state", + description: + 'Possible states of the rule. Possible values are "Enabled" and "Disabled"', + args: { name: "state" }, + isRequired: true, + }, + { + name: "--comment", + description: "Any comment regarding the rule", + args: { name: "comment" }, + }, + { + name: "--expiration-date-utc", + description: + "Expiration date of the rule, if value is not provided or provided as null this field will default to the maximum allowed expiration date", + args: { name: "expiration-date-utc" }, + }, + ], + }, + { + name: "upsert_scope", + description: "Update an alerts suppression rule with scope element", + options: [ + { + name: "--field", + description: "Entity name", + args: { name: "field" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "The unique name of the alerts suppression rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--any-of", + description: "A list of strings to scope the suppression rule by", + args: { name: "any-of" }, + }, + { + name: "--contains-substring", + description: "The string to scope the suppression rule by", + args: { name: "contains-substring" }, + }, + ], + }, + ], + }, + { + name: "allowed_connections", + description: + "View all possible traffic between resources for the subscription and location, based on connection type", + subcommands: [ + { + name: "list", + description: + "List of all possible traffic between resources for the subscription", + }, + { + name: "show", + description: + "List all possible traffic between resources for the subscription and location, based on connection type", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "assessment", + description: "View your security assessment results", + subcommands: [ + { + name: "create", + description: "Creates a customer managed security assessment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--status-code", + description: + 'Progremmatic code for the result of the assessment. can be "Healthy", "Unhealthy" or "NotApplicable"', + args: { name: "status-code" }, + isRequired: true, + }, + { + name: "--additional-data", + description: + "Data that is attached to the assessment result for better investigations or status clarity", + args: { name: "additional-data" }, + }, + { + name: "--assessed-resource-id", + description: "The target resource for this assessment", + args: { name: "assessed-resource-id" }, + }, + { + name: "--status-cause", + description: + "Progremmatic code for the cause of the assessment result", + args: { name: "status-cause" }, + }, + { + name: "--status-description", + description: + "Human readable description of the cause of the assessment result", + args: { name: "status-description" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a security assessment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--assessed-resource-id", + description: "The target resource for this assessment", + args: { name: "assessed-resource-id" }, + }, + ], + }, + { + name: "list", + description: "List all security assessment results", + }, + { + name: "show", + description: "Shows a security assessment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--assessed-resource-id", + description: "The target resource for this assessment", + args: { name: "assessed-resource-id" }, + }, + ], + }, + ], + }, + { + name: "assessment-metadata", + description: "View your security assessment metadata", + subcommands: [ + { + name: "create", + description: "Creates a customer managed security assessment type", + options: [ + { + name: "--description", + description: + "Detailed string that will help users to understand the assessment and how it is calculated", + args: { name: "description" }, + isRequired: true, + }, + { + name: "--display-name", + description: "Human readable title for this object", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--severity", + description: + "Indicates the importance of the security risk if the assessment is unhealthy", + args: { name: "severity" }, + isRequired: true, + }, + { + name: "--remediation-description", + description: + "Detailed string that will help users to understand the different ways to mitigate or fix the security issue", + args: { name: "remediation-description" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes a security assessment type and all it's assessment results", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all security assessment results", + }, + { + name: "show", + description: "Shows a security assessment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "atp", + description: "View and manage Advanced Threat Protection settings", + subcommands: [ + { + name: "cosmosdb", + description: + "View and manage Advanced Threat Protection settings for Cosmos DB accounts", + subcommands: [ + { + name: "show", + description: + "Display Advanced Threat Protection settings for an Azure Cosmos DB account", + options: [ + { + name: "--cosmosdb-account", + description: "Name of an existing Cosmos DB account", + args: { name: "cosmosdb-account" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Toggle status of Advanced Threat Protection for an Azure Cosmos DB account", + options: [ + { + name: "--cosmosdb-account", + description: "Name of an existing Cosmos DB account", + args: { name: "cosmosdb-account" }, + isRequired: true, + }, + { + name: "--is-enabled", + description: + "Enable or disable Advanced Threat Protection for a received storage or Cosmos DB account", + args: { name: "is-enabled", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "storage", + description: + "View and manage Advanced Threat Protection settings for storage accounts", + subcommands: [ + { + name: "show", + description: + "Display Advanced Threat Protection settings for a storage account", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-account", + description: "Name of an existing Storage account", + args: { name: "storage-account" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Toggle status of Advanced Threat Protection for a storage account", + options: [ + { + name: "--is-enabled", + description: + "Enable or disable Advanced Threat Protection for a received storage or Cosmos DB account", + args: { name: "is-enabled", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-account", + description: "Name of an existing Storage account", + args: { name: "storage-account" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "auto-provisioning-setting", + description: "View your auto provisioning settings", + subcommands: [ + { + name: "list", + description: "List the auto provisioning settings", + }, + { + name: "show", + description: "Shows an auto provisioning setting", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Updates your automatic provisioning settings on the subscription", + options: [ + { + name: "--auto-provision", + description: + 'Automatic provisioning toggle. possible values are "On" or "Off"', + args: { name: "auto-provision" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "automation", + description: "View your security automations", + subcommands: [ + { + name: "create_or_update", + description: "Creates or update a security automation", + options: [ + { + name: "--actions", + description: + "A collection of the actions which are triggered if all the configured rules evaluations, within at least one rule set, are true", + args: { name: "actions" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scopes", + description: + "A collection of scopes on which the security automations logic is applied", + args: { name: "scopes" }, + isRequired: true, + }, + { + name: "--sources", + description: + "A collection of the source event types which evaluate the security automation set of rules", + args: { name: "sources" }, + isRequired: true, + }, + { + name: "--description", + description: "The security automation description", + args: { name: "description" }, + }, + { + name: "--etag", + description: + "Entity tag is used for comparing two or more entities from the same requested resource", + args: { name: "etag" }, + }, + { + name: "--isEnabled", + description: + "Indicates whether the security automation is enabled", + args: { name: "isEnabled" }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: "--tags", + description: + "A list of key value pairs that describe the resource", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a security automation", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List all security automations under subscription/resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Shows a security automation", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "validate", + description: + "Validates a security automation model before create or update", + options: [ + { + name: "--actions", + description: + "A collection of the actions which are triggered if all the configured rules evaluations, within at least one rule set, are true", + args: { name: "actions" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scopes", + description: + "A collection of scopes on which the security automations logic is applied", + args: { name: "scopes" }, + isRequired: true, + }, + { + name: "--sources", + description: + "A collection of the source event types which evaluate the security automation set of rules", + args: { name: "sources" }, + isRequired: true, + }, + { + name: "--description", + description: "The security automation description", + args: { name: "description" }, + }, + { + name: "--etag", + description: + "Entity tag is used for comparing two or more entities from the same requested resource", + args: { name: "etag" }, + }, + { + name: "--isEnabled", + description: + "Indicates whether the security automation is enabled", + args: { name: "isEnabled" }, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: "--tags", + description: + "A list of key value pairs that describe the resource", + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "automation-action-event-hub", + description: "Creates security automation event hub action", + subcommands: [ + { + name: "create", + description: "Creates security automation event hub action", + options: [ + { + name: "--connection-string", + description: + "The target Event Hub connection string (it will not be included in any response)", + args: { name: "connection-string" }, + isRequired: true, + }, + { + name: "--event-hub-resource-id", + description: "The target Event Hub Azure Resource ID", + args: { name: "event-hub-resource-id" }, + isRequired: true, + }, + { + name: "--sas-policy-name", + description: "The target Event Hub SAS policy name", + args: { name: "sas-policy-name" }, + }, + ], + }, + ], + }, + { + name: "automation-action-logic-app", + description: "Creates security automation logic app action", + subcommands: [ + { + name: "create", + description: "Creates security automation logic app action", + options: [ + { + name: "--logic-app-resource-id", + description: + "The triggered Logic App Azure Resource ID. This can also reside on other subscriptions, given that you have permissions to trigger the Logic App", + args: { name: "logic-app-resource-id" }, + isRequired: true, + }, + { + name: "--uri", + description: + "The Logic App trigger URI endpoint (it will not be included in any response)", + args: { name: "uri" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "automation-action-workspace", + description: "Creates security automation workspace action", + subcommands: [ + { + name: "create", + description: "Creates security automation workspace action", + options: [ + { + name: "--workspace-resource-id", + description: + "The fully qualified Log Analytics Workspace Azure Resource ID", + args: { name: "workspace-resource-id" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "automation-rule", + description: "Creates security automation rule", + subcommands: [ + { + name: "create", + description: "Creates security automation rule", + options: [ + { + name: "--expected-value", + description: "The expected value", + args: { name: "expected-value" }, + isRequired: true, + }, + { + name: "--operator", + description: + "A valid comparer operator to use. A case-insensitive comparison will be applied for String PropertyType", + args: { name: "operator" }, + isRequired: true, + }, + { + name: "--property-j-path", + description: + "The JPath of the entity model property that should be checked", + args: { name: "property-j-path" }, + isRequired: true, + }, + { + name: "--property-type", + description: + "The data type of the compared operands (string, integer, floating point number or a boolean [true/false]]", + args: { name: "property-type" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "automation-rule-set", + description: "Creates security automation rule set", + subcommands: [ + { + name: "create", + description: "Creates security automation rule set", + options: [ + { + name: "--rules", + description: + "A rule which is evaluated upon event interception. The rule is configured by comparing a specific value from the event model to an expected value. This comparison is done by using one of the supported operators set", + args: { name: "rules" }, + }, + ], + }, + ], + }, + { + name: "automation-scope", + description: "Creates security automation scope", + subcommands: [ + { + name: "create", + description: "Creates security automation scope", + options: [ + { + name: "--description", + description: "The resources scope description", + args: { name: "description" }, + isRequired: true, + }, + { + name: "--scope-path", + description: + "The resources scope path. Can be the subscription on which the automation is defined on or a resource group under that subscription (fully qualified Azure resource IDs)", + args: { name: "scope-path" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "automation-source", + description: "Creates security automation source", + subcommands: [ + { + name: "create", + description: "Creates security automation source", + options: [ + { + name: "--event-source", + description: "A valid event source type", + args: { name: "event-source" }, + isRequired: true, + }, + { + name: "--rule-sets", + description: + 'A set of rules which evaluate upon event interception. A logical disjunction is applied between defined rule sets (logical "or")', + args: { name: "rule-sets" }, + }, + ], + }, + ], + }, + { + name: "contact", + description: "View your security contacts", + subcommands: [ + { + name: "create", + description: "Creates a security contact", + options: [ + { + name: "--email", + description: "E-mail of the security contact", + args: { name: "email" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--alert-notifications", + description: + "Whether to send mail notifications to the security contacts", + args: { name: "alert-notifications" }, + }, + { + name: "--alerts-admins", + description: + "Whether to send mail notifications to the subscription administrators", + args: { name: "alerts-admins" }, + }, + { + name: "--phone", + description: "Phone of the security contact", + args: { name: "phone" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a security contact", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { name: "list", description: "List security contact" }, + { + name: "show", + description: "Shows a security contact", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "discovered-security-solution", + description: "View your discovered security solutions", + subcommands: [ + { + name: "list", + description: "List the discovered security solutions", + }, + { + name: "show", + description: "Shows a discovered security solution", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "external-security-solution", + description: "View your external security solutions", + subcommands: [ + { + name: "list", + description: "List the external security solutions", + }, + { + name: "show", + description: "Shows an external security solution", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "iot-alerts", + description: "View IoT Security aggregated alerts", + subcommands: [ + { + name: "delete", + description: "Dismiss an aggregated IoT Security Alert", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--solution-name", + description: "Name of the IoT Security solution", + args: { name: "solution-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all yours IoT Security solution aggregated alerts", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--solution-name", + description: "Name of the IoT Security solution", + args: { name: "solution-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Shows a single aggregated alert of yours IoT Security solution", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--solution-name", + description: "Name of the IoT Security solution", + args: { name: "solution-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "iot-analytics", + description: "View IoT Security Analytics metrics", + subcommands: [ + { + name: "list", + description: "List all IoT security Analytics metrics", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--solution-name", + description: "Name of the IoT Security solution", + args: { name: "solution-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Shows IoT Security Analytics metrics", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--solution-name", + description: "Name of the IoT Security solution", + args: { name: "solution-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "iot-recommendations", + description: "View IoT Security aggregated recommendations", + subcommands: [ + { + name: "list", + description: + "List all yours IoT Security solution aggregated recommendations", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--solution-name", + description: "Name of the IoT Security solution", + args: { name: "solution-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Shows a single aggregated recommendation of yours IoT Security solution", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--solution-name", + description: "Name of the IoT Security solution", + args: { name: "solution-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "iot-solution", + description: "Manage your IoT Security solution", + subcommands: [ + { + name: "create", + description: "Create your IoT Security solution", + options: [ + { + name: "--display-name", + description: "Resource display name", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--iot-hubs", + description: "IoT Hub resource IDs", + args: { name: "iot-hubs" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--solution-name", + description: "Name of the IoT Security solution", + args: { name: "solution-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete your IoT Security solution", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--solution-name", + description: "Name of the IoT Security solution", + args: { name: "solution-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all IoT Security solutions", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Shows a IoT Security solution", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--solution-name", + description: "Name of the IoT Security solution", + args: { name: "solution-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update your IoT Security solution", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--solution-name", + description: "Name of the IoT Security solution", + args: { name: "solution-name" }, + isRequired: true, + }, + { + name: "--display-name", + description: "Resource display name", + args: { name: "display-name" }, + }, + { + name: "--iot-hubs", + description: "IoT Hub resource IDs", + args: { name: "iot-hubs" }, + }, + ], + }, + ], + }, + { + name: "jit-policy", + description: "Manage your Just in Time network access policies", + subcommands: [ + { + name: "list", + description: "List your Just in Time network access policies", + options: [ + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Shows a Just in Time network access policy", + options: [ + { + name: ["--location", "-l"], + description: "Location of the resource", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "location", + description: + "Shows the Microsoft Defender for Cloud Home region location", + subcommands: [ + { + name: "list", + description: + "Shows the Microsoft Defender for Cloud Home region location", + }, + { + name: "show", + description: + "Shows the Microsoft Defender for Cloud Home region location", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "pricing", + description: + "Enables managing the Azure Defender plan for the subscription", + subcommands: [ + { + name: "create", + description: "Updates the Azure defender plan for the subscription", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--tier", + description: "Pricing tier type", + args: { name: "tier" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "Shows the Azure Defender plans for the subscription", + }, + { + name: "show", + description: "Shows the Azure Defender plan for the subscription", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "regulatory-compliance-assessments", + description: "Regulatory compliance assessments", + subcommands: [ + { + name: "list", + description: + "Get details and state of assessments mapped to selected regulatory compliance control", + options: [ + { + name: "--control-name", + description: "The compliance control name", + args: { name: "control-name" }, + isRequired: true, + }, + { + name: "--standard-name", + description: "The compliance standard name", + args: { name: "standard-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Shows supported regulatory compliance details and state for selected assessment", + options: [ + { + name: "--control-name", + description: "The compliance control name", + args: { name: "control-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--standard-name", + description: "The compliance standard name", + args: { name: "standard-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "regulatory-compliance-controls", + description: "Regulatory compliance controls", + subcommands: [ + { + name: "list", + description: + "List supported of regulatory compliance controls details and state for selected standard", + options: [ + { + name: "--standard-name", + description: "The compliance standard name", + args: { name: "standard-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Shows a regulatory compliance details state for selected standard", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--standard-name", + description: "The compliance standard name", + args: { name: "standard-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "regulatory-compliance-standards", + description: "Regulatory compliance standards", + subcommands: [ + { + name: "list", + description: + "List supported regulatory compliance standards details and state results", + }, + { + name: "show", + description: + "Shows a regulatory compliance details state for selected standard", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "secure-score-control-definitions", + description: "Secure score control definitions", + subcommands: [ + { + name: "list", + description: "Get details of secure score control definitions", + }, + ], + }, + { + name: "secure-score-controls", + description: "Secure score controls", + subcommands: [ + { + name: "list", + description: + "List supported of secure score controls details and state for scope", + }, + { + name: "list_by_score", + description: + "List supported of secure score controls details and state for selected score", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "secure-scores", + description: "Secure scores", + subcommands: [ + { + name: "list", + description: "List of secure-scores details and state results", + }, + { + name: "show", + description: "Shows a secure score details for selected initiative", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "security-solutions", + description: "Display all security solutions at the subscription level", + subcommands: [ + { + name: "list", + description: + "Display all security solutions at the subscription level", + }, + ], + }, + { + name: "security-solutions-reference-data", + description: + "Display all security solutions reference data at the subscription level", + subcommands: [ + { + name: "list", + description: + "Display all security solutions reference data at the subscription level", + }, + ], + }, + { + name: "setting", + description: "View your security settings", + subcommands: [ + { name: "list", description: "List security settings" }, + { + name: "show", + description: "Shows a security setting", + options: [ + { + name: ["--name", "-n"], + description: "The name of the setting", + args: { + name: "name", + suggestions: [ + "MCAS", + "Sentinel", + "WDATP", + "WDATP_EXCLUDE_LINUX_PUBLIC_PREVIEW", + "WDATP_UNIFIED_SOLUTION", + ], + }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Updates a security setting", + options: [ + { + name: "--enabled", + description: "Enable or disable the setting status", + args: { name: "enabled", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the setting", + args: { + name: "name", + suggestions: [ + "MCAS", + "Sentinel", + "WDATP", + "WDATP_EXCLUDE_LINUX_PUBLIC_PREVIEW", + "WDATP_UNIFIED_SOLUTION", + ], + }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "sub-assessment", + description: "View your security sub assessments", + subcommands: [ + { + name: "list", + description: "List all security sub assessment results", + options: [ + { + name: "--assessed-resource-id", + description: "The target resource for this assessment", + args: { name: "assessed-resource-id" }, + }, + { + name: "--assessment-name", + description: "Name of the assessment resource", + args: { name: "assessment-name" }, + }, + ], + }, + { + name: "show", + description: "Shows a security sub assessment", + options: [ + { + name: "--assessment-name", + description: "Name of the assessment resource", + args: { name: "assessment-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--assessed-resource-id", + description: "The target resource for this assessment", + args: { name: "assessed-resource-id" }, + }, + ], + }, + ], + }, + { + name: "task", + description: "View security tasks (recommendations)", + subcommands: [ + { + name: "list", + description: "List security tasks (recommendations)", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Shows a security task (recommendation)", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "topology", + description: "Shows the network topology in your subscription", + subcommands: [ + { + name: "list", + description: "Shows the network topology in your subscription", + }, + { + name: "show", + description: "Shows the network topology in your subscription", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "va", + description: "View Vulnerability Assessment", + subcommands: [ + { + name: "sql", + description: + "View Sql Vulnerability Assessment scan results and manage baseline", + subcommands: [ + { + name: "baseline", + description: + "View and manage Sql Vulnerability Assessment baseline", + subcommands: [ + { + name: "delete", + description: + "Delete Sql Vulnerability Assessment rule baseline", + options: [ + { + name: "--database-name", + description: "The name of the scanned database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--rule-id", + description: + 'The ID of the scanned rule. Format: "VAXXXX", where XXXX indicates the number of the rule', + args: { name: "rule-id" }, + isRequired: true, + }, + { + name: "--server-name", + description: "The name of the scanned server", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--vm-resource-id", + description: + "Resource ID of the scanned machine. For On-Premise machines, please provide your workspace resource ID", + args: { name: "vm-resource-id" }, + isRequired: true, + }, + { + name: "--workspace-id", + description: + "The ID of the workspace connected to the scanned machine", + args: { name: "workspace-id" }, + isRequired: true, + }, + { + name: "--agent-id", + description: + "Provide the ID of the agent on the scanned machine, for On-Premise resources only", + args: { name: "agent-id" }, + }, + { + name: "--vm-name", + description: + "Provide the name of the machine, for On-Premise resources only", + args: { name: "vm-name" }, + }, + { + name: "--vm-uuid", + description: + "Provide the UUID of the scanned machine, for On-Premise resources only", + args: { name: "vm-uuid" }, + }, + ], + }, + { + name: "list", + description: + "View Sql Vulnerability Assessment baseline for all rules", + options: [ + { + name: "--database-name", + description: "The name of the scanned database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--server-name", + description: "The name of the scanned server", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--vm-resource-id", + description: + "Resource ID of the scanned machine. For On-Premise machines, please provide your workspace resource ID", + args: { name: "vm-resource-id" }, + isRequired: true, + }, + { + name: "--workspace-id", + description: + "The ID of the workspace connected to the scanned machine", + args: { name: "workspace-id" }, + isRequired: true, + }, + { + name: "--agent-id", + description: + "Provide the ID of the agent on the scanned machine, for On-Premise resources only", + args: { name: "agent-id" }, + }, + { + name: "--vm-name", + description: + "Provide the name of the machine, for On-Premise resources only", + args: { name: "vm-name" }, + }, + { + name: "--vm-uuid", + description: + "Provide the UUID of the scanned machine, for On-Premise resources only", + args: { name: "vm-uuid" }, + }, + ], + }, + { + name: "set", + description: + "Sets Sql Vulnerability Assessment baseline. Replaces the current baseline", + options: [ + { + name: "--database-name", + description: "The name of the scanned database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--server-name", + description: "The name of the scanned server", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--vm-resource-id", + description: + "Resource ID of the scanned machine. For On-Premise machines, please provide your workspace resource ID", + args: { name: "vm-resource-id" }, + isRequired: true, + }, + { + name: "--workspace-id", + description: + "The ID of the workspace connected to the scanned machine", + args: { name: "workspace-id" }, + isRequired: true, + }, + { + name: "--agent-id", + description: + "Provide the ID of the agent on the scanned machine, for On-Premise resources only", + args: { name: "agent-id" }, + }, + { + name: ["--baseline", "-b"], + description: + "Baseline records to be set. The following example will set a baseline for two rules: --baseline rule=VA1111 line1_w1 line1_w2 --baseline rule=VA2222 line1_w1 line1_w2 line1_w3 --baseline rule=VA1111 line2_w1 line2_w2", + args: { name: "baseline" }, + }, + { + name: "--latest", + description: + "Use this argument without parameters to set baseline upon latest scan results", + }, + { + name: "--vm-name", + description: + "Provide the name of the machine, for On-Premise resources only", + args: { name: "vm-name" }, + }, + { + name: "--vm-uuid", + description: + "Provide the UUID of the scanned machine, for On-Premise resources only", + args: { name: "vm-uuid" }, + }, + ], + }, + { + name: "show", + description: + "View Sql Vulnerability Assessment rule baseline", + options: [ + { + name: "--database-name", + description: "The name of the scanned database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--rule-id", + description: + 'The ID of the scanned rule. Format: "VAXXXX", where XXXX indicates the number of the rule', + args: { name: "rule-id" }, + isRequired: true, + }, + { + name: "--server-name", + description: "The name of the scanned server", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--vm-resource-id", + description: + "Resource ID of the scanned machine. For On-Premise machines, please provide your workspace resource ID", + args: { name: "vm-resource-id" }, + isRequired: true, + }, + { + name: "--workspace-id", + description: + "The ID of the workspace connected to the scanned machine", + args: { name: "workspace-id" }, + isRequired: true, + }, + { + name: "--agent-id", + description: + "Provide the ID of the agent on the scanned machine, for On-Premise resources only", + args: { name: "agent-id" }, + }, + { + name: "--vm-name", + description: + "Provide the name of the machine, for On-Premise resources only", + args: { name: "vm-name" }, + }, + { + name: "--vm-uuid", + description: + "Provide the UUID of the scanned machine, for On-Premise resources only", + args: { name: "vm-uuid" }, + }, + ], + }, + { + name: "update", + description: + "Update Sql Vulnerability Assessment rule baseline. Replaces the current rule baseline", + options: [ + { + name: "--database-name", + description: "The name of the scanned database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--rule-id", + description: + 'The ID of the scanned rule. Format: "VAXXXX", where XXXX indicates the number of the rule', + args: { name: "rule-id" }, + isRequired: true, + }, + { + name: "--server-name", + description: "The name of the scanned server", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--vm-resource-id", + description: + "Resource ID of the scanned machine. For On-Premise machines, please provide your workspace resource ID", + args: { name: "vm-resource-id" }, + isRequired: true, + }, + { + name: "--workspace-id", + description: + "The ID of the workspace connected to the scanned machine", + args: { name: "workspace-id" }, + isRequired: true, + }, + { + name: "--agent-id", + description: + "Provide the ID of the agent on the scanned machine, for On-Premise resources only", + args: { name: "agent-id" }, + }, + { + name: ["--baseline", "-b"], + description: + "Baseline records to be set. The following example will set a baseline with two records: --baseline line1_w1 line1_w2 line1_w3 --baseline line2_w1 line2_w2 line2_w3", + args: { name: "baseline" }, + }, + { + name: "--latest", + description: + "Use this argument without parameters to set baseline upon latest scan results", + }, + { + name: "--vm-name", + description: + "Provide the name of the machine, for On-Premise resources only", + args: { name: "vm-name" }, + }, + { + name: "--vm-uuid", + description: + "Provide the UUID of the scanned machine, for On-Premise resources only", + args: { name: "vm-uuid" }, + }, + ], + }, + ], + }, + { + name: "results", + description: "View Sql Vulnerability Assessment scan results", + subcommands: [ + { + name: "list", + description: + "View all Sql Vulnerability Assessment scan results", + options: [ + { + name: "--database-name", + description: "The name of the scanned database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--scan-id", + description: "The ID of the scan", + args: { name: "scan-id" }, + isRequired: true, + }, + { + name: "--server-name", + description: "The name of the scanned server", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--vm-resource-id", + description: + "Resource ID of the scanned machine. For On-Premise machines, please provide your workspace resource ID", + args: { name: "vm-resource-id" }, + isRequired: true, + }, + { + name: "--workspace-id", + description: + "The ID of the workspace connected to the scanned machine", + args: { name: "workspace-id" }, + isRequired: true, + }, + { + name: "--agent-id", + description: + "Provide the ID of the agent on the scanned machine, for On-Premise resources only", + args: { name: "agent-id" }, + }, + { + name: "--vm-name", + description: + "Provide the name of the machine, for On-Premise resources only", + args: { name: "vm-name" }, + }, + { + name: "--vm-uuid", + description: + "Provide the UUID of the scanned machine, for On-Premise resources only", + args: { name: "vm-uuid" }, + }, + ], + }, + { + name: "show", + description: "View Sql Vulnerability Assessment scan results", + options: [ + { + name: "--database-name", + description: "The name of the scanned database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--rule-id", + description: + 'The ID of the scanned rule. Format: "VAXXXX", where XXXX indicates the number of the rule', + args: { name: "rule-id" }, + isRequired: true, + }, + { + name: "--scan-id", + description: "The ID of the scan", + args: { name: "scan-id" }, + isRequired: true, + }, + { + name: "--server-name", + description: "The name of the scanned server", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--vm-resource-id", + description: + "Resource ID of the scanned machine. For On-Premise machines, please provide your workspace resource ID", + args: { name: "vm-resource-id" }, + isRequired: true, + }, + { + name: "--workspace-id", + description: + "The ID of the workspace connected to the scanned machine", + args: { name: "workspace-id" }, + isRequired: true, + }, + { + name: "--agent-id", + description: + "Provide the ID of the agent on the scanned machine, for On-Premise resources only", + args: { name: "agent-id" }, + }, + { + name: "--vm-name", + description: + "Provide the name of the machine, for On-Premise resources only", + args: { name: "vm-name" }, + }, + { + name: "--vm-uuid", + description: + "Provide the UUID of the scanned machine, for On-Premise resources only", + args: { name: "vm-uuid" }, + }, + ], + }, + ], + }, + { + name: "scans", + description: "View Sql Vulnerability Assessment scan summaries", + subcommands: [ + { + name: "list", + description: + "List all Sql Vulnerability Assessment scan summaries", + options: [ + { + name: "--database-name", + description: "The name of the scanned database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--server-name", + description: "The name of the scanned server", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--vm-resource-id", + description: + "Resource ID of the scanned machine. For On-Premise machines, please provide your workspace resource ID", + args: { name: "vm-resource-id" }, + isRequired: true, + }, + { + name: "--workspace-id", + description: + "The ID of the workspace connected to the scanned machine", + args: { name: "workspace-id" }, + isRequired: true, + }, + { + name: "--agent-id", + description: + "Provide the ID of the agent on the scanned machine, for On-Premise resources only", + args: { name: "agent-id" }, + }, + { + name: "--vm-name", + description: + "Provide the name of the machine, for On-Premise resources only", + args: { name: "vm-name" }, + }, + { + name: "--vm-uuid", + description: + "Provide the UUID of the scanned machine, for On-Premise resources only", + args: { name: "vm-uuid" }, + }, + ], + }, + { + name: "show", + description: + "View Sql Vulnerability Assessment scan summaries", + options: [ + { + name: "--database-name", + description: "The name of the scanned database", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--scan-id", + description: "The ID of the scan", + args: { name: "scan-id" }, + isRequired: true, + }, + { + name: "--server-name", + description: "The name of the scanned server", + args: { name: "server-name" }, + isRequired: true, + }, + { + name: "--vm-resource-id", + description: + "Resource ID of the scanned machine. For On-Premise machines, please provide your workspace resource ID", + args: { name: "vm-resource-id" }, + isRequired: true, + }, + { + name: "--workspace-id", + description: + "The ID of the workspace connected to the scanned machine", + args: { name: "workspace-id" }, + isRequired: true, + }, + { + name: "--agent-id", + description: + "Provide the ID of the agent on the scanned machine, for On-Premise resources only", + args: { name: "agent-id" }, + }, + { + name: "--vm-name", + description: + "Provide the name of the machine, for On-Premise resources only", + args: { name: "vm-name" }, + }, + { + name: "--vm-uuid", + description: + "Provide the UUID of the scanned machine, for On-Premise resources only", + args: { name: "vm-uuid" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "workspace-setting", + description: + "Shows the workspace settings in your subscription - these settings let you control which workspace will hold your security data", + subcommands: [ + { + name: "create", + description: + "Creates a workspace settings in your subscription - these settings let you control which workspace will hold your security data", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--target-workspace", + description: + "An ID of the workspace resource that will hold the security data", + args: { name: "target-workspace" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Deletes the workspace settings in your subscription - this will make the security events on the subscription be reported to the default workspace", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "Shows the workspace settings in your subscription - these settings let you control which workspace will hold your security data", + }, + { + name: "show", + description: + "Shows the workspace settings in your subscription - these settings let you control which workspace will hold your security data", + options: [ + { + name: ["--name", "-n"], + description: "Name of the resource to be fetched", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/self-help.ts b/src/az/2.53.0/self-help.ts new file mode 100644 index 000000000000..a99e80f020fa --- /dev/null +++ b/src/az/2.53.0/self-help.ts @@ -0,0 +1,197 @@ +const completion: Fig.Spec = { + name: "self-help", + description: + "Azure SelfHelp will help you troubleshoot issues with Azure resources", + subcommands: [ + { + name: "check-name-availability", + description: + "This API is used to check the uniqueness of a resource name used for a diagnostic check", + options: [ + { + name: "--scope", + description: + "This is an extension resource provider and only resource level extension is supported at the moment", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--name", + description: + "The name of the resource for which availability needs to be checked", + args: { name: "name" }, + }, + { + name: "--type", + description: "The resource type", + args: { name: "type" }, + }, + ], + }, + { + name: "diagnostic", + description: + "Diagnostic command will help you create diagnostics for azure resources", + subcommands: [ + { + name: "create", + description: + "Creates a diagnostics that will help you troubleshoot an issue with your azure resource", + options: [ + { + name: "--diagnostic-name", + description: + "Unique resource name for diagnostic proxy resources", + args: { name: "diagnostic-name" }, + isRequired: true, + }, + { + name: "--scope", + description: + "This is an extension resource provider and only resource level extension is supported at the moment", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--global-parameters", + description: + 'Global parameters that can be passed to all solutionIds. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "global-parameters" }, + }, + { + name: "--insights", + description: + 'SolutionIds that are needed to be invoked. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "insights" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "show", + description: + "Get the diagnostics using the 'diagnosticsResourceName' you chose while creating the diagnostic", + options: [ + { + name: "--diagnostic-name", + description: + "Unique resource name for diagnostic proxy resources", + args: { name: "diagnostic-name" }, + isRequired: true, + }, + { + name: "--scope", + description: + "This is an extension resource provider and only resource level extension is supported at the moment", + args: { name: "scope" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--diagnostic-name", + description: + "Unique resource name for diagnostic proxy resources", + args: { name: "diagnostic-name" }, + isRequired: true, + }, + { + name: "--scope", + description: + "This is an extension resource provider and only resource level extension is supported at the moment", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "discovery-solution", + description: + "Discovery-solution command will help you discover available solutions based on your resource type and problem classification Id", + subcommands: [ + { + name: "list", + description: + "List the existing available solutions for the problemClassificationId or the resourceUri for the Azure resource", + options: [ + { + name: "--scope", + description: + "This is an extension resource provider and only resource level extension is supported at the moment", + args: { name: "scope" }, + isRequired: true, + }, + { + name: "--filter", + description: + "Can be used to filter solutionIds by 'ProblemClassificationId'. The filter supports only 'and' and 'eq' operators. Example: $filter=ProblemClassificationId eq '1ddda5b4-cf6c-4d4f-91ad-bc38ab0e811e' and ProblemClassificationId eq '0a9673c2-7af6-4e19-90d3-4ee2461076d9'", + args: { name: "filter" }, + }, + { + name: "--skiptoken", + description: + "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls", + args: { name: "skiptoken" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/self-test.ts b/src/az/2.53.0/self-test.ts new file mode 100644 index 000000000000..34e54e583600 --- /dev/null +++ b/src/az/2.53.0/self-test.ts @@ -0,0 +1,6 @@ +const completion: Fig.Spec = { + name: "self-test", + description: "Runs a self-test of the CLI", +}; + +export default completion; diff --git a/src/az/2.53.0/sentinel.ts b/src/az/2.53.0/sentinel.ts new file mode 100644 index 000000000000..08c5012720f4 --- /dev/null +++ b/src/az/2.53.0/sentinel.ts @@ -0,0 +1,6482 @@ +const completion: Fig.Spec = { + name: "sentinel", + description: "Manage Microsoft Sentinel", + subcommands: [ + { + name: "alert-rule", + description: "Manage alert rule with sentinel", + subcommands: [ + { + name: "create", + description: "Create the alert rule", + options: [ + { + name: ["--rule-name", "--name", "-n"], + description: "Name of alert rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--fusion", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fusion" }, + }, + { + name: "--ml-behavior-analytics", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ml-behavior-analytics" }, + }, + { + name: "--ms-security-incident", + description: + 'Microsoft security incident creation. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ms-security-incident" }, + }, + { + name: "--nrt", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "nrt" }, + }, + { + name: "--scheduled", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "scheduled" }, + }, + { + name: "--threat-intelligence", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-intelligence" }, + }, + ], + }, + { + name: "delete", + description: "Delete the alert rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--rule-name", "--name", "-n"], + description: "Name of alert rule", + args: { name: "rule-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all alert rules", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the alert rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--rule-name", "--name", "-n"], + description: "Name of alert rule", + args: { name: "rule-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update the alert rule", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--fusion", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fusion" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ml-behavior-analytics", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ml-behavior-analytics" }, + }, + { + name: "--ms-security-incident", + description: + 'Microsoft security incident creation. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ms-security-incident" }, + }, + { + name: ["--rule-name", "--name", "-n"], + description: "Name of alert rule", + args: { name: "rule-name" }, + }, + { + name: "--nrt", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "nrt" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scheduled", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "scheduled" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--threat-intelligence", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-intelligence" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "action", + description: "Manage alert rule action with sentinel", + subcommands: [ + { + name: "create", + description: "Create the action of alert rule", + options: [ + { + name: ["--action-name", "--name", "-n"], + description: "Name of action", + args: { name: "action-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of alert rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--logic-app-resource-id", + description: + "Logic App Resource Id, /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}", + args: { name: "logic-app-resource-id" }, + }, + { + name: "--trigger-uri", + description: + "Logic App Callback URL for this specific workflow", + args: { name: "trigger-uri" }, + }, + ], + }, + { + name: "delete", + description: "Delete the action of alert rule", + options: [ + { + name: ["--action-name", "--name", "-n"], + description: "Name of action", + args: { name: "action-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: "Name of alert rule", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all actions of alert rule", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rule-name", + description: "Name of alert rule", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the action of alert rule", + options: [ + { + name: ["--action-name", "--name", "-n"], + description: "Name of action", + args: { name: "action-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: "Name of alert rule", + args: { name: "rule-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update the action of alert rule", + options: [ + { + name: ["--action-name", "--name", "-n"], + description: "Name of action", + args: { name: "action-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--logic-app-resource-id", + description: + "Logic App Resource Id, /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}", + args: { name: "logic-app-resource-id" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-name", + description: "Name of alert rule", + args: { name: "rule-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--trigger-uri", + description: + "Logic App Callback URL for this specific workflow", + args: { name: "trigger-uri" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "template", + description: "Manage alert rule template with sentinel", + subcommands: [ + { + name: "list", + description: "Get all alert rule templates", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the alert rule template", + options: [ + { + name: ["--alert-rule-template-id", "--name", "-n"], + description: "Alert rule template ID", + args: { name: "alert-rule-template-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "analytics-setting", + description: "Manage security ml analytics setting with sentinel", + subcommands: [ + { + name: "create", + description: "Create the Security ML Analytics Settings", + options: [ + { + name: ["--settings-resource-name", "--name", "-n"], + description: "Security ML Analytics Settings resource name", + args: { name: "settings-resource-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--anomaly", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "anomaly" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + ], + }, + { + name: "delete", + description: "Delete the Security ML Analytics Settings", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--settings-resource-name", "--name", "-n"], + description: "Security ML Analytics Settings resource name", + args: { name: "settings-resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all Security ML Analytics Settings", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the Security ML Analytics Settings", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--settings-resource-name", "--name", "-n"], + description: "Security ML Analytics Settings resource name", + args: { name: "settings-resource-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update the Security ML Analytics Settings", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--anomaly", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "anomaly" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--settings-resource-name", "--name", "-n"], + description: "Security ML Analytics Settings resource name", + args: { name: "settings-resource-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "automation-rule", + description: "Manage automation rule with sentinel", + subcommands: [ + { + name: "create", + description: "Create the automation rule", + options: [ + { + name: ["--automation-rule-name", "--name", "-n"], + description: "Name of automation rule", + args: { name: "automation-rule-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--actions", + description: + 'The actions to execute when the automation rule is triggered. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "actions" }, + }, + { + name: "--display-name", + description: "The display name of the automation rule", + args: { name: "display-name" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--order", + description: "The order of execution of the automation rule", + args: { name: "order" }, + }, + { + name: "--triggering-logic", + description: + 'Describes automation rule triggering logic. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "triggering-logic" }, + }, + ], + }, + { + name: "delete", + description: "Delete the automation rule", + options: [ + { + name: ["--automation-rule-name", "--name", "-n"], + description: "Name of automation rule", + args: { name: "automation-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all automation rules", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the automation rule", + options: [ + { + name: ["--automation-rule-name", "--name", "-n"], + description: "Name of automation rule", + args: { name: "automation-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update the automation rule", + options: [ + { + name: "--actions", + description: + 'The actions to execute when the automation rule is triggered. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "actions" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--automation-rule-name", "--name", "-n"], + description: "Name of automation rule", + args: { name: "automation-rule-name" }, + }, + { + name: "--display-name", + description: "The display name of the automation rule", + args: { name: "display-name" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--order", + description: "The order of execution of the automation rule", + args: { name: "order" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--triggering-logic", + description: + 'Describes automation rule triggering logic. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "triggering-logic" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "bookmark", + description: "Manage bookmark with sentinel", + subcommands: [ + { + name: "create", + description: "Create the bookmark", + options: [ + { + name: ["--bookmark-id", "--name", "-n"], + description: "ID of bookmark", + args: { name: "bookmark-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--created", + description: "The time the bookmark was created", + args: { name: "created" }, + }, + { + name: "--created-by", + description: + 'Describes a user that created the bookmark Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "created-by" }, + }, + { + name: "--display-name", + description: "The display name of the bookmark", + args: { name: "display-name" }, + }, + { + name: "--entity-mappings", + description: + 'Describes the entity mappings of the bookmark Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "entity-mappings" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--event-time", + description: "The bookmark event time", + args: { name: "event-time" }, + }, + { + name: "--incident-info", + description: + 'Describes an incident that relates to bookmark Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "incident-info" }, + }, + { + name: "--labels", + description: + 'List of labels relevant to this bookmark Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "labels" }, + }, + { + name: "--notes", + description: "The notes of the bookmark", + args: { name: "notes" }, + }, + { + name: "--query-content", + description: "The query of the bookmark", + args: { name: "query-content" }, + }, + { + name: "--query-end-time", + description: "The end time for the query", + args: { name: "query-end-time" }, + }, + { + name: "--query-result", + description: "The query result of the bookmark", + args: { name: "query-result" }, + }, + { + name: "--query-start-time", + description: "The start time for the query", + args: { name: "query-start-time" }, + }, + { + name: "--tactics", + description: + 'A list of relevant mitre attacks Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tactics" }, + }, + { + name: "--techniques", + description: + 'A list of relevant mitre techniques Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "techniques" }, + }, + { + name: "--updated", + description: "The last time the bookmark was updated", + args: { name: "updated" }, + }, + { + name: "--updated-by", + description: + 'Describes a user that updated the bookmark Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "updated-by" }, + }, + ], + }, + { + name: "delete", + description: "Delete the bookmark", + options: [ + { + name: ["--bookmark-id", "--name", "-n"], + description: "ID of bookmark", + args: { name: "bookmark-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "expand", + description: "Expand an bookmark", + options: [ + { + name: ["--bookmark-id", "--name", "-n"], + description: "ID of bookmark", + args: { name: "bookmark-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--end-time", + description: + "The end date filter, so the only expansion results returned are before this date", + args: { name: "end-time" }, + }, + { + name: "--expansion-id", + description: "The Id of the expansion to perform", + args: { name: "expansion-id" }, + }, + { + name: "--start-time", + description: + "The start date filter, so the only expansion results returned are after this date", + args: { name: "start-time" }, + }, + ], + }, + { + name: "list", + description: "Get all bookmarks", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a bookmark", + options: [ + { + name: ["--bookmark-id", "--name", "-n"], + description: "ID of bookmark", + args: { name: "bookmark-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update the bookmark", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--bookmark-id", "--name", "-n"], + description: "ID of bookmark", + args: { name: "bookmark-id" }, + }, + { + name: "--created", + description: "The time the bookmark was created", + args: { name: "created" }, + }, + { + name: "--created-by", + description: + 'Describes a user that created the bookmark Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "created-by" }, + }, + { + name: "--display-name", + description: "The display name of the bookmark", + args: { name: "display-name" }, + }, + { + name: "--entity-mappings", + description: + 'Describes the entity mappings of the bookmark Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "entity-mappings" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--event-time", + description: "The bookmark event time", + args: { name: "event-time" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--incident-info", + description: + 'Describes an incident that relates to bookmark Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "incident-info" }, + }, + { + name: "--labels", + description: + 'List of labels relevant to this bookmark Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "labels" }, + }, + { + name: "--notes", + description: "The notes of the bookmark", + args: { name: "notes" }, + }, + { + name: "--query-content", + description: "The query of the bookmark", + args: { name: "query-content" }, + }, + { + name: "--query-end-time", + description: "The end time for the query", + args: { name: "query-end-time" }, + }, + { + name: "--query-result", + description: "The query result of the bookmark", + args: { name: "query-result" }, + }, + { + name: "--query-start-time", + description: "The start time for the query", + args: { name: "query-start-time" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tactics", + description: + 'A list of relevant mitre attacks Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tactics" }, + }, + { + name: "--techniques", + description: + 'A list of relevant mitre techniques Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "techniques" }, + }, + { + name: "--updated", + description: "The last time the bookmark was updated", + args: { name: "updated" }, + }, + { + name: "--updated-by", + description: + 'Describes a user that updated the bookmark Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "updated-by" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "relation", + description: "Manage bookmark relation with sentinel", + subcommands: [ + { + name: "create", + description: "Create the bookmark relation", + options: [ + { + name: "--bookmark-id", + description: "Bookmark ID", + args: { name: "bookmark-id" }, + isRequired: true, + }, + { + name: ["--relation-name", "--name", "-n"], + description: "Relation Name", + args: { name: "relation-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--related-resource-id", + description: "The resource ID of the related resource", + args: { name: "related-resource-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete the bookmark relation", + options: [ + { + name: "--bookmark-id", + description: "Bookmark ID", + args: { name: "bookmark-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--relation-name", "--name", "-n"], + description: "Relation Name", + args: { name: "relation-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all bookmark relations", + options: [ + { + name: "--bookmark-id", + description: "Bookmark ID", + args: { name: "bookmark-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--filter", + description: + "Filters the results, based on a Boolean condition. Optional", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: "Sorts the results. Optional", + args: { name: "orderby" }, + }, + { + name: "--skip-token", + description: + "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: "Returns only the first n results. Optional", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get a bookmark relation", + options: [ + { + name: "--bookmark-id", + description: "Bookmark ID", + args: { name: "bookmark-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--relation-name", "--name", "-n"], + description: "Relation Name", + args: { name: "relation-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update the bookmark relation", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--bookmark-id", + description: "Bookmark ID", + args: { name: "bookmark-id" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--relation-name", "--name", "-n"], + description: "Relation Name", + args: { name: "relation-name" }, + }, + { + name: "--related-resource-id", + description: "The resource ID of the related resource", + args: { name: "related-resource-id" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "data-connector", + description: "Manage data connector with sentinel", + subcommands: [ + { + name: "connect", + description: "Connect a data connector", + options: [ + { + name: "--data-connector-id", + description: "Connector ID", + args: { name: "data-connector-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--api-key", + description: "The API key of the audit server", + args: { name: "api-key" }, + }, + { + name: "--authorization-code", + description: + "The authorization code used in OAuth 2.0 code flow to issue a token", + args: { name: "authorization-code" }, + }, + { + name: "--client-id", + description: "The client id of the OAuth 2.0 application", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "The client secret of the OAuth 2.0 application", + args: { name: "client-secret" }, + }, + { + name: "--endpoint", + description: + "Used in v2 logs connector. Represents the data collection ingestion endpoint in log analytics", + args: { name: "endpoint" }, + }, + { + name: "--kind", + description: "The authentication kind used to poll the data", + args: { + name: "kind", + suggestions: ["APIKey", "Basic", "OAuth2"], + }, + }, + { + name: "--output-stream", + description: + "Used in v2 logs connector. The stream we are sending the data to, this is the name of the streamDeclarations defined in the DCR", + args: { name: "output-stream" }, + }, + { + name: "--password", + description: "The user password in the audit log server", + args: { name: "password" }, + }, + { + name: "--rule-immutable-id", + description: + "Used in v2 logs connector. The data collection rule immutable id, the rule defines the transformation and data destination", + args: { name: "rule-immutable-id" }, + }, + { + name: "--user-name", + description: "The user name in the audit log server", + args: { name: "user-name" }, + }, + ], + }, + { + name: "create", + description: "Create the data connector", + options: [ + { + name: ["--data-connector-id", "--name", "-n"], + description: "Connector ID", + args: { name: "data-connector-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--api-polling", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "api-polling" }, + }, + { + name: "--aws-cloud-trail", + description: + 'Amazon web services cloud trail. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "aws-cloud-trail" }, + }, + { + name: "--aws-s3", + description: + 'Amazon web services s3. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "aws-s3" }, + }, + { + name: "--azure-active-directory", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "azure-active-directory" }, + }, + { + name: "--azure-protection", + description: + 'Azure advanced threat protection. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "azure-protection" }, + }, + { + name: "--azure-security-center", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "azure-security-center" }, + }, + { + name: "--cloud-app-security", + description: + 'Microsoft cloud app security. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "cloud-app-security" }, + }, + { + name: "--defender-protection", + description: + 'Microsoft defender advanced threat protection. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "defender-protection" }, + }, + { + name: "--dynamics365", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dynamics365" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--generic-ui", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "generic-ui" }, + }, + { + name: "--intelligence-taxii", + description: + 'Threat intelligence taxii. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "intelligence-taxii" }, + }, + { + name: "--iot", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "iot" }, + }, + { + name: "--microsoft-intelligence", + description: + 'Microsoft threat intelligence. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "microsoft-intelligence" }, + }, + { + name: "--microsoft-protection", + description: + 'Microsoft threat protection. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "microsoft-protection" }, + }, + { + name: "--office-atp", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "office-atp" }, + }, + { + name: "--office-irm", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "office-irm" }, + }, + { + name: "--office-power-bi", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "office-power-bi" }, + }, + { + name: "--office365", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "office365" }, + }, + { + name: "--office365-project", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "office365-project" }, + }, + { + name: "--threat-intelligence", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-intelligence" }, + }, + ], + }, + { + name: "delete", + description: "Delete the data connector", + options: [ + { + name: ["--data-connector-id", "--name", "-n"], + description: "Connector ID", + args: { name: "data-connector-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "disconnect", + description: "Disconnect a data connector", + options: [ + { + name: "--data-connector-id", + description: "Connector ID", + args: { name: "data-connector-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "Get all data connectors", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a data connector", + options: [ + { + name: ["--data-connector-id", "--name", "-n"], + description: "Connector ID", + args: { name: "data-connector-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update the data connector", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--api-polling", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "api-polling" }, + }, + { + name: "--aws-cloud-trail", + description: + 'Amazon web services cloud trail. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "aws-cloud-trail" }, + }, + { + name: "--aws-s3", + description: + 'Amazon web services s3. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "aws-s3" }, + }, + { + name: "--azure-active-directory", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "azure-active-directory" }, + }, + { + name: "--azure-protection", + description: + 'Azure advanced threat protection. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "azure-protection" }, + }, + { + name: "--azure-security-center", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "azure-security-center" }, + }, + { + name: "--cloud-app-security", + description: + 'Microsoft cloud app security. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "cloud-app-security" }, + }, + { + name: ["--data-connector-id", "--name", "-n"], + description: "Connector ID", + args: { name: "data-connector-id" }, + }, + { + name: "--defender-protection", + description: + 'Microsoft defender advanced threat protection. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "defender-protection" }, + }, + { + name: "--dynamics365", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dynamics365" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--generic-ui", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "generic-ui" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--intelligence-taxii", + description: + 'Threat intelligence taxii. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "intelligence-taxii" }, + }, + { + name: "--iot", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "iot" }, + }, + { + name: "--microsoft-intelligence", + description: + 'Microsoft threat intelligence. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "microsoft-intelligence" }, + }, + { + name: "--microsoft-protection", + description: + 'Microsoft threat protection. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "microsoft-protection" }, + }, + { + name: "--office-atp", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "office-atp" }, + }, + { + name: "--office-irm", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "office-irm" }, + }, + { + name: "--office-power-bi", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "office-power-bi" }, + }, + { + name: "--office365", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "office365" }, + }, + { + name: "--office365-project", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "office365-project" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--threat-intelligence", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-intelligence" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "enrichment", + description: "Manage enrichment with sentinel", + subcommands: [ + { + name: "domain-whois", + description: "Manage domain whois with sentinel", + subcommands: [ + { + name: "show", + description: "Get whois information for a single domain name", + options: [ + { + name: "--domain", + description: "Domain name to be enriched", + args: { name: "domain" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "ip-geodata", + description: "Manage ip geodata with sentinel", + subcommands: [ + { + name: "show", + description: "Get geodata for a single IP address", + options: [ + { + name: "--ip-address", + description: "IP address (v4 or v6) to be enriched", + args: { name: "ip-address" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "entity-query", + description: "Manage entity query with sentinel", + subcommands: [ + { + name: "create", + description: "Create the entity query", + options: [ + { + name: ["--entity-query-id", "--name", "-n"], + description: "Entity query ID", + args: { name: "entity-query-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--activity", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "activity" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + ], + }, + { + name: "delete", + description: "Delete the entity query", + options: [ + { + name: ["--entity-query-id", "--name", "-n"], + description: "Entity query ID", + args: { name: "entity-query-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all entity queries", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--kind", + description: "The entity query kind we want to fetch", + args: { name: "kind", suggestions: ["Activity", "Expansion"] }, + }, + ], + }, + { + name: "show", + description: "Get an entity query", + options: [ + { + name: ["--entity-query-id", "--name", "-n"], + description: "Entity query ID", + args: { name: "entity-query-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update the entity query", + options: [ + { + name: "--activity", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "activity" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--entity-query-id", "--name", "-n"], + description: "Entity query ID", + args: { name: "entity-query-id" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "template", + description: "Manage entity query template with sentinel", + subcommands: [ + { + name: "list", + description: "Get all entity query templates", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--kind", + description: + "The entity template query kind we want to fetch", + args: { name: "kind", suggestions: ["Activity"] }, + }, + ], + }, + { + name: "show", + description: "Get an entity query", + options: [ + { + name: ["--entity-query-template-id", "--name", "-n"], + description: "Entity query template ID", + args: { name: "entity-query-template-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "incident", + description: "Manage incident with sentinel", + subcommands: [ + { + name: "create", + description: "Create the incident", + options: [ + { + name: ["--incident-id", "--name", "-n"], + description: "Incident ID", + args: { name: "incident-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--classification", + description: "The reason the incident was closed", + args: { + name: "classification", + suggestions: [ + "BenignPositive", + "FalsePositive", + "TruePositive", + "Undetermined", + ], + }, + }, + { + name: "--classification-comment", + description: "Describes the reason the incident was closed", + args: { name: "classification-comment" }, + }, + { + name: "--classification-reason", + description: + "The classification reason the incident was closed with", + args: { + name: "classification-reason", + suggestions: [ + "InaccurateData", + "IncorrectAlertLogic", + "SuspiciousActivity", + "SuspiciousButExpected", + ], + }, + }, + { + name: "--description", + description: "The description of the incident", + args: { name: "description" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--first-activity-time-utc", + description: "The time of the first activity in the incident", + args: { name: "first-activity-time-utc" }, + }, + { + name: "--labels", + description: + 'List of labels relevant to this incident Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "labels" }, + }, + { + name: "--last-activity-time-utc", + description: "The time of the last activity in the incident", + args: { name: "last-activity-time-utc" }, + }, + { + name: "--owner", + description: + 'Describes a user that the incident is assigned to Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "owner" }, + }, + { + name: "--provider-incident-id", + description: "The incident ID assigned by the incident provider", + args: { name: "provider-incident-id" }, + }, + { + name: "--provider-name", + description: + "The name of the source provider that generated the incident", + args: { name: "provider-name" }, + }, + { + name: "--severity", + description: "The severity of the incident", + args: { + name: "severity", + suggestions: ["High", "Informational", "Low", "Medium"], + }, + }, + { + name: "--status", + description: "The status of the incident", + args: { + name: "status", + suggestions: ["Active", "Closed", "New"], + }, + }, + { + name: "--title", + description: "The title of the incident", + args: { name: "title" }, + }, + ], + }, + { + name: "create-team", + description: + "Create a Microsoft team to investigate the incident by sharing information and insights between participants", + options: [ + { + name: "--incident-id", + description: "Incident ID", + args: { name: "incident-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--team-name", + description: "The name of the team", + args: { name: "team-name" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--group-ids", + description: + 'List of group IDs to add their members to the team Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "group-ids" }, + }, + { + name: "--member-ids", + description: + 'List of member IDs to add to the team Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "member-ids" }, + }, + { + name: "--team-description", + description: "The description of the team", + args: { name: "team-description" }, + }, + ], + }, + { + name: "delete", + description: "Delete the incident", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--incident-id", "--name", "-n"], + description: "Incident ID", + args: { name: "incident-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all incidents", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--filter", + description: + "Filters the results, based on a Boolean condition. Optional", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: "Sorts the results. Optional", + args: { name: "orderby" }, + }, + { + name: "--skip-token", + description: + "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: "Returns only the first n results. Optional", + args: { name: "top" }, + }, + ], + }, + { + name: "list-alert", + description: "Get all incident alerts", + options: [ + { + name: "--incident-id", + description: "Incident ID", + args: { name: "incident-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list-bookmark", + description: "Get all incident bookmarks", + options: [ + { + name: "--incident-id", + description: "Incident ID", + args: { name: "incident-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list-entity", + description: "Get all incident related entities", + options: [ + { + name: "--incident-id", + description: "Incident ID", + args: { name: "incident-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "run-playbook", + description: "Trigger playbook on a specific incident", + options: [ + { + name: "--incident-identifier", + description: "Identifier of incident", + args: { name: "incident-identifier" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--logic-apps-resource-id", + description: "Resource ID of logic apps", + args: { name: "logic-apps-resource-id" }, + }, + { + name: "--tenant-id", + description: "ID of tenant", + args: { name: "tenant-id" }, + }, + ], + }, + { + name: "show", + description: "Get an incident", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--incident-id", "--name", "-n"], + description: "Incident ID", + args: { name: "incident-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update the incident", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--classification", + description: "The reason the incident was closed", + args: { + name: "classification", + suggestions: [ + "BenignPositive", + "FalsePositive", + "TruePositive", + "Undetermined", + ], + }, + }, + { + name: "--classification-comment", + description: "Describes the reason the incident was closed", + args: { name: "classification-comment" }, + }, + { + name: "--classification-reason", + description: + "The classification reason the incident was closed with", + args: { + name: "classification-reason", + suggestions: [ + "InaccurateData", + "IncorrectAlertLogic", + "SuspiciousActivity", + "SuspiciousButExpected", + ], + }, + }, + { + name: "--description", + description: "The description of the incident", + args: { name: "description" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--first-activity-time-utc", + description: "The time of the first activity in the incident", + args: { name: "first-activity-time-utc" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--incident-id", "--name", "-n"], + description: "Incident ID", + args: { name: "incident-id" }, + }, + { + name: "--labels", + description: + 'List of labels relevant to this incident Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "labels" }, + }, + { + name: "--last-activity-time-utc", + description: "The time of the last activity in the incident", + args: { name: "last-activity-time-utc" }, + }, + { + name: "--owner", + description: + 'Describes a user that the incident is assigned to Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "owner" }, + }, + { + name: "--provider-incident-id", + description: "The incident ID assigned by the incident provider", + args: { name: "provider-incident-id" }, + }, + { + name: "--provider-name", + description: + "The name of the source provider that generated the incident", + args: { name: "provider-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--severity", + description: "The severity of the incident", + args: { + name: "severity", + suggestions: ["High", "Informational", "Low", "Medium"], + }, + }, + { + name: "--status", + description: "The status of the incident", + args: { + name: "status", + suggestions: ["Active", "Closed", "New"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--title", + description: "The title of the incident", + args: { name: "title" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "comment", + description: "Manage incident comment with sentinel", + subcommands: [ + { + name: "create", + description: "Create the incident comment", + options: [ + { + name: ["--incident-comment-id", "--name", "-n"], + description: "Incident comment ID", + args: { name: "incident-comment-id" }, + isRequired: true, + }, + { + name: "--incident-id", + description: "Incident ID", + args: { name: "incident-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--message", + description: "The comment message", + args: { name: "message" }, + }, + ], + }, + { + name: "delete", + description: "Delete the incident comment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--incident-comment-id", "--name", "-n"], + description: "Incident comment ID", + args: { name: "incident-comment-id" }, + }, + { + name: "--incident-id", + description: "Incident ID", + args: { name: "incident-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all incident comments", + options: [ + { + name: "--incident-id", + description: "Incident ID", + args: { name: "incident-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--filter", + description: + "Filters the results, based on a Boolean condition. Optional", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: "Sorts the results. Optional", + args: { name: "orderby" }, + }, + { + name: "--skip-token", + description: + "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: "Returns only the first n results. Optional", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get an incident comment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--incident-comment-id", "--name", "-n"], + description: "Incident comment ID", + args: { name: "incident-comment-id" }, + }, + { + name: "--incident-id", + description: "Incident ID", + args: { name: "incident-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update the incident comment", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--incident-comment-id", "--name", "-n"], + description: "Incident comment ID", + args: { name: "incident-comment-id" }, + }, + { + name: "--incident-id", + description: "Incident ID", + args: { name: "incident-id" }, + }, + { + name: "--message", + description: "The comment message", + args: { name: "message" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "relation", + description: "Manage incident relation with sentinel", + subcommands: [ + { + name: "create", + description: "Create the incident relation", + options: [ + { + name: "--incident-id", + description: "Incident ID", + args: { name: "incident-id" }, + isRequired: true, + }, + { + name: ["--relation-name", "--name", "-n"], + description: "Relation Name", + args: { name: "relation-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--related-resource-id", + description: "The resource ID of the related resource", + args: { name: "related-resource-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete the incident relation", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--incident-id", + description: "Incident ID", + args: { name: "incident-id" }, + }, + { + name: ["--relation-name", "--name", "-n"], + description: "Relation Name", + args: { name: "relation-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all incident relations", + options: [ + { + name: "--incident-id", + description: "Incident ID", + args: { name: "incident-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--filter", + description: + "Filters the results, based on a Boolean condition. Optional", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: "Sorts the results. Optional", + args: { name: "orderby" }, + }, + { + name: "--skip-token", + description: + "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: "Returns only the first n results. Optional", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get an incident relation", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--incident-id", + description: "Incident ID", + args: { name: "incident-id" }, + }, + { + name: ["--relation-name", "--name", "-n"], + description: "Relation Name", + args: { name: "relation-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update the incident relation", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--incident-id", + description: "Incident ID", + args: { name: "incident-id" }, + }, + { + name: ["--relation-name", "--name", "-n"], + description: "Relation Name", + args: { name: "relation-name" }, + }, + { + name: "--related-resource-id", + description: "The resource ID of the related resource", + args: { name: "related-resource-id" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "metadata", + description: "Manage metadata with sentinel", + subcommands: [ + { + name: "create", + description: "Create a Metadata", + options: [ + { + name: ["--metadata-name", "--name", "-n"], + description: "The Metadata name", + args: { name: "metadata-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--author", + description: + 'The creator of the content item. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "author" }, + }, + { + name: "--categories", + description: + 'Categories for the solution content item Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "categories" }, + }, + { + name: "--content-id", + description: + "Static ID for the content. Used to identify dependencies and content from solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic for user-created. This is the resource name", + args: { name: "content-id" }, + }, + { + name: "--content-schema-version", + description: + "Schema version of the content. Can be used to distinguish between different flow based on the schema version", + args: { name: "content-schema-version" }, + }, + { + name: "--custom-version", + description: + "The custom version of the content. A optional free text", + args: { name: "custom-version" }, + }, + { + name: "--dependencies", + description: + 'Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex formats. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dependencies" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--first-publish-date", + description: "First publish date solution content item", + args: { name: "first-publish-date" }, + }, + { + name: "--icon", + description: + "The icon identifier. this id can later be fetched from the solution template", + args: { name: "icon" }, + }, + { + name: "--kind", + description: "The kind of content the metadata is for", + args: { + name: "kind", + suggestions: [ + "AnalyticsRule", + "AnalyticsRuleTemplate", + "AutomationRule", + "AzureFunction", + "DataConnector", + "DataType", + "HuntingQuery", + "InvestigationQuery", + "LogicAppsCustomConnector", + "Parser", + "Playbook", + "PlaybookTemplate", + "Solution", + "Watchlist", + "WatchlistTemplate", + "Workbook", + "WorkbookTemplate", + ], + }, + }, + { + name: "--last-publish-date", + description: "Last publish date for the solution content item", + args: { name: "last-publish-date" }, + }, + { + name: "--parent-id", + description: + "Full parent resource ID of the content item the metadata is for. This is the full resource ID including the scope (subscription and resource group)", + args: { name: "parent-id" }, + }, + { + name: "--preview-images", + description: + 'Preview image file names. These will be taken from the solution artifacts Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "preview-images" }, + }, + { + name: "--preview-images-dark", + description: + 'Preview image file names. These will be taken from the solution artifacts. used for dark theme support Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "preview-images-dark" }, + }, + { + name: "--providers", + description: + 'Providers for the solution content item Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "providers" }, + }, + { + name: "--source", + description: + 'Source of the content. This is where/how it was created. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "source" }, + }, + { + name: "--support", + description: + 'Support information for the metadata - type, name, contact information Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "support" }, + }, + { + name: "--threat-tactics", + description: + 'The tactics the resource covers Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-tactics" }, + }, + { + name: "--threat-techniques", + description: + 'The techniques the resource covers, these have to be aligned with the tactics being used Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-techniques" }, + }, + { + name: "--version", + description: + "Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any version checks", + args: { name: "version" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Metadata", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--metadata-name", "--name", "-n"], + description: "The Metadata name", + args: { name: "metadata-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List of all metadata", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--filter", + description: + "Filters the results, based on a Boolean condition. Optional", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: "Sorts the results. Optional", + args: { name: "orderby" }, + }, + { + name: "--skip", + description: + "Used to skip n elements in the OData query (offset). Returns a nextLink to the next page of results if there are any left", + args: { name: "skip" }, + }, + { + name: "--top", + description: "Returns only the first n results. Optional", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get a Metadata", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--metadata-name", "--name", "-n"], + description: "The Metadata name", + args: { name: "metadata-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update a Metadata", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--author", + description: + 'The creator of the content item. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "author" }, + }, + { + name: "--categories", + description: + 'Categories for the solution content item Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "categories" }, + }, + { + name: "--content-id", + description: + "Static ID for the content. Used to identify dependencies and content from solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic for user-created. This is the resource name", + args: { name: "content-id" }, + }, + { + name: "--content-schema-version", + description: + "Schema version of the content. Can be used to distinguish between different flow based on the schema version", + args: { name: "content-schema-version" }, + }, + { + name: "--custom-version", + description: + "The custom version of the content. A optional free text", + args: { name: "custom-version" }, + }, + { + name: "--dependencies", + description: + 'Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex formats. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dependencies" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--first-publish-date", + description: "First publish date solution content item", + args: { name: "first-publish-date" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--icon", + description: + "The icon identifier. this id can later be fetched from the solution template", + args: { name: "icon" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kind", + description: "The kind of content the metadata is for", + args: { + name: "kind", + suggestions: [ + "AnalyticsRule", + "AnalyticsRuleTemplate", + "AutomationRule", + "AzureFunction", + "DataConnector", + "DataType", + "HuntingQuery", + "InvestigationQuery", + "LogicAppsCustomConnector", + "Parser", + "Playbook", + "PlaybookTemplate", + "Solution", + "Watchlist", + "WatchlistTemplate", + "Workbook", + "WorkbookTemplate", + ], + }, + }, + { + name: "--last-publish-date", + description: "Last publish date for the solution content item", + args: { name: "last-publish-date" }, + }, + { + name: ["--metadata-name", "--name", "-n"], + description: "The Metadata name", + args: { name: "metadata-name" }, + }, + { + name: "--parent-id", + description: + "Full parent resource ID of the content item the metadata is for. This is the full resource ID including the scope (subscription and resource group)", + args: { name: "parent-id" }, + }, + { + name: "--preview-images", + description: + 'Preview image file names. These will be taken from the solution artifacts Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "preview-images" }, + }, + { + name: "--preview-images-dark", + description: + 'Preview image file names. These will be taken from the solution artifacts. used for dark theme support Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "preview-images-dark" }, + }, + { + name: "--providers", + description: + 'Providers for the solution content item Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "providers" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--source", + description: + 'Source of the content. This is where/how it was created. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "source" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--support", + description: + 'Support information for the metadata - type, name, contact information Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "support" }, + }, + { + name: "--threat-tactics", + description: + 'The tactics the resource covers Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-tactics" }, + }, + { + name: "--threat-techniques", + description: + 'The techniques the resource covers, these have to be aligned with the tactics being used Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-techniques" }, + }, + { + name: "--version", + description: + "Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any version checks", + args: { name: "version" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "office-consent", + description: "Manage office consent with sentinel", + subcommands: [ + { + name: "delete", + description: "Delete the office365 consent", + options: [ + { + name: ["--consent-id", "--name", "-n"], + description: "Consent ID", + args: { name: "consent-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all office365 consents", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get an office365 consent", + options: [ + { + name: ["--consent-id", "--name", "-n"], + description: "Consent ID", + args: { name: "consent-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "onboarding-state", + description: "Manage onboarding state with sentinel", + subcommands: [ + { + name: "create", + description: "Create Sentinel onboarding state", + options: [ + { + name: ["--sentinel-onboarding-state-name", "--name", "-n"], + description: + "The Sentinel onboarding state name. Supports - default", + args: { name: "sentinel-onboarding-state-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--customer-managed-key", + description: "Flag that indicates the status of the CMK setting", + args: { + name: "customer-managed-key", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + ], + }, + { + name: "delete", + description: "Delete Sentinel onboarding state", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--sentinel-onboarding-state-name", "--name", "-n"], + description: + "The Sentinel onboarding state name. Supports - default", + args: { name: "sentinel-onboarding-state-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all Sentinel onboarding states", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get Sentinel onboarding state", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--sentinel-onboarding-state-name", "--name", "-n"], + description: + "The Sentinel onboarding state name. Supports - default", + args: { name: "sentinel-onboarding-state-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update Sentinel onboarding state", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--customer-managed-key", + description: "Flag that indicates the status of the CMK setting", + args: { + name: "customer-managed-key", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--sentinel-onboarding-state-name", "--name", "-n"], + description: + "The Sentinel onboarding state name. Supports - default", + args: { name: "sentinel-onboarding-state-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "setting", + description: "Manage setting with sentinel", + subcommands: [ + { + name: "create", + description: "Create setting", + options: [ + { + name: ["--settings-name", "--name", "-n"], + description: + "The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba", + args: { name: "settings-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--entity-analytics", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "entity-analytics" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--ueba", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ueba" }, + }, + ], + }, + { + name: "delete", + description: "Delete setting of the product", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--settings-name", "--name", "-n"], + description: + "The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba", + args: { name: "settings-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List of all the settings", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a setting", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--settings-name", "--name", "-n"], + description: + "The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba", + args: { name: "settings-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update setting", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--entity-analytics", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "entity-analytics" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--settings-name", "--name", "-n"], + description: + "The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba", + args: { name: "settings-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--ueba", + description: + 'Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ueba" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "source-control", + description: "Manage source control with sentinel", + subcommands: [ + { + name: "create", + description: "Create a source control", + options: [ + { + name: ["--source-control-id", "--name", "-n"], + description: "Source control Id", + args: { name: "source-control-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--content-types", + description: + 'Array of source control content types. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "content-types" }, + }, + { + name: "--description", + description: "A description of the source control", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "The display name of the source control", + args: { name: "display-name" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--id", + description: "The id (a Guid) of the source control", + args: { name: "id" }, + }, + { + name: "--last-deployment-info", + description: + 'Information regarding the latest deployment for the source control. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "last-deployment-info" }, + }, + { + name: "--repo-type", + description: "The repository type of the source control", + args: { name: "repo-type", suggestions: ["DevOps", "Github"] }, + }, + { + name: "--repository", + description: + 'Repository metadata. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "repository" }, + }, + { + name: "--repository-info", + description: + 'Information regarding the resources created in user\'s repository. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "repository-info" }, + }, + { + name: "--version", + description: + "The version number associated with the source control", + args: { name: "version", suggestions: ["V1", "V2"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a source control", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--source-control-id", "--name", "-n"], + description: "Source control Id", + args: { name: "source-control-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all source controls, without source control items", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list-repository", + description: "Get a list of repositories metadata", + options: [ + { + name: "--repo-type", + description: "The type of repository", + args: { name: "repo-type", suggestions: ["DevOps", "Github"] }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a source control by its identifier", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--source-control-id", "--name", "-n"], + description: "Source control Id", + args: { name: "source-control-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Create a source control", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--content-types", + description: + 'Array of source control content types. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "content-types" }, + }, + { + name: "--description", + description: "A description of the source control", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "The display name of the source control", + args: { name: "display-name" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--id", + description: "The id (a Guid) of the source control", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--last-deployment-info", + description: + 'Information regarding the latest deployment for the source control. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "last-deployment-info" }, + }, + { + name: ["--source-control-id", "--name", "-n"], + description: "Source control Id", + args: { name: "source-control-id" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--repo-type", + description: "The repository type of the source control", + args: { name: "repo-type", suggestions: ["DevOps", "Github"] }, + }, + { + name: "--repository", + description: + 'Repository metadata. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "repository" }, + }, + { + name: "--repository-info", + description: + 'Information regarding the resources created in user\'s repository. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "repository-info" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--version", + description: + "The version number associated with the source control", + args: { name: "version", suggestions: ["V1", "V2"] }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "threat-indicator", + description: "Manage threat intelligence indicator with sentinel", + subcommands: [ + { + name: "append-tag", + description: "Append tags to a threat intelligence indicator", + options: [ + { + name: "--name", + description: "Threat intelligence indicator name field", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--intelligence-tags", + description: + 'List of tags to be appended. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "intelligence-tags" }, + }, + ], + }, + { + name: "create", + description: "Create a new threat intelligence indicator", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--confidence", + description: "Confidence of threat intelligence entity", + args: { name: "confidence" }, + }, + { + name: "--created", + description: "Created by", + args: { name: "created" }, + }, + { + name: "--created-by-ref", + description: "Created by reference of threat intelligence entity", + args: { name: "created-by-ref" }, + }, + { + name: "--defanged", + description: "Is threat intelligence entity defanged", + args: { + name: "defanged", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--description", + description: "Description of a threat intelligence entity", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of a threat intelligence entity", + args: { name: "display-name" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--external-id", + description: "External ID of threat intelligence entity", + args: { name: "external-id" }, + }, + { + name: "--external-references", + description: + 'External References Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "external-references" }, + }, + { + name: "--external-updated-time", + description: "External last updated time in UTC", + args: { name: "external-updated-time" }, + }, + { + name: "--granular-markings", + description: + 'Granular Markings Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "granular-markings" }, + }, + { + name: "--indicator-types", + description: + 'Indicator types of threat intelligence entities Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "indicator-types" }, + }, + { + name: "--kill-chain-phases", + description: + 'Kill chain phases Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "kill-chain-phases" }, + }, + { + name: "--labels", + description: + 'Labels of threat intelligence entity Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "labels" }, + }, + { + name: "--language", + description: "Language of threat intelligence entity", + args: { name: "language" }, + }, + { + name: "--last-updated-time", + description: "Last updated time in UTC", + args: { name: "last-updated-time" }, + }, + { + name: "--modified", + description: "Modified by", + args: { name: "modified" }, + }, + { + name: "--object-marking-refs", + description: + 'Threat intelligence entity object marking references Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "object-marking-refs" }, + }, + { + name: "--parsed-pattern", + description: + 'Parsed patterns Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "parsed-pattern" }, + }, + { + name: "--pattern", + description: "Pattern of a threat intelligence entity", + args: { name: "pattern" }, + }, + { + name: "--pattern-type", + description: "Pattern type of a threat intelligence entity", + args: { name: "pattern-type" }, + }, + { + name: "--pattern-version", + description: "Pattern version of a threat intelligence entity", + args: { name: "pattern-version" }, + }, + { + name: "--revoked", + description: "Is threat intelligence entity revoked", + args: { + name: "revoked", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--source", + description: "Source of a threat intelligence entity", + args: { name: "source" }, + }, + { + name: "--threat-tags", + description: + 'List of tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-tags" }, + }, + { + name: "--threat-types", + description: + 'Threat types Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-types" }, + }, + { + name: "--valid-from", + description: "Valid from", + args: { name: "valid-from" }, + }, + { + name: "--valid-until", + description: "Valid until", + args: { name: "valid-until" }, + }, + ], + }, + { + name: "delete", + description: "Delete a threat intelligence indicator", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Threat intelligence indicator name field", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all threat intelligence indicators", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--filter", + description: + "Filters the results, based on a Boolean condition. Optional", + args: { name: "filter" }, + }, + { + name: "--orderby", + description: "Sorts the results. Optional", + args: { name: "orderby" }, + }, + { + name: "--skip-token", + description: + "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional", + args: { name: "skip-token" }, + }, + { + name: "--top", + description: "Returns only the first n results. Optional", + args: { name: "top" }, + }, + ], + }, + { + name: "query", + description: + "Query threat intelligence indicators as per filtering criteria", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + 'Ids of threat intelligence indicators Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ids" }, + }, + { + name: "--include-disabled", + description: "Parameter to include/exclude disabled indicators", + args: { + name: "include-disabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--keywords", + description: + 'Keywords for searching threat intelligence indicators Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "keywords" }, + }, + { + name: "--max-confidence", + description: "Maximum confidence", + args: { name: "max-confidence" }, + }, + { + name: "--max-valid-until", + description: "End time for ValidUntil filter", + args: { name: "max-valid-until" }, + }, + { + name: "--min-confidence", + description: "Minimum confidence", + args: { name: "min-confidence" }, + }, + { + name: "--min-valid-until", + description: "Start time for ValidUntil filter", + args: { name: "min-valid-until" }, + }, + { + name: "--page-size", + description: "Page size", + args: { name: "page-size" }, + }, + { + name: "--pattern-types", + description: + 'Pattern types Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "pattern-types" }, + }, + { + name: "--skip-token", + description: "Skip token", + args: { name: "skip-token" }, + }, + { + name: "--sort-by", + description: + 'Columns to sort by and sorting order Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sort-by" }, + }, + { + name: "--sources", + description: + 'Sources of threat intelligence indicators Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sources" }, + }, + { + name: "--threat-types", + description: + 'Threat types of threat intelligence indicators Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-types" }, + }, + ], + }, + { + name: "replace-tag", + description: "Replace tags added to a threat intelligence indicator", + options: [ + { + name: "--name", + description: "Threat intelligence indicator name field", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--confidence", + description: "Confidence of threat intelligence entity", + args: { name: "confidence" }, + }, + { + name: "--created", + description: "Created by", + args: { name: "created" }, + }, + { + name: "--created-by-ref", + description: "Created by reference of threat intelligence entity", + args: { name: "created-by-ref" }, + }, + { + name: "--defanged", + description: "Is threat intelligence entity defanged", + args: { + name: "defanged", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--description", + description: "Description of a threat intelligence entity", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of a threat intelligence entity", + args: { name: "display-name" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--external-id", + description: "External ID of threat intelligence entity", + args: { name: "external-id" }, + }, + { + name: "--external-references", + description: + 'External References Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "external-references" }, + }, + { + name: "--external-updated-time", + description: "External last updated time in UTC", + args: { name: "external-updated-time" }, + }, + { + name: "--granular-markings", + description: + 'Granular Markings Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "granular-markings" }, + }, + { + name: "--indicator-types", + description: + 'Indicator types of threat intelligence entities Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "indicator-types" }, + }, + { + name: "--intelligence-tags", + description: + 'List of tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "intelligence-tags" }, + }, + { + name: "--kill-chain-phases", + description: + 'Kill chain phases Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "kill-chain-phases" }, + }, + { + name: "--labels", + description: + 'Labels of threat intelligence entity Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "labels" }, + }, + { + name: "--language", + description: "Language of threat intelligence entity", + args: { name: "language" }, + }, + { + name: "--last-updated-time", + description: "Last updated time in UTC", + args: { name: "last-updated-time" }, + }, + { + name: "--modified", + description: "Modified by", + args: { name: "modified" }, + }, + { + name: "--object-marking-refs", + description: + 'Threat intelligence entity object marking references Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "object-marking-refs" }, + }, + { + name: "--parsed-pattern", + description: + 'Parsed patterns Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "parsed-pattern" }, + }, + { + name: "--pattern", + description: "Pattern of a threat intelligence entity", + args: { name: "pattern" }, + }, + { + name: "--pattern-type", + description: "Pattern type of a threat intelligence entity", + args: { name: "pattern-type" }, + }, + { + name: "--pattern-version", + description: "Pattern version of a threat intelligence entity", + args: { name: "pattern-version" }, + }, + { + name: "--revoked", + description: "Is threat intelligence entity revoked", + args: { + name: "revoked", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--source", + description: "Source of a threat intelligence entity", + args: { name: "source" }, + }, + { + name: "--threat-types", + description: + 'Threat types Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-types" }, + }, + { + name: "--valid-from", + description: "Valid from", + args: { name: "valid-from" }, + }, + { + name: "--valid-until", + description: "Valid until", + args: { name: "valid-until" }, + }, + ], + }, + { + name: "show", + description: "View a threat intelligence indicator by name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Threat intelligence indicator name field", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update a threat Intelligence indicator", + options: [ + { + name: "--confidence", + description: "Confidence of threat intelligence entity", + args: { name: "confidence" }, + }, + { + name: "--created", + description: "Created by", + args: { name: "created" }, + }, + { + name: "--created-by-ref", + description: "Created by reference of threat intelligence entity", + args: { name: "created-by-ref" }, + }, + { + name: "--defanged", + description: "Is threat intelligence entity defanged", + args: { + name: "defanged", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--description", + description: "Description of a threat intelligence entity", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "Display name of a threat intelligence entity", + args: { name: "display-name" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--external-id", + description: "External ID of threat intelligence entity", + args: { name: "external-id" }, + }, + { + name: "--external-references", + description: + 'External References Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "external-references" }, + }, + { + name: "--external-updated-time", + description: "External last updated time in UTC", + args: { name: "external-updated-time" }, + }, + { + name: "--granular-markings", + description: + 'Granular Markings Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "granular-markings" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--indicator-types", + description: + 'Indicator types of threat intelligence entities Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "indicator-types" }, + }, + { + name: "--kill-chain-phases", + description: + 'Kill chain phases Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "kill-chain-phases" }, + }, + { + name: "--labels", + description: + 'Labels of threat intelligence entity Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "labels" }, + }, + { + name: "--language", + description: "Language of threat intelligence entity", + args: { name: "language" }, + }, + { + name: "--last-updated-time", + description: "Last updated time in UTC", + args: { name: "last-updated-time" }, + }, + { + name: "--modified", + description: "Modified by", + args: { name: "modified" }, + }, + { + name: ["--name", "-n"], + description: "Threat intelligence indicator name field", + args: { name: "name" }, + }, + { + name: "--object-marking-refs", + description: + 'Threat intelligence entity object marking references Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "object-marking-refs" }, + }, + { + name: "--parsed-pattern", + description: + 'Parsed patterns Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "parsed-pattern" }, + }, + { + name: "--pattern", + description: "Pattern of a threat intelligence entity", + args: { name: "pattern" }, + }, + { + name: "--pattern-type", + description: "Pattern type of a threat intelligence entity", + args: { name: "pattern-type" }, + }, + { + name: "--pattern-version", + description: "Pattern version of a threat intelligence entity", + args: { name: "pattern-version" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--revoked", + description: "Is threat intelligence entity revoked", + args: { + name: "revoked", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--source", + description: "Source of a threat intelligence entity", + args: { name: "source" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--threat-tags", + description: + 'List of tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-tags" }, + }, + { + name: "--threat-types", + description: + 'Threat types Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "threat-types" }, + }, + { + name: "--valid-from", + description: "Valid from", + args: { name: "valid-from" }, + }, + { + name: "--valid-until", + description: "Valid until", + args: { name: "valid-until" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "metric", + description: + "Manage threat intelligence indicator metric with sentinel", + subcommands: [ + { + name: "list", + description: + "Get threat intelligence indicators metrics (Indicators counts by Type, Threat Type, Source)", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "watchlist", + description: "Manage watchlist with sentinel", + subcommands: [ + { + name: "create", + description: + "Create a Watchlist and its Watchlist Items (bulk creation, e.g. through text/csv content type). To create a Watchlist and its Items, we should call this endpoint with either rawContent or a valid SAR URI and contentType properties. The rawContent is mainly used for small watchlist (content size below 3.8 MB). The SAS URI enables the creation of large watchlist, where the content size can go up to 500 MB. The status of processing such large file can be polled through the URL returned in Azure-AsyncOperation header", + options: [ + { + name: ["--watchlist-alias", "--name", "-n"], + description: "Watchlist Alias", + args: { name: "watchlist-alias" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--content-type", + description: + "The content type of the raw content. Example : text/csv or text/tsv", + args: { name: "content-type" }, + }, + { + name: "--created", + description: "The time the watchlist was created", + args: { name: "created" }, + }, + { + name: "--created-by", + description: + 'Describes a user that created the watchlist Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "created-by" }, + }, + { + name: "--default-duration", + description: + "The default duration of a watchlist (in ISO 8601 duration format)", + args: { name: "default-duration" }, + }, + { + name: "--description", + description: "A description of the watchlist", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "The display name of the watchlist", + args: { name: "display-name" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--is-deleted", + description: + "A flag that indicates if the watchlist is deleted or not", + args: { + name: "is-deleted", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--items-search-key", + description: + "The search key is used to optimize query performance when using watchlists for joins with other data. For example, enable a column with IP addresses to be the designated SearchKey field, then use this field as the key field when joining to other event data by IP address", + args: { name: "items-search-key" }, + }, + { + name: "--labels", + description: + 'List of labels relevant to this watchlist Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "labels" }, + }, + { + name: "--provider", + description: "The provider of the watchlist", + args: { name: "provider" }, + }, + { + name: "--raw-content", + description: + "The raw content that represents to watchlist items to create. In case of csv/tsv content type, it's the content of the file that will parsed by the endpoint", + args: { name: "raw-content" }, + }, + { + name: "--skip-num", + description: + "The number of lines in a csv/tsv content to skip before the header", + args: { name: "skip-num" }, + }, + { + name: "--source", + description: "The filename of the watchlist, called 'source'", + args: { name: "source" }, + }, + { + name: "--source-type", + description: "The sourceType of the watchlist", + args: { + name: "source-type", + suggestions: ["Local file", "Remote storage"], + }, + }, + { + name: "--tenant-id", + description: "The tenantId where the watchlist belongs to", + args: { name: "tenant-id" }, + }, + { + name: "--updated", + description: "The last time the watchlist was updated", + args: { name: "updated" }, + }, + { + name: "--updated-by", + description: + 'Describes a user that updated the watchlist Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "updated-by" }, + }, + { + name: "--upload-status", + description: + "The status of the Watchlist upload : New, InProgress or Complete. Pls note : When a Watchlist upload status is equal to InProgress, the Watchlist cannot be deleted", + args: { name: "upload-status" }, + }, + { + name: "--watchlist-id", + description: "The id (a Guid) of the watchlist", + args: { name: "watchlist-id" }, + }, + { + name: "--watchlist-type", + description: "The type of the watchlist", + args: { name: "watchlist-type" }, + }, + ], + }, + { + name: "delete", + description: "Delete a watchlist", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--watchlist-alias", "--name", "-n"], + description: "Watchlist Alias", + args: { name: "watchlist-alias" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Get all watchlists, without watchlist items", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--skip-token", + description: + "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional", + args: { name: "skip-token" }, + }, + ], + }, + { + name: "show", + description: "Get a watchlist, without its watchlist items", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--watchlist-alias", "--name", "-n"], + description: "Watchlist Alias", + args: { name: "watchlist-alias" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: + "Update a Watchlist and its Watchlist Items (bulk creation, e.g. through text/csv content type). To create a Watchlist and its Items, we should call this endpoint with either rawContent or a valid SAR URI and contentType properties. The rawContent is mainly used for small watchlist (content size below 3.8 MB). The SAS URI enables the creation of large watchlist, where the content size can go up to 500 MB. The status of processing such large file can be polled through the URL returned in Azure-AsyncOperation header", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--content-type", + description: + "The content type of the raw content. Example : text/csv or text/tsv", + args: { name: "content-type" }, + }, + { + name: "--created", + description: "The time the watchlist was created", + args: { name: "created" }, + }, + { + name: "--created-by", + description: + 'Describes a user that created the watchlist Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "created-by" }, + }, + { + name: "--default-duration", + description: + "The default duration of a watchlist (in ISO 8601 duration format)", + args: { name: "default-duration" }, + }, + { + name: "--description", + description: "A description of the watchlist", + args: { name: "description" }, + }, + { + name: "--display-name", + description: "The display name of the watchlist", + args: { name: "display-name" }, + }, + { + name: "--etag", + description: "Etag of the azure resource", + args: { name: "etag" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--is-deleted", + description: + "A flag that indicates if the watchlist is deleted or not", + args: { + name: "is-deleted", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--items-search-key", + description: + "The search key is used to optimize query performance when using watchlists for joins with other data. For example, enable a column with IP addresses to be the designated SearchKey field, then use this field as the key field when joining to other event data by IP address", + args: { name: "items-search-key" }, + }, + { + name: "--labels", + description: + 'List of labels relevant to this watchlist Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "labels" }, + }, + { + name: ["--watchlist-alias", "--name", "-n"], + description: "Watchlist Alias", + args: { name: "watchlist-alias" }, + }, + { + name: "--provider", + description: "The provider of the watchlist", + args: { name: "provider" }, + }, + { + name: "--raw-content", + description: + "The raw content that represents to watchlist items to create. In case of csv/tsv content type, it's the content of the file that will parsed by the endpoint", + args: { name: "raw-content" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--skip-num", + description: + "The number of lines in a csv/tsv content to skip before the header", + args: { name: "skip-num" }, + }, + { + name: "--source", + description: "The filename of the watchlist, called 'source'", + args: { name: "source" }, + }, + { + name: "--source-type", + description: "The sourceType of the watchlist", + args: { + name: "source-type", + suggestions: ["Local file", "Remote storage"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tenant-id", + description: "The tenantId where the watchlist belongs to", + args: { name: "tenant-id" }, + }, + { + name: "--updated", + description: "The last time the watchlist was updated", + args: { name: "updated" }, + }, + { + name: "--updated-by", + description: + 'Describes a user that updated the watchlist Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "updated-by" }, + }, + { + name: "--upload-status", + description: + "The status of the Watchlist upload : New, InProgress or Complete. Pls note : When a Watchlist upload status is equal to InProgress, the Watchlist cannot be deleted", + args: { name: "upload-status" }, + }, + { + name: "--watchlist-id", + description: "The id (a Guid) of the watchlist", + args: { name: "watchlist-id" }, + }, + { + name: "--watchlist-type", + description: "The type of the watchlist", + args: { name: "watchlist-type" }, + }, + { + name: ["--workspace-name", "-w"], + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/serial-console.ts b/src/az/2.53.0/serial-console.ts new file mode 100644 index 000000000000..127870ee4a2c --- /dev/null +++ b/src/az/2.53.0/serial-console.ts @@ -0,0 +1,137 @@ +const completion: Fig.Spec = { + name: "serial-console", + description: + "Connect to the Serial Console of a Linux/Windows Virtual Machine or VMSS Instance", + subcommands: [ + { + name: "connect", + description: "Connect to Serial Console VM or VMSS Instance", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the Virtual Machine or Virtual Machine Scale Set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--instance-id", + description: + "ID of VMSS instance. Not needed when connecting to the serialport of a Virtual Machine", + args: { name: "instance-id" }, + }, + ], + }, + { + name: "disable", + description: + "Disable the serial console service for an entire subscription", + }, + { + name: "enable", + description: + "Enable the serial console service for an entire subscription", + }, + { + name: "send", + description: "Send NMI/SysRq/Reset to a VM or VMSS Instance", + subcommands: [ + { + name: "nmi", + description: + "Send a Non-Maskable Interrupt (NMI) to a VM or VMSS Instance", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the Virtual Machine or Virtual Machine Scale Set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--instance-id", + description: + "ID of VMSS instance. Not needed when connecting to the serialport of a Virtual Machine", + args: { name: "instance-id" }, + }, + ], + }, + { + name: "reset", + description: 'Perform a "hard" restart of the VM or VMSS Instance', + options: [ + { + name: ["--name", "-n"], + description: + "Name of the Virtual Machine or Virtual Machine Scale Set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--instance-id", + description: + "ID of VMSS instance. Not needed when connecting to the serialport of a Virtual Machine", + args: { name: "instance-id" }, + }, + ], + }, + { + name: "sysrq", + description: "Send SysRq sequence to a VM or VMSS Instance", + options: [ + { + name: "--input", + description: + "Input key to send over serial console. Must be one character", + args: { name: "input" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the Virtual Machine or Virtual Machine Scale Set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--instance-id", + description: + "ID of VMSS instance. Not needed when connecting to the serialport of a Virtual Machine", + args: { name: "instance-id" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/servicebus.ts b/src/az/2.53.0/servicebus.ts new file mode 100644 index 000000000000..41fcf8f32ed4 --- /dev/null +++ b/src/az/2.53.0/servicebus.ts @@ -0,0 +1,5430 @@ +const completion: Fig.Spec = { + name: "servicebus", + description: "Servicebus", + subcommands: [ + { + name: "georecovery-alias", + description: + "Manage Azure Service Bus Geo-Disaster Recovery Configuration Alias", + subcommands: [ + { + name: "break-pair", + description: + "This operation disables the Disaster Recovery and stops replicating changes from primary to secondary namespaces", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a new Alias(Disaster Recovery configuration)", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--alternate-name", + description: + "Primary/Secondary eventhub namespace name, which is part of GEO DR pairing", + args: { name: "alternate-name" }, + }, + { + name: "--partner-namespace", + description: + "ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing", + args: { name: "partner-namespace" }, + }, + ], + }, + { + name: "delete", + description: "Delete an Alias(Disaster Recovery configuration)", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "exists", + description: "Check the give namespace name availability", + options: [ + { + name: ["--alias", "-a"], + description: + "The Name to check the namespace name availability and The namespace name can contain only letters, numbers, and hyphens. The namespace must start with a letter, and it must end with a letter or number", + args: { name: "alias" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "fail-over", + description: + "Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--is-safe-failover", + description: + "Safe failover is to indicate the service should wait for pending replication to finish before switching to the secondary", + args: { + name: "is-safe-failover", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all Alias(Disaster Recovery configurations)", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: + "Sets Service Bus Geo-Disaster Recovery Configuration Alias for the give Namespace", + options: [ + { + name: ["--alias", "-a"], + description: + "Name of the Geo-Disaster Recovery Configuration Alias", + args: { name: "alias" }, + isRequired: true, + }, + { + name: "--partner-namespace", + description: + "Name (if within the same resource group) or ARM Id of Primary/Secondary Service Bus namespace name, which is part of GEO DR pairing", + args: { name: "partner-namespace" }, + isRequired: true, + }, + { + name: "--alternate-name", + description: + "Alternate Name (Post failover) for Primary Namespace, when Namespace name and Alias name are same", + args: { name: "alternate-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get Alias(Disaster Recovery configuration) for primary or secondary namespace", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a new Alias(Disaster Recovery configuration)", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + }, + { + name: "--alternate-name", + description: + "Primary/Secondary eventhub namespace name, which is part of GEO DR pairing", + args: { name: "alternate-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--partner-namespace", + description: + "ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing", + args: { name: "partner-namespace" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "authorization-rule", + description: + "Manage Azure Service Bus Authorization Rule for Namespace with Geo-Disaster Recovery Configuration Alias", + subcommands: [ + { + name: "list", + description: "List the authorization rules for a namespace", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get an authorization rule for a namespace by rule name", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + }, + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "keys", + description: + "Manage Azure Authorization Rule keys for Service Bus Namespace", + subcommands: [ + { + name: "list", + description: + "Gets the primary and secondary connection strings for the namespace", + options: [ + { + name: ["--alias", "-a"], + description: "The Disaster Recovery configuration name", + args: { name: "alias" }, + isRequired: true, + }, + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "migration", + description: "Manage Azure Service Bus Migration of Standard to Premium", + subcommands: [ + { + name: "abort", + description: "This operation reverts Migration", + options: [ + { + name: "--config-name", + description: + 'The configuration name. Should always be "$default"', + args: { name: "config-name", suggestions: ["$default"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--namespace-name", "--name", "-n"], + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "complete", + description: + "This operation Completes Migration of entities by pointing the connection strings to Premium namespace and any entities created after the operation will be under Premium Namespace. CompleteMigration operation will fail when entity migration is in-progress", + options: [ + { + name: "--config-name", + description: + 'The configuration name. Should always be "$default"', + args: { name: "config-name", suggestions: ["$default"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--namespace-name", "--name", "-n"], + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete a MigrationConfiguration", + options: [ + { + name: "--config-name", + description: + 'The configuration name. Should always be "$default"', + args: { name: "config-name", suggestions: ["$default"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--namespace-name", "--name", "-n"], + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all migrationConfigurations", + options: [ + { + name: ["--namespace-name", "--name", "-n"], + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get Migration Config", + options: [ + { + name: "--config-name", + description: + 'The configuration name. Should always be "$default"', + args: { name: "config-name", suggestions: ["$default"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: + "Create Migration configuration and starts migration of entities from Standard to Premium namespace", + options: [ + { + name: "--config-name", + description: + 'The configuration name. Should always be "$default"', + args: { name: "config-name", suggestions: ["$default"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--namespace-name", "--name", "-n"], + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--post-migration-name", + description: "Name to access Standard Namespace after migration", + args: { name: "post-migration-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-namespace", + description: + "Existing premium Namespace ARM Id name which has no entities, will be used for migration", + args: { name: "target-namespace" }, + }, + ], + }, + { + name: "update", + description: + "Update Migration configuration and starts migration of entities from Standard to Premium namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--config-name", "--name", "-n"], + description: + 'The configuration name. Should always be "$default"', + args: { name: "config-name", suggestions: ["$default"] }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--post-migration-name", + description: "Name to access Standard Namespace after migration", + args: { name: "post-migration-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-namespace", + description: + "Existing premium Namespace ARM Id name which has no entities, will be used for migration", + args: { name: "target-namespace" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--config-name", + description: + 'The configuration name. Should always be "$default"', + args: { name: "config-name", suggestions: ["$default"] }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "namespace", + description: "Servicebus namespace", + subcommands: [ + { + name: "create", + description: "Create a Service Bus Namespace", + options: [ + { + name: ["--name", "-n"], + description: "Name of Namespace", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--alternate-name", + description: + "Alternate name specified when alias and namespace names are same", + args: { name: "alternate-name" }, + }, + { + name: "--capacity", + description: + "Number of message units. This property is only applicable to namespaces of Premium SKU", + args: { + name: "capacity", + suggestions: ["1", "16", "2", "4", "8"], + }, + }, + { + name: "--disable-local-auth", + description: + "A boolean value that indicates whether SAS authentication is enabled/disabled for the Service Bus", + args: { + name: "disable-local-auth", + suggestions: ["false", "true"], + }, + }, + { + name: "--encryption-config", + description: "List of KeyVaultProperties objects", + args: { name: "encryption-config" }, + }, + { + name: "--infra-encryption", + description: + "A boolean value that indicates whether Infrastructure Encryption (Double Encryption)", + args: { + name: "infra-encryption", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mi-system-assigned", + description: "Enable System Assigned Identity", + args: { + name: "mi-system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: "--mi-user-assigned", + description: "List of User Assigned Identity ids", + args: { name: "mi-user-assigned" }, + }, + { + name: ["--minimum-tls-version", "--min-tls"], + description: + "The minimum TLS version for the cluster to support, e.g. 1.2", + args: { + name: "minimum-tls-version", + suggestions: ["1.0", "1.1", "1.2"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--premium-messaging-partitions", "--premium-partitions"], + description: + "The number of partitions of a Service Bus namespace. This property is only applicable to Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4", + args: { name: "premium-messaging-partitions" }, + }, + { + name: ["--public-network-access", "--public-network"], + description: + "This determines if traffic is allowed over public network. By default it is enabled. If value is SecuredByPerimeter then Inbound and Outbound communication is controlled by the network security perimeter and profile' access rules", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--sku", + description: "Namespace SKU", + args: { + name: "sku", + suggestions: ["Basic", "Premium", "Standard"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--zone-redundant", + description: + "Enabling this property creates a ServiceBus Zone Redundant Namespace in regions supported availability zones", + args: { name: "zone-redundant", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "delete", + description: + "Delete an existing namespace. This operation also removes all associated resources under the namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--namespace-name", "--name", "-n"], + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "The resourceGroup name", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "exists", + description: "Check the give namespace name availability", + options: [ + { + name: "--name", + description: + "The Name to check the namespace name availability and The namespace name can contain only letters, numbers, and hyphens. The namespace must start with a letter, and it must end with a letter or number", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List all the available namespaces within the subscription by resource group & also irrespective of the resource groups", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a description for the specified namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--namespace-name", "--name", "-n"], + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resourceGroup name", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--alternate-name", + description: "Alternate name for namespace", + args: { name: "alternate-name" }, + }, + { + name: "--capacity", + description: + "Messaging units for your service bus premium namespace. Valid capacities are {1, 2, 4, 8, 16} multiples of your properties.premiumMessagingPartitions setting. For example, If properties.premiumMessagingPartitions is 1 then possible capacity values are 1, 2, 4, 8, and 16. If properties.premiumMessagingPartitions is 4 then possible capacity values are 4, 8, 16, 32 and 64", + args: { name: "capacity" }, + }, + { + name: ["--private-endpoint-connections", "--connections"], + description: + 'List of private endpoint connections. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "private-endpoint-connections" }, + }, + { + name: "--disable-local-auth", + description: + "This property disables SAS authentication for the Service Bus namespace", + args: { + name: "disable-local-auth", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--encryption", + description: + 'Properties of BYOK Encryption description Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "encryption" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + 'Properties of BYOK Identity description Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--minimum-tls-version", + description: + "The minimum TLS version for the cluster to support, e.g. '1.2'", + args: { + name: "minimum-tls-version", + suggestions: ["1.0", "1.1", "1.2"], + }, + }, + { + name: ["--namespace-name", "--name", "-n"], + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--premium-messaging-partitions", "--premium-partitions"], + description: + "The number of partitions of a Service Bus namespace. This property is only applicable to Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4", + args: { name: "premium-messaging-partitions" }, + }, + { + name: "--public-network-access", + description: + "This determines if traffic is allowed over public network. By default it is enabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled", "SecuredByPerimeter"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resourceGroup name", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "Name of this SKU", + args: { + name: "sku", + suggestions: ["Basic", "Premium", "Standard"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--tier", + description: "The billing tier of this particular SKU", + args: { + name: "tier", + suggestions: ["Basic", "Premium", "Standard"], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--namespace-name", "--name", "-n"], + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: "The resourceGroup name", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "authorization-rule", + description: "Servicebus namespace authorization-rule", + subcommands: [ + { + name: "create", + description: "Create an authorization rule for a namespace", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rights", + description: + 'The rights associated with the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + ], + }, + { + name: "delete", + description: "Delete a namespace authorization rule", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List the authorization rules for a namespace", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get an authorization rule for a namespace by rule name", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an authorization rule for a namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rights", + description: + 'The rights associated with the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "keys", + description: "Servicebus namespace authorization-rule keys", + subcommands: [ + { + name: "list", + description: + "Gets the primary and secondary connection strings for the namespace", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "renew", + description: + "Regenerates the primary or secondary connection strings for the namespace", + options: [ + { + name: "--key", + description: "The access key to regenerate", + args: { + name: "key", + suggestions: ["PrimaryKey", "SecondaryKey"], + }, + isRequired: true, + }, + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-value", + description: + "Optional, if the key value provided, is reset for KeyType value or autogenerate Key value set for keyType", + args: { name: "key-value" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "encryption", + description: "Manage servicebus namespace encryption properties", + subcommands: [ + { + name: "add", + description: "Add Encryption properties to a namespace", + options: [ + { + name: "--encryption-config", + description: "List of KeyVaultProperties objects", + args: { name: "encryption-config" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--infra-encryption", + description: + "A boolean value that indicates whether Infrastructure Encryption (Double Encryption)", + args: { + name: "infra-encryption", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "remove", + description: + "Remove one or more Encryption properties from a namespace", + options: [ + { + name: "--encryption-config", + description: "List of KeyVaultProperties objects", + args: { name: "encryption-config" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage servicebus namespace identity", + subcommands: [ + { + name: "assign", + description: + "Assign System or User or System, User assigned identities to a namespace", + options: [ + { + name: "--namespace-name", + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-assigned", + description: "System Assigned Identity", + args: { + name: "system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: "--user-assigned", + description: "User Assigned Identity", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "remove", + description: + "Removes System or User or System, User assigned identities from a namespace", + options: [ + { + name: "--namespace-name", + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-assigned", + description: "System Assigned Identity", + args: { + name: "system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: "--user-assigned", + description: "User Assigned Identity", + args: { name: "user-assigned" }, + }, + ], + }, + ], + }, + { + name: "network-rule-set", + description: "Servicebus namespace network-rule-set", + subcommands: [ + { + name: "create", + description: "Create NetworkRuleSet for a Namespace", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--default-action", + description: "Default Action for Network Rule Set", + args: { + name: "default-action", + suggestions: ["Allow", "Deny"], + }, + }, + { + name: ["--enable-trusted-service-access", "-t"], + description: + "Value that indicates whether Trusted Service Access is Enabled or not", + args: { + name: "enable-trusted-service-access", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ip-rules", + description: + 'List of IpRules Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-rules" }, + }, + { + name: "--public-network-access", + description: + "This determines if traffic is allowed over public network. By default it is enabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--virtual-network-rules", + description: + 'List VirtualNetwork Rules Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "virtual-network-rules" }, + }, + ], + }, + { + name: "list", + description: "List list of NetworkRuleSet for a Namespace", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get NetworkRuleSet for a Namespace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update NetworkRuleSet for a Namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--default-action", + description: "Default Action for Network Rule Set", + args: { + name: "default-action", + suggestions: ["Allow", "Deny"], + }, + }, + { + name: ["--enable-trusted-service-access", "-t"], + description: + "Value that indicates whether Trusted Service Access is Enabled or not", + args: { + name: "enable-trusted-service-access", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-rules", + description: + 'List of IpRules Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "ip-rules" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--public-network-access", + description: + "This determines if traffic is allowed over public network. By default it is enabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--virtual-network-rules", + description: + 'List VirtualNetwork Rules Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "virtual-network-rules" }, + }, + ], + }, + { + name: "ip-rule", + description: + "Manage Azure ServiceBus ip-rules in networkruleSet for namespace", + subcommands: [ + { + name: "add", + description: "Add a IP-Rule for network rule of namespace", + options: [ + { + name: ["--namespace-name", "--name", "-n"], + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ip-rule", + description: "List VirtualNetwork Rules", + args: { name: "ip-rule" }, + }, + ], + }, + { + name: "remove", + description: "Remove Ip-Rule from network rule of namespace", + options: [ + { + name: ["--namespace-name", "--name", "-n"], + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ip-rule", + description: "List VirtualNetwork Rules", + args: { name: "ip-rule" }, + }, + ], + }, + ], + }, + { + name: "virtual-network-rule", + description: + "Manage Azure ServiceBus subnet-rule in networkruleSet for namespace", + subcommands: [ + { + name: "add", + description: + "Add a Virtual-Network-Rule for network rule of namespace", + options: [ + { + name: "--namespace-name", + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet", + description: "List VirtualNetwork Rules", + args: { name: "subnet" }, + }, + ], + }, + { + name: "remove", + description: "Remove network rule for a namespace", + options: [ + { + name: "--namespace-name", + description: "Name of the Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet", + description: "List VirtualNetwork Rules", + args: { name: "subnet" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: + "Manage servicebus namespace private endpoint connection", + subcommands: [ + { + name: "approve", + description: + "Approve a private endpoint connection request for servicebus namespace", + options: [ + { + name: "--description", + description: "Comments for approve operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Service Bus Namespace. You can get it using az servicebus namespace show", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Service Bus Namespace", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The Service Bus namesapce name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified Service bus namespace", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "create", + description: + "Create PrivateEndpointConnections of service namespace", + options: [ + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The PrivateEndpointConnection name", + args: { name: "private-endpoint-connection-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "Description of the connection state", + args: { name: "description" }, + }, + { + name: "--provisioning-state", + description: + "Provisioning state of the Private Endpoint Connection", + args: { + name: "provisioning-state", + suggestions: [ + "Canceled", + "Creating", + "Deleting", + "Failed", + "Succeeded", + "Updating", + ], + }, + }, + { + name: "--status", + description: "Status of the connection", + args: { + name: "status", + suggestions: [ + "Approved", + "Disconnected", + "Pending", + "Rejected", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete a private endpoint connection request for servicebus namespace", + options: [ + { + name: "--description", + description: "Comments for delete operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Service Bus Namespace. You can get it using az servicebus namespace show", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Service Bus Namespace", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The Service Bus namesapce name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified Service bus namespace", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the available PrivateEndpointConnections within a namespace", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "reject", + description: + "Reject a private endpoint connection request for servicebus namespace", + options: [ + { + name: "--description", + description: "Comments for reject operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Service Bus Namespace. You can get it using az servicebus namespace show", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Service Bus Namespace", + args: { name: "name" }, + }, + { + name: "--namespace-name", + description: "The Service Bus namesapce name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified Service bus namespace", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get a description for the specified Private Endpoint Connection", + options: [ + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Service Bus Namespace. You can get it using az servicebus namespace show", + args: { name: "id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The PrivateEndpointConnection name", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update PrivateEndpointConnections of service namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "Description of the connection state", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The PrivateEndpointConnection name", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--provisioning-state", + description: + "Provisioning state of the Private Endpoint Connection", + args: { + name: "provisioning-state", + suggestions: [ + "Canceled", + "Creating", + "Deleting", + "Failed", + "Succeeded", + "Updating", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--status", + description: "Status of the connection", + args: { + name: "status", + suggestions: [ + "Approved", + "Disconnected", + "Pending", + "Rejected", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-endpoint-connection-name", "--name", "-n"], + description: "The PrivateEndpointConnection name", + args: { name: "private-endpoint-connection-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage servicebus namespace private link resources", + subcommands: [ + { + name: "show", + description: "List lists of resources that supports Privatelinks", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "queue", + description: "Servicebus queue", + subcommands: [ + { + name: "create", + description: + "Create a Service Bus queue. This operation is idempotent", + options: [ + { + name: ["--queue-name", "--name", "-n"], + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--auto-delete-on-idle", + description: + "ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration is 5 minutes", + args: { name: "auto-delete-on-idle" }, + }, + { + name: "--default-message-time-to-live", + description: + "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself", + args: { name: "default-message-time-to-live" }, + }, + { + name: ["--enable-duplicate-detection", "--duplicate-detection"], + description: + "A value indicating if this queue requires duplicate detection", + args: { + name: "enable-duplicate-detection", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--duplicate-detection-history-time-window", "-d"], + description: + "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes", + args: { name: "duplicate-detection-history-time-window" }, + }, + { + name: "--enable-batched-operations", + description: + "Value that indicates whether server-side batched operations are enabled", + args: { + name: "enable-batched-operations", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: [ + "--enable-dead-lettering-on-message-expiration", + "--message-expiration", + ], + description: + "A value that indicates whether this queue has dead letter support when a message expires", + args: { + name: "enable-dead-lettering-on-message-expiration", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-express", + description: + "A value that indicates whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage", + args: { + name: "enable-express", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-partitioning", + description: + "A value that indicates whether the queue is to be partitioned across multiple message brokers", + args: { + name: "enable-partitioning", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-session", + description: + "A value that indicates whether the queue supports the concept of sessions", + args: { + name: "enable-session", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--forward-dead-lettered-messages-to", + description: + "Queue/Topic name to forward the Dead Letter message", + args: { name: "forward-dead-lettered-messages-to" }, + }, + { + name: "--forward-to", + description: "Queue/Topic name to forward the messages", + args: { name: "forward-to" }, + }, + { + name: "--lock-duration", + description: + "ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute", + args: { name: "lock-duration" }, + }, + { + name: "--max-delivery-count", + description: + "The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10", + args: { name: "max-delivery-count" }, + }, + { + name: ["--max-message-size-in-kilobytes", "--max-message-size"], + description: + "Maximum size (in KB) of the message payload that can be accepted by the topic. This property is only used in Premium today and default is 1024", + args: { name: "max-message-size-in-kilobytes" }, + }, + { + name: ["--max-size-in-megabytes", "--max-size"], + description: + "Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. Default is 1024", + args: { name: "max-size-in-megabytes" }, + }, + { + name: "--status", + description: + "Enumerates the possible values for the status of a messaging entity", + args: { + name: "status", + suggestions: [ + "Active", + "Creating", + "Deleting", + "Disabled", + "ReceiveDisabled", + "Renaming", + "Restoring", + "SendDisabled", + "Unknown", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete a queue from the specified namespace in a resource group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--queue-name", "--name", "-n"], + description: "The queue name", + args: { name: "queue-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List the queues within a namespace", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--skip", + description: + "Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip" }, + }, + { + name: "--top", + description: + "May be used to limit the number of results to the most recent N usageDetails", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get a description for the specified queue", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--queue-name", "--name", "-n"], + description: "The queue name", + args: { name: "queue-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a Service Bus queue. This operation is idempotent", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--auto-delete-on-idle", + description: + "ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration is 5 minutes", + args: { name: "auto-delete-on-idle" }, + }, + { + name: "--default-message-time-to-live", + description: + "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself", + args: { name: "default-message-time-to-live" }, + }, + { + name: ["--duplicate-detection-history-time-window", "-d"], + description: + "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes", + args: { name: "duplicate-detection-history-time-window" }, + }, + { + name: "--enable-batched-operations", + description: + "Value that indicates whether server-side batched operations are enabled", + args: { + name: "enable-batched-operations", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: [ + "--enable-dead-lettering-on-message-expiration", + "--message-expiration", + ], + description: + "A value that indicates whether this queue has dead letter support when a message expires", + args: { + name: "enable-dead-lettering-on-message-expiration", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-express", + description: + "A value that indicates whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage", + args: { + name: "enable-express", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--forward-dead-lettered-messages-to", + description: + "Queue/Topic name to forward the Dead Letter message", + args: { name: "forward-dead-lettered-messages-to" }, + }, + { + name: "--forward-to", + description: "Queue/Topic name to forward the messages", + args: { name: "forward-to" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--lock-duration", + description: + "ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute", + args: { name: "lock-duration" }, + }, + { + name: "--max-delivery-count", + description: + "The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10", + args: { name: "max-delivery-count" }, + }, + { + name: ["--max-message-size-in-kilobytes", "--max-message-size"], + description: + "Maximum size (in KB) of the message payload that can be accepted by the topic. This property is only used in Premium today and default is 1024", + args: { name: "max-message-size-in-kilobytes" }, + }, + { + name: ["--max-size-in-megabytes", "--max-size"], + description: + "Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. Default is 1024", + args: { name: "max-size-in-megabytes" }, + }, + { + name: ["--queue-name", "--name", "-n"], + description: "The queue name", + args: { name: "queue-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--status", + description: + "Enumerates the possible values for the status of a messaging entity", + args: { + name: "status", + suggestions: [ + "Active", + "Creating", + "Deleting", + "Disabled", + "ReceiveDisabled", + "Renaming", + "Restoring", + "SendDisabled", + "Unknown", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "authorization-rule", + description: "Servicebus queue authorization-rule", + subcommands: [ + { + name: "create", + description: "Create an authorization rule for a queue", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: "--queue-name", + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--rights", + description: + 'The rights associated with the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + ], + }, + { + name: "delete", + description: "Delete a queue authorization rule", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--queue-name", + description: "The queue name", + args: { name: "queue-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all authorization rules for a queue", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: "--queue-name", + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get an authorization rule for a queue by rule name", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--queue-name", + description: "The queue name", + args: { name: "queue-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an authorization rule for a queue", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--queue-name", + description: "The queue name", + args: { name: "queue-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rights", + description: + 'The rights associated with the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "keys", + description: "Servicebus queue authorization-rule keys", + subcommands: [ + { + name: "list", + description: + "Primary and secondary connection strings to the queue", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: "--queue-name", + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "renew", + description: + "Regenerates the primary or secondary connection strings to the queue", + options: [ + { + name: "--key", + description: "The access key to regenerate", + args: { + name: "key", + suggestions: ["PrimaryKey", "SecondaryKey"], + }, + isRequired: true, + }, + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-value", + description: + "Optional, if the key value provided, is reset for KeyType value or autogenerate Key value set for keyType", + args: { name: "key-value" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--queue-name", + description: "The queue name", + args: { name: "queue-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "topic", + description: "Servicebus topic", + subcommands: [ + { + name: "create", + description: "Create a topic in the specified namespace", + options: [ + { + name: ["--topic-name", "--name", "-n"], + description: "The topic name", + args: { name: "topic-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--auto-delete-on-idle", + description: + "ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes", + args: { name: "auto-delete-on-idle" }, + }, + { + name: "--default-message-time-to-live", + description: + "ISO 8601 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself", + args: { name: "default-message-time-to-live" }, + }, + { + name: ["--enable-duplicate-detection", "--duplicate-detection"], + description: + "A value indicating if this queue requires duplicate detection", + args: { + name: "enable-duplicate-detection", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--duplicate-detection-history-time-window", "-d"], + description: + "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes", + args: { name: "duplicate-detection-history-time-window" }, + }, + { + name: "--enable-batched-operations", + description: + "Value that indicates whether server-side batched operations are enabled", + args: { + name: "enable-batched-operations", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-express", + description: + "Value that indicates whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage", + args: { + name: "enable-express", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-ordering", + description: + "Value that indicates whether the topic supports ordering", + args: { + name: "enable-ordering", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-partitioning", + description: + "Value that indicates whether the topic to be partitioned across multiple message brokers is enabled", + args: { + name: "enable-partitioning", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--max-message-size-in-kilobytes", "--max-message-size"], + description: + "Maximum size (in KB) of the message payload that can be accepted by the topic. This property is only used in Premium today and default is 1024", + args: { name: "max-message-size-in-kilobytes" }, + }, + { + name: ["--max-size-in-megabytes", "--max-size"], + description: + "Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. Default is 1024", + args: { name: "max-size-in-megabytes" }, + }, + { + name: "--status", + description: + "Enumerates the possible values for the status of a messaging entity", + args: { + name: "status", + suggestions: [ + "Active", + "Creating", + "Deleting", + "Disabled", + "ReceiveDisabled", + "Renaming", + "Restoring", + "SendDisabled", + "Unknown", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete a topic from the specified namespace and resource group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--topic-name", "--name", "-n"], + description: "The topic name", + args: { name: "topic-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all the topics in a namespace", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--skip", + description: + "Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip" }, + }, + { + name: "--top", + description: + "May be used to limit the number of results to the most recent N usageDetails", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get a description for the specified topic", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--topic-name", "--name", "-n"], + description: "The topic name", + args: { name: "topic-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a topic in the specified namespace", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--auto-delete-on-idle", + description: + "ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes", + args: { name: "auto-delete-on-idle" }, + }, + { + name: "--default-message-time-to-live", + description: + "ISO 8601 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself", + args: { name: "default-message-time-to-live" }, + }, + { + name: ["--enable-duplicate-detection", "--duplicate-detection"], + description: + "A value indicating if this queue requires duplicate detection", + args: { + name: "enable-duplicate-detection", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--duplicate-detection-history-time-window", "-d"], + description: + "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes", + args: { name: "duplicate-detection-history-time-window" }, + }, + { + name: "--enable-batched-operations", + description: + "Value that indicates whether server-side batched operations are enabled", + args: { + name: "enable-batched-operations", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-express", + description: + "Value that indicates whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage", + args: { + name: "enable-express", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-ordering", + description: + "Value that indicates whether the topic supports ordering", + args: { + name: "enable-ordering", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-partitioning", + description: + "Value that indicates whether the topic to be partitioned across multiple message brokers is enabled", + args: { + name: "enable-partitioning", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--max-message-size-in-kilobytes", "--max-message-size"], + description: + "Maximum size (in KB) of the message payload that can be accepted by the topic. This property is only used in Premium today and default is 1024", + args: { name: "max-message-size-in-kilobytes" }, + }, + { + name: ["--max-size-in-megabytes", "--max-size"], + description: + "Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. Default is 1024", + args: { name: "max-size-in-megabytes" }, + }, + { + name: ["--topic-name", "--name", "-n"], + description: "The topic name", + args: { name: "topic-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--status", + description: + "Enumerates the possible values for the status of a messaging entity", + args: { + name: "status", + suggestions: [ + "Active", + "Creating", + "Deleting", + "Disabled", + "ReceiveDisabled", + "Renaming", + "Restoring", + "SendDisabled", + "Unknown", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "authorization-rule", + description: "Servicebus topic authorization-rule", + subcommands: [ + { + name: "create", + description: + "Create an authorization rule for the specified topic", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + isRequired: true, + }, + { + name: "--rights", + description: + 'The rights associated with the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + ], + }, + { + name: "delete", + description: "Delete a topic authorization rule", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + }, + ], + }, + { + name: "list", + description: "List authorization rules for a topic", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get the specified authorization rule", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + }, + ], + }, + { + name: "update", + description: + "Update an authorization rule for the specified topic", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rights", + description: + 'The rights associated with the rule. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "rights" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + }, + ], + }, + { + name: "keys", + description: "Servicebus topic authorization-rule keys", + subcommands: [ + { + name: "list", + description: + "Gets the primary and secondary connection strings for the topic", + options: [ + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + isRequired: true, + }, + ], + }, + { + name: "renew", + description: + "Regenerates primary or secondary connection strings for the topic", + options: [ + { + name: "--key", + description: "The access key to regenerate", + args: { + name: "key", + suggestions: ["PrimaryKey", "SecondaryKey"], + }, + isRequired: true, + }, + { + name: ["--authorization-rule-name", "--name", "-n"], + description: "The authorization rule name", + args: { name: "authorization-rule-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-value", + description: + "Optional, if the key value provided, is reset for KeyType value or autogenerate Key value set for keyType", + args: { name: "key-value" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "subscription", + description: "Servicebus topic subscription", + subcommands: [ + { + name: "create", + description: "Create a topic subscription", + options: [ + { + name: ["--subscription-name", "--name", "-n"], + description: "The subscription name", + args: { name: "subscription-name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + isRequired: true, + }, + { + name: "--auto-delete-on-idle", + description: + "ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes", + args: { name: "auto-delete-on-idle" }, + }, + { + name: "--client-id", + description: + "Indicates the Client ID of the application that created the client-affine subscription", + args: { name: "client-id" }, + }, + { + name: ["--dead-letter-on-filter-exceptions", "-f"], + description: + "Value that indicates whether a subscription has dead letter support on filter evaluation exceptions", + args: { + name: "dead-letter-on-filter-exceptions", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--default-message-time-to-live", + description: + "ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself", + args: { name: "default-message-time-to-live" }, + }, + { + name: ["--duplicate-detection-history-time-window", "-d"], + description: + "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes", + args: { name: "duplicate-detection-history-time-window" }, + }, + { + name: "--enable-batched-operations", + description: + "Value that indicates whether server-side batched operations are enabled", + args: { + name: "enable-batched-operations", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: [ + "--enable-dead-lettering-on-message-expiration", + "--message-expiration", + ], + description: + "A value that indicates whether this queue has dead letter support when a message expires", + args: { + name: "enable-dead-lettering-on-message-expiration", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-session", + description: + "A value that indicates whether the queue supports the concept of sessions", + args: { + name: "enable-session", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--forward-dead-lettered-messages-to", + description: + "Queue/Topic name to forward the Dead Letter message", + args: { name: "forward-dead-lettered-messages-to" }, + }, + { + name: "--forward-to", + description: "Queue/Topic name to forward the messages", + args: { name: "forward-to" }, + }, + { + name: "--is-client-affine", + description: + "Value that indicates whether the subscription has an affinity to the client id", + args: { + name: "is-client-affine", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--is-durable", + description: + "For client-affine subscriptions, this value indicates whether the subscription is durable or not", + args: { + name: "is-durable", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--is-shared", + description: + "For client-affine subscriptions, this value indicates whether the subscription is shared or not", + args: { + name: "is-shared", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--lock-duration", + description: + "ISO 8061 lock duration timespan for the subscription. The default value is 1 minute", + args: { name: "lock-duration" }, + }, + { + name: "--max-delivery-count", + description: "Number of maximum deliveries", + args: { name: "max-delivery-count" }, + }, + { + name: "--status", + description: + "Enumerates the possible values for the status of a messaging entity", + args: { + name: "status", + suggestions: [ + "Active", + "Creating", + "Deleting", + "Disabled", + "ReceiveDisabled", + "Renaming", + "Restoring", + "SendDisabled", + "Unknown", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a subscription from the specified topic", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--subscription-name", "--name", "-n"], + description: "The subscription name", + args: { name: "subscription-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + }, + ], + }, + { + name: "list", + description: "List all the subscriptions under a specified topic", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + isRequired: true, + }, + { + name: "--skip", + description: + "Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip" }, + }, + { + name: "--top", + description: + "May be used to limit the number of results to the most recent N usageDetails", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: + "Get a subscription description for the specified topic", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--subscription-name", "--name", "-n"], + description: "The subscription name", + args: { name: "subscription-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + }, + ], + }, + { + name: "update", + description: "Update a topic subscription", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--auto-delete-on-idle", + description: + "ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes", + args: { name: "auto-delete-on-idle" }, + }, + { + name: "--client-id", + description: + "Indicates the Client ID of the application that created the client-affine subscription", + args: { name: "client-id" }, + }, + { + name: ["--dead-letter-on-filter-exceptions", "-f"], + description: + "Value that indicates whether a subscription has dead letter support on filter evaluation exceptions", + args: { + name: "dead-letter-on-filter-exceptions", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--default-message-time-to-live", + description: + "ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself", + args: { name: "default-message-time-to-live" }, + }, + { + name: ["--duplicate-detection-history-time-window", "-d"], + description: + "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes", + args: { name: "duplicate-detection-history-time-window" }, + }, + { + name: "--enable-batched-operations", + description: + "Value that indicates whether server-side batched operations are enabled", + args: { + name: "enable-batched-operations", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: [ + "--enable-dead-lettering-on-message-expiration", + "--message-expiration", + ], + description: + "A value that indicates whether this queue has dead letter support when a message expires", + args: { + name: "enable-dead-lettering-on-message-expiration", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--enable-session", + description: + "A value that indicates whether the queue supports the concept of sessions", + args: { + name: "enable-session", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--forward-dead-lettered-messages-to", + description: + "Queue/Topic name to forward the Dead Letter message", + args: { name: "forward-dead-lettered-messages-to" }, + }, + { + name: "--forward-to", + description: "Queue/Topic name to forward the messages", + args: { name: "forward-to" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--is-client-affine", + description: + "Value that indicates whether the subscription has an affinity to the client id", + args: { + name: "is-client-affine", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--is-durable", + description: + "For client-affine subscriptions, this value indicates whether the subscription is durable or not", + args: { + name: "is-durable", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--is-shared", + description: + "For client-affine subscriptions, this value indicates whether the subscription is shared or not", + args: { + name: "is-shared", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--lock-duration", + description: + "ISO 8061 lock duration timespan for the subscription. The default value is 1 minute", + args: { name: "lock-duration" }, + }, + { + name: "--max-delivery-count", + description: "Number of maximum deliveries", + args: { name: "max-delivery-count" }, + }, + { + name: ["--subscription-name", "--name", "-n"], + description: "The subscription name", + args: { name: "subscription-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--status", + description: + "Enumerates the possible values for the status of a messaging entity", + args: { + name: "status", + suggestions: [ + "Active", + "Creating", + "Deleting", + "Disabled", + "ReceiveDisabled", + "Renaming", + "Restoring", + "SendDisabled", + "Unknown", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + }, + ], + }, + { + name: "rule", + description: "Servicebus topic subscription rule", + subcommands: [ + { + name: "create", + description: "Create the ServiceBus Rule for Subscription", + options: [ + { + name: ["--name", "-n"], + description: "Name of Rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace-name", + description: "Name of Namespace", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subscription-name", + description: "Name of Subscription", + args: { name: "subscription-name" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "Name of Topic", + args: { name: "topic-name" }, + isRequired: true, + }, + { + name: "--action-compatibility-level", + description: + "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20", + args: { name: "action-compatibility-level" }, + }, + { + name: "--action-sql-expression", + description: "Action SQL expression", + args: { name: "action-sql-expression" }, + }, + { + name: "--content-type", + description: "Content type of message", + args: { name: "content-type" }, + }, + { + name: [ + "--correlation-filter-property", + "--correlation-filter", + ], + description: "Dictionary object for custom filters", + args: { name: "correlation-filter-property" }, + }, + { + name: "--correlation-id", + description: "Identifier of correlation", + args: { name: "correlation-id" }, + }, + { + name: "--enable-action-preprocessing", + description: + "A boolean value that indicates whether the rule action requires preprocessing", + args: { + name: "enable-action-preprocessing", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-correlation-preprocessing", + description: + "A boolean value that indicates whether the rule action requires preprocessing", + args: { + name: "enable-correlation-preprocessing", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-sql-preprocessing", + description: + "A boolean value that indicates whether the rule action requires preprocessing", + args: { + name: "enable-sql-preprocessing", + suggestions: ["false", "true"], + }, + }, + { + name: "--filter-sql-expression", + description: "SQL expression. e.g. myproperty=test", + args: { name: "filter-sql-expression" }, + }, + { + name: "--filter-type", + description: "Rule Filter types", + args: { + name: "filter-type", + suggestions: ["CorrelationFilter", "SqlFilter"], + }, + }, + { + name: "--label", + description: "Application specific label", + args: { name: "label" }, + }, + { + name: "--message-id", + description: "Identifier of message", + args: { name: "message-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--reply-to", + description: "Address of the queue to reply to", + args: { name: "reply-to" }, + }, + { + name: "--reply-to-session-id", + description: "Session identifier to reply to", + args: { name: "reply-to-session-id" }, + }, + { + name: "--session-id", + description: "Session identifier", + args: { name: "session-id" }, + }, + { + name: "--to", + description: "Address to send to", + args: { name: "to" }, + }, + ], + }, + { + name: "delete", + description: "Delete an existing rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--rule-name", "--name", "-n"], + description: "The rule name", + args: { name: "rule-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--subscription-name", + description: "The subscription name", + args: { name: "subscription-name" }, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + }, + ], + }, + { + name: "list", + description: + "List all the rules within given topic-subscription", + options: [ + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subscription-name", + description: "The subscription name", + args: { name: "subscription-name" }, + isRequired: true, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + isRequired: true, + }, + { + name: "--skip", + description: + "Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls", + args: { name: "skip" }, + }, + { + name: "--top", + description: + "May be used to limit the number of results to the most recent N usageDetails", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get the description for the specified rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--rule-name", "--name", "-n"], + description: "The rule name", + args: { name: "rule-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--subscription-name", + description: "The subscription name", + args: { name: "subscription-name" }, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + }, + ], + }, + { + name: "update", + description: "Update a new rule and updates an existing rule", + options: [ + { + name: "--action-compatibility-level", + description: + "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20", + args: { name: "action-compatibility-level" }, + }, + { + name: [ + "--enable-action-preprocessing", + "--action-preprocessing", + ], + description: + "Value that indicates whether the rule action requires preprocessing", + args: { + name: "enable-action-preprocessing", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--action-sql-expression", + description: "SQL expression. e.g. MyProperty='ABC'", + args: { name: "action-sql-expression" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--compatibility-level", + description: + "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20", + args: { name: "compatibility-level" }, + }, + { + name: "--content-type", + description: "Content type of the message", + args: { name: "content-type" }, + }, + { + name: "--correlation-id", + description: "Identifier of the correlation", + args: { name: "correlation-id" }, + }, + { + name: [ + "--enable-correlation-preprocessing", + "--requires-preprocessing", + ], + description: + "Value that indicates whether the rule action requires preprocessing", + args: { + name: "enable-correlation-preprocessing", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--enable-sql-preprocessing", "-f"], + description: + "Value that indicates whether the rule action requires preprocessing", + args: { + name: "enable-sql-preprocessing", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--filter-sql-expression", "--sql-expression"], + description: "The SQL expression. e.g. MyProperty='ABC'", + args: { name: "filter-sql-expression" }, + }, + { + name: "--filter-type", + description: + "Filter type that is evaluated against a BrokeredMessage", + args: { + name: "filter-type", + suggestions: ["CorrelationFilter", "SqlFilter"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--label", + description: "Application specific label", + args: { name: "label" }, + }, + { + name: "--message-id", + description: "Identifier of the message", + args: { name: "message-id" }, + }, + { + name: ["--rule-name", "--name", "-n"], + description: "The rule name", + args: { name: "rule-name" }, + }, + { + name: "--namespace-name", + description: "The namespace name", + args: { name: "namespace-name" }, + }, + { + name: "--properties", + description: + 'Dictionary object for custom filters Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "properties" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--reply-to", + description: "Address of the queue to reply to", + args: { name: "reply-to" }, + }, + { + name: "--reply-to-session-id", + description: "Session identifier to reply to", + args: { name: "reply-to-session-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--session-id", + description: "Session identifier", + args: { name: "session-id" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--subscription-name", + description: "The subscription name", + args: { name: "subscription-name" }, + }, + { + name: "--to", + description: "Address to send to", + args: { name: "to" }, + }, + { + name: "--topic-name", + description: "The topic name", + args: { name: "topic-name" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/sf.ts b/src/az/2.53.0/sf.ts new file mode 100644 index 000000000000..07791f5f8724 --- /dev/null +++ b/src/az/2.53.0/sf.ts @@ -0,0 +1,3708 @@ +const completion: Fig.Spec = { + name: "sf", + description: "Manage and administer Azure Service Fabric clusters", + subcommands: [ + { + name: "application", + description: + "Manage applications running on an Azure Service Fabric cluster. Only support ARM deployed applications", + subcommands: [ + { + name: "create", + description: + "Create a new application on an Azure Service Fabric cluster", + options: [ + { + name: ["--application-name", "--name"], + description: "Specify the application name", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--application-type-name", "--type-name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--application-type-version", "--version"], + description: "Specify the application type version", + args: { name: "application-type-version" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--application-parameters", "--parameters"], + description: + "Specify the application parameters as key/value pairs. These parameters must exist in the application manifest. for example: --application-parameters param1=value1 param2=value2", + args: { name: "application-parameters" }, + }, + { + name: ["--maximum-nodes", "--max-nodes"], + description: + "Specify the maximum number of nodes on which to place an application. The value of this parameter must be a non-negative integer. The default value is 0, which indicates the application can be placed on any number of nodes in the cluster", + args: { name: "maximum-nodes" }, + }, + { + name: ["--minimum-nodes", "--min-nodes"], + description: + "Specify the minimum number of nodes where Service Fabric will reserve capacity for this application, this does not mean that the application is guaranteed to have replicas on all those nodes. The value of this parameter must be a non-negative integer. Default value for this is zero, which means no capacity is reserved for the application", + args: { name: "minimum-nodes" }, + }, + { + name: "--package-url", + description: + "Specify the url of the application package sfpkg file", + args: { name: "package-url" }, + }, + ], + }, + { + name: "delete", + description: "Delete an application", + options: [ + { + name: ["--application-name", "--name"], + description: "Specify the application name", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List applications of a given cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the properties of an application on an Azure Service Fabric cluster", + options: [ + { + name: ["--application-name", "--name"], + description: "Specify the application name", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update a Azure Service Fabric application. This allows updating the application parameters and/or upgrade the application type version which will trigger an application upgrade", + options: [ + { + name: ["--application-name", "--name"], + description: "Specify the application name", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--application-parameters", "--parameters"], + description: + "Specify the application parameters as key/value pairs. These parameters must exist in the application manifest. for example: --application-parameters param1=value1 param2=value2", + args: { name: "application-parameters" }, + }, + { + name: ["--application-type-version", "--version"], + description: "Specify the application type version", + args: { name: "application-type-version" }, + }, + { + name: ["--consider-warning-as-error", "--warning-as-error"], + description: + "Indicates whether to treat a warning health event as an error event during health evaluation", + }, + { + name: "--failure-action", + description: + "Specify the action to take if the monitored upgrade fails. The acceptable values for this parameter are Rollback or Manual", + args: { + name: "failure-action", + suggestions: ["Manual", "Rollback"], + }, + }, + { + name: "--force-restart", + description: + "Indicates that the service host restarts even if the upgrade is a configuration-only change", + }, + { + name: ["--health-check-retry-timeout", "--hc-retry-timeout"], + description: + "Specify the duration, in seconds, after which Service Fabric retries the health check if the previous health check fails", + args: { name: "health-check-retry-timeout" }, + }, + { + name: ["--health-check-stable-duration", "--hc-stable-duration"], + description: + "Specify the duration, in seconds, that Service Fabric waits in order to verify that the application is stable before moving to the next upgrade domain or completing the upgrade. This wait duration prevents undetected changes of health right after the health check is performed", + args: { name: "health-check-stable-duration" }, + }, + { + name: ["--health-check-wait-duration", "--hc-wait-duration"], + description: + "Specify the duration, in seconds, that Service Fabric waits before it performs the initial health check after it finishes the upgrade on the upgrade domain", + args: { name: "health-check-wait-duration" }, + }, + { + name: ["--maximum-nodes", "--max-nodes"], + description: + "Specify the maximum number of nodes on which to place an application. The value of this parameter must be a non-negative integer. The default value is 0, which indicates the application can be placed on any number of nodes in the cluster", + args: { name: "maximum-nodes" }, + }, + { + name: ["--max-porcent-unhealthy-apps", "--max-unhealthy-apps"], + description: + "Specify the maximum percentage of the application instances deployed on the nodes in the cluster that have a health state of error before the application health state for the cluster is error. Allowed values are form 0 to 100", + args: { name: "max-porcent-unhealthy-apps" }, + }, + { + name: [ + "--max-porcent-unhealthy-partitions", + "--max-unhealthy-parts", + ], + description: + "Specify the maximum percent of unhelthy partitions per service allowed by the health policy for the default service type to use for the monitored upgrade. Allowed values are form 0 to 100", + args: { name: "max-porcent-unhealthy-partitions" }, + }, + { + name: [ + "--max-porcent-unhealthy-replicas", + "--max-unhealthy-reps", + ], + description: + "Specify the maximum percent of unhelthy replicas per service allowed by the health policy for the default service type to use for the monitored upgrade. Allowed values are form 0 to 100", + args: { name: "max-porcent-unhealthy-replicas" }, + }, + { + name: [ + "--max-porcent-unhealthy-services", + "--max-unhealthy-servs", + ], + description: + "Specify the maximum percent of unhelthy services allowed by the health policy for the default service type to use for the monitored upgrade. Allowed values are form 0 to 100", + args: { name: "max-porcent-unhealthy-services" }, + }, + { + name: ["--minimum-nodes", "--min-nodes"], + description: + "Specify the minimum number of nodes where Service Fabric will reserve capacity for this application, this does not mean that the application is guaranteed to have replicas on all those nodes. The value of this parameter must be a non-negative integer. Default value for this is zero, which means no capacity is reserved for the application", + args: { name: "minimum-nodes" }, + }, + { + name: [ + "--upgrade-replica-set-check-timeout", + "--replica-check-timeout", + "--rep-check-timeout", + ], + description: + "Specify the maximum time, in seconds, that Service Fabric waits for a service to reconfigure into a safe state, if not already in a safe state, before Service Fabric proceeds with the upgrade", + args: { name: "upgrade-replica-set-check-timeout" }, + }, + { + name: [ + "--service-type-health-policy-map", + "--service-type-policy", + ], + description: + 'Specify the map of the health policy to use for different service types as a hash table in the following format: {"ServiceTypeName" : "MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices"}. For example: @{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" }', + args: { name: "service-type-health-policy-map" }, + }, + { + name: ["--upgrade-domain-timeout", "--ud-timeout"], + description: + "Specify the maximum time, in seconds, that Service Fabric takes to upgrade a single upgrade domain. After this period, the upgrade fails", + args: { name: "upgrade-domain-timeout" }, + }, + { + name: "--upgrade-timeout", + description: + "Specify the maximum time, in seconds, that Service Fabric takes for the entire upgrade. After this period, the upgrade fails", + args: { name: "upgrade-timeout" }, + }, + ], + }, + { + name: "certificate", + description: "Manage the certificate of an application", + subcommands: [ + { + name: "add", + description: + "Add a new certificate to the Virtual Machine Scale Sets that make up the cluster to be used by hosted applications", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--certificate-output-folder", "--cert-out-folder"], + description: + "The folder of the new certificate file to be created", + args: { name: "certificate-output-folder" }, + }, + { + name: ["--certificate-subject-name", "--cert-subject-name"], + description: + "The subject name of the certificate to be created", + args: { name: "certificate-subject-name" }, + }, + { + name: "--certificate-file", + description: + "The existing certificate file path for the primary cluster certificate", + args: { name: "certificate-file" }, + }, + { + name: "--certificate-password", + description: "The password of the certificate file", + args: { name: "certificate-password" }, + }, + { + name: "--secret-identifier", + description: "The existing Azure key vault secret URL", + args: { name: "secret-identifier" }, + }, + { + name: "--vault-name", + description: + "Azure key vault name, it not given it will be the cluster resource group name", + args: { name: "vault-name" }, + }, + { + name: "--vault-rg", + description: + "Key vault resource group name, if not given it will be cluster resource group name", + args: { name: "vault-rg" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "application-type", + description: + "Manage application types on an Azure Service Fabric cluster", + subcommands: [ + { + name: "create", + description: + "Create a new application type on an Azure Service Fabric cluster", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete an application type", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List application types of a given cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the properties of an application type on an Azure Service Fabric cluster", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "version", + description: + "Manage application type versions on an Azure Service Fabric cluster. Only support ARM deployed application type versions", + subcommands: [ + { + name: "create", + description: + "Create a new application type on an Azure Service Fabric cluster", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--application-type-version", "--version"], + description: "Specify the application type version", + args: { name: "application-type-version" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--package-url", + description: + "Specify the url of the application package sfpkg file", + args: { name: "package-url" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete an application type version", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--application-type-version", "--version"], + description: "Specify the application type version", + args: { name: "application-type-version" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List version of a given application type", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the properties of an application type version on an Azure Service Fabric cluster", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--application-type-version", "--version"], + description: "Specify the application type version", + args: { name: "application-type-version" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "cluster", + description: "Manage an Azure Service Fabric cluster", + subcommands: [ + { + name: "create", + description: "Create a new Azure Service Fabric cluster", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--certificate-output-folder", "--cert-out-folder"], + description: + "The folder of the new certificate file to be created", + args: { name: "certificate-output-folder" }, + }, + { + name: ["--certificate-subject-name", "--cert-subject-name"], + description: "The subject name of the certificate to be created", + args: { name: "certificate-subject-name" }, + }, + { + name: "--certificate-file", + description: + "The existing certificate file path for the primary cluster certificate", + args: { name: "certificate-file" }, + }, + { + name: "--certificate-password", + description: "The password of the certificate file", + args: { name: "certificate-password" }, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + }, + { + name: ["--cluster-size", "-s"], + description: + "The number of nodes in the cluster. Default are 5 nodes", + args: { name: "cluster-size" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--vm-os", "--os"], + description: + "The Operating System of the VMs that make up the cluster", + args: { + name: "vm-os", + suggestions: [ + "UbuntuServer1604", + "WindowsServer1709", + "WindowsServer1709withContainers", + "WindowsServer1803withContainers", + "WindowsServer1809withContainers", + "WindowsServer2012R2Datacenter", + "WindowsServer2016Datacenter", + "WindowsServer2016DatacenterwithContainers", + "WindowsServer2019Datacenter", + "WindowsServer2019DatacenterwithContainers", + ], + }, + }, + { + name: "--parameter-file", + description: "The path to the template parameter file", + args: { name: "parameter-file" }, + }, + { + name: "--secret-identifier", + description: "The existing Azure key vault secret URL", + args: { name: "secret-identifier" }, + }, + { + name: "--template-file", + description: "The path to the template file", + args: { name: "template-file" }, + }, + { + name: "--vault-name", + description: + "Azure key vault name, it not given it will be the cluster resource group name", + args: { name: "vault-name" }, + }, + { + name: "--vault-rg", + description: + "Key vault resource group name, if not given it will be cluster resource group name", + args: { name: "vault-rg" }, + }, + { + name: "--vm-password", + description: "The password of the Vm", + args: { name: "vm-password" }, + }, + { + name: "--vm-sku", + description: "VM Sku", + args: { name: "vm-sku" }, + }, + { + name: "--vm-user-name", + description: + "The user name for logging to Vm. Default will be adminuser", + args: { name: "vm-user-name" }, + }, + ], + }, + { + name: "list", + description: "List cluster resources", + options: [ + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Gets a Service Fabric cluster resource", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "client-certificate", + description: "Manage the client certificate of a cluster", + subcommands: [ + { + name: "add", + description: + "Add a common name or certificate thumbprint to the cluster for client authentication", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--admin-client-thumbprints", "--admin-client-tps"], + description: + "Client certificate thumbprint that only has admin permission", + args: { name: "admin-client-thumbprints" }, + }, + { + name: ["--certificate-common-name", "--cert-common-name"], + description: "Client certificate common name", + args: { name: "certificate-common-name" }, + }, + { + name: ["--certificate-issuer-thumbprint", "--cert-issuer-tp"], + description: "Client certificate issuer thumbprint", + args: { name: "certificate-issuer-thumbprint" }, + }, + { + name: [ + "--client-certificate-common-names", + "--client-cert-cn", + ], + description: + 'JSON encoded parameters configuration. Use @{file} to load from a file. For example: [{"isAdmin":true, "certificateCommonName": "test.com", "certificateIssuerThumbprint": "22B4AE296B504E512DF880A77A2CAE20200FF922"}]', + args: { name: "client-certificate-common-names" }, + }, + { + name: "--is-admin", + description: "Client authentication type", + }, + { + name: [ + "--readonly-client-thumbprints", + "--readonly-client-tps", + ], + description: + "Space-separated list of client certificate thumbprint that has read only permission", + args: { name: "readonly-client-thumbprints" }, + }, + { + name: "--thumbprint", + description: "Client certificate thumbprint", + args: { name: "thumbprint" }, + }, + ], + }, + { + name: "remove", + description: + "Remove client certificates or subject names used for authentication", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--certificate-common-name", "--cert-common-name"], + description: "Client certificate common name", + args: { name: "certificate-common-name" }, + }, + { + name: ["--certificate-issuer-thumbprint", "--cert-issuer-tp"], + description: "Client certificate issuer thumbprint", + args: { name: "certificate-issuer-thumbprint" }, + }, + { + name: [ + "--client-certificate-common-names", + "--client-cert-cn", + ], + description: + 'JSON encoded parameters configuration. Use @{file} to load from a file. For example: [{"certificateCommonName": "test.com","certificateIssuerThumbprint": "22B4AE296B504E512DF880A77A2CAE20200FF922"}]', + args: { name: "client-certificate-common-names" }, + }, + { + name: "--thumbprints", + description: + "A single or Space-separated list of client certificate thumbprint(s) to be remove", + args: { name: "thumbprints" }, + }, + ], + }, + ], + }, + { + name: "durability", + description: "Manage the durability of a cluster", + subcommands: [ + { + name: "update", + description: + "Update the durability tier or VM SKU of a node type in the cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--durability-level", + description: "Durability level", + args: { + name: "durability-level", + suggestions: ["Bronze", "Gold", "Silver"], + }, + isRequired: true, + }, + { + name: "--node-type", + description: "The Node type name", + args: { name: "node-type" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "node", + description: "Manage the node instance of a cluster", + subcommands: [ + { + name: "add", + description: "Add nodes to a node type in a cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--node-type", + description: "The Node type name", + args: { name: "node-type" }, + isRequired: true, + }, + { + name: ["--number-of-nodes-to-add", "--nodes-to-add"], + description: "Number of nodes to add", + args: { name: "number-of-nodes-to-add" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove nodes from a node type in a cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--node-type", + description: "The Node type name", + args: { name: "node-type" }, + isRequired: true, + }, + { + name: ["--number-of-nodes-to-remove", "--nodes-to-remove"], + description: "Number of nodes to remove", + args: { name: "number-of-nodes-to-remove" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "node-type", + description: "Manage the node-type of a cluster", + subcommands: [ + { + name: "add", + description: "Add a new node type to a cluster", + options: [ + { + name: "--capacity", + description: + "The capacity tag applied to nodes in the node type. The cluster resource manager uses these tags to understand how much capacity a node has", + args: { name: "capacity" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--node-type", + description: "The Node type name", + args: { name: "node-type" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-password", + description: "The password of the Vm", + args: { name: "vm-password" }, + isRequired: true, + }, + { + name: "--vm-user-name", + description: + "The user name for logging to Vm. Default will be adminuser", + args: { name: "vm-user-name" }, + isRequired: true, + }, + { + name: "--durability-level", + description: "Durability level", + args: { + name: "durability-level", + suggestions: ["Bronze", "Gold", "Silver"], + }, + }, + { + name: "--vm-sku", + description: "VM Sku", + args: { name: "vm-sku" }, + }, + { + name: "--vm-tier", + description: "VM tier", + args: { name: "vm-tier" }, + }, + ], + }, + ], + }, + { + name: "reliability", + description: "Manage the reliability of a cluster", + subcommands: [ + { + name: "update", + description: + "Update the reliability tier for the primary node in a cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--reliability-level", + description: "Durability level", + args: { + name: "reliability-level", + suggestions: ["Bronze", "Gold", "Platinum", "Silver"], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--auto-add-node", + description: + "Add node count automatically when changing reliability", + }, + ], + }, + ], + }, + { + name: "setting", + description: "Manage a cluster's settings", + subcommands: [ + { + name: "remove", + description: "Remove settings from a cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--parameter", + description: "Parameter name", + args: { name: "parameter" }, + }, + { + name: "--section", + description: "Section name", + args: { name: "section" }, + }, + { + name: [ + "--settings-section-description", + "--settings-section", + ], + description: + 'JSON encoded parameters configuration. Use @{file} to load from a file. For example: [{"section": "NamingService","parameter": "MaxOperationTimeout"}]', + args: { name: "settings-section-description" }, + }, + ], + }, + { + name: "set", + description: "Update the settings of a cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--parameter", + description: "Parameter name", + args: { name: "parameter" }, + }, + { + name: "--section", + description: "Section name", + args: { name: "section" }, + }, + { + name: [ + "--settings-section-description", + "--settings-section", + ], + description: + 'JSON encoded parameters configuration. Use @{file} to load from a file. For example: [{"section": "NamingService","parameter": "MaxOperationTimeout","value": 1000},{"section": "MaxFileOperationTimeout","parameter": "Max2","value": 1000]', + args: { name: "settings-section-description" }, + }, + { + name: "--value", + description: "Specify the value", + args: { name: "value" }, + }, + ], + }, + ], + }, + { + name: "upgrade-type", + description: "Manage the upgrade type of a cluster", + subcommands: [ + { + name: "set", + description: "Change the upgrade type for a cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--upgrade-mode", + description: "Cluster upgrade mode", + args: { + name: "upgrade-mode", + suggestions: ["automatic", "manual"], + }, + isRequired: true, + }, + { + name: "--version", + description: "Cluster code version", + args: { name: "version" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "managed-application", + description: + "Manage applications running on an Azure Service Fabric managed cluster. Only support ARM deployed applications", + subcommands: [ + { + name: "create", + description: + "Create a new managed application on an Azure Service Fabric managed cluster", + options: [ + { + name: ["--application-name", "--name"], + description: "Specify the application name", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--application-type-name", "--type-name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--application-type-version", "--version"], + description: "Specify the application type version", + args: { name: "application-type-version" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--application-parameters", "--parameters"], + description: + "Specify the application parameters as key/value pairs. These parameters must exist in the application manifest. for example: --application-parameters param1=value1 param2=value2", + args: { name: "application-parameters" }, + }, + { + name: "--package-url", + description: + "Specify the url of the application package sfpkg file", + args: { name: "package-url" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a managed application", + options: [ + { + name: ["--application-name", "--name"], + description: "Specify the application name", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List managed applications of a given managed cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the properties of a managed application on an Azure Service Fabric managed cluster", + options: [ + { + name: ["--application-name", "--name"], + description: "Specify the application name", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a Azure Service Fabric managed application", + options: [ + { + name: ["--application-name", "--name"], + description: "Specify the application name", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--application-parameters", "--parameters"], + description: + "Specify the application parameters as key/value pairs. These parameters must exist in the application manifest. for example: --application-parameters param1=value1 param2=value2", + args: { name: "application-parameters" }, + }, + { + name: ["--application-type-version", "--version"], + description: "Specify the application type version", + args: { name: "application-type-version" }, + }, + { + name: [ + "--instance-close-delay-duration", + "--instance-close-duration", + "--close-duration", + ], + description: + "Specify the duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade, only for those instances which have a non-zero delay duration configured in the service description", + args: { name: "instance-close-delay-duration" }, + }, + { + name: ["--consider-warning-as-error", "--warning-as-error"], + description: + "Indicates whether to treat a warning health event as an error event during health evaluation", + }, + { + name: "--failure-action", + description: + "Specify the action to take if the monitored upgrade fails. The acceptable values for this parameter are Rollback or Manual", + args: { + name: "failure-action", + suggestions: ["Manual", "Rollback"], + }, + }, + { + name: "--force-restart", + description: + "Indicates that the service host restarts even if the upgrade is a configuration-only change", + }, + { + name: ["--health-check-retry-timeout", "--hc-retry-timeout"], + description: + "Specify the duration, in seconds, after which Service Fabric retries the health check if the previous health check fails", + args: { name: "health-check-retry-timeout" }, + }, + { + name: ["--health-check-stable-duration", "--hc-stable-duration"], + description: + "Specify the duration, in seconds, that Service Fabric waits in order to verify that the application is stable before moving to the next upgrade domain or completing the upgrade. This wait duration prevents undetected changes of health right after the health check is performed", + args: { name: "health-check-stable-duration" }, + }, + { + name: ["--health-check-wait-duration", "--hc-wait-duration"], + description: + "Specify the duration, in seconds, that Service Fabric waits before it performs the initial health check after it finishes the upgrade on the upgrade domain", + args: { name: "health-check-wait-duration" }, + }, + { + name: [ + "--max-percent-unhealthy-deployed-applications", + "--max-percent-unhealthy-apps", + "--max-unhealthy-apps", + ], + description: + "Specify the maximum percentage of the application instances deployed on the nodes in the cluster that have a health state of error before the application health state for the cluster is error. Allowed values are form 0 to 100", + args: { name: "max-percent-unhealthy-deployed-applications" }, + }, + { + name: [ + "--max-percent-unhealthy-partitions", + "--max-unhealthy-parts", + ], + description: + "Specify the maximum percent of unhelthy partitions per service allowed by the health policy for the default service type to use for the monitored upgrade. Allowed values are from 0 to 100", + args: { name: "max-percent-unhealthy-partitions" }, + }, + { + name: [ + "--max-percent-unhealthy-replicas", + "--max-unhealthy-reps", + ], + description: + "Specify the maximum percent of unhelthy replicas per service allowed by the health policy for the default service type to use for the monitored upgrade. Allowed values are from 0 to 100", + args: { name: "max-percent-unhealthy-replicas" }, + }, + { + name: [ + "--max-percent-unhealthy-services", + "--max-unhealthy-servs", + ], + description: + "Specify the maximum percent of unhelthy services allowed by the health policy for the default service type to use for the monitored upgrade. Allowed values are from 0 to 100", + args: { name: "max-percent-unhealthy-services" }, + }, + { + name: "--recreate-application", + description: + "Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed", + }, + { + name: [ + "--upgrade-replica-set-check-timeout", + "--replica-check-timeout", + "--rep-check-timeout", + ], + description: + "Specify the maximum time, in seconds, that Service Fabric waits for a service to reconfigure into a safe state, if not already in a safe state, before Service Fabric proceeds with the upgrade", + args: { name: "upgrade-replica-set-check-timeout" }, + }, + { + name: [ + "--service-type-health-policy-map", + "--service-type-policy", + ], + description: + 'Specify the map of the health policy to use for different service types as key/value pairs in the following format: "ServiceTypeName"="MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices". for example: --service-type-health-policy-map "ServiceTypeName01"="5,10,5" "ServiceTypeName02"="5,5,5"', + args: { name: "service-type-health-policy-map" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--upgrade-domain-timeout", "--ud-timeout"], + description: + "Specify the maximum time, in seconds, that Service Fabric takes to upgrade a single upgrade domain. After this period, the upgrade fails", + args: { name: "upgrade-domain-timeout" }, + }, + { + name: "--upgrade-mode", + description: + "Specify the mode used to monitor health during a rolling upgrade. The values are Monitored, and UnmonitoredAuto", + args: { + name: "upgrade-mode", + suggestions: ["Monitored", "UnmonitoredAuto"], + }, + }, + { + name: "--upgrade-timeout", + description: + "Specify the maximum time, in seconds, that Service Fabric takes for the entire upgrade. After this period, the upgrade fails", + args: { name: "upgrade-timeout" }, + }, + ], + }, + ], + }, + { + name: "managed-application-type", + description: + "Manage application types on an Azure Service Fabric cluster", + subcommands: [ + { + name: "create", + description: + "Create a new managed application type on an Azure Service Fabric managed cluster", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a managed application type", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: + "List managed application types of a given managed cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the properties of a managed application type on an Azure Service Fabric managed cluster", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an managed application type", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "version", + description: + "Manage application type versions on an Azure Service Fabric managed cluster. Only support ARM deployed application type versions", + subcommands: [ + { + name: "create", + description: + "Create a new managed application type on an Azure Service Fabric managed cluster", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--application-type-version", "--version"], + description: "Specify the application type version", + args: { name: "application-type-version" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--package-url", + description: + "Specify the url of the application package sfpkg file", + args: { name: "package-url" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a managed application type version", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--application-type-version", "--version"], + description: "Specify the application type version", + args: { name: "application-type-version" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List versions of a given managed application type", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the properties of a managed application type version on an Azure Service Fabric managed cluster", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--application-type-version", "--version"], + description: "Specify the application type version", + args: { name: "application-type-version" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a managed application type version", + options: [ + { + name: ["--application-type-name", "--name"], + description: "Specify the application type name", + args: { name: "application-type-name" }, + isRequired: true, + }, + { + name: ["--application-type-version", "--version"], + description: "Specify the application type version", + args: { name: "application-type-version" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--package-url", + description: + "Specify the url of the application package sfpkg file", + args: { name: "package-url" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "managed-cluster", + description: "Manage an Azure Service Fabric managed cluster", + subcommands: [ + { + name: "create", + description: "Delete a managed cluster", + options: [ + { + name: "--admin-password", + description: "Admin password used for the virtual machines", + args: { name: "admin-password" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--admin-user-name", + description: "Admin user used for the virtual machines", + args: { name: "admin-user-name" }, + }, + { + name: ["--client-cert-common-name", "--cert-common-name"], + description: "Client certificate common name", + args: { name: "client-cert-common-name" }, + }, + { + name: ["--client-cert-is-admin", "--cert-is-admin"], + description: "Client authentication type", + args: { + name: "client-cert-is-admin", + suggestions: ["false", "true"], + }, + }, + { + name: [ + "--client-cert-issuer-thumbprint", + "--cert-issuer-thumbprint", + "--cert-issuer-tp", + ], + description: "Space-separated list of issuer thumbprints", + args: { name: "client-cert-issuer-thumbprint" }, + }, + { + name: ["--client-cert-thumbprint", "--cert-thumbprint"], + description: "Client certificate thumbprint", + args: { name: "client-cert-thumbprint" }, + }, + { + name: ["--client-connection-port", "--client-port"], + description: "Port used for client connections to the cluster", + args: { name: "client-connection-port" }, + }, + { + name: ["--cluster-code-version", "--code-version"], + description: + "Cluster service fabric code version. Only use if upgrade mode is Manual", + args: { name: "cluster-code-version" }, + }, + { + name: ["--cluster-upgrade-cadence", "--upgrade-cadence"], + description: + "The upgrade mode of the cluster when new Service Fabric runtime version is available Wave0: Cluster upgrade starts immediately after a new version is rolled out. Recommended for Test/Dev clusters.Wave1: Cluster upgrade starts 7 days after a new version is rolled out. Recommended for Pre-prod clusters.Wave2: Cluster upgrade starts 14 days after a new version is rolled out. Recommended for Production clusters", + args: { + name: "cluster-upgrade-cadence", + suggestions: ["Wave0", "Wave1", "Wave2"], + }, + }, + { + name: ["--cluster-upgrade-mode", "--upgrade-mode"], + description: + "The upgrade mode of the cluster when new Service Fabric runtime version is available Automatic: The cluster will be automatically upgraded to the latest Service Fabric runtime version, upgrade_cadence will determine when the upgrade starts after the new version becomes available.Manual: The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the code_version property in the cluster resource", + args: { + name: "cluster-upgrade-mode", + suggestions: ["Automatic", "Manual"], + }, + }, + { + name: "--dns-name", + description: "Cluster's dns name", + args: { name: "dns-name" }, + }, + { + name: ["--gateway-connection-port", "--gateway-port"], + description: "Port used for http connections to the cluster", + args: { name: "gateway-connection-port" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--sku", + description: + "Cluster's Sku, the options are Basic: it will have a minimum of 3 seed nodes and only allows 1 node type and Standard: it will have a minimum of 5 seed nodes and allows multiple node types", + args: { name: "sku" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a managed cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List managed clusters", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show the properties of an Azure Service Fabric managed cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a managed cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--client-connection-port", "--client-port"], + description: "Port used for client connections to the cluster", + args: { name: "client-connection-port" }, + }, + { + name: "--dns-name", + description: "Cluster's dns name", + args: { name: "dns-name" }, + }, + { + name: ["--gateway-connection-port", "--gateway-port"], + description: "Port used for http connections to the cluster", + args: { name: "gateway-connection-port" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "client-certificate", + description: "Manage client certificates of a manged cluster", + subcommands: [ + { + name: "add", + description: + "Add a new client certificate to the managed cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--common-name", + description: "Client certificate common name", + args: { name: "common-name" }, + }, + { + name: "--is-admin", + description: "Client authentication type", + }, + { + name: "--issuer-thumbprint", + description: "Space-separated list of issuer thumbprints", + args: { name: "issuer-thumbprint" }, + }, + { + name: "--thumbprint", + description: "Client certificate thumbprint", + args: { name: "thumbprint" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a client certificate from the managed cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--common-name", + description: + "A single or Space-separated list of client certificate common name(s) to be remove", + args: { name: "common-name" }, + }, + { + name: "--thumbprint", + description: + "A single or Space-separated list of client certificate thumbprint(s) to be remove", + args: { name: "thumbprint" }, + }, + ], + }, + ], + }, + { + name: "network-security-rule", + description: "Network security rule of a manged cluster", + subcommands: [ + { + name: "add", + description: "Add a network security rule to a manged cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--access", + description: "Allows or denies network traffic", + args: { name: "access", suggestions: ["allow", "deny"] }, + }, + { + name: "--description", + description: "Network security rule description", + args: { name: "description" }, + }, + { + name: "--dest-addr-prefixes", + description: + "CIDR or destination IP ranges. A single or space separated list of destination address prefixes", + args: { name: "dest-addr-prefixes" }, + }, + { + name: "--dest-port-ranges", + description: + "A single or space separated list of destination port ranges", + args: { name: "dest-port-ranges" }, + }, + { + name: "--direction", + description: "Network security rule direction", + args: { + name: "direction", + suggestions: ["inbound", "outbound"], + }, + }, + { + name: "--name", + description: "Network security rule name", + args: { name: "name" }, + }, + { + name: "--priority", + description: "Integer that shows priority for rule", + args: { name: "priority" }, + }, + { + name: "--protocol", + description: "Network protocol", + args: { + name: "protocol", + suggestions: [ + "ah", + "any", + "esp", + "http", + "https", + "icmp", + "tcp", + "udp", + ], + }, + }, + { + name: "--source-addr-prefixes", + description: + "The CIDR or source IP ranges. A single or space separated list of source address prefixes", + args: { name: "source-addr-prefixes" }, + }, + { + name: "--source-port-ranges", + description: + "A single or space separated list of source port ranges", + args: { name: "source-port-ranges" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "managed-node-type", + description: + "Manage a node type of an Azure Service Fabric managed cluster", + subcommands: [ + { + name: "create", + description: "Delete a managed cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--instance-count", + description: 'Essage = "The number of nodes in the node type', + args: { name: "instance-count" }, + isRequired: true, + }, + { + name: ["--node-type-name", "--name", "-n"], + description: "Node type name", + args: { name: "node-type-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--application-end-port", "--app-end-port"], + description: "Application End port of a range of ports", + args: { name: "application-end-port" }, + }, + { + name: ["--application-start-port", "--app-start-port"], + description: "Application start port of a range of ports", + args: { name: "application-start-port" }, + }, + { + name: "--capacity", + description: + "Capacity tags applied to the nodes in the node type as key/value pairs, the cluster resource manager uses these tags to understand how much resource a node has. Updating this will override the current values.for example: --capacity ClientConnections=65536 param2=value2", + args: { name: "capacity" }, + }, + { + name: ["--data-disk-size", "--disk-size"], + description: "Disk size for each vm in the node type in GBs", + args: { name: "data-disk-size" }, + }, + { + name: ["--data-disk-type", "--disk-type"], + description: + "Managed data disk type. IOPS and throughput are given by the disk size, to see more information go to https://docs.microsoft.com/azure/virtual-machines/disks-types. Default StandardSSD_LRSStandard_LRS: Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access.StandardSSD_LRS: Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test.Premium_LRS: Premium SSD locally redundant storage. Best for production and performance sensitive workloads", + args: { + name: "data-disk-type", + suggestions: ["Premium_LRS", "StandardSSD_LRS", "Standard_LRS"], + }, + }, + { + name: "--ephemeral-end-port", + description: "Ephemeral end port of a range of ports", + args: { name: "ephemeral-end-port" }, + }, + { + name: "--ephemeral-start-port", + description: "Ephemeral start port of a range of ports", + args: { name: "ephemeral-start-port" }, + }, + { + name: "--is-stateless", + description: + "Indicates if the node type can only host Stateless workloads", + }, + { + name: ["--multiple-placement-groups", "--multi-place-groups"], + description: + "Indicates if scale set associated with the node type can be composed of multiple placement groups", + }, + { + name: "--placement-property", + description: + "Placement tags applied to nodes in the node type as key/value pairs, which can be used to indicate where certain services (workload) should run. Updating this will override the current values.for example: --placement-property NodeColor=Green SomeProperty=5", + args: { name: "placement-property" }, + }, + { + name: "--primary", + description: + "Specify if the node type is primary. On this node type will run system services. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters", + }, + { + name: "--vm-image-offer", + description: + "The offer type of the Azure Virtual Machines Marketplace image", + args: { name: "vm-image-offer" }, + }, + { + name: "--vm-image-publisher", + description: + "The publisher of the Azure Virtual Machines Marketplace image", + args: { name: "vm-image-publisher" }, + }, + { + name: "--vm-image-sku", + description: + "The SKU of the Azure Virtual Machines Marketplace image", + args: { name: "vm-image-sku" }, + }, + { + name: "--vm-image-version", + description: + "The version of the Azure Virtual Machines Marketplace image", + args: { name: "vm-image-version" }, + }, + { + name: "--vm-size", + description: + "The size of virtual machines in the pool. All virtual machines in a pool are the same size", + args: { name: "vm-size" }, + }, + ], + }, + { + name: "delete", + description: "Delete node type from a cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--node-type-name", "--name", "-n"], + description: "Node type name", + args: { name: "node-type-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List node types of a managed cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the properties of a node type", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--node-type-name", "--name", "-n"], + description: "Node type name", + args: { name: "node-type-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a managed cluster", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--node-type-name", "--name", "-n"], + description: "Node type name", + args: { name: "node-type-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--application-end-port", "--app-end-port"], + description: "Application End port of a range of ports", + args: { name: "application-end-port" }, + }, + { + name: ["--application-start-port", "--app-start-port"], + description: "Application start port of a range of ports", + args: { name: "application-start-port" }, + }, + { + name: "--capacity", + description: + "Capacity tags applied to the nodes in the node type as key/value pairs, the cluster resource manager uses these tags to understand how much resource a node has. Updating this will override the current values.for example: --capacity ClientConnections=65536 param2=value2", + args: { name: "capacity" }, + }, + { + name: "--ephemeral-end-port", + description: "Ephemeral end port of a range of ports", + args: { name: "ephemeral-end-port" }, + }, + { + name: "--ephemeral-start-port", + description: "Ephemeral start port of a range of ports", + args: { name: "ephemeral-start-port" }, + }, + { + name: "--instance-count", + description: 'Essage = "The number of nodes in the node type', + args: { name: "instance-count" }, + }, + { + name: "--placement-property", + description: + "Placement tags applied to nodes in the node type as key/value pairs, which can be used to indicate where certain services (workload) should run. Updating this will override the current values.for example: --placement-property NodeColor=Green SomeProperty=5", + args: { name: "placement-property" }, + }, + ], + }, + { + name: "node", + description: + "Perform operations on nodes of a node type on managed clusters", + subcommands: [ + { + name: "delete", + description: "Delete nodes of a node type", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--node-type-name", "--name", "-n"], + description: "Node type name", + args: { name: "node-type-name" }, + isRequired: true, + }, + { + name: "--node-name", + description: "List of target nodes to perform the operation", + args: { name: "node-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--force", + description: + "Using this flag will force the operation even if service fabric is unable to disable the nodes. Use with caution as this might cause data loss if stateful workloads are running on the node", + }, + ], + }, + { + name: "reimage", + description: "Reimage nodes of a node type", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--node-type-name", "--name", "-n"], + description: "Node type name", + args: { name: "node-type-name" }, + isRequired: true, + }, + { + name: "--node-name", + description: "List of target nodes to perform the operation", + args: { name: "node-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--force", + description: + "Using this flag will force the operation even if service fabric is unable to disable the nodes. Use with caution as this might cause data loss if stateful workloads are running on the node", + }, + ], + }, + { + name: "restart", + description: "Restart nodes of a node type", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--node-type-name", "--name", "-n"], + description: "Node type name", + args: { name: "node-type-name" }, + isRequired: true, + }, + { + name: "--node-name", + description: "List of target nodes to perform the operation", + args: { name: "node-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--force", + description: + "Using this flag will force the operation even if service fabric is unable to disable the nodes. Use with caution as this might cause data loss if stateful workloads are running on the node", + }, + ], + }, + ], + }, + { + name: "vm-extension", + description: + "Managed vm extension on a node type on managed clusters", + subcommands: [ + { + name: "add", + description: "Add an extension to the node type", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--extension-name", + description: "Extension name", + args: { name: "extension-name" }, + isRequired: true, + }, + { + name: "--extension-type", + description: + 'Specifies the type of the extension; an example is "CustomScriptExtension"', + args: { name: "extension-type" }, + isRequired: true, + }, + { + name: ["--node-type-name", "--name", "-n"], + description: "Node type name", + args: { name: "node-type-name" }, + isRequired: true, + }, + { + name: "--publisher", + description: "The name of the extension handler publisher", + args: { name: "publisher" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--type-handler-version", + description: "Specifies the version of the script handler", + args: { name: "type-handler-version" }, + isRequired: true, + }, + { + name: ["--auto-upgrade-minor-version", "--auto-upgrade"], + description: + "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true", + args: { + name: "auto-upgrade-minor-version", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-update-tag", + description: + "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed", + args: { name: "force-update-tag" }, + }, + { + name: "--protected-setting", + description: + "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all", + args: { name: "protected-setting" }, + }, + { + name: ["--provision-after-extension", "--provision-after"], + description: + "Collection of extension names after which this extension needs to be provisioned", + args: { name: "provision-after-extension" }, + }, + { + name: "--setting", + description: + "Json formatted public settings for the extension", + args: { name: "setting" }, + }, + ], + }, + { + name: "delete", + description: "Delete an extension to the node type", + options: [ + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--extension-name", + description: "Extension name", + args: { name: "extension-name" }, + isRequired: true, + }, + { + name: ["--node-type-name", "--name", "-n"], + description: "Node type name", + args: { name: "node-type-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "vm-secret", + description: "Managed vm secrets on a node type on managed clusters", + subcommands: [ + { + name: "add", + description: "Add a secret to the node type", + options: [ + { + name: "--certificate-store", + description: + "Specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account", + args: { name: "certificate-store" }, + isRequired: true, + }, + { + name: "--certificate-url", + description: + 'This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""}/', + args: { name: "certificate-url" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--node-type-name", "--name", "-n"], + description: "Node type name", + args: { name: "node-type-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--source-vault-id", + description: + "Key Vault resource id containing the certificates", + args: { name: "source-vault-id" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "managed-service", + description: + "Manage services running on an Azure Service Fabric managed cluster. Only support ARM deployed services", + subcommands: [ + { + name: "create", + description: + "Create a new managed service on an Azure Service Fabric managed cluster", + options: [ + { + name: ["--application-name", "--application"], + description: "Specify the name of the service", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--service-name", "--name"], + description: "Specify the name of the service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-type", "--type"], + description: + "Specify the service type name of the application, it should exist in the application manifest", + args: { name: "service-type" }, + isRequired: true, + }, + { + name: "--state", + description: "Specify if the service is stateless or stateful", + args: { name: "state", suggestions: ["Stateful", "Stateless"] }, + isRequired: true, + }, + { + name: [ + "--service-package-activation-mode", + "--package-activation-mode", + "--activation-mode", + ], + description: "Specify the activation mode of the service package", + args: { name: "service-package-activation-mode" }, + }, + { + name: "--default-move-cost", + description: + "Specify the default cost for a move. Higher costs make it less likely that the Cluster Resource Manager will move the replica when trying to balance the cluster", + args: { + name: "default-move-cost", + suggestions: ["High", "Low", "Medium", "Zero"], + }, + }, + { + name: "--has-persisted-state", + description: + "Determines whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false", + args: { + name: "has-persisted-state", + suggestions: ["false", "true"], + }, + }, + { + name: "--high-key", + description: + "Specify the upper bound of the partition key range that should be split between the partition ‘Count’ This is only used with UniformInt64 partition scheme", + args: { name: "high-key" }, + }, + { + name: "--instance-count", + description: + "Specify the instance count for the stateless service. If -1 is used, it means it will run on all the nodes", + args: { name: "instance-count" }, + }, + { + name: [ + "--stand-by-replica-keep-duration", + "--stand-by-keep-duration", + "--keep-duration", + ], + description: + 'Specify the definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format "hh:mm:ss"', + args: { name: "stand-by-replica-keep-duration" }, + }, + { + name: "--low-key", + description: + "Specify the lower bound of the partition key range that should be split between the partition ‘Count’ This is only used with UniformInt64 partition scheme", + args: { name: "low-key" }, + }, + { + name: ["--min-instance-percentage", "--min-inst-pct"], + description: + "Specify the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service. Allowed values are from 0 to 100", + args: { name: "min-instance-percentage" }, + }, + { + name: "--min-instance-count", + description: + "Specify the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service", + args: { name: "min-instance-count" }, + }, + { + name: ["--min-replica-set-size", "--min-replica"], + description: + "Specify the min replica set size for the stateful service", + args: { name: "min-replica-set-size" }, + }, + { + name: "--partition-count", + description: + "Specify the number of partitions. This is only used with UniformInt64 partition scheme", + args: { name: "partition-count" }, + }, + { + name: "--partition-names", + description: + "Specify the array for the names of the partitions. This is only used with Named partition scheme", + args: { name: "partition-names" }, + }, + { + name: "--partition-scheme", + description: + "Specify what partition scheme to use. Singleton partitions are typically used when the service does not require any additional routing. UniformInt64 means that each partition owns a range of int64 keys. Named is usually for services with data that can be bucketed, within a bounded set. Some common examples of data fields used as named partition keys would be regions, postal codes, customer groups, or other business boundaries", + args: { + name: "partition-scheme", + suggestions: ["Named", "Singleton", "UniformInt64Range"], + }, + }, + { + name: "--placement-constraints", + description: + 'Specify the placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)"', + args: { name: "placement-constraints" }, + }, + { + name: ["--service-placement-time-limit", "--plcmt-time-limit"], + description: + 'Specify the duration for which replicas can stay InBuild before reporting that build is stuck, represented in ISO 8601 format "hh:mm:ss"', + args: { name: "service-placement-time-limit" }, + }, + { + name: ["--quorum-loss-wait-duration", "--quorum-loss-wait"], + description: + 'Specify the maximum duration for which a partition is allowed to be in a state of quorum loss, represented in ISO 8601 format "hh:mm:ss"', + args: { name: "quorum-loss-wait-duration" }, + }, + { + name: [ + "--replica-restart-wait-duration", + "--replica-restart-wait", + ], + description: + 'Specify the duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format "hh:mm:ss"', + args: { name: "replica-restart-wait-duration" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--target-replica-set-size", "--target-replica"], + description: + "Specify the target replica set size for the stateful service", + args: { name: "target-replica-set-size" }, + }, + ], + }, + { + name: "delete", + description: "Delete a managed service", + options: [ + { + name: ["--application-name", "--application"], + description: "Specify the name of the service", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--service-name", "--name"], + description: "Specify the name of the service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List managed services of a given managed application", + options: [ + { + name: ["--application-name", "--application"], + description: "Specify the name of the service", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a service", + options: [ + { + name: ["--application-name", "--application"], + description: "Specify the name of the service", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--service-name", "--name"], + description: "Specify the name of the service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a managed service", + options: [ + { + name: ["--application-name", "--application"], + description: "Specify the name of the service", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--service-name", "--name"], + description: "Specify the name of the service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--default-move-cost", + description: + "Specify the default cost for a move. Higher costs make it less likely that the Cluster Resource Manager will move the replica when trying to balance the cluster", + args: { + name: "default-move-cost", + suggestions: ["High", "Low", "Medium", "Zero"], + }, + }, + { + name: "--instance-count", + description: + "Specify the instance count for the stateless service. If -1 is used, it means it will run on all the nodes", + args: { name: "instance-count" }, + }, + { + name: [ + "--stand-by-replica-keep-duration", + "--stand-by-keep-duration", + "--keep-duration", + ], + description: + 'Specify the definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format "hh:mm:ss"', + args: { name: "stand-by-replica-keep-duration" }, + }, + { + name: ["--min-instance-percentage", "--min-inst-pct"], + description: + "Specify the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service. Allowed values are from 0 to 100", + args: { name: "min-instance-percentage" }, + }, + { + name: "--min-instance-count", + description: + "Specify the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service", + args: { name: "min-instance-count" }, + }, + { + name: ["--min-replica-set-size", "--min-replica"], + description: + "Specify the min replica set size for the stateful service", + args: { name: "min-replica-set-size" }, + }, + { + name: "--placement-constraints", + description: + 'Specify the placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)"', + args: { name: "placement-constraints" }, + }, + { + name: ["--service-placement-time-limit", "--plcmt-time-limit"], + description: + 'Specify the duration for which replicas can stay InBuild before reporting that build is stuck, represented in ISO 8601 format "hh:mm:ss"', + args: { name: "service-placement-time-limit" }, + }, + { + name: ["--quorum-loss-wait-duration", "--quorum-loss-wait"], + description: + 'Specify the maximum duration for which a partition is allowed to be in a state of quorum loss, represented in ISO 8601 format "hh:mm:ss"', + args: { name: "quorum-loss-wait-duration" }, + }, + { + name: [ + "--replica-restart-wait-duration", + "--replica-restart-wait", + ], + description: + 'Specify the duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format "hh:mm:ss"', + args: { name: "replica-restart-wait-duration" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--target-replica-set-size", "--target-replica"], + description: + "Specify the target replica set size for the stateful service", + args: { name: "target-replica-set-size" }, + }, + ], + }, + { + name: "correlation-scheme", + description: + "Manage correlation schemes of services running on an Azure Service Fabric managed cluster. Only support ARM deployed services", + subcommands: [ + { + name: "create", + description: + "Create a new managed service correlation scheme on an Azure Service Fabric managed cluster", + options: [ + { + name: ["--application-name", "--application"], + description: "Specify the name of the service", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--correlated-service-name", "--correlated-name"], + description: + "Specify the Arm Resource ID of the service that the correlation relationship is established with", + args: { name: "correlated-service-name" }, + isRequired: true, + }, + { + name: ["--service-name", "--name"], + description: "Specify the name of the service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scheme", + description: + "Specify the ServiceCorrelationScheme which describes the relationship between this service and the service specified via correlated_service_name", + args: { name: "scheme" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a managed service correlation scheme", + options: [ + { + name: ["--application-name", "--application"], + description: "Specify the name of the service", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--correlated-service-name", "--correlated-name"], + description: + "Specify the Arm Resource ID of the service that the correlation relationship is established with", + args: { name: "correlated-service-name" }, + isRequired: true, + }, + { + name: ["--service-name", "--name"], + description: "Specify the name of the service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a managed service correlation scheme", + options: [ + { + name: ["--application-name", "--application"], + description: "Specify the name of the service", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--correlated-service-name", "--correlated-name"], + description: + "Specify the Arm Resource ID of the service that the correlation relationship is established with", + args: { name: "correlated-service-name" }, + isRequired: true, + }, + { + name: ["--service-name", "--name"], + description: "Specify the name of the service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--scheme", + description: + "Specify the ServiceCorrelationScheme which describes the relationship between this service and the service specified via correlated_service_name", + args: { name: "scheme" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "load-metrics", + description: + "Manage service load metrics running on an Azure Service Fabric managed cluster. Only support ARM deployed services", + subcommands: [ + { + name: "create", + description: + "Create a new managed service load metric on an Azure Service Fabric managed cluster", + options: [ + { + name: ["--application-name", "--application"], + description: "Specify the name of the service", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--metric-name", + description: "Specify the name of the metric", + args: { name: "metric-name" }, + isRequired: true, + }, + { + name: ["--service-name", "--name"], + description: "Specify the name of the service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--default-load", + description: + "Specify the default amount of load, as a number, that this service creates for this metric. Used only for Stateless services", + args: { name: "default-load" }, + }, + { + name: "--primary-default-load", + description: + "Specify the default amount of load, as a number, that this service creates for this metric when it is a Primary replica. Used only for Stateful services", + args: { name: "primary-default-load" }, + }, + { + name: "--secondary-default-load", + description: + "Specify the default amount of load, as a number, that this service creates for this metric when it is a Secondary replica. Used only for Stateful services", + args: { name: "secondary-default-load" }, + }, + { + name: "--weight", + description: + "Specify the service load metric relative weight, compared to other metrics configured for this service, as a number", + args: { name: "weight" }, + }, + ], + }, + { + name: "delete", + description: "Delete a managed service", + options: [ + { + name: ["--application-name", "--application"], + description: "Specify the name of the service", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--metric-name", + description: "Specify the name of the metric", + args: { name: "metric-name" }, + isRequired: true, + }, + { + name: ["--service-name", "--name"], + description: "Specify the name of the service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a managed service", + options: [ + { + name: ["--application-name", "--application"], + description: "Specify the name of the service", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--metric-name", + description: "Specify the name of the metric", + args: { name: "metric-name" }, + isRequired: true, + }, + { + name: ["--service-name", "--name"], + description: "Specify the name of the service", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--default-load", + description: + "Specify the default amount of load, as a number, that this service creates for this metric. Used only for Stateless services", + args: { name: "default-load" }, + }, + { + name: "--primary-default-load", + description: + "Specify the default amount of load, as a number, that this service creates for this metric when it is a Primary replica. Used only for Stateful services", + args: { name: "primary-default-load" }, + }, + { + name: "--secondary-default-load", + description: + "Specify the default amount of load, as a number, that this service creates for this metric when it is a Secondary replica. Used only for Stateful services", + args: { name: "secondary-default-load" }, + }, + { + name: "--weight", + description: + "Specify the service load metric relative weight, compared to other metrics configured for this service, as a number", + args: { name: "weight" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "service", + description: + "Manage services running on an Azure Service Fabric cluster. Only support ARM deployed services", + subcommands: [ + { + name: "create", + description: + "Create a new service on an Azure Service Fabric cluster", + options: [ + { + name: ["--application-name", "--application"], + description: + "Specify the name of the service. The application name must be a prefix of the service name, for example: appName~serviceName", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--service-name", "--name"], + description: + "Specify the name of the service. The application name must be a prefix of the service name, for example: appName~serviceName", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--service-type", + description: + "Specify the service type name of the application, it should exist in the application manifest", + args: { name: "service-type" }, + isRequired: true, + }, + { + name: "--state", + description: "Specify if the service is stateless or stateful", + args: { name: "state", suggestions: ["stateful", "stateless"] }, + isRequired: true, + }, + { + name: "--default-move-cost", + description: + "Specify the default cost for a move. Higher costs make it less likely that the Cluster Resource Manager will move the replica when trying to balance the cluster", + args: { + name: "default-move-cost", + suggestions: ["High", "Low", "Medium", "Zero"], + }, + }, + { + name: "--instance-count", + description: + "Specify the instance count for the stateless service. If -1 is used, it means it will run on all the nodes", + args: { name: "instance-count" }, + }, + { + name: ["--min-replica-set-size", "--min-replica"], + description: + "Specify the min replica set size for the stateful service", + args: { name: "min-replica-set-size" }, + }, + { + name: "--partition-scheme", + description: + "Specify what partition scheme to use. Singleton partitions are typically used when the service does not require any additional routing. UniformInt64 means that each partition owns a range of int64 keys. Named is usually for services with data that can be bucketed, within a bounded set. Some common examples of data fields used as named partition keys would be regions, postal codes, customer groups, or other business boundaries", + args: { + name: "partition-scheme", + suggestions: ["named", "singleton", "uniformInt64"], + }, + }, + { + name: ["--target-replica-set-size", "--target-replica"], + description: + "Specify the target replica set size for the stateful service", + args: { name: "target-replica-set-size" }, + }, + ], + }, + { + name: "delete", + description: "Delete a service", + options: [ + { + name: "--application-name", + description: "The name of the application resource", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--service-name", "--name"], + description: + "Specify the name of the service. The application name must be a prefix of the service name, for example: appName~serviceName", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List services of a given application", + options: [ + { + name: "--application-name", + description: "The name of the application resource", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a service", + options: [ + { + name: "--application-name", + description: "The name of the application resource", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--cluster-name", "-c"], + description: + "Specify the name of the cluster, if not given it will be same as resource group name", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--service-name", "--name"], + description: + "Specify the name of the service. The application name must be a prefix of the service name, for example: appName~serviceName", + args: { name: "service-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Specify the resource group name. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/sig.ts b/src/az/2.53.0/sig.ts new file mode 100644 index 000000000000..7200c96f787c --- /dev/null +++ b/src/az/2.53.0/sig.ts @@ -0,0 +1,2607 @@ +const completion: Fig.Spec = { + name: "sig", + description: "Manage shared image gallery", + subcommands: [ + { + name: "create", + description: "Create a shared image gallery", + options: [ + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "The description of the gallery", + args: { name: "description" }, + }, + { + name: "--eula", + description: "Community gallery publisher eula", + args: { name: "eula" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--permissions", + description: + "This property allows you to specify the permission of sharing gallery", + args: { + name: "permissions", + suggestions: ["Community", "Groups", "Private"], + }, + }, + { + name: "--public-name-prefix", + description: "Community gallery public name prefix", + args: { name: "public-name-prefix" }, + }, + { + name: "--publisher-email", + description: "Community gallery publisher contact email", + args: { name: "publisher-email" }, + }, + { + name: "--publisher-uri", + description: "Community gallery publisher uri", + args: { name: "publisher-uri" }, + }, + { + name: "--soft-delete", + description: + "Enable soft-deletion for resources in this gallery, allowing them to be recovered within retention time", + args: { name: "soft-delete", suggestions: ["false", "true"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Shared Image Gallery", + options: [ + { + name: ["--gallery-name", "-r"], + description: "The name of the Shared Image Gallery to be deleted", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List galleries under a resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-community", + description: + "List all community galleries shared directly to your subscription or tenant", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--marker", + description: + "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--show-next-marker", + description: "Show nextMarker in result when specified", + args: { name: "show-next-marker" }, + }, + ], + }, + { + name: "list-shared", + description: + "List all shared galleries shared directly to your subscription or tenant", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--shared-to", + description: + "The query parameter to decide what shared galleries to fetch when doing listing operations. If not specified, list by subscription id", + args: { name: "shared-to", suggestions: ["tenant"] }, + }, + ], + }, + { + name: "show", + description: "Retrieve information about a Shared Image Gallery", + options: [ + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--select", + description: "The select expression to apply on the operation", + args: { name: "select" }, + }, + { + name: "--sharing-groups", + description: "The expand query option to query shared gallery groups", + args: { name: "sharing-groups" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-community", + description: "Get a community gallery by gallery public name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--public-gallery-name", "--name", "-n"], + description: "The public name of the community gallery", + args: { name: "public-gallery-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-shared", + description: + "Get a gallery that has been shared directly to your subscription or tenant", + options: [ + { + name: ["--gallery-unique-name", "--name", "-n"], + description: "The unique name of the Shared Gallery", + args: { name: "gallery-unique-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a share image gallery", + options: [ + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--eula", + description: "Community gallery publisher eula", + args: { name: "eula" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--permissions", + description: + "This property allows you to specify the permission of sharing gallery", + args: { + name: "permissions", + suggestions: ["Community", "Groups", "Private"], + }, + }, + { + name: "--public-name-prefix", + description: "Community gallery public name prefix", + args: { name: "public-name-prefix" }, + }, + { + name: "--publisher-email", + description: "Community gallery publisher contact email", + args: { name: "publisher-email" }, + }, + { + name: "--publisher-uri", + description: "Community gallery publisher uri", + args: { name: "publisher-uri" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--select", + description: + 'The select expression to apply on the operation. "Permissions" Default value is None', + args: { name: "select" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--soft-delete", + description: + "Enable soft-deletion for resources in this gallery, allowing them to be recovered within retention time", + args: { name: "soft-delete", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "gallery-application", + description: "Manage gallery application", + subcommands: [ + { + name: "create", + description: "Create a gallery Application Definition", + options: [ + { + name: ["--application-name", "--name", "-n"], + description: "The name of the gallery Application", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: "--os-type", + description: + "This property allows you to specify the supported type of the OS that application is built for. Possible values are: Windows Linux", + args: { name: "os-type", suggestions: ["Linux", "Windows"] }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: + "The description of this gallery Application Definition resource. This property is updatable", + args: { name: "description" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a gallery Application", + options: [ + { + name: [ + "--gallery-application-name", + "--application-name", + "--name", + "-n", + ], + description: "The name of the gallery application", + args: { name: "gallery-application-name" }, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List gallery Application Definitions in a gallery", + options: [ + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get information about a gallery Application Definition", + options: [ + { + name: [ + "--gallery-application-name", + "--application-name", + "--name", + "-n", + ], + description: "The name of the gallery application", + args: { name: "gallery-application-name" }, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a gallery Application Definition", + options: [ + { + name: ["--application-name", "--name", "-n"], + description: "The name of the gallery Application", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: + "The description of this gallery Application Definition resource. This property is updatable", + args: { name: "description" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the sig gallery-application is met", + options: [ + { + name: ["--application-name", "--name", "-n"], + description: "The name of the gallery Application", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "version", + description: "Manage gallery application version", + subcommands: [ + { + name: "create", + description: "Create a gallery Application Version", + options: [ + { + name: "--application-name", + description: "The name of the gallery Application", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: "--install-command", + description: + "The path and arguments to install the gallery application", + args: { name: "install-command" }, + isRequired: true, + }, + { + name: ["--version-name", "--name", "-n"], + description: "The name of the gallery Application Version", + args: { name: "version-name" }, + isRequired: true, + }, + { + name: "--package-file-link", + description: + "The mediaLink of the artifact, must be a readable storage page blob", + args: { name: "package-file-link" }, + isRequired: true, + }, + { + name: "--remove-command", + description: + "The path and arguments to remove the gallery application", + args: { name: "remove-command" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--config-file-name", + description: + 'The name to assign the downloaded config file on the VM. This is limited to 4096 characters. If not specified, the config file will be named the Gallery Application name appended with "_config"', + args: { name: "config-file-name" }, + }, + { + name: "--default-file-link", + description: + "The default configuration link of the artifact, must be a readable storage page blob", + args: { name: "default-file-link" }, + }, + { + name: "--end-of-life-date", + description: + "The end of life date of the gallery image version. This property can be used for decommissioning purposes. This property is updatable", + args: { name: "end-of-life-date" }, + }, + { + name: "--exclude-from", + description: + "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version", + args: { + name: "exclude-from", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--package-file-name", + description: + "The name to assign the downloaded package file on the VM. This is limited to 4096 characters.If not specified, the package file will be named the same as the Gallery Application name", + args: { name: "package-file-name" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--target-regions", + description: + "The target regions where the Image Version isgoing to be replicated to. This property is updatable. Expected value: json-string/json-file/@json-file", + args: { name: "target-regions" }, + }, + { + name: "--update-command", + description: + "The path and arguments to update the gallery application. If not present, then update operation will invoke remove command on the previous version and install command on the current version of the gallery application", + args: { name: "update-command" }, + }, + ], + }, + { + name: "delete", + description: "Delete a gallery application version", + options: [ + { + name: ["--gallery-application-name", "--application-name"], + description: "The name of the gallery application", + args: { name: "gallery-application-name" }, + }, + { + name: [ + "--gallery-application-version-name", + "--version-name", + "--name", + "-n", + ], + description: "The name of the gallery application version", + args: { name: "gallery-application-version-name" }, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List gallery application versions", + options: [ + { + name: ["--gallery-application-name", "--application-name"], + description: "The name of the gallery application", + args: { name: "gallery-application-name" }, + isRequired: true, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get information about a gallery application version", + options: [ + { + name: ["--gallery-application-name", "--application-name"], + description: "The name of the gallery application", + args: { name: "gallery-application-name" }, + }, + { + name: "--expand", + description: + 'The expand expression to apply on the operation. "ReplicationStatus" Default value is None', + args: { name: "expand", suggestions: ["ReplicationStatus"] }, + }, + { + name: [ + "--gallery-application-version-name", + "--version-name", + "--name", + "-n", + ], + description: "The name of the gallery application version", + args: { name: "gallery-application-version-name" }, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a gallery Application Version", + options: [ + { + name: "--application-name", + description: "The name of the gallery Application", + args: { name: "application-name" }, + isRequired: true, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--version-name", "--name", "-n"], + description: "The name of the gallery Application Version", + args: { name: "version-name" }, + isRequired: true, + }, + { + name: "--package-file-link", + description: + "The mediaLink of the artifact, must be a readable storage page blob", + args: { name: "package-file-link" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--default-file-link", + description: + "The default configuration link of the artifact, must be a readable storage page blob", + args: { name: "default-file-link" }, + }, + { + name: "--end-of-life-date", + description: + "The end of life date of the gallery image version. This property can be used for decommissioning purposes. This property is updatable", + args: { name: "end-of-life-date" }, + }, + { + name: "--exclude-from", + description: + "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version", + args: { + name: "exclude-from", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--target-regions", + description: + "The target regions where the Image Version isgoing to be replicated to. This property is updatable. Expected value: json-string/json-file/@json-file", + args: { name: "target-regions" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--gallery-application-name", "--application-name"], + description: "The name of the gallery application", + args: { name: "gallery-application-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--expand", + description: + 'The expand expression to apply on the operation. "ReplicationStatus" Default value is None', + args: { name: "expand", suggestions: ["ReplicationStatus"] }, + }, + { + name: [ + "--gallery-application-version-name", + "--version-name", + "--name", + "-n", + ], + description: "The name of the gallery application version", + args: { name: "gallery-application-version-name" }, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "image-definition", + description: "Manage shared gallery image with VM", + subcommands: [ + { + name: "create", + description: "Create a gallery image definition", + options: [ + { + name: ["--gallery-image-definition", "-i"], + description: "Gallery image definition", + args: { name: "gallery-image-definition" }, + isRequired: true, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--offer", "-f"], + description: "Image offer", + args: { name: "offer" }, + isRequired: true, + }, + { + name: "--os-type", + description: + "The type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD", + args: { name: "os-type", suggestions: ["Linux", "Windows"] }, + isRequired: true, + }, + { + name: ["--publisher", "-p"], + description: "Image publisher", + args: { name: "publisher" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--sku", "-s"], + description: "Image sku", + args: { name: "sku" }, + isRequired: true, + }, + { + name: "--architecture", + description: "CPU architecture", + args: { name: "architecture", suggestions: ["Arm64", "x64"] }, + }, + { + name: "--description", + description: "The description of the gallery image definition", + args: { name: "description" }, + }, + { + name: "--disallowed-disk-types", + description: + "Disk types which would not work with the image, e.g., Standard_LRS", + args: { name: "disallowed-disk-types" }, + }, + { + name: "--end-of-life-date", + description: "The end of life date, e.g. '2020-12-31'", + args: { name: "end-of-life-date" }, + }, + { + name: "--eula", + description: "The Eula agreement for the gallery image", + args: { name: "eula" }, + }, + { + name: "--features", + description: + 'A list of gallery image features. E.g. "IsSecureBootSupported=true IsMeasuredBootSupported=false"', + args: { name: "features" }, + }, + { + name: "--hyper-v-generation", + description: + "The hypervisor generation of the Virtual Machine. Applicable to OS disks only", + args: { name: "hyper-v-generation", suggestions: ["V1", "V2"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--maximum-cpu-core", + description: "Maximum cpu cores", + args: { name: "maximum-cpu-core" }, + }, + { + name: "--maximum-memory", + description: "Maximum memory in MB", + args: { name: "maximum-memory" }, + }, + { + name: "--minimum-cpu-core", + description: "Minimum cpu cores", + args: { name: "minimum-cpu-core" }, + }, + { + name: "--minimum-memory", + description: "Minimum memory in MB", + args: { name: "minimum-memory" }, + }, + { + name: "--os-state", + description: + "This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'", + args: { + name: "os-state", + suggestions: ["Generalized", "Specialized"], + }, + }, + { + name: "--plan-name", + description: "Plan name", + args: { name: "plan-name" }, + }, + { + name: "--plan-product", + description: "Plan product", + args: { name: "plan-product" }, + }, + { + name: "--plan-publisher", + description: "Plan publisher", + args: { name: "plan-publisher" }, + }, + { + name: "--privacy-statement-uri", + description: "The privacy statement uri", + args: { name: "privacy-statement-uri" }, + }, + { + name: "--release-note-uri", + description: "The release note uri", + args: { name: "release-note-uri" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a gallery image", + options: [ + { + name: [ + "--gallery-image-definition", + "--gallery-image-name", + "-i", + ], + description: + "The name of the gallery image definition to be deleted", + args: { name: "gallery-image-definition" }, + }, + { + name: ["--gallery-name", "-r"], + description: + "The name of the Shared Image Gallery in which the Image Definition is to be deleted", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List gallery image definitions in a gallery", + options: [ + { + name: ["--gallery-name", "-r"], + description: + "The name of the Shared Image Gallery from which Image Definitions are to be listed", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-community", + description: "List VM Image definitions in a gallery community", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--marker", + description: + "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--public-gallery-name", + description: "The public name of community gallery", + args: { name: "public-gallery-name" }, + }, + { + name: "--show-next-marker", + description: "Show nextMarker in result when specified", + args: { name: "show-next-marker" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-shared", + description: + "List VM Image definitions in a gallery shared directly to your subscription or tenant", + options: [ + { + name: "--gallery-unique-name", + description: "The unique name of the Shared Gallery", + args: { name: "gallery-unique-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--marker", + description: + "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--shared-to", + description: + "The query parameter to decide what shared galleries to fetch when doing listing operations. If not specified, list by subscription id", + args: { name: "shared-to", suggestions: ["tenant"] }, + }, + { + name: "--show-next-marker", + description: "Show nextMarker in result when specified", + args: { name: "show-next-marker" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get information about a gallery image definition", + options: [ + { + name: [ + "--gallery-image-definition", + "--gallery-image-name", + "-i", + ], + description: + "The name of the gallery image definition to be retrieved", + args: { name: "gallery-image-definition" }, + }, + { + name: ["--gallery-name", "-r"], + description: + "The name of the Shared Image Gallery from which the Image Definitions are to be retrieved", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-community", + description: "Get a community gallery image", + options: [ + { + name: ["--gallery-image-definition", "-i"], + description: + "The name of the community gallery image definition from which the image versions are to be listed", + args: { name: "gallery-image-definition" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--public-gallery-name", + description: "The public name of community gallery", + args: { name: "public-gallery-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-shared", + description: "Get a shared gallery image", + options: [ + { + name: [ + "--gallery-image-definition", + "--gallery-image-name", + "-i", + ], + description: + "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed", + args: { name: "gallery-image-definition" }, + }, + { + name: "--gallery-unique-name", + description: "The unique name of the Shared Gallery", + args: { name: "gallery-unique-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a VM Image definition", + options: [ + { + name: ["--gallery-image-definition", "-i"], + description: "Gallery image definition", + args: { name: "gallery-image-definition" }, + isRequired: true, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: [ + "--gallery-image-definition", + "--gallery-image-name", + "-i", + ], + description: + "The name of the gallery image definition to be retrieved", + args: { name: "gallery-image-definition" }, + }, + { + name: ["--gallery-name", "-r"], + description: + "The name of the Shared Image Gallery from which the Image Definitions are to be retrieved", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "image-version", + description: "Manage shared gallery image version with VM", + subcommands: [ + { + name: "create", + description: "Create a new image version", + options: [ + { + name: ["--gallery-image-definition", "-i"], + description: "Gallery image definition", + args: { name: "gallery-image-definition" }, + isRequired: true, + }, + { + name: ["--gallery-image-version", "-e"], + description: + "Gallery image version in semantic version pattern. The allowed characters are digit and period. Digits must be within the range of a 32-bit integer, e.g. ..", + args: { name: "gallery-image-version" }, + isRequired: true, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--allow-replicated-location-deletion", + description: + "Indicate whether or not removing this gallery image version from replicated regions is allowed", + args: { + name: "allow-replicated-location-deletion", + suggestions: ["false", "true"], + }, + }, + { + name: "--data-snapshot-luns", + description: + "Logical unit numbers (space-delimited) of data disk snapshots", + args: { name: "data-snapshot-luns" }, + }, + { + name: "--data-snapshots", + description: + "Names or IDs (space-delimited) of data disk snapshots", + args: { name: "data-snapshots" }, + }, + { + name: "--data-vhds-luns", + description: + "Logical unit numbers (space-delimited) of source VHD URIs of data disks", + args: { name: "data-vhds-luns" }, + }, + { + name: ["--data-vhds-storage-accounts", "--data-vhds-sa"], + description: + "Names or IDs (space-delimited) of storage accounts of source VHD URIs of data disks", + args: { name: "data-vhds-storage-accounts" }, + }, + { + name: "--data-vhds-uris", + description: "Source VHD URIs (space-delimited) of data disks", + args: { name: "data-vhds-uris" }, + }, + { + name: "--end-of-life-date", + description: "The end of life date, e.g. '2020-12-31'", + args: { name: "end-of-life-date" }, + }, + { + name: "--exclude-from-latest", + description: + "The flag means that if it is set to true, people deploying VMs with version omitted will not use this version", + args: { + name: "exclude-from-latest", + suggestions: ["false", "true"], + }, + }, + { + name: "--image-version", + description: "Resource id of gallery image version source", + args: { name: "image-version" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--managed-image", + description: + "Image name(if in the same resource group) or resource id", + args: { name: "managed-image" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--os-snapshot", + description: "Name or ID of OS disk snapshot", + args: { name: "os-snapshot" }, + }, + { + name: "--os-vhd-storage-account", + description: + "Name or ID of storage account of source VHD URI of OS disk", + args: { name: "os-vhd-storage-account" }, + }, + { + name: "--os-vhd-uri", + description: "Source VHD URI of OS disk", + args: { name: "os-vhd-uri" }, + }, + { + name: "--replica-count", + description: + "The default number of replicas to be created per region. To set regional replication counts, use --target-regions", + args: { name: "replica-count" }, + }, + { + name: "--replication-mode", + description: + "Optional parameter which specifies the mode to be used for replication. This property is not updatable", + args: { + name: "replication-mode", + suggestions: ["Full", "Shallow"], + }, + }, + { + name: "--storage-account-type", + description: + "The default storage account type to be used per region. To set regional storage account types, use --target-regions", + args: { + name: "storage-account-type", + suggestions: ["Premium_LRS", "Standard_LRS", "Standard_ZRS"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--target-edge-zone-encryption", "--zone-encryption"], + description: + "Space-separated list of customer managed keys for encrypting the OS and data disks in the gallery artifact for each region. Format for each edge zone: ,,,,,", + args: { name: "target-edge-zone-encryption" }, + }, + { + name: "--target-edge-zones", + description: + 'Space-separated list of regions, edge zones, replica counts and storage types. Use =[=][=] to optionally set the replica count and/or storage account type for each region. If a replica count is not specified, the default replica count will be used. If a storage account type is not specified, the default storage account type will be used. If "--target-edge-zones None" is specified, the target extended locations will be cleared', + args: { name: "target-edge-zones" }, + }, + { + name: "--target-region-cvm-encryption", + description: + "Space-separated list of customer managed key for Confidential VM encrypting the OS disk in the gallery artifact for each region. Format for each region: ,. The valid values for os_cvm_encryption_type are EncryptedVMGuestStateOnlyWithPmk, EncryptedWithPmk, EncryptedWithCmk", + args: { name: "target-region-cvm-encryption" }, + }, + { + name: "--target-region-encryption", + description: + 'Space-separated list of customer managed keys for encrypting the OS and data disks in the gallery artifact for each region. Format for each region: ,,,,. Use "null" as a placeholder', + args: { name: "target-region-encryption" }, + }, + { + name: "--target-regions", + description: + "Space-separated list of regions and their replica counts. Use [=][=] to optionally set the replica count and/or storage account type for each region. If a replica count is not specified, the default replica count will be used. If a storage account type is not specified, the default storage account type will be used", + args: { name: "target-regions" }, + }, + { + name: "--virtual-machine", + description: "Resource id of VM source", + args: { name: "virtual-machine" }, + }, + ], + }, + { + name: "delete", + description: "Delete a gallery image version", + options: [ + { + name: [ + "--gallery-image-definition", + "--gallery-image-name", + "-i", + ], + description: + "The name of the gallery image definition in which the Image Version resides", + args: { name: "gallery-image-definition" }, + }, + { + name: [ + "--gallery-image-version-name", + "--gallery-image-version", + "-e", + ], + description: + "The name of the gallery image version to be deleted", + args: { name: "gallery-image-version-name" }, + }, + { + name: ["--gallery-name", "-r"], + description: + "The name of the Shared Image Gallery in which the Image Definition resides", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List gallery image versions in a gallery image definition", + options: [ + { + name: [ + "--gallery-image-definition", + "--gallery-image-name", + "-i", + ], + description: "Gallery image definition", + args: { name: "gallery-image-definition" }, + isRequired: true, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-community", + description: "List VM Image Versions in a gallery community", + options: [ + { + name: ["--gallery-image-definition", "-i"], + description: + "The name of the community gallery image definition from which the image versions are to be listed", + args: { name: "gallery-image-definition" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--marker", + description: + "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--public-gallery-name", + description: "The public name of community gallery", + args: { name: "public-gallery-name" }, + }, + { + name: "--show-next-marker", + description: "Show nextMarker in result when specified", + args: { name: "show-next-marker" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-shared", + description: + "List VM Image Versions in a gallery shared directly to your subscription or tenant", + options: [ + { + name: ["--gallery-image-definition", "-i"], + description: + "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed", + args: { name: "gallery-image-definition" }, + }, + { + name: "--gallery-unique-name", + description: "The unique name of the Shared Gallery", + args: { name: "gallery-unique-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--marker", + description: + "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--shared-to", + description: + "The query parameter to decide what shared galleries to fetch when doing listing operations. If not specified, list by subscription id", + args: { name: "shared-to", suggestions: ["tenant"] }, + }, + { + name: "--show-next-marker", + description: "Show nextMarker in result when specified", + args: { name: "show-next-marker" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Retrieves information about a gallery image version", + options: [ + { + name: ["--gallery-image-definition", "-i"], + description: "Gallery image definition", + args: { name: "gallery-image-definition" }, + isRequired: true, + }, + { + name: ["--gallery-image-version", "-e"], + description: + "Gallery image version in semantic version pattern. The allowed characters are digit and period. Digits must be within the range of a 32-bit integer, e.g. ..", + args: { name: "gallery-image-version" }, + isRequired: true, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "The expand expression to apply on the operation, e.g. 'ReplicationStatus'", + args: { name: "expand" }, + }, + ], + }, + { + name: "show-community", + description: "Get a community gallery image version", + options: [ + { + name: [ + "--gallery-image-definition", + "--gallery-image-name", + "-i", + ], + description: + "The name of the community gallery image definition from which the image versions are to be listed", + args: { name: "gallery-image-definition" }, + }, + { + name: [ + "--gallery-image-version-name", + "--gallery-image-version", + "-e", + ], + description: + "Gallery image version in semantic version pattern. The allowed characters are digit and period. Digits must be within the range of a 32-bit integer, e.g. ..", + args: { name: "gallery-image-version-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--public-gallery-name", + description: "The public name of the community gallery", + args: { name: "public-gallery-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-shared", + description: + "Get an image version in a gallery shared directly to your subscription or tenant", + options: [ + { + name: [ + "--gallery-image-definition", + "--gallery-image-name", + "-i", + ], + description: + "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed", + args: { name: "gallery-image-definition" }, + }, + { + name: [ + "--gallery-image-version-name", + "--gallery-image-version", + "-e", + ], + description: + "The name of the gallery image version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format:", + args: { name: "gallery-image-version-name" }, + }, + { + name: "--gallery-unique-name", + description: "The unique name of the Shared Gallery", + args: { name: "gallery-unique-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "undelete", + description: "Restore soft deleted Image Version", + options: [ + { + name: ["--gallery-image-definition", "-i"], + description: "Gallery image definition", + args: { name: "gallery-image-definition" }, + isRequired: true, + }, + { + name: ["--gallery-image-version", "-e"], + description: + "Gallery image version in semantic version pattern. The allowed characters are digit and period. Digits must be within the range of a 32-bit integer, e.g. ..", + args: { name: "gallery-image-version" }, + isRequired: true, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--allow-replicated-location-deletion", + description: + "Indicate whether or not removing this gallery image version from replicated regions is allowed", + args: { + name: "allow-replicated-location-deletion", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "update", + description: "Update a share image version", + options: [ + { + name: ["--gallery-image-definition", "-i"], + description: "Gallery image definition", + args: { name: "gallery-image-definition" }, + isRequired: true, + }, + { + name: ["--gallery-image-version", "-e"], + description: + "Gallery image version in semantic version pattern. The allowed characters are digit and period. Digits must be within the range of a 32-bit integer, e.g. ..", + args: { name: "gallery-image-version" }, + isRequired: true, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--allow-replicated-location-deletion", + description: + "Indicate whether or not removing this gallery image version from replicated regions is allowed", + args: { + name: "allow-replicated-location-deletion", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--replica-count", + description: + "The default number of replicas to be created per region. To set regional replication counts, use --target-regions", + args: { name: "replica-count" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--target-edge-zones", + description: + 'Space-separated list of regions, edge zones, replica counts and storage types. Use =[=][=] to optionally set the replica count and/or storage account type for each region. If a replica count is not specified, the default replica count will be used. If a storage account type is not specified, the default storage account type will be used. If "--target-edge-zones None" is specified, the target extended locations will be cleared', + args: { name: "target-edge-zones" }, + }, + { + name: "--target-regions", + description: + "Space-separated list of regions and their replica counts. Use [=][=] to optionally set the replica count and/or storage account type for each region. If a replica count is not specified, the default replica count will be used. If a storage account type is not specified, the default storage account type will be used", + args: { name: "target-regions" }, + }, + ], + }, + { + name: "wait", + description: "Wait for image version related operation", + options: [ + { + name: ["--gallery-image-definition", "-i"], + description: "Gallery image definition", + args: { name: "gallery-image-definition" }, + isRequired: true, + }, + { + name: ["--gallery-image-version", "-e"], + description: + "Gallery image version in semantic version pattern. The allowed characters are digit and period. Digits must be within the range of a 32-bit integer, e.g. ..", + args: { name: "gallery-image-version" }, + isRequired: true, + }, + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "The expand expression to apply on the operation. 'ReplicationStatus' Default value is None", + args: { name: "expand" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "share", + description: "Manage gallery sharing profile", + subcommands: [ + { + name: "add", + description: "Share gallery with subscriptions and tenants", + options: [ + { + name: ["--gallery-name", "-r"], + description: "The name of the Shared Image Gallery", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--subscription-ids", + description: "A list of subscription ids to share the gallery", + args: { name: "subscription-ids" }, + }, + { + name: "--tenant-ids", + description: "A list of tenant ids to share the gallery", + args: { name: "tenant-ids" }, + }, + ], + }, + { + name: "enable-community", + description: "Allow to share gallery to the community", + options: [ + { + name: ["--gallery-name", "-r"], + description: "The name of the Shared Image Gallery", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--subscription-ids", + description: "A list of subscription ids to share the gallery", + args: { name: "subscription-ids" }, + }, + { + name: "--tenant-ids", + description: "A list of tenant ids to share the gallery", + args: { name: "tenant-ids" }, + }, + ], + }, + { + name: "remove", + description: "Stop sharing gallery with a subscription or tenant", + options: [ + { + name: ["--gallery-name", "-r"], + description: "The name of the Shared Image Gallery", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--subscription-ids", + description: "A list of subscription ids to share the gallery", + args: { name: "subscription-ids" }, + }, + { + name: "--tenant-ids", + description: "A list of tenant ids to share the gallery", + args: { name: "tenant-ids" }, + }, + ], + }, + { + name: "reset", + description: + "Disable gallery from being shared with subscription or tenant", + options: [ + { + name: ["--gallery-name", "-r"], + description: "The name of the Shared Image Gallery", + args: { name: "gallery-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a shared gallery is met", + options: [ + { + name: ["--gallery-name", "-r"], + description: "Gallery name", + args: { name: "gallery-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/signalr.ts b/src/az/2.53.0/signalr.ts new file mode 100644 index 000000000000..4851f0f6beb1 --- /dev/null +++ b/src/az/2.53.0/signalr.ts @@ -0,0 +1,1088 @@ +const completion: Fig.Spec = { + name: "signalr", + description: "Manage Azure SignalR Service", + subcommands: [ + { + name: "cors", + description: "Manage CORS for Azure SignalR Service", + subcommands: [ + { + name: "add", + description: "Add allowed origins to a SignalR Service", + options: [ + { + name: ["--allowed-origins", "-a"], + description: + 'Space separated origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). To allow all, use "*"', + args: { name: "allowed-origins" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List allowed origins of a SignalR Service", + options: [ + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove allowed origins from a SignalR Service", + options: [ + { + name: ["--allowed-origins", "-a"], + description: + 'Space separated origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). To allow all, use "*"', + args: { name: "allowed-origins" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update allowed origins to a SignalR Service", + options: [ + { + name: ["--allowed-origins", "-a"], + description: + 'Space separated origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). To allow all, use "*"', + args: { name: "allowed-origins" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "create", + description: "Creates a SignalR Service", + options: [ + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: + "The sku name of the signalr service. Allowed values: Premium_P1, Standard_S1, Free_F1", + args: { name: "sku" }, + isRequired: true, + }, + { + name: ["--allowed-origins", "-a"], + description: + 'Space separated origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). To allow all, use "*"', + args: { name: "allowed-origins" }, + }, + { + name: "--default-action", + description: "Default action to apply when no rule matches", + args: { name: "default-action", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--enable-message-logs", + description: + "The switch for messaging logs which signalr service will generate or not", + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--service-mode", + description: + "The service mode which signalr service will be working on", + args: { + name: "service-mode", + suggestions: ["Classic", "Default", "Serverless"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--unit-count", + description: "The number of signalr service unit count", + args: { name: "unit-count" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a SignalR Service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Lists all the SignalR Service under the current subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "restart", + description: "Restart an existing SignalR Service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a SignalR Service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an existing SignalR Service", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--allowed-origins", "-a"], + description: + 'Space separated origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). To allow all, use "*"', + args: { name: "allowed-origins" }, + }, + { + name: "--default-action", + description: "Default action to apply when no rule matches", + args: { name: "default-action", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--enable-message-logs", + description: + "The switch for messaging logs which signalr service will generate or not", + args: { name: "enable-message-logs", suggestions: ["false", "true"] }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--service-mode", + description: + "The service mode which signalr service will be working on", + args: { + name: "service-mode", + suggestions: ["Classic", "Default", "Serverless"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "The sku name of the signalr service. E.g. Standard_S1", + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--unit-count", + description: "The number of signalr service unit count", + args: { name: "unit-count" }, + }, + ], + }, + { + name: "custom-certificate", + description: "Manage custom certificate settings", + subcommands: [ + { + name: "create", + description: "Create a custom certificate of SignalR Service", + options: [ + { + name: "--keyvault-base-uri", + description: + "Key vault base URI. For example, https://contoso.vault.azure.net", + args: { name: "keyvault-base-uri" }, + isRequired: true, + }, + { + name: "--keyvault-secret-name", + description: "Key vault secret name where certificate is stored", + args: { name: "keyvault-secret-name" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the custom certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--signalr-name", + description: "Name of the SignalR", + args: { name: "signalr-name" }, + isRequired: true, + }, + { + name: "--keyvault-secret-version", + description: + "Key vault secret version where certificate is stored. If empty, will use latest version", + args: { name: "keyvault-secret-version" }, + }, + ], + }, + { + name: "delete", + description: "Delete a custom certificate of SignalR Service", + options: [ + { + name: "--name", + description: "Name of the custom certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--signalr-name", + description: "Name of the SignalR", + args: { name: "signalr-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List custom certificate of SignalR Service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--signalr-name", + description: "Name of the SignalR", + args: { name: "signalr-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the detail of a custom certificate of SignalR Service", + options: [ + { + name: "--name", + description: "Name of the custom certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--signalr-name", + description: "Name of the SignalR", + args: { name: "signalr-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a custom certificate of SignalR Service", + options: [ + { + name: "--name", + description: "Name of the custom certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--signalr-name", + description: "Name of the SignalR", + args: { name: "signalr-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--keyvault-base-uri", + description: + "Key vault base URI. For example, https://contoso.vault.azure.net", + args: { name: "keyvault-base-uri" }, + }, + { + name: "--keyvault-secret-name", + description: "Key vault secret name where certificate is stored", + args: { name: "keyvault-secret-name" }, + }, + { + name: "--keyvault-secret-version", + description: + "Key vault secret version where certificate is stored. If empty, will use latest version", + args: { name: "keyvault-secret-version" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + { + name: "custom-domain", + description: "Manage custom domain settings", + subcommands: [ + { + name: "create", + description: "Create a custom domain of SignalR Service", + options: [ + { + name: "--certificate-resource-id", + description: + "ResourceId of a previously created custom certificate", + args: { name: "certificate-resource-id" }, + isRequired: true, + }, + { + name: "--domain-name", + description: "Custom domain name. For example, contoso.com", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: "--name", + description: "Name of the custom domain", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--signalr-name", + description: "Name of the SignalR", + args: { name: "signalr-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a custom domain of SignalR Service", + options: [ + { + name: "--name", + description: "Name of the custom domain", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--signalr-name", + description: "Name of the SignalR", + args: { name: "signalr-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List custom domains of SignalR Service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--signalr-name", + description: "Name of the SignalR", + args: { name: "signalr-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the detail of a custom domain of SignalR Service", + options: [ + { + name: "--name", + description: "Name of the custom domain", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--signalr-name", + description: "Name of the SignalR", + args: { name: "signalr-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a custom domain of SignalR Service", + options: [ + { + name: "--name", + description: "Name of the custom domain", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--signalr-name", + description: "Name of the SignalR", + args: { name: "signalr-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--certificate-resource-id", + description: + "ResourceId of a previously created custom certificate", + args: { name: "certificate-resource-id" }, + }, + { + name: "--domain-name", + description: "Custom domain name. For example, contoso.com", + args: { name: "domain-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage managed identity settings", + subcommands: [ + { + name: "assign", + description: "Assign managed identity for SignalR Service", + options: [ + { + name: "--identity", + description: + "Assigns managed identities to the service. Use '[system]' to refer to the system-assigned identity or a resource ID to refer to a user-assigned identity. You can only assign either on of them", + args: { name: "identity" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: "Remove managed identity for SignalR Service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show managed identity for SignalR Service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "key", + description: "Manage keys for Azure SignalR Service", + subcommands: [ + { + name: "list", + description: "List the access keys for a SignalR Service", + options: [ + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "renew", + description: "Regenerate the access key for a SignalR Service", + options: [ + { + name: "--key-type", + description: "The name of access key to regenerate", + args: { name: "key-type", suggestions: ["primary", "secondary"] }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "network-rule", + description: "Manage network rules", + subcommands: [ + { + name: "list", + description: "Get the Network access control of SignalR Service", + options: [ + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update the Network access control of SignalR Service", + options: [ + { + name: "--allow", + description: + "The allowed virtual network rule. Space-separeted list of scope to assign. Allowed values: ClientConnection, ServerConnection, RESTAPI", + args: { name: "allow" }, + }, + { + name: "--connection-name", + description: + "Space-separeted list of private endpoint connection name", + args: { name: "connection-name" }, + }, + { + name: "--deny", + description: + "The denied virtual network rule. Space-separeted list of scope to assign. Allowed values: ClientConnection, ServerConnection, RESTAPI", + args: { name: "deny" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + }, + { + name: "--public-network", + description: "Set rules for public network", + args: { name: "public-network", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "upstream", + description: "Manage upstream settings", + subcommands: [ + { + name: "clear", + description: "Clear upstream settings of an existing SignalR Service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List upstream settings of an existing SignalR Service", + options: [ + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update order sensitive upstream settings for an existing SignalR Service", + options: [ + { + name: "--template", + description: + 'Template item for upstream settings. Use key=value pattern to set properties. Supported keys are "url-template", "hub-pattern", "event-pattern", "category-pattern"', + args: { name: "template" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of signalr service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/site-recovery.ts b/src/az/2.53.0/site-recovery.ts new file mode 100644 index 000000000000..7d89c9d301a3 --- /dev/null +++ b/src/az/2.53.0/site-recovery.ts @@ -0,0 +1,4425 @@ +const completion: Fig.Spec = { + name: "site-recovery", + description: "Manage Site Recovery Service", + subcommands: [ + { + name: "alert-setting", + description: "Manage Alert Setting", + subcommands: [ + { + name: "create", + description: "Create an email notification(alert) configuration", + options: [ + { + name: ["--alert-setting-name", "--name", "-n"], + description: + "The name of the email notification(alert) configuration", + args: { name: "alert-setting-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--custom-email-addresses", + description: + 'The custom email address for sending emails. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "custom-email-addresses" }, + }, + { + name: "--locale", + description: "The locale for the email notification", + args: { name: "locale" }, + }, + { + name: "--send-to-owners", + description: + 'A value indicating whether to send email to subscription administrator. Allowed values: "Send", "DoNotSend"', + args: { name: "send-to-owners" }, + }, + ], + }, + { + name: "list", + description: + "List the list of email notification(alert) configurations for the vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of the specified email notification(alert) configuration", + options: [ + { + name: ["--alert-setting-name", "--name", "-n"], + description: "The name of the email notification configuration", + args: { name: "alert-setting-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "update", + description: "Update an email notification(alert) configuration", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--alert-setting-name", "--name", "-n"], + description: "The name of the email notification configuration", + args: { name: "alert-setting-name" }, + }, + { + name: "--custom-email-addresses", + description: + 'The custom email address for sending emails. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "custom-email-addresses" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--locale", + description: "The locale for the email notification", + args: { name: "locale" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--send-to-owners", + description: + 'A value indicating whether to send email to subscription administrator. Allowed values: "Send", "DoNotSend"', + args: { name: "send-to-owners" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "event", + description: "Manage the events of the vault", + subcommands: [ + { + name: "list", + description: + "List the list of Azure Site Recovery events for the vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--filter", + description: "OData filter options", + args: { name: "filter" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get operation to get the details of an Azure Site recovery event", + options: [ + { + name: ["--event-name", "--name", "-n"], + description: "The name of the Azure Site Recovery event", + args: { name: "event-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "fabric", + description: "Manage Fabric", + subcommands: [ + { + name: "create", + description: + "Create operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site)", + options: [ + { + name: ["--fabric-name", "--name", "-n"], + description: "Name of the ASR fabric", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--custom-details", + description: + 'Fabric provider specific creation input. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "custom-details" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete operation to purge(force delete) an Azure Site Recovery fabric", + options: [ + { + name: ["--fabric-name", "--name", "-n"], + description: "ASR fabric to purge", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List a list of the Azure Site Recovery fabrics in the vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "remove", + description: + "The operation to delete or remove an Azure Site Recovery fabric", + options: [ + { + name: ["--fabric-name", "--name", "-n"], + description: "ASR fabric to delete", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an Azure Site Recovery fabric", + options: [ + { + name: ["--fabric-name", "--name", "-n"], + description: "Fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--filter", + description: "OData filter options", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "update", + description: + "Update operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site)", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--custom-details", + description: + 'Fabric provider specific creation input. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "custom-details" }, + }, + { + name: ["--fabric-name", "--name", "-n"], + description: "Fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "job", + description: "Manage Azure Site Recovery Jobs for the vault", + subcommands: [ + { + name: "cancel", + description: "The operation to cancel an Azure Site Recovery job", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: "Job identifier", + args: { name: "job-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "export", + description: + "The operation to export the details of the Azure Site Recovery jobs of the vault", + options: [ + { + name: "--affected-object-types", + description: "The type of objects", + args: { name: "affected-object-types" }, + }, + { + name: "--end-time", + description: "Date time to get jobs upto", + args: { name: "end-time" }, + }, + { + name: "--fabric-id", + description: "The Id of the fabric to search jobs under", + args: { name: "fabric-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: "The job Name", + args: { name: "job-name" }, + }, + { + name: "--job-output-type", + description: "The output type of the jobs", + args: { + name: "job-output-type", + suggestions: ["Excel", "Json", "Xml"], + }, + }, + { + name: "--job-status", + description: "The states of the job to be filtered can be in", + args: { name: "job-status" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--start-time", + description: "Date time to get jobs from", + args: { name: "start-time" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timezone-offset", + description: + "The timezone offset for the location of the request (in minutes)", + args: { name: "timezone-offset" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "list", + description: + "List the list of Azure Site Recovery Jobs for the vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--filter", + description: "OData filter options", + args: { name: "filter" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "restart", + description: "The operation to restart an Azure Site Recovery job", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: "Job identifier", + args: { name: "job-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "resume", + description: "The operation to resume an Azure Site Recovery job", + options: [ + { + name: "--comments", + description: "Resume job comments", + args: { name: "comments" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: "Job identifier", + args: { name: "job-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an Azure Site Recovery job", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-name", "--name", "-n"], + description: "Job identifier", + args: { name: "job-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "logical-network", + description: "Manage logical-network", + subcommands: [ + { + name: "list", + description: + "List all the logical networks of the Azure Site Recovery fabric", + options: [ + { + name: "--fabric-name", + description: "Server Id", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a logical network", + options: [ + { + name: "--fabric-name", + description: "Server Id", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--logical-network-name", "--name", "-n"], + description: "Logical network name", + args: { name: "logical-network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "network", + description: "Manage network", + subcommands: [ + { + name: "list", + description: "List the networks available for a fabric", + options: [ + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a network", + options: [ + { + name: "--fabric-name", + description: "Server Id", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-name", "--name", "-n"], + description: "Primary network name", + args: { name: "network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "mapping", + description: "Manage Network Mapping", + subcommands: [ + { + name: "create", + description: "Create operation to create an ASR network mapping", + options: [ + { + name: "--fabric-name", + description: "Primary fabric name", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: ["--network-mapping-name", "--name", "-n"], + description: "Network mapping name", + args: { name: "network-mapping-name" }, + isRequired: true, + }, + { + name: "--network-name", + description: "Primary network name", + args: { name: "network-name" }, + isRequired: true, + }, + { + name: "--recovery-network-id", + description: "Recovery network Id", + args: { name: "recovery-network-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: ["--fabric-specific-details", "--fabric-details"], + description: + 'Fabric specific input properties. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fabric-specific-details" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--recovery-fabric-name", + description: "Recovery fabric Name", + args: { name: "recovery-fabric-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete operation to delete a network mapping", + options: [ + { + name: "--fabric-name", + description: "Primary fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-mapping-name", "--name", "-n"], + description: "ARM Resource Name for network mapping", + args: { name: "network-mapping-name" }, + }, + { + name: "--network-name", + description: "Primary network name", + args: { name: "network-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all ASR network mappings for the specified network", + options: [ + { + name: "--fabric-name", + description: "Primary fabric name", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: "--network-name", + description: "Primary network name", + args: { name: "network-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an ASR network mapping", + options: [ + { + name: "--fabric-name", + description: "Primary fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-mapping-name", "--name", "-n"], + description: "Network mapping name", + args: { name: "network-mapping-name" }, + }, + { + name: "--network-name", + description: "Primary network name", + args: { name: "network-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "update", + description: "Update operation to create an ASR network mapping", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--fabric-specific-details", "--fabric-details"], + description: + 'Fabric specific input properties. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fabric-specific-details" }, + }, + { + name: "--fabric-name", + description: "Primary fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--network-mapping-name", "--name", "-n"], + description: "Network mapping name", + args: { name: "network-mapping-name" }, + }, + { + name: "--network-name", + description: "Primary network name", + args: { name: "network-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--recovery-fabric-name", + description: "Recovery fabric Name", + args: { name: "recovery-fabric-name" }, + }, + { + name: "--recovery-network-id", + description: "Recovery network Id", + args: { name: "recovery-network-id" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "policy", + description: "Manage the replication policies for a vault", + subcommands: [ + { + name: "create", + description: "Create operation to create a replication policy", + options: [ + { + name: ["--policy-name", "--name", "-n"], + description: "Replication policy name", + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--provider-specific-input", "--provider-input"], + description: + 'The ReplicationProviderSettings. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-input" }, + }, + ], + }, + { + name: "delete", + description: "Delete operation to delete a replication policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--policy-name", "--name", "-n"], + description: "Replication policy name", + args: { name: "policy-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the replication policies for a vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a replication policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--policy-name", "--name", "-n"], + description: "Replication policy name", + args: { name: "policy-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "update", + description: "Update operation to update a replication policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--policy-name", "--name", "-n"], + description: "Policy Id", + args: { name: "policy-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--provider-specific-input", "--provider-input"], + description: + 'The ReplicationProviderSettings. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-input" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "protectable-item", + description: "Manage Protectable Item", + subcommands: [ + { + name: "list", + description: "List the protectable items in a protection container", + options: [ + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: ["--protection-container-name", "--protection-container"], + description: "Protection container name", + args: { name: "protection-container-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--filter", + description: "OData filter options", + args: { name: "filter" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip-token", + description: "SkipToken OData query parameter", + args: { name: "skip-token" }, + }, + { + name: "--take", + description: "Take OData query parameter", + args: { name: "take" }, + }, + ], + }, + { + name: "show", + description: "Get operation to get the details of a protectable item", + options: [ + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--protectable-item-name", "--name", "-n"], + description: "Protectable item name", + args: { name: "protectable-item-name" }, + }, + { + name: ["--protection-container-name", "--protection-container"], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "protected-item", + description: "Manage Protected Item", + subcommands: [ + { + name: "create", + description: + "Create operation to create an ASR replication protected item (Enable replication)", + options: [ + { + name: "--fabric-name", + description: "Name of the fabric", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: ["--replicated-protected-item-name", "--name", "-n"], + description: "A name for the replication protected item", + args: { name: "replicated-protected-item-name" }, + isRequired: true, + }, + { + name: ["--protection-container-name", "--protection-container"], + description: "Protection container name", + args: { name: "protection-container-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--policy-id", + description: "The Policy Id", + args: { name: "policy-id" }, + }, + { + name: "--protectable-item-id", + description: "The protectable item Id", + args: { name: "protectable-item-id" }, + }, + { + name: ["--provider-specific-details", "--provider-details"], + description: + 'The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-details" }, + }, + ], + }, + { + name: "delete", + description: + "Delete operation to delete or purge a replication protected item. This operation will force delete the replication protected item. Use the remove operation on replication protected item to perform a clean disable replication for the item", + options: [ + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--replicated-protected-item-name", "--name", "-n"], + description: "Replication protected item name", + args: { name: "replicated-protected-item-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--protection-container-name", "--protection-container"], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "failover-commit", + description: + "Operation to commit the failover of the replication protected item", + options: [ + { + name: "--fabric-name", + description: "Unique fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--protection-container-name", "--protection-container"], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: ["--replicated-protected-item-name", "-n"], + description: "Replication protected item name", + args: { name: "replicated-protected-item-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "list", + description: + "List the list of ASR replication protected items in the protection container", + options: [ + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: ["--protection-container-name", "--protection-container"], + description: "Protection container name", + args: { name: "protection-container-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "planned-failover", + description: + "Operation to initiate a planned failover of the replication protected item", + options: [ + { + name: "--fabric-name", + description: "Unique fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--failover-direction", + description: "Failover direction", + args: { name: "failover-direction" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--replicated-protected-item-name", "--name", "-n"], + description: "Replication protected item name", + args: { name: "replicated-protected-item-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--protection-container-name", "--protection-container"], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: ["--provider-specific-details", "--provider-details"], + description: + 'Provider specific settings. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-details" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "remove", + description: + "The operation to disable replication on a replication protected item. This will also remove the item", + options: [ + { + name: ["--disable-protection-reason", "--disable-reason"], + description: + "Disable protection reason. It can have values NotSpecified/MigrationComplete", + args: { + name: "disable-protection-reason", + suggestions: ["MigrationComplete", "NotSpecified"], + }, + }, + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--replicated-protected-item-name", "--name", "-n"], + description: "Replication protected item name", + args: { name: "replicated-protected-item-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--protection-container-name", "--protection-container"], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: ["--replication-provider-input", "--provider-input"], + description: + 'Replication provider specific input. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "replication-provider-input" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "reprotect", + description: + "Operation to reprotect or reverse replicate a failed over replication protected item", + options: [ + { + name: "--fabric-name", + description: "Unique fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--failover-direction", + description: "Failover direction", + args: { name: "failover-direction" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--replicated-protected-item-name", "--name", "-n"], + description: "Replication protected item name", + args: { name: "replicated-protected-item-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--protection-container-name", "--protection-container"], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: ["--provider-specific-details", "--provider-details"], + description: + 'Provider specific reverse replication input. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-details" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "show", + description: "Get the details of an ASR replication protected item", + options: [ + { + name: "--fabric-name", + description: "Fabric unique name", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--replicated-protected-item-name", "--name", "-n"], + description: "Replication protected item name", + args: { name: "replicated-protected-item-name" }, + }, + { + name: ["--protection-container-name", "--protection-container"], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "unplanned-failover", + description: + "Operation to initiate a failover of the replication protected item", + options: [ + { + name: "--fabric-name", + description: "Unique fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--failover-direction", + description: "Failover direction", + args: { name: "failover-direction" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--replicated-protected-item-name", "--name", "-n"], + description: "Replication protected item name", + args: { name: "replicated-protected-item-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--protection-container-name", "--protection-container"], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: ["--provider-specific-details", "--provider-details"], + description: + 'Provider specific settings. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-details" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--source-site-operations", + description: "Source site operations status", + args: { name: "source-site-operations" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "update", + description: + "Update operation to create an ASR replication protected item (Enable replication)", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--fabric-name", + description: "Fabric unique name", + args: { name: "fabric-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--replicated-protected-item-name", "--name", "-n"], + description: "Replication protected item name", + args: { name: "replicated-protected-item-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--policy-id", + description: "The Policy Id", + args: { name: "policy-id" }, + }, + { + name: "--protectable-item-id", + description: "The protectable item Id", + args: { name: "protectable-item-id" }, + }, + { + name: ["--protection-container-name", "--protection-container"], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: ["--provider-specific-details", "--provider-details"], + description: + 'The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-details" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "protection-container", + description: "Manage Protection Container", + subcommands: [ + { + name: "create", + description: "Create to create a protection container", + options: [ + { + name: "--fabric-name", + description: "Unique fabric ARM name", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: ["--protection-container-name", "--name", "-n"], + description: "Unique protection container ARM name", + args: { name: "protection-container-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--provider-specific-input", "--provider-input"], + description: + 'Provider specific inputs for container creation. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-input" }, + }, + ], + }, + { + name: "list", + description: "List the protection containers in the specified fabric", + options: [ + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "remove", + description: "Operation to remove a protection container", + options: [ + { + name: "--fabric-name", + description: "Unique fabric ARM name", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--protection-container-name", "-n"], + description: "The name of the protection container", + args: { name: "protection-container-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a protection container", + options: [ + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--protection-container-name", "--name", "-n"], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "switch-protection", + description: + "Operation to switch protection from one container to another or one replication provider to another", + options: [ + { + name: "--fabric-name", + description: "Unique fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--replication-protected-item-name", "--protected-item"], + description: "The unique replication protected item name", + args: { name: "replication-protected-item-name" }, + }, + { + name: ["--protection-container-name", "-n"], + description: "The name of the protection container", + args: { name: "protection-container-name" }, + }, + { + name: ["--provider-specific-details", "--provider-details"], + description: + 'Provider specific switch protection input. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-details" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "update", + description: "Update to create a protection container", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--protection-container-name", "--name", "-n"], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--provider-specific-input", "--provider-input"], + description: + 'Provider specific inputs for container creation. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-input" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "mapping", + description: + "Manage a protection container mapping for a protection container", + subcommands: [ + { + name: "create", + description: + "Create operation to create a protection container mapping", + options: [ + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: ["--mapping-name", "--name", "-n"], + description: "Protection container mapping name", + args: { name: "mapping-name" }, + isRequired: true, + }, + { + name: [ + "--protection-container-name", + "--protection-container", + ], + description: "Protection container name", + args: { name: "protection-container-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--policy-id", + description: "Applicable policy", + args: { name: "policy-id" }, + }, + { + name: ["--provider-specific-input", "--provider-input"], + description: + 'Provider specific input for pairing. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-input" }, + }, + { + name: [ + "--target-protection-container-id", + "--target-container", + ], + description: "The target unique protection container name", + args: { name: "target-protection-container-id" }, + }, + ], + }, + { + name: "delete", + description: + "Delete operation to purge(force delete) a protection container mapping", + options: [ + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--mapping-name", "--name", "-n"], + description: "Protection container mapping name", + args: { name: "mapping-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: [ + "--protection-container-name", + "--protection-container", + ], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the protection container mappings for a protection container", + options: [ + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: [ + "--protection-container-name", + "--protection-container", + ], + description: "Protection container name", + args: { name: "protection-container-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "remove", + description: + "The operation to delete or remove a protection container mapping", + options: [ + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--mapping-name", "--name", "-n"], + description: "Protection container mapping name", + args: { name: "mapping-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: [ + "--protection-container-name", + "--protection-container", + ], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: ["--provider-specific-input", "--provider-input"], + description: + 'Provider specific input for unpairing. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-input" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a protection container mapping", + options: [ + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--mapping-name", "--name", "-n"], + description: "Protection Container mapping name", + args: { name: "mapping-name" }, + }, + { + name: [ + "--protection-container-name", + "--protection-container", + ], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "update", + description: + "Update operation to create a protection container mapping", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--mapping-name", "--name", "-n"], + description: "Protection Container mapping name", + args: { name: "mapping-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--policy-id", + description: "Applicable policy", + args: { name: "policy-id" }, + }, + { + name: [ + "--protection-container-name", + "--protection-container", + ], + description: "Protection container name", + args: { name: "protection-container-name" }, + }, + { + name: ["--provider-specific-input", "--provider-input"], + description: + 'Provider specific input for pairing. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-input" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: [ + "--target-protection-container-id", + "--target-container", + ], + description: "The target unique protection container name", + args: { name: "target-protection-container-id" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "recovery-plan", + description: "Manage the recovery plans in the vault", + subcommands: [ + { + name: "create", + description: "Create operation to create a recovery plan", + options: [ + { + name: "--groups", + description: + 'The recovery plan groups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "groups" }, + isRequired: true, + }, + { + name: ["--recovery-plan-name", "--name", "-n"], + description: "Recovery plan name", + args: { name: "recovery-plan-name" }, + isRequired: true, + }, + { + name: "--primary-fabric-id", + description: "The primary fabric Id", + args: { name: "primary-fabric-id" }, + isRequired: true, + }, + { + name: "--recovery-fabric-id", + description: "The recovery fabric Id", + args: { name: "recovery-fabric-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: ["--failover-deployment-model", "--failover-deploy-model"], + description: "The failover deployment model", + args: { + name: "failover-deployment-model", + suggestions: ["Classic", "NotApplicable", "ResourceManager"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--provider-specific-input", "--provider-input"], + description: + 'The provider specific input. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-input" }, + }, + ], + }, + { + name: "delete", + description: "Delete a recovery plan", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--recovery-plan-name", "--name", "-n"], + description: "Recovery plan name", + args: { name: "recovery-plan-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the recovery plans in the vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get the details of the recovery plan", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--recovery-plan-name", "--name", "-n"], + description: "Name of the recovery plan", + args: { name: "recovery-plan-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "update", + description: "Update operation to create a recovery plan", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--failover-deployment-model", "--failover-deploy-model"], + description: "The failover deployment model", + args: { + name: "failover-deployment-model", + suggestions: ["Classic", "NotApplicable", "ResourceManager"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--groups", + description: + 'The recovery plan groups. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "groups" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--recovery-plan-name", "--name", "-n"], + description: "Name of the recovery plan", + args: { name: "recovery-plan-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--primary-fabric-id", + description: "The primary fabric Id", + args: { name: "primary-fabric-id" }, + }, + { + name: ["--provider-specific-input", "--provider-input"], + description: + 'The provider specific input. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-specific-input" }, + }, + { + name: "--recovery-fabric-id", + description: "The recovery fabric Id", + args: { name: "recovery-fabric-id" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + { + name: "recovery-services-provider", + description: "Manage fabric recovery-services-provider", + subcommands: [ + { + name: "list", + description: + "List the registered recovery services providers for the specified fabric", + options: [ + { + name: "--fabric-name", + description: "Fabric name", + args: { name: "fabric-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + ], + }, + { + name: "replication-eligibility", + description: "Manage Replication Eligibility", + subcommands: [ + { + name: "list", + description: + "List whether a given VM can be protected or not in which case returns list of errors", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--virtual-machine-name", + description: "Virtual Machine name", + args: { name: "virtual-machine-name" }, + isRequired: true, + }, + ], + }, + { + name: "show-default", + description: + "Get whether a given VM can be protected or not in which case returns list of errors", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--virtual-machine-name", + description: "Virtual Machine name", + args: { name: "virtual-machine-name" }, + }, + ], + }, + ], + }, + { + name: "vault", + description: "Manage Vault", + subcommands: [ + { + name: "list-appliance", + description: + "List the list of Azure Site Recovery appliances for the vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--filter", + description: "OData filter options", + args: { name: "filter" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-migration-item", + description: + "Get the list of ASR replication migration items in the vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--filter", + description: "OData filter options", + args: { name: "filter" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip-token", + description: "The pagination token", + args: { name: "skip-token" }, + }, + { + name: "--take-token", + description: "The page size", + args: { name: "take-token" }, + }, + ], + }, + { + name: "list-network", + description: "List the networks available in a vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-network-mapping", + description: "List all ASR network mappings in the vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-protected-item", + description: + "List the list of ASR replication protected items in the vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--filter", + description: "OData filter options", + args: { name: "filter" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--skip-token", + description: + 'The pagination token. Possible values: "FabricId" or "FabricId_CloudId" or null', + args: { name: "skip-token" }, + }, + ], + }, + { + name: "list-protection-container", + description: "List the protection containers in a vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-protection-container-mapping", + description: "List the protection container mappings in the vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-recovery-services-provider", + description: + "List the registered recovery services providers in the vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-storage-classification", + description: "List the storage classifications in the vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-storage-classification-mapping", + description: "List the storage classification mappings in the vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-v-center", + description: "List the vCenter servers registered in the vault", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show-supported-operating-system", + description: "Show the supported operating system for the vault", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-type", + description: "The instance type", + args: { name: "instance-type" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "health", + description: "Manage the health details of the vault", + subcommands: [ + { + name: "refresh-default", + description: "Refresh default for the health of the vault", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + { + name: "show", + description: "Get the health details of the vault", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vault-name", + description: "The name of the recovery services vault", + args: { name: "vault-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "vmware-site", + description: "Manage vmware-site", + subcommands: [ + { + name: "machine", + description: "Manage vmware-site machines", + subcommands: [ + { + name: "list", + description: "List to get machine", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--site-name", + description: "Site name", + args: { name: "site-name" }, + isRequired: true, + }, + { + name: "--continuation-token", + description: "Optional parameter for continuation token", + args: { name: "continuation-token" }, + }, + { + name: "--filter", + description: "Filter", + args: { name: "filter" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--top", + description: "List a set number of machines", + args: { name: "top" }, + }, + { + name: "--total-record-count", + description: "Total count of machines in the given site", + args: { name: "total-record-count" }, + }, + ], + }, + ], + }, + { + name: "run-as-account", + description: "Manage vmware-site run-as-account", + subcommands: [ + { + name: "list", + description: "List to get run as accounts", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--site-name", + description: "Site name", + args: { name: "site-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/snapshot.ts b/src/az/2.53.0/snapshot.ts new file mode 100644 index 000000000000..63e92ec2c8aa --- /dev/null +++ b/src/az/2.53.0/snapshot.ts @@ -0,0 +1,517 @@ +const completion: Fig.Spec = { + name: "snapshot", + description: + "Manage point-in-time copies of managed disks, native blobs, or other snapshots", + subcommands: [ + { + name: "create", + description: "Create a snapshot", + options: [ + { + name: ["--name", "-n"], + description: "The name of the snapshot", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--accelerated-network", + description: + "Customers can set on Managed Disks or Snapshots to enable the accelerated networking if the OS disk image support", + args: { name: "accelerated-network", suggestions: ["false", "true"] }, + }, + { + name: "--architecture", + description: "CPU architecture", + args: { name: "architecture", suggestions: ["Arm64", "x64"] }, + }, + { + name: "--copy-start", + description: + "Create snapshot by using a deep copy process, where the resource creation is considered complete only after all data has been copied from the source", + args: { name: "copy-start", suggestions: ["false", "true"] }, + }, + { + name: "--disk-access", + description: + "Name or ID of the disk access resource for using private endpoints on disks", + args: { name: "disk-access" }, + }, + { + name: "--disk-encryption-set", + description: + "Name or ID of disk encryption set that is used to encrypt the disk", + args: { name: "disk-encryption-set" }, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: "--encryption-type", + description: + "Encryption type. EncryptionAtRestWithPlatformKey: Disk is encrypted with XStore managed key at rest. It is the default encryption type. EncryptionAtRestWithCustomerKey: Disk is encrypted with Customer managed key at rest", + args: { + name: "encryption-type", + suggestions: [ + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys", + "EncryptionAtRestWithPlatformKey", + ], + }, + }, + { + name: "--for-upload", + description: + 'Create the snapshot for uploading blobs later on through storage commands. Run "az snapshot grant-access --access-level Write" to retrieve the snapshot\'s SAS token', + args: { name: "for-upload", suggestions: ["false", "true"] }, + }, + { + name: "--hyper-v-generation", + description: + "The hypervisor generation of the Virtual Machine. Applicable to OS disks only", + args: { name: "hyper-v-generation", suggestions: ["V1", "V2"] }, + }, + { + name: "--incremental", + description: + "Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed", + args: { name: "incremental", suggestions: ["false", "true"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. If location is not specified and no default location specified, location will be automatically set as same as the resource group", + args: { name: "location" }, + }, + { + name: "--network-access-policy", + description: "Policy for accessing the disk via network", + args: { + name: "network-access-policy", + suggestions: ["AllowAll", "AllowPrivate", "DenyAll"], + }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--public-network-access", + description: + "Customers can set on Managed Disks or Snapshots to control the export policy on the disk", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--size-gb", "-z"], + description: + "Size in GB. Max size: 4095 GB (certain preview disks can be larger)", + args: { name: "size-gb" }, + }, + { + name: "--sku", + description: "", + args: { + name: "sku", + suggestions: ["Premium_LRS", "Standard_LRS", "Standard_ZRS"], + }, + }, + { + name: "--source", + description: + "Source to create the disk/snapshot from, including unmanaged blob uri, managed disk id or name, or snapshot id or name", + args: { name: "source" }, + }, + { + name: "--source-storage-account-id", + description: "Used when source blob is in a different subscription", + args: { name: "source-storage-account-id" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a snapshot", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--snapshot-name", "--name", "-n"], + description: + "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters", + args: { name: "snapshot-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "grant-access", + description: "Grant read access to a snapshot", + options: [ + { + name: "--duration-in-seconds", + description: "Time duration in seconds until the SAS access expires", + args: { name: "duration-in-seconds" }, + isRequired: true, + }, + { + name: "--access-level", + description: "Access level", + args: { name: "access-level", suggestions: ["Read", "Write"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the snapshot", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List snapshots under a resource group", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "revoke-access", + description: "Revoke access to a snapshot", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--snapshot-name", "--name", "-n"], + description: "The name of the snapshot", + args: { name: "snapshot-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get information about a snapshot", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--snapshot-name", "--name", "-n"], + description: + "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters", + args: { name: "snapshot-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a snapshot", + options: [ + { + name: "--accelerated-network", + description: + "Customers can set on Managed Disks or Snapshots to enable the accelerated networking if the OS disk image support", + args: { name: "accelerated-network", suggestions: ["false", "true"] }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--architecture", + description: "CPU architecture", + args: { name: "architecture", suggestions: ["Arm64", "x64"] }, + }, + { + name: "--disk-access", + description: + "Name or ID of the disk access resource for using private endpoints on disks", + args: { name: "disk-access" }, + }, + { + name: "--disk-encryption-set", + description: + "Name or ID of disk encryption set that is used to encrypt the disk", + args: { name: "disk-encryption-set" }, + }, + { + name: "--encryption-type", + description: + "Encryption type. EncryptionAtRestWithPlatformKey: Disk is encrypted with XStore managed key at rest. It is the default encryption type. EncryptionAtRestWithCustomerKey: Disk is encrypted with Customer managed key at rest", + args: { + name: "encryption-type", + suggestions: [ + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys", + "EncryptionAtRestWithPlatformKey", + ], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the snapshot", + args: { name: "name" }, + }, + { + name: "--network-access-policy", + description: "Policy for accessing the disk via network", + args: { + name: "network-access-policy", + suggestions: ["AllowAll", "AllowPrivate", "DenyAll"], + }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--public-network-access", + description: + "Customers can set on Managed Disks or Snapshots to control the export policy on the disk", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "", + args: { + name: "sku", + suggestions: ["Premium_LRS", "Standard_LRS", "Standard_ZRS"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--snapshot-name", "--name", "-n"], + description: + "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters", + args: { name: "snapshot-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/spatial-anchors-account.ts b/src/az/2.53.0/spatial-anchors-account.ts new file mode 100644 index 000000000000..ffec34bd88c5 --- /dev/null +++ b/src/az/2.53.0/spatial-anchors-account.ts @@ -0,0 +1,249 @@ +const completion: Fig.Spec = { + name: "spatial-anchors-account", + description: "Manage spatial anchor account with mixed reality", + subcommands: [ + { + name: "create", + description: "Create a Spatial Anchors Account", + options: [ + { + name: ["--name", "-n"], + description: "Name of an Mixed Reality Account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--kind", + description: + 'The kind of account, if supported Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "kind" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--sku", + description: + 'The sku associated with this account Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sku" }, + }, + { + name: "--storage-account-name", + description: + "The name of the storage account associated with this accountId", + args: { name: "storage-account-name" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Spatial Anchors Account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of an Mixed Reality Account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Spatial Anchors Accounts by Subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a Spatial Anchors Account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of an Mixed Reality Account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Spatial Anchors Account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kind", + description: + 'The kind of account, if supported Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "kind" }, + }, + { + name: ["--name", "-n"], + description: "Name of an Mixed Reality Account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: + 'The sku associated with this account Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "sku" }, + }, + { + name: "--storage-account-name", + description: + "The name of the storage account associated with this accountId", + args: { name: "storage-account-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "key", + description: "Manage developer keys of a spatial anchors account", + subcommands: [ + { + name: "renew", + description: "Regenerate specified Key of a Spatial Anchors Account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--key", "-k"], + description: "Key to be regenerated", + args: { name: "key", suggestions: ["primary", "secondary"] }, + }, + { + name: ["--name", "-n"], + description: "Name of an Mixed Reality Account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "List Both of the 2 Keys of a Spatial Anchors Account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of an Mixed Reality Account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/sphere.ts b/src/az/2.53.0/sphere.ts new file mode 100644 index 000000000000..439351c0f51c --- /dev/null +++ b/src/az/2.53.0/sphere.ts @@ -0,0 +1,2235 @@ +const completion: Fig.Spec = { + name: "sphere", + description: "Manage Azure Sphere", + subcommands: [ + { + name: "ca-certificate", + description: "Manage certificates in your Azure Sphere Catalog", + subcommands: [ + { + name: "download", + description: "Download the certificate for your Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--output-file", "-of"], + description: + "Path and file name in which to save the certificate. Specify a relative or absolute path", + args: { name: "output-file" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--serial-number", "-sn"], + description: "The certificate to download. Specify serial number", + args: { name: "serial-number" }, + }, + ], + }, + { + name: "download-chain", + description: + "Download the certificate chain for your Azure Sphere Catalog as a PKCS#7 '.p7b' file", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--output-file", "-of"], + description: + "Path and file name in which to save the certificate chain. Specify a relative or absolute path using a '.p7b' extension", + args: { name: "output-file" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--serial-number", "-sn"], + description: "The certificate to download. Specify serial number", + args: { name: "serial-number" }, + }, + ], + }, + { + name: "download-proof", + description: + "Download a proof-of-possession certificate for your Azure Sphere Catalog for use with a provided code", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--output-file", "-of"], + description: + "Path and file name in which to save the certificate. Specify a relative or absolute path", + args: { name: "output-file" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--verification-code", "-v"], + description: + "The verification code for the Azure Sphere Security Service to use when generating the certificate", + args: { name: "verification-code" }, + isRequired: true, + }, + { + name: ["--serial-number", "-sn"], + description: "The certificate to download. Specify serial number", + args: { name: "serial-number" }, + }, + ], + }, + { + name: "list", + description: "List all certificates in your Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "catalog", + description: "Manage Azure Sphere Catalogs", + subcommands: [ + { + name: "create", + description: "Create an Azure Sphere Catalog", + options: [ + { + name: ["--name", "-n"], + description: "The Azure Sphere Catalog name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete an Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog name. value from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "download-error-report", + description: + "List or download the available error reports for the selected Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--output-file", "-of"], + description: + "The path to the new csv file to create, containing the error report data. You can provide a relative or absolute path. If this parameter is not set, the file will be saved in the current folder with a default name. (Path)", + args: { name: "output-file" }, + }, + ], + }, + { + name: "list", + description: "List the available Azure Sphere Catalogs", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of an Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog name. value from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "deployment", + description: "Manage deployments in your Azure Sphere Catalog", + subcommands: [ + { + name: "create", + description: "Create a deployment", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--device-group", "-dg"], + description: + "The device group name. value from: az sphere device-group list", + args: { name: "device-group" }, + isRequired: true, + }, + { + name: ["--images", "-i"], + description: + "Space-separated list of images to deploy. value from: az sphere image list", + args: { name: "images" }, + isRequired: true, + }, + { + name: ["--product", "-p"], + description: + "The product in which to create a deployment. value from: az sphere product list", + args: { name: "product" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all deployments", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--device-group", "-dg"], + description: + "The device group name. value from: az sphere device-group list", + args: { name: "device-group" }, + isRequired: true, + }, + { + name: ["--product", "-p"], + description: + "The product in which to list deployments. value from: az sphere product list", + args: { name: "product" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a deployment", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--deployment-id", "-di"], + description: "The deployment ID", + args: { name: "deployment-id" }, + isRequired: true, + }, + { + name: ["--device-group", "-dg"], + description: + "The device group name. value from: az sphere device-group list", + args: { name: "device-group" }, + isRequired: true, + }, + { + name: ["--product", "-p"], + description: + "The product in which to list deployments. value from: az sphere product list", + args: { name: "product" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "device", + description: "Manage Azure Sphere devices", + subcommands: [ + { + name: "assign", + description: + "Assign a device to a device group in your Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--targeted-device-group", + description: + "The targeted device group id. value from: az sphere device-group list", + args: { name: "targeted-device-group" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to target for this command. This is required when no device or multiple devices are attached, to disambiguate which device to target. If the device is attached, you may provide either Device ID, IP address, or Local Connection ID. Values from: az sphere device list-attached. Otherwise you must provide the Device ID only. value from: az sphere device list", + args: { name: "device" }, + }, + { + name: ["--device-group", "-dg"], + description: + "The current device group name. value from: az sphere device-group list", + args: { name: "device-group" }, + }, + { + name: ["--product", "-p"], + description: + "The current product name. value from: az sphere product list", + args: { name: "product" }, + }, + ], + }, + { + name: "claim", + description: "Claim a device in your Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to target for this command. This is required when no device or multiple devices are attached, to disambiguate which device to target. If the device is attached, you may provide either Device ID, IP address, or Local Connection ID. Values from: az sphere device list-attached. Otherwise you must provide the Device ID only", + args: { name: "device" }, + }, + { + name: ["--device-group", "-dg"], + description: + "The device group name where to claim the device. value from: az sphere device-group list", + args: { name: "device-group" }, + }, + { + name: ["--product", "-p"], + description: + "The product name where to claim the device. value from: az sphere product list", + args: { name: "product" }, + }, + ], + }, + { + name: "enable-cloud-test", + description: + "Enable a device for testing cloud loading by disabling development and debugging on the attached device, and by assigning it to a device group that enables application updates from the cloud. By default, this will be the 'Field Test' device group of the device's product, but other device groups can be specified. Not for use in manufacturing scenarios: see https://aka.ms/AzureSphereManufacturing for more information", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + { + name: ["--device-group", "-dg"], + description: + "The device group name to which the device will be assigned. By default, this is the 'Field Test' device group of the product. value from: az sphere device-group list", + args: { name: "device-group" }, + }, + { + name: ["--product", "-p"], + description: + "The target product name. The device will be assigned to the default 'Field Test' device group of the selected product unless the device-group is also specified. value from: az sphere product list", + args: { name: "product" }, + }, + ], + }, + { + name: "enable-development", + description: + "Enable a device for development by enabling sideloading and debugging on the attached device, and by assigning it to a device group that disables application updates from the cloud. By default, this will be the 'Development' device group of the device's product, but other device groups can be specified. Not for use in manufacturing scenarios: see https://aka.ms/AzureSphereManufacturing for more information", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + { + name: ["--device-group", "-dg"], + description: + "The device group name to which the device will be assigned. By default, this is the 'Development' device group of the product. value from: az sphere device-group list", + args: { name: "device-group" }, + }, + { + name: ["--enable-rt-core-debugging", "-r"], + description: + "Install drivers required to debug applications running on a real-time core. Requires administrator permissions", + }, + { + name: ["--product", "-p"], + description: + "The target product name. The device will be assigned to the default 'Development' device group of the selected product unless the device-group is also specified. value from: az sphere product list", + args: { name: "product" }, + }, + ], + }, + { + name: "list", + description: + "List all the devices in your Azure Sphere Catalog, product, or device group", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--device-group", "-dg"], + description: + "The device group name. value from: az sphere device-group list", + args: { name: "device-group" }, + }, + { + name: ["--product", "-p"], + description: + "The product name. value from: az sphere product list", + args: { name: "product" }, + }, + ], + }, + { + name: "list-attached", + description: "List all the attached devices", + }, + { + name: "recover", + description: + "Use recovery mode to load new firmware onto the attached device", + options: [ + { + name: "--capability", + description: + "Filename of a device capability image to apply to the device during recovery. (Path)", + args: { name: "capability" }, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + { + name: "--images", + description: + "Folder containing the image packages to write to the device. If not specified then the latest OS images are downloaded and used. (Path)", + args: { name: "images" }, + }, + ], + }, + { + name: "rescan-attached", + description: "Show the number of attached devices", + }, + { + name: "restart", + description: "Restart the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "show", + description: + "Show details of an existing device in your Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to target for this command. This is required when no device or multiple devices are attached, to disambiguate which device to target. If the device is attached, you may provide either Device ID, IP address, or Local Connection ID. Values from: az sphere device list-attached. Otherwise you must provide the Device ID only. value from: az sphere device list", + args: { name: "device" }, + }, + { + name: ["--device-group", "-dg"], + description: + "The device group name. value from: az sphere device-group list", + args: { name: "device-group" }, + }, + { + name: ["--product", "-p"], + description: + "The product name. value from: az sphere product list", + args: { name: "product" }, + }, + ], + }, + { + name: "show-attached", + description: "Show the details of the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "show-count", + description: + "Show the number of devices in your Azure Sphere Catalog, product, or device group", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--device-group", "-dg"], + description: + "The device group name. value from: az sphere device-group list", + args: { name: "device-group" }, + }, + { + name: ["--product", "-p"], + description: + "The product name. value from: az sphere product list", + args: { name: "product" }, + }, + ], + }, + { + name: "show-deployment-status", + description: + "Show the deployment status of the operating system on a device", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "show-os-version", + description: + "Show the operating system version on the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "unassign", + description: + "Unassign a device from a device group in your Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--device-group", "-dg"], + description: + "The device group name. value from: az sphere device-group list", + args: { name: "device-group" }, + isRequired: true, + }, + { + name: ["--product", "-p"], + description: + "The product name. value from: az sphere product list", + args: { name: "product" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to target for this command. This is required when no device or multiple devices are attached, to disambiguate which device to target. If the device is attached, you may provide either Device ID, IP address, or Local Connection ID. Values from: az sphere device list-attached. Otherwise you must provide the Device ID only. value from: az sphere device list", + args: { name: "device" }, + }, + ], + }, + { + name: "app", + description: "Manage applications on the attached device", + subcommands: [ + { + name: "show-memory-stats", + description: + "Show the memory statistics for applications on the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "show-quota", + description: + "Show the storage quota and usage for applications on the attached device", + options: [ + { + name: ["--component-id", "-i"], + description: + "The ID of the component to get the quota information for. By default, gets all components. (Guid)", + args: { name: "component-id" }, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "show-status", + description: + "Show the status of applications on the attached device", + options: [ + { + name: ["--component-id", "-i"], + description: + "The ID of the component to show the status of; by default, all application statuses are shown. (Guid)", + args: { name: "component-id" }, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "start", + description: "Start applications on the attached device", + options: [ + { + name: ["--component-id", "-i"], + description: + "The ID of the component to start; by default, all applications are started. Required if '--debug-mode' is used. (Guid)", + args: { name: "component-id" }, + }, + { + name: "--debug-mode", + description: + "Start the application in debug mode. '--component-id' must be provided", + args: { name: "debug-mode", suggestions: ["false", "true"] }, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "stop", + description: "Stop applications on the attached device", + options: [ + { + name: ["--component-id", "-i"], + description: + "The ID of the component to stop; by default, all applications are stopped. (Guid)", + args: { name: "component-id" }, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + ], + }, + { + name: "capability", + description: "Manage device capability configurations", + subcommands: [ + { + name: "download", + description: + "Download a device capability file from the Azure Sphere Security Service", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to target for this command. This is required when no device or multiple devices are attached, to disambiguate which device to target. If the device is attached, you may provide either Device ID, IP address, or Local Connection ID. Values from: az sphere device list-attached. Otherwise you must provide the Device ID only. value from: az sphere device list", + args: { name: "device" }, + }, + { + name: ["--device-group", "-dg"], + description: + "The device group name. value from: az sphere device-group list", + args: { name: "device-group" }, + }, + { + name: ["--output-file", "-of"], + description: + "Path and file name in which to download capabilities. If this parameter is not set, the file will be saved in the current folder with a default name (capability-device.cap)", + args: { name: "output-file" }, + }, + { + name: ["--product", "-p"], + description: + "The product name. value from: az sphere product list", + args: { name: "product" }, + }, + { + name: ["--type", "-t"], + description: + "Space-separated list of capabilities to download. If this parameter is not set, the capability None will be applied", + args: { + name: "type", + suggestions: ["ApplicationDevelopment", "FieldServicing"], + }, + }, + ], + }, + { + name: "select", + description: + "Temporarily select the device capability session for the attached device", + options: [ + { + name: "--capability-file", + description: + "The path and filename to the device capability configuration file to select. You can provide a relative or absolute path", + args: { name: "capability-file" }, + }, + { + name: ["--none", "-n"], + description: + "End the temporarily selected device capability session", + }, + ], + }, + { + name: "show-attached", + description: + "Show the current device capability configuration of the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "update", + description: + "Update the device capability configuration for the attached device", + options: [ + { + name: "--capability-file", + description: + "The path and filename to the device capability configuration file to apply", + args: { name: "capability-file" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + ], + }, + { + name: "certificate", + description: "Manage certificates on the attached device", + subcommands: [ + { + name: "add", + description: + "Add a certificate in the attached device's certificate store", + options: [ + { + name: ["--cert-type", "-t"], + description: + "The type of certificate to add. 'rootca' - a root CA certificate for use with EAP-TLS networks where the device authenticates the server. 'client' - a client certificate, containing both the public and private key, for use with EAP-TLS networks. Please see: https://aka.ms/AzureSphereCertificateStore for more details", + args: { name: "cert-type" }, + isRequired: true, + }, + { + name: ["--certificate", "-c"], + description: "The name of the certificate to add", + args: { name: "certificate" }, + isRequired: true, + }, + { + name: ["--public-key-file", "-p"], + description: + "The path to a public key certificate .pem file. You can provide a relative or absolute path", + args: { name: "public-key-file" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Values from: az sphere device list-attached. Specify the ID, IP address, or Local Connection ID of an attached device", + args: { name: "device" }, + }, + { + name: "--private-key-file", + description: + "The path to a client private key .pem file. Required when adding a certificate of type 'client'. You can provide a relative or absolute path", + args: { name: "private-key-file" }, + }, + { + name: ["--private-key-password", "-w"], + description: + "Password for the client private key. Required when adding a client private key that is encrypted", + args: { name: "private-key-password" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a certificate in the attached device's certificate store", + options: [ + { + name: ["--certificate", "-c"], + description: + "The name of the certificate to delete. value from: az sphere device certificate list", + args: { name: "certificate" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Values from: az sphere device list-attached. Specify the ID, IP address, or Local Connection ID of an attached device", + args: { name: "device" }, + }, + ], + }, + { + name: "list", + description: + "List certificates in the attached device's certificate store", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Values from: az sphere device list-attached. Specify the ID, IP address, or Local Connection ID of an attached device", + args: { name: "device" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a certificate in the attached device's certificate store", + options: [ + { + name: ["--certificate", "-c"], + description: + "The certificate name of the certificate for which to show the details. value from: az sphere device certificate list", + args: { name: "certificate" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Values from: az sphere device list-attached. Specify the ID, IP address, or Local Connection ID of an attached device", + args: { name: "device" }, + }, + ], + }, + { + name: "show-quota", + description: + "Show the available free space in the attached device's certificate store", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Values from: az sphere device list-attached. Specify the ID, IP address, or Local Connection ID of an attached device", + args: { name: "device" }, + }, + ], + }, + ], + }, + { + name: "image", + description: "Manage device images", + subcommands: [ + { + name: "list-installed", + description: "List the images currently on the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + { + name: ["--full", "-f"], + description: + "Lists all images on the device; rather than only applications", + }, + ], + }, + ], + }, + { + name: "manufacturing-state", + description: "Manage the manufacturing state of attached devices", + subcommands: [ + { + name: "show", + description: + "Show the manufacturing state of the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "update", + description: + "Update the manufacturing state of the attached device. Caution: manufacturing state changes are permanent and irreversible", + options: [ + { + name: ["--state", "-s"], + description: "The manufacturing state of the attached device", + args: { + name: "state", + suggestions: ["DeviceComplete", "Module1Complete"], + }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + ], + }, + { + name: "network", + description: + "Provides information about the status of network interfaces on the attached device", + subcommands: [ + { + name: "disable", + description: "Disable a network interface on the attached device", + options: [ + { + name: "--interface", + description: + "The interface to enable. value from: az sphere device network list-interfaces", + args: { name: "interface" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "enable", + description: "Enable a network interface on the attached device", + options: [ + { + name: "--interface", + description: + "The interface to enable. value from: az sphere device network list-interfaces", + args: { name: "interface" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "list-firewall-rules", + description: "List firewall rules for the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "list-interfaces", + description: + "List the network interfaces for the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "show-diagnostics", + description: + "Show diagnostics for one or all Wi-Fi networks on the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + { + name: ["--network", "-n"], + description: + "The network for which to show diagnostics. value from: az sphere device network list-interfaces", + args: { name: "network" }, + }, + ], + }, + { + name: "show-status", + description: "Show the network status for the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "update-interface", + description: + "Update the network interface configuration for the attached device", + options: [ + { + name: "--hardware-address", + description: "Specify the device hardware address to be set", + args: { name: "hardware-address" }, + isRequired: true, + }, + { + name: "--interface", + description: + "The interface to update. value from: az sphere device network list-interfaces", + args: { name: "interface" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "proxy", + description: "Manage proxy address use for network connection", + subcommands: [ + { + name: "apply", + description: + "Configure the network proxy on the attached device", + options: [ + { + name: ["--address", "-a"], + description: "The network address of the proxy", + args: { name: "address" }, + isRequired: true, + }, + { + name: ["--authentication", "-t"], + description: + "If the proxy requires a user name and password, set this to basic, otherwise anonymous. Allowed values are anonymous, basic", + args: { name: "authentication" }, + isRequired: true, + }, + { + name: ["--port", "-r"], + description: "The port on the network address to be used", + args: { name: "port" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + { + name: "--disable", + description: + "Disable network proxy on the attached device", + }, + { + name: "--enable", + description: + "Enable network proxy on the attached device", + }, + { + name: ["--no-proxy-addresses", "-n"], + description: + "Array of space-separated network addresses the device should avoid for proxy connection", + args: { name: "no-proxy-addresses" }, + }, + { + name: ["--password", "-p"], + description: + "For Basic Authentication, password used for proxy authentication", + args: { name: "password" }, + }, + { + name: ["--username", "-u"], + description: + "For Basic Authentication, username used for proxy authentication", + args: { name: "username" }, + }, + ], + }, + { + name: "delete", + description: "Delete proxy connection on the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "show", + description: "Show proxy connection on the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "sideload", + description: "Deploy and manage applications on the attached device", + subcommands: [ + { + name: "delete", + description: "Delete applications from the attached device", + options: [ + { + name: ["--component-id", "-i"], + description: + "The ID of the component to delete; by default, all applications are deleted", + args: { name: "component-id" }, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + { + name: ["--except-component-ids", "-e"], + description: + "Space-separated IDs of components to exclude from the set of applications to be deleted", + args: { name: "except-component-ids" }, + }, + ], + }, + { + name: "deploy", + description: "Deploy an application to the attached device", + options: [ + { + name: ["--image-package", "-p"], + description: + "The path and filename of the image package file to deploy. You can provide a relative or absolute path. (Path)", + args: { name: "image-package" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + { + name: "--force", + description: + "Force the deployment of an image using a Beta API that may no longer be supported", + }, + { + name: ["--manual-start", "-m"], + description: + "Do not automatically start the application after sideload", + }, + ], + }, + { + name: "set-deployment-timeout", + description: "Set deployment timeout in seconds", + options: [ + { + name: ["--value", "-v"], + description: "Timeout value in seconds", + args: { name: "value" }, + isRequired: true, + }, + ], + }, + { + name: "show-deployment-timeout", + description: "Show deployment timeout in seconds", + }, + ], + }, + { + name: "wifi", + description: "Manage Wi-Fi configurations for the attached device", + subcommands: [ + { + name: "add", + description: "Add a Wi-Fi network on the attached device", + options: [ + { + name: ["--ssid", "-s"], + description: "The SSID of the new network", + args: { name: "ssid" }, + isRequired: true, + }, + { + name: "--client-cert-id", + description: + "[EAP-TLS] - A string value (up to 16 characters) that identifies the client certificate (containing both the public and private key). Required to set up an EAP-TLS network", + args: { name: "client-cert-id" }, + }, + { + name: "--client-id", + description: + "User@domain [EAP-TLS] ID recognized for authentication by this network's RADIUS server. Required for some EAP-TLS networks", + args: { name: "client-id" }, + }, + { + name: "--config-name", + description: + "A string value (up to 16 characters) that specifies the name for this network configuration", + args: { name: "config-name" }, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + { + name: ["--psk", "-p"], + description: + "The WPA/WPA2 PSK for the new network. Do not set this if connecting to an open network", + args: { name: "psk" }, + }, + { + name: "--root-ca-cert-id", + description: + "[EAP-TLS] - A string value (up to 16 characters) that identifies the server's root CA certificate for EAP-TLS networks where the device authenticates the server", + args: { name: "root-ca-cert-id" }, + }, + { + name: "--targeted-scan", + description: + "Attempt to connect to an SSID even if not advertised", + args: { + name: "targeted-scan", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "disable", + description: "Disable a Wi-Fi connection on the attached device", + options: [ + { + name: ["--id", "-i"], + description: "The ID of the network to disable", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "enable", + description: "Enable a Wi-Fi network on the attached device", + options: [ + { + name: ["--id", "-i"], + description: "The ID of the network to disable", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "forget", + description: "Forget a Wi-Fi network on the attached device", + options: [ + { + name: ["--id", "-i"], + description: "The ID of the network to disable", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "list", + description: + "List the current Wi-Fi configurations for the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "reload-config", + description: + "Reload the Wi-Fi network configuration on the attached device. Use this command after you add or remove a certificate (azsphere device certificate) to ensure that EAP-TLS networks use the most recent contents of the certificate store", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "scan", + description: + "Scan for available Wi-Fi networks visible to the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a Wi-Fi network on the attached device", + options: [ + { + name: ["--id", "-i"], + description: "The ID of the network to show details for", + args: { name: "id" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + { + name: "show-status", + description: + "Show the status of the wireless interface on the attached device", + options: [ + { + name: ["--device", "-d"], + description: + "The device to run the command on when multiple devices are attached. Specify the ID, IP address, or Local Connection ID of the device. value from: az sphere device list-attached", + args: { name: "device" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "device-group", + description: "Manage device groups in your Azure Sphere Catalog", + subcommands: [ + { + name: "create", + description: "Create a device group", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--description", "-d"], + description: "Description of the device group", + args: { name: "description" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Alphanumeric name of the device group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--product", "-p"], + description: + "The product name. value from: az sphere product list", + args: { name: "product" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--allow-crash-dumps-collection", "-cd"], + description: + "Provide consent for collection of crash dumps by Microsoft for this device-group. For more information, see https://aka.ms/AzureSphereCrashDumpsCollection", + args: { + name: "allow-crash-dumps-collection", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--application-update", "-a"], + description: "Application update policy for this device group", + args: { + name: "application-update", + suggestions: ["No3rdPartyAppUpdates", "UpdateAll"], + }, + }, + { + name: ["--os-feed", "-f"], + description: "The OS feed type to use for OS updates", + args: { name: "os-feed", suggestions: ["Retail", "RetailEval"] }, + }, + { + name: ["--regional-data-boundary", "-r"], + description: "Regional data boundary for this device group", + args: { + name: "regional-data-boundary", + suggestions: ["EU", "None"], + }, + }, + ], + }, + { + name: "create-defaults", + description: "Create default device groups targeting a product", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--product", "-p"], + description: + "The product name. value from: az sphere product list", + args: { name: "product" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete the specified device group", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--device-group", "-dg"], + description: + "The device group name. value from: az sphere device-group list", + args: { name: "device-group" }, + isRequired: true, + }, + { + name: ["--product", "-p"], + description: + "The product for which to delete the device groups. value from: az sphere product list", + args: { name: "product" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all device groups in an Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--device-group", "-dg"], + description: "List all device groups that have a specified name", + args: { name: "device-group" }, + }, + { + name: ["--product", "-p"], + description: + "List all device groups in a product. value from: az sphere product list", + args: { name: "product" }, + }, + ], + }, + { + name: "show", + description: "Show a device group's details", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--device-group", "-dg"], + description: + "The device group to show. value from: az sphere device-group list", + args: { name: "device-group" }, + isRequired: true, + }, + { + name: ["--product", "-p"], + description: + "The product name for which to show the device group. value from: az sphere product list", + args: { name: "product" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a device group's details", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--device-group", "-dg"], + description: + "The device group name. value from: az sphere device-group list", + args: { name: "device-group" }, + isRequired: true, + }, + { + name: ["--product", "-p"], + description: + "The product name. value from: az sphere product list", + args: { name: "product" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--allow-crash-dumps-collection", "-cd"], + description: + "Provide consent for collection of crash dumps by Microsoft for this device-group. For more information, see https://aka.ms/AzureSphereCrashDumpsCollection", + args: { + name: "allow-crash-dumps-collection", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--application-update", "-a"], + description: "Application update policy for this device group", + args: { + name: "application-update", + suggestions: ["No3rdPartyAppUpdates", "UpdateAll"], + }, + }, + { + name: ["--description", "-d"], + description: "A new description of the device group", + args: { name: "description" }, + }, + { + name: ["--os-feed", "-f"], + description: "The OS feed type to use for OS updates", + args: { name: "os-feed", suggestions: ["Retail", "RetailEval"] }, + }, + { + name: ["--regional-data-boundary", "-r"], + description: "Regional data boundary for this device group", + args: { + name: "regional-data-boundary", + suggestions: ["EU", "None"], + }, + }, + ], + }, + ], + }, + { + name: "get-support-data", + description: + "Gather diagnostic data about your system, cloud and device configurations", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--output-file", "-of"], + description: + "The path and filename of the .zip file to save the support data in. You can provide a relative or absolute path", + args: { name: "output-file" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "image", + description: "Manage images in your Azure Sphere Catalog", + subcommands: [ + { + name: "add", + description: + "Add an image to your Azure Sphere Catalog from your local machine", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--image-path", "-img"], + description: "Path to a local image file", + args: { name: "image-path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--regional-data-boundary", "-r"], + description: "Regional data boundary for this image", + args: { + name: "regional-data-boundary", + suggestions: ["EU", "None"], + }, + }, + ], + }, + { + name: "list", + description: "List all images in your Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-targeted", + description: + "List images uploaded in your Azure Sphere Catalog that will be installed when the device is updated", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--device", "-d"], + description: + "The device to target for this command. This is required when no device or multiple devices are attached, to disambiguate which device to target. If the device is attached, you may provide either Device ID, IP address, or Local Connection ID. Values from: az sphere device list-attached. Otherwise you must provide the Device ID only", + args: { name: "device" }, + }, + { + name: ["--full", "-f"], + description: "List all images in your Azure Sphere Catalog", + }, + ], + }, + { + name: "show", + description: + "Show details of an existing image from your Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: "--image", + description: "The image ID. value from: az sphere image list", + args: { name: "image" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "image-package", + description: "Manage image packaging", + subcommands: [ + { + name: "show", + description: "Show details of a given image package", + options: [ + { + name: "--image-package", + description: + "Path to the image package file to show details for. You can provide a relative or absolute path", + args: { name: "image-package" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "product", + description: "Manage products in your Azure Sphere Catalog", + subcommands: [ + { + name: "create", + description: "Create a new product in your Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--description", "-d"], + description: "A description of the product", + args: { name: "description" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Alphanumeric name of the product", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete the specified product", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--product", "-p"], + description: + "The product name. value from: az sphere product list", + args: { name: "product" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all products in your Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a product in your Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--product", "-p"], + description: + "The product name. value from: az sphere product list", + args: { name: "product" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update a product's details in your Azure Sphere Catalog", + options: [ + { + name: ["--catalog", "-c"], + description: + "The Azure Sphere Catalog in which to perform this operation. Specify Azure Sphere Catalog name. You can configure the default Azure Sphere Catalog using az config set defaults.sphere.catalog=. Values from: az sphere catalog list", + args: { name: "catalog" }, + isRequired: true, + }, + { + name: ["--description", "-d"], + description: + "The new product description to update the product to", + args: { name: "description" }, + isRequired: true, + }, + { + name: ["--product", "-p"], + description: + "The product name. value from: az sphere product list", + args: { name: "product" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the Azure resource group. You can configure the default group using az config set defaults.group=. Values from: az group list", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/spring-cloud.ts b/src/az/2.53.0/spring-cloud.ts new file mode 100644 index 000000000000..a7990e6ede82 --- /dev/null +++ b/src/az/2.53.0/spring-cloud.ts @@ -0,0 +1,10359 @@ +const completion: Fig.Spec = { + name: "spring-cloud", + description: "Commands to manage Azure Spring Cloud", + subcommands: [ + { + name: "api-portal", + description: + "(Enterprise Tier Only) Commands to manage API portal in Azure Spring Cloud", + subcommands: [ + { + name: "clear", + description: "Clear all settings of API portal", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the settings, provisioning status and runtime status of API portal", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an existing API portal properties", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--assign-endpoint", + description: "If true, assign endpoint URL for direct access", + args: { name: "assign-endpoint", suggestions: ["false", "true"] }, + }, + { + name: "--client-id", + description: "The public identifier for the application", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: + "The secret known only to the application and the authorization server", + args: { name: "client-secret" }, + }, + { + name: "--https-only", + description: "If true, access endpoint via https", + args: { name: "https-only", suggestions: ["false", "true"] }, + }, + { + name: "--instance-count", + description: "Number of instance", + args: { name: "instance-count" }, + }, + { + name: "--issuer-uri", + description: "The URI of Issuer Identifier", + args: { name: "issuer-uri" }, + }, + { + name: "--scope", + description: + "Comma-separated list of the specific actions applications can be allowed to do on a user's behalf", + args: { name: "scope" }, + }, + ], + }, + { + name: "custom-domain", + description: "Commands to manage custom domains for API portal", + subcommands: [ + { + name: "bind", + description: "Bind a custom domain with the API portal", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--certificate", + description: "Certificate name in Azure Spring Cloud", + args: { name: "certificate" }, + }, + ], + }, + { + name: "list", + description: "List all custom domains of the API portal", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a custom domain", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "unbind", + description: "Unbind a custom-domain of the API portal", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a custom domain of the API portal", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--certificate", + description: "Certificate name in Azure Spring Cloud", + args: { name: "certificate" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "app", + description: "Commands to manage apps in Azure Spring Cloud", + subcommands: [ + { + name: "append-loaded-public-certificate", + description: + "Append a new loaded public certificate to an app in the Azure Spring Cloud", + options: [ + { + name: "--certificate-name", + description: "Name of the certificate to be appended", + args: { name: "certificate-name" }, + isRequired: true, + }, + { + name: "--load-trust-store", + description: + "If true, the certificate would be loaded into trust store for Java applications", + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "append-persistent-storage", + description: + "Append a new persistent storage to an app in the Azure Spring Cloud", + options: [ + { + name: "--mount-path", + description: + "The path for the persistent storage volume to be mounted", + args: { name: "mount-path" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--persistent-storage-type", "-t"], + description: "Type of the persistent storage volumed", + args: { name: "persistent-storage-type" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--share-name", + description: + "The name of the pre-created file share. ShareName should be provided only if the type of the persistent storage volume is AzureFileVolume", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--storage-name", + description: + "Name of the storage resource you created in Azure Spring Cloud", + args: { name: "storage-name" }, + isRequired: true, + }, + { + name: "--mount-options", + description: + "[optional] The mount options for the persistent storage volume", + args: { name: "mount-options" }, + }, + { + name: "--read-only", + description: + "[optional] If true, the persistent storage volume will be read only", + }, + ], + }, + { + name: "create", + description: + "Create a new app with a default deployment in the Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--assign-endpoint", + description: "If true, assign endpoint URL for direct access", + }, + { + name: "--cpu", + description: + "CPU resource quantity. Should be 500m or number of CPU cores", + args: { name: "cpu" }, + }, + { + name: "--disable-probe", + description: "If true, disable the liveness and readiness probe", + args: { name: "disable-probe", suggestions: ["false", "true"] }, + }, + { + name: "--enable-persistent-storage", + description: + "If true, mount a 50G (Standard Pricing tier) or 1G (Basic Pricing tier) disk with default path", + args: { + name: "enable-persistent-storage", + suggestions: ["false", "true"], + }, + }, + { + name: "--env", + description: + "Space-separated environment variables in 'key[=value]' format", + args: { name: "env" }, + }, + { + name: "--instance-count", + description: "Number of instance", + args: { name: "instance-count" }, + }, + { + name: "--jvm-options", + description: + "A string containing jvm options, use '=' instead of ' ' for this argument to avoid bash parse error, eg: --jvm-options='-Xms1024m -Xmx2048m'", + args: { name: "jvm-options" }, + }, + { + name: ["--loaded-public-certificate-file", "-f"], + description: + "A json file path indicates the certificates which would be loaded to app", + args: { name: "loaded-public-certificate-file" }, + }, + { + name: "--memory", + description: + "Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi", + args: { name: "memory" }, + }, + { + name: "--persistent-storage", + description: + "A json file path for the persistent storages to be mounted to the app", + args: { name: "persistent-storage" }, + }, + { + name: "--runtime-version", + description: "Runtime version of used language", + args: { + name: "runtime-version", + suggestions: ["Java_11", "Java_17", "Java_8", "NetCore_31"], + }, + }, + { + name: "--system-assigned", + description: "Enable system-assigned managed identity", + args: { name: "system-assigned", suggestions: ["false", "true"] }, + }, + { + name: "--user-assigned", + description: + "Space-separated user-assigned managed identity resource IDs to assgin to an app", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "delete", + description: "Delete an app in the Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "deploy", + description: + "Deploy source code or pre-built binary to an app and update related configurations", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--artifact-path", + description: + "Deploy the specified pre-built artifact (jar or netcore zip)", + args: { name: "artifact-path" }, + }, + { + name: "--build-env", + description: + "Space-separated environment variables in 'key[=value]' format", + args: { name: "build-env" }, + }, + { + name: "--builder", + description: + "(Enterprise Tier Only) Build service builder used to build the executable", + args: { name: "builder" }, + }, + { + name: "--config-file-patterns", + description: + "(Enterprise Tier Only) Config file patterns separated with ',' to decide which patterns of Application Configuration Service will be used. Use '\"\"' to clear existing configurations", + args: { name: "config-file-patterns" }, + }, + { + name: "--container-args", + description: "The arguments of the container image", + args: { name: "container-args" }, + }, + { + name: "--container-command", + description: "The command of the container image", + args: { name: "container-command" }, + }, + { + name: "--container-image", + description: "The container image tag", + args: { name: "container-image" }, + }, + { + name: "--container-registry", + description: "The registry of the container image", + args: { name: "container-registry" }, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--disable-probe", + description: "If true, disable the liveness and readiness probe", + args: { name: "disable-probe", suggestions: ["false", "true"] }, + }, + { + name: "--disable-validation", + description: "If true, disable jar validation", + args: { + name: "disable-validation", + suggestions: ["false", "true"], + }, + }, + { + name: "--env", + description: + "Space-separated environment variables in 'key[=value]' format", + args: { name: "env" }, + }, + { + name: "--jvm-options", + description: + "A string containing jvm options, use '=' instead of ' ' for this argument to avoid bash parse error, eg: --jvm-options='-Xms1024m -Xmx2048m'", + args: { name: "jvm-options" }, + }, + { + name: ["--main-entry", "-m"], + description: + "A string containing the path to the .NET executable relative to zip root", + args: { name: "main-entry" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--registry-password", + description: "The password of the container registry", + args: { name: "registry-password" }, + }, + { + name: "--registry-username", + description: "The username of the container registry", + args: { name: "registry-username" }, + }, + { + name: "--runtime-version", + description: "Runtime version of used language", + args: { + name: "runtime-version", + suggestions: ["Java_11", "Java_17", "Java_8", "NetCore_31"], + }, + }, + { + name: "--source-path", + description: + "Deploy the specified source folder. The folder will be packed into tar, uploaded, and built using kpack. Default to the current folder if no value provided", + args: { name: "source-path" }, + }, + { + name: "--target-module", + description: + "Child module to be deployed, required for multiple jar packages built from source code", + args: { name: "target-module" }, + }, + { + name: "--version", + description: "Deployment version, keep unchanged if not set", + args: { name: "version" }, + }, + ], + }, + { + name: "list", + description: "List all apps in the Azure Spring Cloud", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "logs", + description: + "Show logs of an app instance, logs will be streamed when setting '-f/--follow'", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: ["--follow", "-f", ""], + description: "Specify if the logs should be streamed", + }, + { + name: "--format-json", + description: "Format JSON logs if structured log is enabled", + args: { name: "format-json" }, + }, + { + name: ["--instance", "-i"], + description: "Name of an existing instance of the deployment", + args: { name: "instance" }, + }, + { + name: "--limit", + description: + "Maximum kilobytes of logs to return. Ceiling number is 2048", + args: { name: "limit" }, + }, + { + name: "--lines", + description: "Number of lines to show. Maximum is 10000", + args: { name: "lines" }, + }, + { + name: "--since", + description: + "Only return logs newer than a relative duration like 5s, 2m, or 1h. Maximum is 1h", + args: { name: "since" }, + }, + ], + }, + { + name: "restart", + description: + "Restart instances of the app, default to production deployment", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "scale", + description: "Manually scale an app or its deployments", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--cpu", + description: + "CPU resource quantity. Should be 500m or number of CPU cores", + args: { name: "cpu" }, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--instance-count", + description: "Number of instance", + args: { name: "instance-count" }, + }, + { + name: "--memory", + description: + "Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi", + args: { name: "memory" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "set-deployment", + description: "Set production deployment of an app", + options: [ + { + name: ["--deployment", "-d"], + description: "Name of an existing deployment of the app", + args: { name: "deployment" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: "Show the details of an app in the Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show-deploy-log", + description: + "Show build log of the last deploy, only apply to source code deploy, default to production deployment", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + ], + }, + { + name: "start", + description: + "Start instances of the app, default to production deployment", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "stop", + description: + "Stop instances of the app, default to production deployment", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "unset-deployment", + description: "Unset production deployment of an app", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "update", + description: "Update configurations of an app", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--assign-endpoint", + description: "If true, assign endpoint URL for direct access", + args: { name: "assign-endpoint", suggestions: ["false", "true"] }, + }, + { + name: "--config-file-patterns", + description: + "(Enterprise Tier Only) Config file patterns separated with ',' to decide which patterns of Application Configuration Service will be used. Use '\"\"' to clear existing configurations", + args: { name: "config-file-patterns" }, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--disable-probe", + description: "If true, disable the liveness and readiness probe", + args: { name: "disable-probe", suggestions: ["false", "true"] }, + }, + { + name: "--enable-ingress-to-app-tls", + description: "If true, enable ingress to app tls", + args: { + name: "enable-ingress-to-app-tls", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-persistent-storage", + description: + "If true, mount a 50G (Standard Pricing tier) or 1G (Basic Pricing tier) disk with default path", + args: { + name: "enable-persistent-storage", + suggestions: ["false", "true"], + }, + }, + { + name: "--env", + description: + "Space-separated environment variables in 'key[=value]' format", + args: { name: "env" }, + }, + { + name: "--https-only", + description: "If true, access app via https", + }, + { + name: "--jvm-options", + description: + "A string containing jvm options, use '=' instead of ' ' for this argument to avoid bash parse error, eg: --jvm-options='-Xms1024m -Xmx2048m'", + args: { name: "jvm-options" }, + }, + { + name: ["--loaded-public-certificate-file", "-f"], + description: + "A json file path indicates the certificates which would be loaded to app", + args: { name: "loaded-public-certificate-file" }, + }, + { + name: ["--main-entry", "-m"], + description: + "The path to the .NET executable relative to zip root", + args: { name: "main-entry" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--persistent-storage", + description: + "A json file path for the persistent storages to be mounted to the app", + args: { name: "persistent-storage" }, + }, + { + name: "--runtime-version", + description: "Runtime version of used language", + args: { + name: "runtime-version", + suggestions: ["Java_11", "Java_17", "Java_8", "NetCore_31"], + }, + }, + ], + }, + { + name: "binding", + description: + "Commands to manage bindings with Azure Data Services, you need to manually restart app to make settings take effect", + subcommands: [ + { + name: "list", + description: "List all service bindings in an app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a service binding of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of a service binding", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "cosmos", + description: "Commands to manage Azure Cosmos DB bindings", + subcommands: [ + { + name: "add", + description: "Bind an Azure Cosmos DB with the app", + options: [ + { + name: "--api-type", + description: "Type of API", + args: { + name: "api-type", + suggestions: [ + "cassandra", + "gremlin", + "mongo", + "sql", + "table", + ], + }, + isRequired: true, + }, + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-id", + description: + "Azure resource ID of the service to bind with", + args: { name: "resource-id" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--collection-name", + description: "Name of collection. Required for gremlin", + args: { name: "collection-name" }, + }, + { + name: "--database-name", + description: + "Name of database. Required for mongo, sql, gremlin", + args: { name: "database-name" }, + }, + { + name: "--key-space", + description: + "Cassandra key space. Required for cassandra", + args: { name: "key-space" }, + }, + ], + }, + { + name: "update", + description: + "Update an Azure Cosmos DB service binding of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--collection-name", + description: "Name of collection. Required for gremlin", + args: { name: "collection-name" }, + }, + { + name: "--database-name", + description: + "Name of database. Required for mongo, sql, gremlin", + args: { name: "database-name" }, + }, + { + name: "--key-space", + description: + "Cassandra key space. Required for cassandra", + args: { name: "key-space" }, + }, + ], + }, + ], + }, + { + name: "mysql", + description: + "Commands to manage Azure Database for MySQL bindings", + subcommands: [ + { + name: "add", + description: "Bind an Azure Database for MySQL with the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--database-name", + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--key", + description: "API key of the service", + args: { name: "key" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-id", + description: + "Azure resource ID of the service to bind with", + args: { name: "resource-id" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--username", + description: "Username of the database", + args: { name: "username" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an Azure Database for MySQL service binding of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--database-name", + description: "Database name", + args: { name: "database-name" }, + }, + { + name: "--key", + description: "API key of the service", + args: { name: "key" }, + }, + { + name: "--username", + description: "Username of the database", + args: { name: "username" }, + }, + ], + }, + ], + }, + { + name: "redis", + description: "Commands to manage Azure Cache for Redis bindings", + subcommands: [ + { + name: "add", + description: "Bind an Azure Cache for Redis with the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-id", + description: + "Azure resource ID of the service to bind with", + args: { name: "resource-id" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--disable-ssl", + description: "If true, disable SSL. If false, enable SSL", + }, + ], + }, + { + name: "update", + description: + "Update an Azure Cache for Redis service binding of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--disable-ssl", + description: "If true, disable SSL. If false, enable SSL", + }, + ], + }, + ], + }, + ], + }, + { + name: "custom-domain", + description: "Commands to manage custom domains", + subcommands: [ + { + name: "bind", + description: "Bind a custom domain with the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--certificate", + description: "Certificate name in Azure Spring Cloud", + args: { name: "certificate" }, + }, + { + name: "--enable-ingress-to-app-tls", + description: "If true, enable ingress to app tls", + args: { + name: "enable-ingress-to-app-tls", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "list", + description: "List all custom domains of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a custom domain", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "unbind", + description: "Unbind a custom-domain of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a custom domain of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--certificate", + description: "Certificate name in Azure Spring Cloud", + args: { name: "certificate" }, + }, + { + name: "--enable-ingress-to-app-tls", + description: "If true, enable ingress to app tls", + args: { + name: "enable-ingress-to-app-tls", + suggestions: ["false", "true"], + }, + }, + ], + }, + ], + }, + { + name: "deployment", + description: + "Commands to manage life cycle of deployments of an app in Azure Spring Cloud. More operations on deployments can be done on app level with parameter --deployment. e.g. az spring-cloud app deploy --deployment", + subcommands: [ + { + name: "create", + description: + "Create a staging deployment for the app. To deploy code or update setting to an existing deployment, use az spring-cloud app deploy/update --deployment ", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of deployment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--artifact-path", + description: + "Deploy the specified pre-built artifact (jar or netcore zip)", + args: { name: "artifact-path" }, + }, + { + name: "--build-env", + description: + "Space-separated environment variables in 'key[=value]' format", + args: { name: "build-env" }, + }, + { + name: "--builder", + description: + "(Enterprise Tier Only) Build service builder used to build the executable", + args: { name: "builder" }, + }, + { + name: "--config-file-patterns", + description: + "(Enterprise Tier Only) Config file patterns separated with ',' to decide which patterns of Application Configuration Service will be used. Use '\"\"' to clear existing configurations", + args: { name: "config-file-patterns" }, + }, + { + name: "--container-args", + description: "The arguments of the container image", + args: { name: "container-args" }, + }, + { + name: "--container-command", + description: "The command of the container image", + args: { name: "container-command" }, + }, + { + name: "--container-image", + description: "The container image tag", + args: { name: "container-image" }, + }, + { + name: "--container-registry", + description: "The registry of the container image", + args: { name: "container-registry" }, + }, + { + name: "--cpu", + description: + "CPU resource quantity. Should be 500m or number of CPU cores", + args: { name: "cpu" }, + }, + { + name: "--disable-probe", + description: + "If true, disable the liveness and readiness probe", + args: { + name: "disable-probe", + suggestions: ["false", "true"], + }, + }, + { + name: "--disable-validation", + description: "If true, disable jar validation", + args: { + name: "disable-validation", + suggestions: ["false", "true"], + }, + }, + { + name: "--env", + description: + "Space-separated environment variables in 'key[=value]' format", + args: { name: "env" }, + }, + { + name: "--instance-count", + description: "Number of instance", + args: { name: "instance-count" }, + }, + { + name: "--jvm-options", + description: + "A string containing jvm options, use '=' instead of ' ' for this argument to avoid bash parse error, eg: --jvm-options='-Xms1024m -Xmx2048m'", + args: { name: "jvm-options" }, + }, + { + name: ["--main-entry", "-m"], + description: + "A string containing the path to the .NET executable relative to zip root", + args: { name: "main-entry" }, + }, + { + name: "--memory", + description: + "Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi", + args: { name: "memory" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--registry-password", + description: "The password of the container registry", + args: { name: "registry-password" }, + }, + { + name: "--registry-username", + description: "The username of the container registry", + args: { name: "registry-username" }, + }, + { + name: "--runtime-version", + description: "Runtime version of used language", + args: { + name: "runtime-version", + suggestions: ["Java_11", "Java_17", "Java_8", "NetCore_31"], + }, + }, + { + name: "--skip-clone-settings", + description: + "Create staging deployment will automatically copy settings from production deployment", + }, + { + name: "--source-path", + description: + "Deploy the specified source folder. The folder will be packed into tar, uploaded, and built using kpack. Default to the current folder if no value provided", + args: { name: "source-path" }, + }, + { + name: "--target-module", + description: + "Child module to be deployed, required for multiple jar packages built from source code", + args: { name: "target-module" }, + }, + { + name: "--version", + description: "Deployment version, keep unchanged if not set", + args: { name: "version" }, + }, + ], + }, + { + name: "delete", + description: "Delete a deployment of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of deployment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "generate-heap-dump", + description: + "Generate a heap dump of your target app instance to given file path", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--app-instance", + description: "Target app instance you want to dump", + args: { name: "app-instance" }, + isRequired: true, + }, + { + name: "--file-path", + description: "The mount file path for your dump file", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + ], + }, + { + name: "generate-thread-dump", + description: + "Generate a thread dump of your target app instance to given file path", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--app-instance", + description: "Target app instance you want to dump", + args: { name: "app-instance" }, + isRequired: true, + }, + { + name: "--file-path", + description: "The mount file path for your dump file", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + ], + }, + { + name: "list", + description: "List all deployments in an app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a deployment", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of deployment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "start-jfr", + description: + "Start a JFR on your target app instance to given file path", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--app-instance", + description: "Target app instance you want to dump", + args: { name: "app-instance" }, + isRequired: true, + }, + { + name: "--file-path", + description: "The mount file path for your dump file", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--duration", + description: "Duration of JFR", + args: { name: "duration" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage an app's managed identities", + subcommands: [ + { + name: "assign", + description: + "Enable system-assigned managed identity or assign user-assigned managed identities to an app", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--role", + description: + "Role name or id the managed identity will be assigned", + args: { name: "role" }, + }, + { + name: "--scope", + description: "The scope the managed identity has access to", + args: { name: "scope" }, + }, + { + name: "--system-assigned", + description: + "Enable system-assigned managed identity on an app", + args: { + name: "system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: "--user-assigned", + description: + "Space-separated user-assigned managed identity resource IDs to assgin to an app", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "force-set", + description: "Force set managed identities on an app", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--system-assigned", + description: + 'Allowed values: ["enable", "disable"]. Use "enable" to enable or keep system-assigned managed identity. Use "disable" to remove system-assigned managed identity', + args: { name: "system-assigned" }, + isRequired: true, + }, + { + name: "--user-assigned", + description: + 'Allowed values: ["disable", space-separated user-assigned managed identity resource IDs]. Use "disable" to remove all user-assigned managed identities, use resource IDs to assign or keep user-assigned managed identities', + args: { name: "user-assigned" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove managed identity from an app", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--system-assigned", + description: "Remove system-assigned managed identity", + args: { + name: "system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: "--user-assigned", + description: + "Space-separated user-assigned managed identity resource IDs to remove. If no ID is provided, remove ALL user-assigned managed identities", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "show", + description: "Display app's managed identity info", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "log", + description: + "Commands to tail app instances logs with multiple options. If the app has only one instance, the instance name is optional", + subcommands: [ + { + name: "tail", + description: + "Show logs of an app instance, logs will be streamed when setting '-f/--follow'", + options: [ + { + name: ["--name", "-n"], + description: "Name of app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: ["--follow", "-f", ""], + description: "Specify if the logs should be streamed", + }, + { + name: "--format-json", + description: "Format JSON logs if structured log is enabled", + args: { name: "format-json" }, + }, + { + name: ["--instance", "-i"], + description: "Name of an existing instance of the deployment", + args: { name: "instance" }, + }, + { + name: "--limit", + description: + "Maximum kilobytes of logs to return. Ceiling number is 2048", + args: { name: "limit" }, + }, + { + name: "--lines", + description: "Number of lines to show. Maximum is 10000", + args: { name: "lines" }, + }, + { + name: "--since", + description: + "Only return logs newer than a relative duration like 5s, 2m, or 1h. Maximum is 1h", + args: { name: "since" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "app-insights", + description: + "Commands to management Application Insights in Azure Spring Cloud", + subcommands: [ + { + name: "show", + description: "Show Application Insights settings", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update Application Insights settings", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--app-insights", + description: + "Name of the existing Application Insights in the same Resource Group. Or Resource ID of the existing Application Insights in a different Resource Group", + args: { name: "app-insights" }, + }, + { + name: "--app-insights-key", + description: + "Connection string (recommended) or Instrumentation key of the existing Application Insights", + args: { name: "app-insights-key" }, + }, + { + name: "--disable", + description: "Disable Application Insights", + args: { name: "disable", suggestions: ["false", "true"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--sampling-rate", + description: + "Sampling Rate of application insights. Maximum is 100", + args: { name: "sampling-rate" }, + }, + ], + }, + ], + }, + { + name: "application-configuration-service", + description: + "(Enterprise Tier Only) Commands to manage Application Configuration Service in Azure Spring Cloud", + subcommands: [ + { + name: "bind", + description: "Bind an app to Application Configuration Service", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "clear", + description: "Reset all Application Configuration Service settings", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the provisioning status, runtime status, and settings of Application Configuration Service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "unbind", + description: "Unbind an app from Application Configuration Service", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "git", + description: + "Commands to manage Application Configuration Service git property in Azure Spring Cloud", + subcommands: [ + { + name: "repo", + description: + "Commands to manage Application Configuration Service git repository in Azure Spring Cloud", + subcommands: [ + { + name: "add", + description: + "Add a Git property to the Application Configuration Service settings", + options: [ + { + name: "--label", + description: + "Required branch name to search in the Git repository", + args: { name: "label" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Required unique name to label each item of git configs", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--patterns", + description: + "Required patterns used to search in Git repositories. For each pattern, use format like {application} or {application}/{profile} instead of {application}-{profile}.yml, and separate them by comma", + args: { name: "patterns" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--uri", + description: "Required Git URI", + args: { name: "uri" }, + isRequired: true, + }, + { + name: "--host-key", + description: "Host key of the added config", + args: { name: "host-key" }, + }, + { + name: "--host-key-algorithm", + description: "Host key algorithm of the added config", + args: { name: "host-key-algorithm" }, + }, + { + name: "--host-key-check", + description: + "Strict host key checking of the added config which is used in SSH authentication. If false, ignore errors with host key", + args: { name: "host-key-check" }, + }, + { + name: "--password", + description: "Password of the added config", + args: { name: "password" }, + }, + { + name: "--private-key", + description: "Private_key of the added config", + args: { name: "private-key" }, + }, + { + name: "--search-paths", + description: + "Search_paths of the added config, use , as delimiter for multiple paths", + args: { name: "search-paths" }, + }, + { + name: "--username", + description: "Username of the added config", + args: { name: "username" }, + }, + ], + }, + { + name: "list", + description: + "List all Git settings of Application Configuration Service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Delete an existing Git property from the Application Configuration Service settings", + options: [ + { + name: ["--name", "-n"], + description: + "Required unique name to label each item of git configs", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an existing Git property in the Application Configuration Service settings", + options: [ + { + name: ["--name", "-n"], + description: + "Required unique name to label each item of git configs", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--host-key", + description: "Host key of the added config", + args: { name: "host-key" }, + }, + { + name: "--host-key-algorithm", + description: "Host key algorithm of the added config", + args: { name: "host-key-algorithm" }, + }, + { + name: "--host-key-check", + description: + "Strict host key checking of the added config which is used in SSH authentication. If false, ignore errors with host key", + args: { name: "host-key-check" }, + }, + { + name: "--label", + description: + "Required branch name to search in the Git repository", + args: { name: "label" }, + }, + { + name: "--password", + description: "Password of the added config", + args: { name: "password" }, + }, + { + name: "--patterns", + description: + "Required patterns used to search in Git repositories. For each pattern, use format like {application} or {application}/{profile} instead of {application}-{profile}.yml, and separate them by comma", + args: { name: "patterns" }, + }, + { + name: "--private-key", + description: "Private_key of the added config", + args: { name: "private-key" }, + }, + { + name: "--search-paths", + description: + "Search_paths of the added config, use , as delimiter for multiple paths", + args: { name: "search-paths" }, + }, + { + name: "--uri", + description: "Required Git URI", + args: { name: "uri" }, + }, + { + name: "--username", + description: "Username of the added config", + args: { name: "username" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "build-service", + description: + "(Enterprise Tier Only) Commands to manage build service in Azure Spring Cloud", + subcommands: [ + { + name: "builder", + description: + "(Enterprise Tier Only) Commands to manage builder of build service", + subcommands: [ + { + name: "create", + description: "Create a builder", + options: [ + { + name: ["--name", "-n"], + description: "The builder name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--builder-file", + description: "The file path of JSON array of builder", + args: { name: "builder-file" }, + }, + { + name: "--builder-json", + description: "The JSON array of builder", + args: { name: "builder-json" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a builder", + options: [ + { + name: ["--name", "-n"], + description: "The builder name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show a builder", + options: [ + { + name: ["--name", "-n"], + description: "The builder name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a builder", + options: [ + { + name: ["--name", "-n"], + description: "The builder name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--builder-file", + description: "The file path of JSON array of builder", + args: { name: "builder-file" }, + }, + { + name: "--builder-json", + description: "The JSON array of builder", + args: { name: "builder-json" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "buildpack-binding", + description: + "(Enterprise Tier Only) Commands to manage buildpack-binding of builder", + subcommands: [ + { + name: "create", + description: + "(Enterprise Tier Only) Create a buildpack binding", + options: [ + { + name: ["--name", "-n"], + description: "Name for buildpack binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--type", + description: "Required type for buildpack binding", + args: { + name: "type", + suggestions: [ + "ApacheSkyWalking", + "AppDynamics", + "ApplicationInsights", + "Dynatrace", + "ElasticAPM", + "NewRelic", + ], + }, + isRequired: true, + }, + { + name: "--builder-name", + description: "The name for builder", + args: { name: "builder-name" }, + }, + { + name: "--properties", + description: + 'Non-sensitive properties for launchProperties. Format "key[=value]"', + args: { name: "properties" }, + }, + { + name: "--secrets", + description: + 'Sensitive properties for launchProperties. Once put, it will be encrypted and never return to user. Format "key[=value]"', + args: { name: "secrets" }, + }, + ], + }, + { + name: "delete", + description: + "(Enterprise Tier Only) Delete a buildpack binding", + options: [ + { + name: ["--name", "-n"], + description: "Name for buildpack binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--builder-name", + description: "The name for builder", + args: { name: "builder-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "(Enterprise Tier Only) List all buildpack binding in a builder. The secrets will be masked", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--builder-name", + description: "The name for builder", + args: { name: "builder-name" }, + }, + ], + }, + { + name: "set", + description: "(Enterprise Tier Only) Set a buildpack binding", + options: [ + { + name: ["--name", "-n"], + description: "Name for buildpack binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--type", + description: "Required type for buildpack binding", + args: { + name: "type", + suggestions: [ + "ApacheSkyWalking", + "AppDynamics", + "ApplicationInsights", + "Dynatrace", + "ElasticAPM", + "NewRelic", + ], + }, + isRequired: true, + }, + { + name: "--builder-name", + description: "The name for builder", + args: { name: "builder-name" }, + }, + { + name: "--properties", + description: + 'Non-sensitive properties for launchProperties. Format "key[=value]"', + args: { name: "properties" }, + }, + { + name: "--secrets", + description: + 'Sensitive properties for launchProperties. Once put, it will be encrypted and never return to user. Format "key[=value]"', + args: { name: "secrets" }, + }, + ], + }, + { + name: "show", + description: + "(Enterprise Tier Only) Show a buildpack binding. The secrets will be masked", + options: [ + { + name: ["--name", "-n"], + description: "Name for buildpack binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--builder-name", + description: "The name for builder", + args: { name: "builder-name" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "certificate", + description: "Commands to manage certificates", + subcommands: [ + { + name: "add", + description: "Add a certificate in Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--only-public-cert", + description: + "If true, only import public certificate part from key vault", + }, + { + name: ["--public-certificate-file", "-f"], + description: + "A file path for the public certificate to be uploaded", + args: { name: "public-certificate-file" }, + }, + { + name: "--vault-certificate-name", + description: "The certificate name in key vault", + args: { name: "vault-certificate-name" }, + }, + { + name: "--vault-uri", + description: "The key vault uri where store the certificate", + args: { name: "vault-uri" }, + }, + ], + }, + { + name: "list", + description: "List all certificates in Azure Spring Cloud", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--certificate-type", + description: "Type of uploaded certificate", + args: { + name: "certificate-type", + suggestions: ["ContentCertificate", "KeyVaultCertificate"], + }, + }, + ], + }, + { + name: "list-reference-app", + description: + "List all the apps reference an existing certificate in the Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a certificate in Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a certificate in Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "config-server", + description: + "(Support Standard Tier and Basic Tier) Commands to manage Config Server in Azure Spring Cloud", + subcommands: [ + { + name: "clear", + description: "Erase all settings in Config Server", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Set Config Server from a yaml file", + options: [ + { + name: "--config-file", + description: + "A yaml file path for the configuration of Spring Cloud config server", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: "Show Config Server", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "git", + description: + "Commands to manage Config Server git property in Azure Spring Cloud", + subcommands: [ + { + name: "set", + description: + "Set git property of Config Server, will totally override the old one", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--uri", + description: "Uri of the added config", + args: { name: "uri" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--host-key", + description: "Host key of the added config", + args: { name: "host-key" }, + }, + { + name: "--host-key-algorithm", + description: "Host key algorithm of the added config", + args: { name: "host-key-algorithm" }, + }, + { + name: "--label", + description: "Label of the added config", + args: { name: "label" }, + }, + { + name: "--password", + description: "Password of the added config", + args: { name: "password" }, + }, + { + name: "--private-key", + description: "Private_key of the added config", + args: { name: "private-key" }, + }, + { + name: "--search-paths", + description: + "Search_paths of the added config, use , as delimiter for multiple paths", + args: { name: "search-paths" }, + }, + { + name: "--strict-host-key-checking", + description: "Strict_host_key_checking of the added config", + args: { name: "strict-host-key-checking" }, + }, + { + name: "--username", + description: "Username of the added config", + args: { name: "username" }, + }, + ], + }, + { + name: "repo", + description: + "Commands to manage Config Server git repository in Azure Spring Cloud", + subcommands: [ + { + name: "add", + description: + "Add a new repository of git property of Config Server", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--repo-name", + description: "Name of the repo", + args: { name: "repo-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--uri", + description: "Uri of the added config", + args: { name: "uri" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--host-key", + description: "Host key of the added config", + args: { name: "host-key" }, + }, + { + name: "--host-key-algorithm", + description: "Host key algorithm of the added config", + args: { name: "host-key-algorithm" }, + }, + { + name: "--label", + description: "Label of the added config", + args: { name: "label" }, + }, + { + name: "--password", + description: "Password of the added config", + args: { name: "password" }, + }, + { + name: "--pattern", + description: + "Pattern of the repo, use , as delimiter for multiple patterns", + args: { name: "pattern" }, + }, + { + name: "--private-key", + description: "Private_key of the added config", + args: { name: "private-key" }, + }, + { + name: "--search-paths", + description: + "Search_paths of the added config, use , as delimiter for multiple paths", + args: { name: "search-paths" }, + }, + { + name: "--strict-host-key-checking", + description: + "Strict_host_key_checking of the added config", + args: { name: "strict-host-key-checking" }, + }, + { + name: "--username", + description: "Username of the added config", + args: { name: "username" }, + }, + ], + }, + { + name: "list", + description: + "List all repositories of git property of Config Server", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + ], + }, + { + name: "remove", + description: + "Remove an existing repository of git property of Config Server", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--repo-name", + description: "Name of the repo", + args: { name: "repo-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + ], + }, + { + name: "update", + description: + "Override an existing repository of git property of Config Server, will totally override the old one", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--repo-name", + description: "Name of the repo", + args: { name: "repo-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--host-key", + description: "Host key of the added config", + args: { name: "host-key" }, + }, + { + name: "--host-key-algorithm", + description: "Host key algorithm of the added config", + args: { name: "host-key-algorithm" }, + }, + { + name: "--label", + description: "Label of the added config", + args: { name: "label" }, + }, + { + name: "--password", + description: "Password of the added config", + args: { name: "password" }, + }, + { + name: "--pattern", + description: + "Pattern of the repo, use , as delimiter for multiple patterns", + args: { name: "pattern" }, + }, + { + name: "--private-key", + description: "Private_key of the added config", + args: { name: "private-key" }, + }, + { + name: "--search-paths", + description: + "Search_paths of the added config, use , as delimiter for multiple paths", + args: { name: "search-paths" }, + }, + { + name: "--strict-host-key-checking", + description: + "Strict_host_key_checking of the added config", + args: { name: "strict-host-key-checking" }, + }, + { + name: "--uri", + description: "Uri of the added config", + args: { name: "uri" }, + }, + { + name: "--username", + description: "Username of the added config", + args: { name: "username" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "connection", + description: "Commands to manage spring-cloud connections", + subcommands: [ + { + name: "delete", + description: "Delete a spring-cloud connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List connections of a spring-cloud", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + ], + }, + { + name: "list-configuration", + description: + "List source configurations of a spring-cloud connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + ], + }, + { + name: "list-support-types", + description: + "List client types and auth types supported by spring-cloud connections", + options: [ + { + name: ["--target-type", "-t"], + description: "The target resource type", + args: { + name: "target-type", + suggestions: [ + "appconfig", + "confluent-cloud", + "cosmos-cassandra", + "cosmos-gremlin", + "cosmos-mongo", + "cosmos-sql", + "cosmos-table", + "eventhub", + "keyvault", + "mysql", + "mysql-flexible", + "postgres", + "postgres-flexible", + "redis", + "redis-enterprise", + "servicebus", + "signalr", + "sql", + "storage-blob", + "storage-file", + "storage-queue", + "storage-table", + "webpubsub", + ], + }, + }, + ], + }, + { + name: "show", + description: "Get the details of a spring-cloud connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + ], + }, + { + name: "validate", + description: "Validate a spring-cloud connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the connection is met", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "create", + description: + "Create a connection between a spring-cloud and a target resource", + subcommands: [ + { + name: "appconfig", + description: "Create a spring-cloud connection to appconfig", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--app-config", + description: + "Name of the app configuration. Required if '--target-id' is not specified", + args: { name: "app-config" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--app-config'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the app configuration. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "confluent-cloud", + description: + "Create a spring-cloud connection to confluent-cloud", + options: [ + { + name: "--bootstrap-server", + description: "Kafka bootstrap server url", + args: { name: "bootstrap-server" }, + isRequired: true, + }, + { + name: "--kafka-key", + description: "Kafka API-Key (key)", + args: { name: "kafka-key" }, + isRequired: true, + }, + { + name: "--kafka-secret", + description: "Kafka API-Key (secret)", + args: { name: "kafka-secret" }, + isRequired: true, + }, + { + name: "--schema-key", + description: "Schema registry API-Key (key)", + args: { name: "schema-key" }, + isRequired: true, + }, + { + name: "--schema-registry", + description: "Schema registry url", + args: { name: "schema-registry" }, + isRequired: true, + }, + { + name: "--schema-secret", + description: "Schema registry API-Key (secret)", + args: { name: "schema-secret" }, + isRequired: true, + }, + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-cassandra", + description: + "Create a spring-cloud connection to cosmos-cassandra", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--key-space", + description: + "Name of the keyspace. Required if '--target-id' is not specified", + args: { name: "key-space" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--key-space'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-gremlin", + description: "Create a spring-cloud connection to cosmos-gremlin", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--graph", + description: + "Name of the graph. Required if '--target-id' is not specified", + args: { name: "graph" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database', '--graph'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-mongo", + description: "Create a spring-cloud connection to cosmos-mongo", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-sql", + description: "Create a spring-cloud connection to cosmos-sql", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-table", + description: "Create a spring-cloud connection to cosmos-table", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--table", + description: + "Name of the table. Required if '--target-id' is not specified", + args: { name: "table" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--table'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "eventhub", + description: "Create a spring-cloud connection to eventhub", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "kafka-springBoot", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--namespace", + description: + "Name of the eventhub namespace. Required if '--target-id' is not specified", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--namespace'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the eventhub. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "keyvault", + description: "Create a spring-cloud connection to keyvault", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new keyvault when creating the spring-cloud connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--vault'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the keyvault. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault", + description: + "Name of the keyvault. Required if '--target-id' is not specified", + args: { name: "vault" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql", + description: "Create a spring-cloud connection to mysql", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the mysql database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the mysql server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the mysql server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql-flexible", + description: "Create a spring-cloud connection to mysql-flexible", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the mysql flexible database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the mysql flexible server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the mysql flexible server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres", + description: "Create a spring-cloud connection to postgres", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of postgres database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new postgres when creating the spring-cloud connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of postgres server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the postgres service. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres-flexible", + description: + "Create a spring-cloud connection to postgres-flexible", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of postgres flexible database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of postgres flexible server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the flexible postgres service. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis", + description: "Create a spring-cloud connection to redis", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the redis database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the redis server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the redis server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis-enterprise", + description: + "Create a spring-cloud connection to redis-enterprise", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the redis enterprise database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the redis enterprise server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the redis server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "servicebus", + description: "Create a spring-cloud connection to servicebus", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--namespace", + description: + "Name of the servicebus namespace. Required if '--target-id' is not specified", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--namespace'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the servicebus. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "signalr", + description: "Create a spring-cloud connection to signalr", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: ["dotnet", "none"], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--signalr", + description: + "Name of the signalr service. Required if '--target-id' is not specified", + args: { name: "signalr" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--signalr'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the signalr. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "sql", + description: "Create a spring-cloud connection to sql", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the sql database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the sql server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the sql server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-blob", + description: "Create a spring-cloud connection to storage-blob", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new storage-blob when creating the spring-cloud connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-file", + description: "Create a spring-cloud connection to storage-file", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-queue", + description: "Create a spring-cloud connection to storage-queue", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-table", + description: "Create a spring-cloud connection to storage-table", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "webpubsub", + description: "Create a spring-cloud connection to webpubsub", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--webpubsub'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the webpubsub. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + { + name: "--webpubsub", + description: + "Name of the webpubsub service. Required if '--target-id' is not specified", + args: { name: "webpubsub" }, + }, + ], + }, + ], + }, + { + name: "update", + description: "Update a spring-cloud connection", + subcommands: [ + { + name: "appconfig", + description: "Update a spring-cloud to appconfig connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "confluent-cloud", + description: + "Update a spring-cloud to confluent-cloud connection", + options: [ + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + isRequired: true, + }, + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--bootstrap-server", + description: "Kafka bootstrap server url", + args: { name: "bootstrap-server" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--kafka-key", + description: "Kafka API-Key (key)", + args: { name: "kafka-key" }, + }, + { + name: "--kafka-secret", + description: "Kafka API-Key (secret)", + args: { name: "kafka-secret" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--schema-key", + description: "Schema registry API-Key (key)", + args: { name: "schema-key" }, + }, + { + name: "--schema-registry", + description: "Schema registry url", + args: { name: "schema-registry" }, + }, + { + name: "--schema-secret", + description: "Schema registry API-Key (secret)", + args: { name: "schema-secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring-cloud. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-cassandra", + description: + "Update a spring-cloud to cosmos-cassandra connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-gremlin", + description: "Update a spring-cloud to cosmos-gremlin connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-mongo", + description: "Update a spring-cloud to cosmos-mongo connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-sql", + description: "Update a spring-cloud to cosmos-sql connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-table", + description: "Update a spring-cloud to cosmos-table connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "eventhub", + description: "Update a spring-cloud to eventhub connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "kafka-springBoot", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "keyvault", + description: "Update a spring-cloud to keyvault connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql", + description: "Update a spring-cloud to mysql connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql-flexible", + description: "Update a spring-cloud to mysql-flexible connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres", + description: "Update a spring-cloud to postgres connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres-flexible", + description: + "Update a spring-cloud to postgres-flexible connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis", + description: "Update a spring-cloud to redis connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis-enterprise", + description: + "Update a spring-cloud to redis-enterprise connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "servicebus", + description: "Update a spring-cloud to servicebus connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "signalr", + description: "Update a spring-cloud to signalr connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: ["dotnet", "none"], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "sql", + description: "Update a spring-cloud to sql connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-blob", + description: "Update a spring-cloud to storage-blob connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-file", + description: "Update a spring-cloud to storage-file connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-queue", + description: "Update a spring-cloud to storage-queue connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-table", + description: "Update a spring-cloud to storage-table connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "webpubsub", + description: "Update a spring-cloud to webpubsub connection", + options: [ + { + name: "--app", + description: + "Name of the spring-cloud app. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring-cloud", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the spring-cloud connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the spring-cloud. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the spring-cloud service. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "create", + description: "Create an Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--api-portal-instance-count", "--ap-instance"], + description: "(Enterprise Tier Only) Number of API portal instances", + args: { name: "api-portal-instance-count" }, + }, + { + name: "--app-insights", + description: + "Name of the existing Application Insights in the same Resource Group. Or Resource ID of the existing Application Insights in a different Resource Group", + args: { name: "app-insights" }, + }, + { + name: "--app-insights-key", + description: + "Connection string (recommended) or Instrumentation key of the existing Application Insights", + args: { name: "app-insights-key" }, + }, + { + name: ["--app-network-resource-group", "--app-nrg"], + description: + "The resource group where all network resources for apps will be created in", + args: { name: "app-network-resource-group" }, + }, + { + name: "--app-subnet", + description: + 'The name or ID of an existing subnet in "vnet" into which to deploy the Spring Cloud app. Required when deploying into a Virtual Network. Smaller subnet sizes are supported, please refer: https://aka.ms/azure-spring-cloud-smaller-subnet-vnet-docs', + args: { name: "app-subnet" }, + }, + { + name: "--build-pool-size", + description: + "(Enterprise Tier Only) Size of build agent pool. See aka.ms/azure-spring-cloud-build-service-docs for size info", + args: { + name: "build-pool-size", + suggestions: ["S1", "S2", "S3", "S4", "S5"], + }, + }, + { + name: "--disable-app-insights", + description: + "Disable Application Insights, if not disabled and no existing Application Insights specified with --app-insights-key or --app-insights, will create a new Application Insights instance in the same resource group", + args: { + name: "disable-app-insights", + suggestions: ["false", "true"], + }, + }, + { + name: ["--enable-application-configuration-service", "--enable-acs"], + description: + "(Enterprise Tier Only) Enable Application Configuration Service", + }, + { + name: "--enable-api-portal", + description: "(Enterprise Tier Only) Enable API portal", + }, + { + name: "--enable-gateway", + description: "(Enterprise Tier Only) Enable Spring Cloud Gateway", + }, + { + name: ["--enable-service-registry", "--enable-sr"], + description: "(Enterprise Tier Only) Enable Service Registry", + }, + { + name: "--gateway-instance-count", + description: + "(Enterprise Tier Only) Number of Spring Cloud Gateway instances", + args: { name: "gateway-instance-count" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--reserved-cidr-range", + description: + "Comma-separated list of IP address ranges in CIDR format. The IP ranges are reserved to host underlying Azure Spring Cloud infrastructure, which should be 3 at least /16 unused IP ranges, must not overlap with any Subnet IP ranges", + args: { name: "reserved-cidr-range" }, + }, + { + name: "--sampling-rate", + description: + "Sampling Rate of application insights. Minimum is 0, maximum is 100", + args: { name: "sampling-rate" }, + }, + { + name: ["--service-runtime-network-resource-group", "--svc-nrg"], + description: + "The resource group where all network resources for Azure Spring Cloud service runtime will be created in", + args: { name: "service-runtime-network-resource-group" }, + }, + { + name: ["--service-runtime-subnet", "--svc-subnet"], + description: + 'The name or ID of an existing subnet in "vnet" into which to deploy the Spring Cloud service runtime. Required when deploying into a Virtual Network', + args: { name: "service-runtime-subnet" }, + }, + { + name: "--sku", + description: "Name of SKU. Enterprise is still in Preview", + args: { + name: "sku", + suggestions: ["Basic", "Enterprise", "Standard"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vnet", + description: + "The name or ID of an existing Virtual Network into which to deploy the Spring Cloud instance", + args: { name: "vnet" }, + }, + { + name: "--zone-redundant", + description: + "Create your Azure Spring Cloud service in an Azure availability zone or not, this could only be supported in several regions at the moment", + }, + ], + }, + { + name: "delete", + description: "Delete an Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: + "List all Azure Spring Cloud in the given resource group, otherwise list the subscription's", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the details for an Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "start", + description: "Start an Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "stop", + description: "Stop an Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "update", + description: "Update an Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--build-pool-size", + description: + "(Enterprise Tier Only) Size of build agent pool. See aka.ms/azure-spring-cloud-build-service-docs for size info", + args: { + name: "build-pool-size", + suggestions: ["S1", "S2", "S3", "S4", "S5"], + }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--sku", + description: "Name of SKU. Enterprise is still in Preview", + args: { + name: "sku", + suggestions: ["Basic", "Enterprise", "Standard"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "gateway", + description: + "(Enterprise Tier Only) Commands to manage gateway in Azure Spring Cloud", + subcommands: [ + { + name: "clear", + description: "Clear all settings of gateway", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: + "Show the settings, provisioning status and runtime status of gateway", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an existing gateway properties", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--allow-credentials", + description: + "Whether user credentials are supported on cross-site requests", + args: { + name: "allow-credentials", + suggestions: ["false", "true"], + }, + }, + { + name: "--allowed-headers", + description: + "Comma-separated list of allowed headers in cross-site requests. The special value * allows actual requests to send any header", + args: { name: "allowed-headers" }, + }, + { + name: "--allowed-methods", + description: + "Comma-separated list of allowed HTTP methods on cross-site requests. The special value * allows all methods", + args: { name: "allowed-methods" }, + }, + { + name: "--allowed-origins", + description: + "Comma-separated list of allowed origins to make cross-site requests. The special value * allows all domains", + args: { name: "allowed-origins" }, + }, + { + name: "--api-description", + description: + "Detailed description of the APIs available on the Gateway instance", + args: { name: "api-description" }, + }, + { + name: "--api-doc-location", + description: + "Location of additional documentation for the APIs available on the Gateway instance", + args: { name: "api-doc-location" }, + }, + { + name: "--api-title", + description: + "Title describing the context of the APIs available on the Gateway instance", + args: { name: "api-title" }, + }, + { + name: "--api-version", + description: "Version of APIs available on this Gateway instance", + args: { name: "api-version" }, + }, + { + name: "--assign-endpoint", + description: "If true, assign endpoint URL for direct access", + args: { name: "assign-endpoint", suggestions: ["false", "true"] }, + }, + { + name: "--client-id", + description: "The public identifier for the application", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: + "The secret known only to the application and the authorization server", + args: { name: "client-secret" }, + }, + { + name: "--cpu", + description: + "CPU resource quantity. Should be 500m or number of CPU cores", + args: { name: "cpu" }, + }, + { + name: "--exposed-headers", + description: + "Comma-separated list of HTTP response headers to expose for cross-site requests", + args: { name: "exposed-headers" }, + }, + { + name: "--https-only", + description: "If true, access endpoint via https", + args: { name: "https-only", suggestions: ["false", "true"] }, + }, + { + name: "--instance-count", + description: "Number of instance", + args: { name: "instance-count" }, + }, + { + name: "--issuer-uri", + description: "The URI of Issuer Identifier", + args: { name: "issuer-uri" }, + }, + { + name: "--max-age", + description: + "How long, in seconds, the response from a pre-flight request can be cached by clients", + args: { name: "max-age" }, + }, + { + name: "--memory", + description: + "Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi", + args: { name: "memory" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--scope", + description: + "Comma-separated list of the specific actions applications can be allowed to do on a user's behalf", + args: { name: "scope" }, + }, + { + name: "--server-url", + description: + "Base URL that API consumers will use to access APIs on the Gateway instance", + args: { name: "server-url" }, + }, + ], + }, + { + name: "custom-domain", + description: "Commands to manage custom domains for gateway", + subcommands: [ + { + name: "bind", + description: "Bind a custom domain with the gateway", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--certificate", + description: "Certificate name in Azure Spring Cloud", + args: { name: "certificate" }, + }, + ], + }, + { + name: "list", + description: "List all custom domains of the gateway", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a custom domain", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "unbind", + description: "Unbind a custom-domain of the gateway", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a custom domain of the gateway", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--certificate", + description: "Certificate name in Azure Spring Cloud", + args: { name: "certificate" }, + }, + ], + }, + ], + }, + { + name: "route-config", + description: + "Commands to manage gateway route configs in Azure Spring Cloud", + subcommands: [ + { + name: "create", + description: + "Create a gateway route config with routing rules of Json array format", + options: [ + { + name: ["--name", "-n"], + description: "Name of route config", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--app-name", + description: + "The Azure Spring Cloud app name to configure the route", + args: { name: "app-name" }, + }, + { + name: "--routes-file", + description: "The file path of JSON array of API routes", + args: { name: "routes-file" }, + }, + { + name: "--routes-json", + description: "The JSON array of API routes", + args: { name: "routes-json" }, + }, + ], + }, + { + name: "list", + description: "List all existing gateway route configs", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Delete an existing gateway route config", + options: [ + { + name: ["--name", "-n"], + description: "Name of route config", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get an existing gateway route config", + options: [ + { + name: ["--name", "-n"], + description: "Name of route config", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an existing gateway route config with routing rules of Json array format", + options: [ + { + name: ["--name", "-n"], + description: "Name of route config", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--app-name", + description: + "The Azure Spring Cloud app name to configure the route", + args: { name: "app-name" }, + }, + { + name: "--routes-file", + description: "The file path of JSON array of API routes", + args: { name: "routes-file" }, + }, + { + name: "--routes-json", + description: "The JSON array of API routes", + args: { name: "routes-json" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "service-registry", + description: + "(Enterprise Tier Only) Commands to manage Service Registry in Azure Spring Cloud", + subcommands: [ + { + name: "bind", + description: "Bind an app to Service Registry", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the provisioning status and runtime status of Service Registry", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "unbind", + description: "Unbind an app from Service Registry", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "storage", + description: "Commands to manage Storages in Azure Spring Cloud", + subcommands: [ + { + name: "add", + description: "Create a new storage in the Azure Spring Cloud", + options: [ + { + name: "--account-key", + description: "The account key of the storage account", + args: { name: "account-key" }, + isRequired: true, + }, + { + name: "--account-name", + description: "The name of the storage account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of storage", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--storage-type", + description: "The type of the torage. e.g. StorageAccount", + args: { name: "storage-type" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all existing storages in the Azure Spring Cloud", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "list-persistent-storage", + description: + "List all the persistent storages related to an existing storage in the Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of storage", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove an existing storage in the Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of storage", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get an existing storage in the Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of storage", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an existing storage in the Azure Spring Cloud", + options: [ + { + name: "--account-key", + description: "The account key of the storage account", + args: { name: "account-key" }, + isRequired: true, + }, + { + name: "--account-name", + description: "The name of the storage account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of storage", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--storage-type", + description: "The type of the torage. e.g. StorageAccount", + args: { name: "storage-type" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "test-endpoint", + description: "Commands to manage test endpoint in Azure Spring Cloud", + subcommands: [ + { + name: "disable", + description: "Disable test endpoint of the Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "enable", + description: "Enable test endpoint of the Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List test endpoint keys of the Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + ], + }, + { + name: "renew-key", + description: + "Regenerate a test-endpoint key for the Azure Spring Cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of Azure Spring Cloud", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--type", + description: "Type of test-endpoint key", + args: { name: "type", suggestions: ["Primary", "Secondary"] }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/spring.ts b/src/az/2.53.0/spring.ts new file mode 100644 index 000000000000..8ddca5490944 --- /dev/null +++ b/src/az/2.53.0/spring.ts @@ -0,0 +1,13374 @@ +const completion: Fig.Spec = { + name: "spring", + description: "Commands to manage Azure Spring Apps", + subcommands: [ + { + name: "api-portal", + description: + "(Enterprise Tier Only) Commands to manage API portal in Azure Spring Apps", + subcommands: [ + { + name: "clear", + description: "Clear all settings of API portal", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create API portal", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--instance-count", + description: "Number of instance", + args: { name: "instance-count" }, + }, + ], + }, + { + name: "delete", + description: "Delete API portal", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Show the settings, provisioning status and runtime status of API portal", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an existing API portal properties", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--assign-endpoint", + description: "If true, assign endpoint URL for direct access", + args: { name: "assign-endpoint", suggestions: ["false", "true"] }, + }, + { + name: "--client-id", + description: "The public identifier for the application", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: + "The secret known only to the application and the authorization server", + args: { name: "client-secret" }, + }, + { + name: "--https-only", + description: "If true, access endpoint via https", + args: { name: "https-only", suggestions: ["false", "true"] }, + }, + { + name: "--instance-count", + description: "Number of instance", + args: { name: "instance-count" }, + }, + { + name: "--issuer-uri", + description: "The URI of Issuer Identifier", + args: { name: "issuer-uri" }, + }, + { + name: "--scope", + description: + "Comma-separated list of the specific actions applications can be allowed to do on a user's behalf", + args: { name: "scope" }, + }, + ], + }, + { + name: "custom-domain", + description: "Commands to manage custom domains for API portal", + subcommands: [ + { + name: "bind", + description: "Bind a custom domain with the API portal", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--certificate", + description: "Certificate name in Azure Spring Apps", + args: { name: "certificate" }, + }, + ], + }, + { + name: "list", + description: "List all custom domains of the API portal", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a custom domain", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "unbind", + description: "Unbind a custom-domain of the API portal", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a custom domain of the API portal", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--certificate", + description: "Certificate name in Azure Spring Apps", + args: { name: "certificate" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "apm", + description: + "(Enterprise Tier Only) Commands to manage APMs in Azure Spring Apps", + subcommands: [ + { + name: "create", + description: "(Enterprise Tier Only) Create an APM", + options: [ + { + name: ["--name", "-n"], + description: "APM name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--type", + description: + 'Required type for APM. Run "az spring apm list-support-types"to get all the supported APM types', + args: { name: "type" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--properties", + description: + 'Non-sensitive properties for APM. Format "key[=value]"', + args: { name: "properties" }, + }, + { + name: "--secrets", + description: + 'Sensitive properties for APM. Once put, it will be encrypted and never return to user. Format "key[=value]"', + args: { name: "secrets" }, + }, + ], + }, + { + name: "delete", + description: "(Enterprise Tier Only) Delete an APM", + options: [ + { + name: ["--name", "-n"], + description: "APM name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "disable-globally", + description: "(Enterprise Tier Only) Disable an APM globally", + options: [ + { + name: ["--name", "-n"], + description: "APM name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "enable-globally", + description: "(Enterprise Tier Only) Enable an APM globally", + options: [ + { + name: ["--name", "-n"], + description: "APM name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: + "(Enterprise Tier Only) List all the APMs in the Azure Spring Apps. The secrets will be omitted", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "list-enabled-globally", + description: + "(Enterprise Tier Only) List all the APMs enabled globally in the Azure Spring Apps", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "list-support-types", + description: + "(Enterprise Tier Only) List all the supported APM types in the Azure Spring Apps", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "(Enterprise Tier Only) Show an APM. The secrets will be masked", + options: [ + { + name: ["--name", "-n"], + description: "APM name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "(Enterprise Tier Only) Update an APM", + options: [ + { + name: ["--name", "-n"], + description: "APM name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--type", + description: + 'Required type for APM. Run "az spring apm list-support-types"to get all the supported APM types', + args: { name: "type" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--properties", + description: + 'Non-sensitive properties for APM. Format "key[=value]"', + args: { name: "properties" }, + }, + { + name: "--secrets", + description: + 'Sensitive properties for APM. Once put, it will be encrypted and never return to user. Format "key[=value]"', + args: { name: "secrets" }, + }, + ], + }, + ], + }, + { + name: "app", + description: "Commands to manage apps in Azure Spring Apps", + subcommands: [ + { + name: "append-loaded-public-certificate", + description: + "Append a new loaded public certificate to an app in the Azure Spring Apps", + options: [ + { + name: "--certificate-name", + description: "Name of the certificate to be appended", + args: { name: "certificate-name" }, + isRequired: true, + }, + { + name: "--load-trust-store", + description: + "If true, the certificate would be loaded into trust store for Java applications", + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "append-persistent-storage", + description: + "Append a new persistent storage to an app in the Azure Spring Apps", + options: [ + { + name: "--mount-path", + description: + "The path for the persistent storage volume to be mounted", + args: { name: "mount-path" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--persistent-storage-type", "-t"], + description: "Type of the persistent storage volumed", + args: { name: "persistent-storage-type" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--storage-name", + description: + "Name of the storage resource you created in Azure Spring Apps", + args: { name: "storage-name" }, + isRequired: true, + }, + { + name: "--enable-sub-path", + description: + "[optional] If true, will mount in separate subdirectories with the same path for each app instance", + }, + { + name: "--mount-options", + description: + "[optional] The mount options for the persistent storage volume", + args: { name: "mount-options" }, + }, + { + name: "--read-only", + description: + "[optional] If true, the persistent storage volume will be read only", + }, + { + name: "--share-name", + description: + "The name of the pre-created file share. ShareName should be provided only if the type of the persistent storage volume is AzureFileVolume", + args: { name: "share-name" }, + }, + ], + }, + { + name: "connect", + description: + "Connect to the interactive shell of an app instance for troubleshooting'", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: ["--instance", "-i"], + description: "Name of an existing instance of the deployment", + args: { name: "instance" }, + }, + { + name: "--shell-cmd", + description: + "The shell command to run when connect to the app instance", + args: { name: "shell-cmd" }, + }, + ], + }, + { + name: "create", + description: + "Create a new app with a default deployment in the Azure Spring Apps instance", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--assign-endpoint", + description: "If true, assign endpoint URL for direct access", + }, + { + name: "--assign-public-endpoint", + description: + "If true, assign endpoint URL which could be accessed out of virtual network for vnet injection instance app", + args: { + name: "assign-public-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--backend-protocol", + description: + "Ingress backend protocol of app. Default means HTTP/HTTPS/WebSocket", + args: { + name: "backend-protocol", + suggestions: ["Default", "GRPC"], + }, + }, + { + name: "--client-auth-certs", + description: + "A space-separated string containing resource ids of certificates for client authentication. e.g: --client_auth_certs='id0 id1'. Use '' to clear existing certificates", + args: { name: "client-auth-certs" }, + }, + { + name: "--cpu", + description: + "CPU resource quantity. Should be 250m, 500m, 750m, 1250m or number of CPU cores", + args: { name: "cpu" }, + }, + { + name: "--deployment-name", + description: "Name of the default deployment", + args: { name: "deployment-name" }, + }, + { + name: "--disable-probe", + description: "If true, disable the liveness and readiness probe", + args: { name: "disable-probe", suggestions: ["false", "true"] }, + }, + { + name: "--enable-liveness-probe", + description: + "If false, will disable the liveness probe of the app instance", + args: { + name: "enable-liveness-probe", + suggestions: ["false", "true"], + }, + }, + { + name: ["--enable-persistent-storage", "--enable-ps"], + description: + "If true, mount a 50G (Standard Pricing tier) or 1G (Basic Pricing tier) disk with default path", + args: { + name: "enable-persistent-storage", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-readiness-probe", + description: + "If false, will disable the readiness probe of the app instance", + args: { + name: "enable-readiness-probe", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-startup-probe", + description: + "If false, will disable the startup probe of the app instance", + args: { + name: "enable-startup-probe", + suggestions: ["false", "true"], + }, + }, + { + name: "--env", + description: + "Space-separated environment variables in 'key[=value]' format", + args: { name: "env" }, + }, + { + name: ["--termination-grace-period-seconds", "--grace-period"], + description: + "Optional duration in seconds the app instance needs to terminate gracefully", + args: { name: "termination-grace-period-seconds" }, + }, + { + name: "--ingress-read-timeout", + description: + "Ingress read timeout value in seconds. Default 300, minimum is 1, maximum is 1800", + args: { name: "ingress-read-timeout" }, + }, + { + name: "--ingress-send-timeout", + description: + "Ingress send timeout value in seconds. Default 60, minimum is 1, maximum is 1800", + args: { name: "ingress-send-timeout" }, + }, + { + name: "--instance-count", + description: "Number of instance", + args: { name: "instance-count" }, + }, + { + name: "--jvm-options", + description: + "A string containing jvm options, use '=' instead of ' ' for this argument to avoid bash parse error, eg: --jvm-options='-Xms1024m -Xmx2048m'", + args: { name: "jvm-options" }, + }, + { + name: "--liveness-probe-config", + description: + "A json file path indicates the liveness probe config", + args: { name: "liveness-probe-config" }, + }, + { + name: ["--loaded-public-certificate-file", "-f"], + description: + "A json file path indicates the certificates which would be loaded to app", + args: { name: "loaded-public-certificate-file" }, + }, + { + name: "--max-replicas", + description: "The maximum number of replicas", + args: { name: "max-replicas" }, + }, + { + name: "--memory", + description: + "Memory resource quantity. Should be 512Mi, 1536Mi, 2560Mi, 3584Mi or #Gi, e.g., 1Gi, 3Gi", + args: { name: "memory" }, + }, + { + name: "--min-replicas", + description: "The minimum number of replicas", + args: { name: "min-replicas" }, + }, + { + name: "--persistent-storage", + description: + "A json file path for the persistent storages to be mounted to the app", + args: { name: "persistent-storage" }, + }, + { + name: "--readiness-probe-config", + description: + "A json file path indicates the readiness probe config", + args: { name: "readiness-probe-config" }, + }, + { + name: "--runtime-version", + description: "Runtime version of used language", + args: { + name: "runtime-version", + suggestions: ["Java_11", "Java_17", "Java_8", "NetCore_31"], + }, + }, + { + name: ["--scale-rule-auth", "--sra"], + description: + 'Scale rule auth parameters. Format "=" and separated by space', + args: { name: "scale-rule-auth" }, + }, + { + name: [ + "--scale-rule-http-concurrency", + "--scale-rule-tcp-concurrency", + "--srhc", + "--srtc", + ], + description: + "The maximum number of concurrent requests before scale out. Only supported for http and tcp scale rules", + args: { name: "scale-rule-http-concurrency" }, + }, + { + name: ["--scale-rule-metadata", "--srm"], + description: + 'Scale rule metadata. Format "key[=value]" and separated by space', + args: { name: "scale-rule-metadata" }, + }, + { + name: ["--scale-rule-name", "--srn"], + description: "The name of the scale rule", + args: { name: "scale-rule-name" }, + }, + { + name: ["--scale-rule-type", "--srt"], + description: "The type of the scale rule. Default: http", + args: { name: "scale-rule-type" }, + }, + { + name: "--secrets", + description: + 'A list of secret(s) for the app. Format "key[=value]" and separated by space', + args: { name: "secrets" }, + }, + { + name: "--session-affinity", + description: "Ingress session affinity of app", + args: { + name: "session-affinity", + suggestions: ["Cookie", "None"], + }, + }, + { + name: "--session-max-age", + description: + "Time until the cookie expires. Minimum is 1 second, maximum is 7 days. If set to 0, the expiration period is equal to the browser session period", + args: { name: "session-max-age" }, + }, + { + name: "--startup-probe-config", + description: + "A json file path indicates the startup probe config", + args: { name: "startup-probe-config" }, + }, + { + name: "--system-assigned", + description: "Enable system-assigned managed identity", + args: { name: "system-assigned", suggestions: ["false", "true"] }, + }, + { + name: "--user-assigned", + description: + "Space-separated user-assigned managed identity resource IDs to assgin to an app", + args: { name: "user-assigned" }, + }, + { + name: "--workload-profile", + description: + 'The workload profile used in the managed environment. Default to "Consumption"', + args: { name: "workload-profile" }, + }, + ], + }, + { + name: "delete", + description: "Delete an app in the Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "deploy", + description: + "Deploy source code or pre-built binary to an app and update related configurations", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--apms", + description: "(Enterprise Tier Only) Space-separated APM names", + args: { name: "apms" }, + }, + { + name: "--artifact-path", + description: + "Deploy the specified pre-built artifact (jar, war or netcore zip, war is in public preview)", + args: { name: "artifact-path" }, + }, + { + name: "--build-certificates", + description: + "(Enterprise Tier Only) Space-separated certificate names, the certificates are used during build time", + args: { name: "build-certificates" }, + }, + { + name: "--build-cpu", + description: + "CPU resource quantity. Should be 500m or number of CPU cores", + args: { name: "build-cpu" }, + }, + { + name: "--build-env", + description: + "Space-separated environment variables in 'key[=value]' format", + args: { name: "build-env" }, + }, + { + name: "--build-memory", + description: + "Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi", + args: { name: "build-memory" }, + }, + { + name: "--builder", + description: + "(Enterprise Tier Only) Build service builder used to build the executable", + args: { name: "builder" }, + }, + { + name: "--config-file-patterns", + description: + "(Enterprise Tier Only) Config file patterns separated with ',' to decide which patterns of Application Configuration Service will be used. Use '\"\"' to clear existing configurations", + args: { name: "config-file-patterns" }, + }, + { + name: "--container-args", + description: "The arguments of the container image", + args: { name: "container-args" }, + }, + { + name: "--container-command", + description: "The command of the container image", + args: { name: "container-command" }, + }, + { + name: "--container-image", + description: "The container image tag", + args: { name: "container-image" }, + }, + { + name: "--container-registry", + description: "The registry of the container image", + args: { name: "container-registry" }, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--disable-app-log", + description: + "Do not print application logs when deploy application", + }, + { + name: "--disable-probe", + description: "If true, disable the liveness and readiness probe", + args: { name: "disable-probe", suggestions: ["false", "true"] }, + }, + { + name: "--disable-validation", + description: "If true, disable jar validation", + args: { + name: "disable-validation", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-liveness-probe", + description: + "If false, will disable the liveness probe of the app instance", + args: { + name: "enable-liveness-probe", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-readiness-probe", + description: + "If false, will disable the readiness probe of the app instance", + args: { + name: "enable-readiness-probe", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-startup-probe", + description: + "If false, will disable the startup probe of the app instance", + args: { + name: "enable-startup-probe", + suggestions: ["false", "true"], + }, + }, + { + name: "--env", + description: + "Space-separated environment variables in 'key[=value]' format", + args: { name: "env" }, + }, + { + name: ["--termination-grace-period-seconds", "--grace-period"], + description: + "Optional duration in seconds the app instance needs to terminate gracefully", + args: { name: "termination-grace-period-seconds" }, + }, + { + name: "--jvm-options", + description: + "A string containing jvm options, use '=' instead of ' ' for this argument to avoid bash parse error, eg: --jvm-options='-Xms1024m -Xmx2048m'", + args: { name: "jvm-options" }, + }, + { + name: "--language-framework", + description: + 'Language framework of the container image uploaded. Supported values: "springboot", ""', + args: { name: "language-framework" }, + }, + { + name: "--liveness-probe-config", + description: + "A json file path indicates the liveness probe config", + args: { name: "liveness-probe-config" }, + }, + { + name: ["--main-entry", "-m"], + description: + "A string containing the path to the .NET executable relative to zip root", + args: { name: "main-entry" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--readiness-probe-config", + description: + "A json file path indicates the readiness probe config", + args: { name: "readiness-probe-config" }, + }, + { + name: "--registry-password", + description: "The password of the container registry", + args: { name: "registry-password" }, + }, + { + name: "--registry-username", + description: "The username of the container registry", + args: { name: "registry-username" }, + }, + { + name: "--runtime-version", + description: "Runtime version of used language", + args: { + name: "runtime-version", + suggestions: ["Java_11", "Java_17", "Java_8", "NetCore_31"], + }, + }, + { + name: "--server-version", + description: + "(Standard and Basic Tiers Only) Tomcat server version. List all supported server versions by running az spring list-support-server-versions -o table. This feature is in public preview", + args: { name: "server-version" }, + }, + { + name: "--source-path", + description: + "Deploy the specified source folder. The folder will be packed into tar, uploaded, and built using kpack. Default to the current folder if no value provided", + args: { name: "source-path" }, + }, + { + name: "--startup-probe-config", + description: + "A json file path indicates the startup probe config", + args: { name: "startup-probe-config" }, + }, + { + name: "--target-module", + description: + "Child module to be deployed, required for multiple jar packages built from source code", + args: { name: "target-module" }, + }, + { + name: "--version", + description: "Deployment version, keep unchanged if not set", + args: { name: "version" }, + }, + ], + }, + { + name: "disable-remote-debugging", + description: "Disable remote debugging for a deployment", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "enable-remote-debugging", + description: "Enable remote debugging for a deployment", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--port", "-p"], + description: + "Remote debugging port, the value should be from 1024 to 65536, default value is 5005", + args: { name: "port" }, + }, + ], + }, + { + name: "get-remote-debugging-config", + description: "Get the remote debugging configuration of a deployment", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + ], + }, + { + name: "list", + description: "List all apps in the Azure Spring Apps", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "logs", + description: + "Show logs of an app instance, logs will be streamed when setting '-f/--follow'", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: ["--follow", "-f", ""], + description: "Specify if the logs should be streamed", + }, + { + name: "--format-json", + description: "Format JSON logs if structured log is enabled", + args: { name: "format-json" }, + }, + { + name: ["--instance", "-i"], + description: "Name of an existing instance of the deployment", + args: { name: "instance" }, + }, + { + name: "--limit", + description: + "Maximum kilobytes of logs to return. Ceiling number is 2048", + args: { name: "limit" }, + }, + { + name: "--lines", + description: "Number of lines to show. Maximum is 10000", + args: { name: "lines" }, + }, + { + name: "--since", + description: + "Only return logs newer than a relative duration like 5s, 2m, or 1h. Maximum is 1h", + args: { name: "since" }, + }, + ], + }, + { + name: "restart", + description: + "Restart instances of the app, default to production deployment", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "scale", + description: "Manually scale an app or its deployments", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--cpu", + description: + "CPU resource quantity. Should be 250m, 500m, 750m, 1250m or number of CPU cores", + args: { name: "cpu" }, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--instance-count", + description: "Number of instance", + args: { name: "instance-count" }, + }, + { + name: "--max-replicas", + description: "The maximum number of replicas", + args: { name: "max-replicas" }, + }, + { + name: "--memory", + description: + "Memory resource quantity. Should be 512Mi, 1536Mi, 2560Mi, 3584Mi or #Gi, e.g., 1Gi, 3Gi", + args: { name: "memory" }, + }, + { + name: "--min-replicas", + description: "The minimum number of replicas", + args: { name: "min-replicas" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--scale-rule-auth", "--sra"], + description: + 'Scale rule auth parameters. Format "=" and separated by space', + args: { name: "scale-rule-auth" }, + }, + { + name: [ + "--scale-rule-http-concurrency", + "--scale-rule-tcp-concurrency", + "--srhc", + "--srtc", + ], + description: + "The maximum number of concurrent requests before scale out. Only supported for http and tcp scale rules", + args: { name: "scale-rule-http-concurrency" }, + }, + { + name: ["--scale-rule-metadata", "--srm"], + description: + 'Scale rule metadata. Format "key[=value]" and separated by space', + args: { name: "scale-rule-metadata" }, + }, + { + name: ["--scale-rule-name", "--srn"], + description: "The name of the scale rule", + args: { name: "scale-rule-name" }, + }, + { + name: ["--scale-rule-type", "--srt"], + description: "The type of the scale rule. Default: http", + args: { name: "scale-rule-type" }, + }, + ], + }, + { + name: "set-deployment", + description: "Set production deployment of an app", + options: [ + { + name: ["--deployment", "-d"], + description: "Name of an existing deployment of the app", + args: { name: "deployment" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: "Show the details of an app in the Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show-deploy-log", + description: + "Show build log of the last deploy, only apply to source code deploy, default to production deployment", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + ], + }, + { + name: "start", + description: + "Start instances of the app, default to production deployment", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "stop", + description: + "Stop instances of the app, default to production deployment", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "unset-deployment", + description: "Unset production deployment of an app", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "update", + description: "Update configurations of an app", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--assign-endpoint", + description: "If true, assign endpoint URL for direct access", + args: { name: "assign-endpoint", suggestions: ["false", "true"] }, + }, + { + name: "--assign-public-endpoint", + description: + "If true, assign endpoint URL which could be accessed out of virtual network for vnet injection instance app", + args: { + name: "assign-public-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--backend-protocol", + description: + "Ingress backend protocol of app. Default means HTTP/HTTPS/WebSocket", + args: { + name: "backend-protocol", + suggestions: ["Default", "GRPC"], + }, + }, + { + name: "--client-auth-certs", + description: + "A space-separated string containing resource ids of certificates for client authentication. e.g: --client_auth_certs='id0 id1'. Use '' to clear existing certificates", + args: { name: "client-auth-certs" }, + }, + { + name: "--config-file-patterns", + description: + "(Enterprise Tier Only) Config file patterns separated with ',' to decide which patterns of Application Configuration Service will be used. Use '\"\"' to clear existing configurations", + args: { name: "config-file-patterns" }, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--disable-probe", + description: "If true, disable the liveness and readiness probe", + args: { name: "disable-probe", suggestions: ["false", "true"] }, + }, + { + name: "--enable-ingress-to-app-tls", + description: "If true, enable ingress to app tls", + args: { + name: "enable-ingress-to-app-tls", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-liveness-probe", + description: + "If false, will disable the liveness probe of the app instance", + args: { + name: "enable-liveness-probe", + suggestions: ["false", "true"], + }, + }, + { + name: ["--enable-persistent-storage", "--enable-ps"], + description: + "If true, mount a 50G (Standard Pricing tier) or 1G (Basic Pricing tier) disk with default path", + args: { + name: "enable-persistent-storage", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-readiness-probe", + description: + "If false, will disable the readiness probe of the app instance", + args: { + name: "enable-readiness-probe", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-startup-probe", + description: + "If false, will disable the startup probe of the app instance", + args: { + name: "enable-startup-probe", + suggestions: ["false", "true"], + }, + }, + { + name: "--env", + description: + "Space-separated environment variables in 'key[=value]' format", + args: { name: "env" }, + }, + { + name: ["--termination-grace-period-seconds", "--grace-period"], + description: + "Optional duration in seconds the app instance needs to terminate gracefully", + args: { name: "termination-grace-period-seconds" }, + }, + { + name: "--https-only", + description: "If true, access app via https", + args: { name: "https-only", suggestions: ["false", "true"] }, + }, + { + name: "--ingress-read-timeout", + description: + "Ingress read timeout value in seconds. Default 300, minimum is 1, maximum is 1800", + args: { name: "ingress-read-timeout" }, + }, + { + name: "--ingress-send-timeout", + description: + "Ingress send timeout value in seconds. Default 60, minimum is 1, maximum is 1800", + args: { name: "ingress-send-timeout" }, + }, + { + name: "--jvm-options", + description: + "A string containing jvm options, use '=' instead of ' ' for this argument to avoid bash parse error, eg: --jvm-options='-Xms1024m -Xmx2048m'", + args: { name: "jvm-options" }, + }, + { + name: "--liveness-probe-config", + description: + "A json file path indicates the liveness probe config", + args: { name: "liveness-probe-config" }, + }, + { + name: ["--loaded-public-certificate-file", "-f"], + description: + "A json file path indicates the certificates which would be loaded to app", + args: { name: "loaded-public-certificate-file" }, + }, + { + name: ["--main-entry", "-m"], + description: + "The path to the .NET executable relative to zip root", + args: { name: "main-entry" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--persistent-storage", + description: + "A json file path for the persistent storages to be mounted to the app", + args: { name: "persistent-storage" }, + }, + { + name: "--readiness-probe-config", + description: + "A json file path indicates the readiness probe config", + args: { name: "readiness-probe-config" }, + }, + { + name: "--runtime-version", + description: "Runtime version of used language", + args: { + name: "runtime-version", + suggestions: ["Java_11", "Java_17", "Java_8", "NetCore_31"], + }, + }, + { + name: "--secrets", + description: + 'A list of secret(s) for the app. Format "key[=value]" and separated by space', + args: { name: "secrets" }, + }, + { + name: "--session-affinity", + description: "Ingress session affinity of app", + args: { + name: "session-affinity", + suggestions: ["Cookie", "None"], + }, + }, + { + name: "--session-max-age", + description: + "Time until the cookie expires. Minimum is 1 second, maximum is 7 days. If set to 0, the expiration period is equal to the browser session period", + args: { name: "session-max-age" }, + }, + { + name: "--startup-probe-config", + description: + "A json file path indicates the startup probe config", + args: { name: "startup-probe-config" }, + }, + { + name: "--workload-profile", + description: + 'The workload profile used in the managed environment. Default to "Consumption"', + args: { name: "workload-profile" }, + }, + ], + }, + { + name: "binding", + description: + "Commands to manage bindings with Azure Data Services, you need to manually restart app to make settings take effect", + subcommands: [ + { + name: "list", + description: "List all service bindings in an app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a service binding of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details of a service binding", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "cosmos", + description: "Commands to manage Azure Cosmos DB bindings", + subcommands: [ + { + name: "add", + description: "Bind an Azure Cosmos DB with the app", + options: [ + { + name: "--api-type", + description: "Type of API", + args: { + name: "api-type", + suggestions: [ + "cassandra", + "gremlin", + "mongo", + "sql", + "table", + ], + }, + isRequired: true, + }, + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-id", + description: + "Azure resource ID of the service to bind with", + args: { name: "resource-id" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--collection-name", + description: "Name of collection. Required for gremlin", + args: { name: "collection-name" }, + }, + { + name: "--database-name", + description: + "Name of database. Required for mongo, sql, gremlin", + args: { name: "database-name" }, + }, + { + name: "--key-space", + description: + "Cassandra key space. Required for cassandra", + args: { name: "key-space" }, + }, + ], + }, + { + name: "update", + description: + "Update an Azure Cosmos DB service binding of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--collection-name", + description: "Name of collection. Required for gremlin", + args: { name: "collection-name" }, + }, + { + name: "--database-name", + description: + "Name of database. Required for mongo, sql, gremlin", + args: { name: "database-name" }, + }, + { + name: "--key-space", + description: + "Cassandra key space. Required for cassandra", + args: { name: "key-space" }, + }, + ], + }, + ], + }, + { + name: "mysql", + description: + "Commands to manage Azure Database for MySQL bindings", + subcommands: [ + { + name: "add", + description: "Bind an Azure Database for MySQL with the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--database-name", + description: "Database name", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--key", + description: "API key of the service", + args: { name: "key" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-id", + description: + "Azure resource ID of the service to bind with", + args: { name: "resource-id" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--username", + description: "Username of the database", + args: { name: "username" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an Azure Database for MySQL service binding of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--database-name", + description: "Database name", + args: { name: "database-name" }, + }, + { + name: "--key", + description: "API key of the service", + args: { name: "key" }, + }, + { + name: "--username", + description: "Username of the database", + args: { name: "username" }, + }, + ], + }, + ], + }, + { + name: "redis", + description: "Commands to manage Azure Cache for Redis bindings", + subcommands: [ + { + name: "add", + description: "Bind an Azure Cache for Redis with the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--resource-id", + description: + "Azure resource ID of the service to bind with", + args: { name: "resource-id" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--disable-ssl", + description: "If true, disable SSL. If false, enable SSL", + }, + ], + }, + { + name: "update", + description: + "Update an Azure Cache for Redis service binding of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of service binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--disable-ssl", + description: "If true, disable SSL. If false, enable SSL", + }, + ], + }, + ], + }, + ], + }, + { + name: "custom-domain", + description: "Commands to manage custom domains", + subcommands: [ + { + name: "bind", + description: "Bind a custom domain with the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--certificate", + description: "Certificate name in Azure Spring Apps", + args: { name: "certificate" }, + }, + { + name: "--enable-ingress-to-app-tls", + description: "If true, enable ingress to app tls", + args: { + name: "enable-ingress-to-app-tls", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "list", + description: "List all custom domains of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a custom domain", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "unbind", + description: "Unbind a custom-domain of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a custom domain of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--certificate", + description: "Certificate name in Azure Spring Apps", + args: { name: "certificate" }, + }, + { + name: "--enable-ingress-to-app-tls", + description: "If true, enable ingress to app tls", + args: { + name: "enable-ingress-to-app-tls", + suggestions: ["false", "true"], + }, + }, + ], + }, + ], + }, + { + name: "deployment", + description: + "Commands to manage life cycle of deployments of an app in Azure Spring Apps. More operations on deployments can be done on app level with parameter --deployment. e.g. az spring app deploy --deployment", + subcommands: [ + { + name: "create", + description: + "Create a staging deployment for the app. To deploy code or update setting to an existing deployment, use az spring app deploy/update --deployment ", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of deployment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--apms", + description: + "(Enterprise Tier Only) Space-separated APM names", + args: { name: "apms" }, + }, + { + name: "--artifact-path", + description: + "Deploy the specified pre-built artifact (jar, war or netcore zip, war is in public preview)", + args: { name: "artifact-path" }, + }, + { + name: "--build-certificates", + description: + "(Enterprise Tier Only) Space-separated certificate names, the certificates are used during build time", + args: { name: "build-certificates" }, + }, + { + name: "--build-env", + description: + "Space-separated environment variables in 'key[=value]' format", + args: { name: "build-env" }, + }, + { + name: "--builder", + description: + "(Enterprise Tier Only) Build service builder used to build the executable", + args: { name: "builder" }, + }, + { + name: "--config-file-patterns", + description: + "(Enterprise Tier Only) Config file patterns separated with ',' to decide which patterns of Application Configuration Service will be used. Use '\"\"' to clear existing configurations", + args: { name: "config-file-patterns" }, + }, + { + name: "--container-args", + description: "The arguments of the container image", + args: { name: "container-args" }, + }, + { + name: "--container-command", + description: "The command of the container image", + args: { name: "container-command" }, + }, + { + name: "--container-image", + description: "The container image tag", + args: { name: "container-image" }, + }, + { + name: "--container-registry", + description: "The registry of the container image", + args: { name: "container-registry" }, + }, + { + name: "--cpu", + description: + "CPU resource quantity. Should be 250m, 500m, 750m, 1250m or number of CPU cores", + args: { name: "cpu" }, + }, + { + name: "--disable-app-log", + description: + "Do not print application logs when deploy application", + }, + { + name: "--disable-probe", + description: + "If true, disable the liveness and readiness probe", + args: { + name: "disable-probe", + suggestions: ["false", "true"], + }, + }, + { + name: "--disable-validation", + description: "If true, disable jar validation", + args: { + name: "disable-validation", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-liveness-probe", + description: + "If false, will disable the liveness probe of the app instance", + args: { + name: "enable-liveness-probe", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-readiness-probe", + description: + "If false, will disable the readiness probe of the app instance", + args: { + name: "enable-readiness-probe", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-startup-probe", + description: + "If false, will disable the startup probe of the app instance", + args: { + name: "enable-startup-probe", + suggestions: ["false", "true"], + }, + }, + { + name: "--env", + description: + "Space-separated environment variables in 'key[=value]' format", + args: { name: "env" }, + }, + { + name: [ + "--termination-grace-period-seconds", + "--grace-period", + ], + description: + "Optional duration in seconds the app instance needs to terminate gracefully", + args: { name: "termination-grace-period-seconds" }, + }, + { + name: "--instance-count", + description: "Number of instance", + args: { name: "instance-count" }, + }, + { + name: "--jvm-options", + description: + "A string containing jvm options, use '=' instead of ' ' for this argument to avoid bash parse error, eg: --jvm-options='-Xms1024m -Xmx2048m'", + args: { name: "jvm-options" }, + }, + { + name: "--language-framework", + description: + 'Language framework of the container image uploaded. Supported values: "springboot", ""', + args: { name: "language-framework" }, + }, + { + name: "--liveness-probe-config", + description: + "A json file path indicates the liveness probe config", + args: { name: "liveness-probe-config" }, + }, + { + name: ["--main-entry", "-m"], + description: + "A string containing the path to the .NET executable relative to zip root", + args: { name: "main-entry" }, + }, + { + name: "--max-replicas", + description: "The maximum number of replicas", + args: { name: "max-replicas" }, + }, + { + name: "--memory", + description: + "Memory resource quantity. Should be 512Mi, 1536Mi, 2560Mi, 3584Mi or #Gi, e.g., 1Gi, 3Gi", + args: { name: "memory" }, + }, + { + name: "--min-replicas", + description: "The minimum number of replicas", + args: { name: "min-replicas" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--readiness-probe-config", + description: + "A json file path indicates the readiness probe config", + args: { name: "readiness-probe-config" }, + }, + { + name: "--registry-password", + description: "The password of the container registry", + args: { name: "registry-password" }, + }, + { + name: "--registry-username", + description: "The username of the container registry", + args: { name: "registry-username" }, + }, + { + name: "--runtime-version", + description: "Runtime version of used language", + args: { + name: "runtime-version", + suggestions: ["Java_11", "Java_17", "Java_8", "NetCore_31"], + }, + }, + { + name: ["--scale-rule-auth", "--sra"], + description: + 'Scale rule auth parameters. Format "=" and separated by space', + args: { name: "scale-rule-auth" }, + }, + { + name: [ + "--scale-rule-http-concurrency", + "--scale-rule-tcp-concurrency", + "--srhc", + "--srtc", + ], + description: + "The maximum number of concurrent requests before scale out. Only supported for http and tcp scale rules", + args: { name: "scale-rule-http-concurrency" }, + }, + { + name: ["--scale-rule-metadata", "--srm"], + description: + 'Scale rule metadata. Format "key[=value]" and separated by space', + args: { name: "scale-rule-metadata" }, + }, + { + name: ["--scale-rule-name", "--srn"], + description: "The name of the scale rule", + args: { name: "scale-rule-name" }, + }, + { + name: ["--scale-rule-type", "--srt"], + description: "The type of the scale rule. Default: http", + args: { name: "scale-rule-type" }, + }, + { + name: "--server-version", + description: + "(Standard and Basic Tiers Only) Tomcat server version. List all supported server versions by running az spring list-support-server-versions -o table. This feature is in public preview", + args: { name: "server-version" }, + }, + { + name: "--skip-clone-settings", + description: + "Create staging deployment will automatically copy settings from production deployment", + }, + { + name: "--source-path", + description: + "Deploy the specified source folder. The folder will be packed into tar, uploaded, and built using kpack. Default to the current folder if no value provided", + args: { name: "source-path" }, + }, + { + name: "--startup-probe-config", + description: + "A json file path indicates the startup probe config", + args: { name: "startup-probe-config" }, + }, + { + name: "--target-module", + description: + "Child module to be deployed, required for multiple jar packages built from source code", + args: { name: "target-module" }, + }, + { + name: "--version", + description: "Deployment version, keep unchanged if not set", + args: { name: "version" }, + }, + ], + }, + { + name: "delete", + description: "Delete a deployment of the app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of deployment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "generate-heap-dump", + description: + "Generate a heap dump of your target app instance to given file path", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--app-instance", + description: "Target app instance you want to dump", + args: { name: "app-instance" }, + isRequired: true, + }, + { + name: "--file-path", + description: "The mount file path for your dump file", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + ], + }, + { + name: "generate-thread-dump", + description: + "Generate a thread dump of your target app instance to given file path", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--app-instance", + description: "Target app instance you want to dump", + args: { name: "app-instance" }, + isRequired: true, + }, + { + name: "--file-path", + description: "The mount file path for your dump file", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + ], + }, + { + name: "list", + description: "List all deployments in an app", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a deployment", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of deployment", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "start-jfr", + description: + "Start a JFR on your target app instance to given file path", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: "--app-instance", + description: "Target app instance you want to dump", + args: { name: "app-instance" }, + isRequired: true, + }, + { + name: "--file-path", + description: "The mount file path for your dump file", + args: { name: "file-path" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: "--duration", + description: "Duration of JFR", + args: { name: "duration" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage an app's managed identities", + subcommands: [ + { + name: "assign", + description: + "Enable system-assigned managed identity or assign user-assigned managed identities to an app", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--role", + description: + "Role name or id the managed identity will be assigned", + args: { name: "role" }, + }, + { + name: "--scope", + description: "The scope the managed identity has access to", + args: { name: "scope" }, + }, + { + name: "--system-assigned", + description: + "Enable system-assigned managed identity on an app", + args: { + name: "system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: "--user-assigned", + description: + "Space-separated user-assigned managed identity resource IDs to assgin to an app", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "force-set", + description: "Force set managed identities on an app", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--system-assigned", + description: + 'Allowed values: ["enable", "disable"]. Use "enable" to enable or keep system-assigned managed identity. Use "disable" to remove system-assigned managed identity', + args: { name: "system-assigned" }, + isRequired: true, + }, + { + name: "--user-assigned", + description: + 'Allowed values: ["disable", space-separated user-assigned managed identity resource IDs]. Use "disable" to remove all user-assigned managed identities, use resource IDs to assign or keep user-assigned managed identities', + args: { name: "user-assigned" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove managed identity from an app", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--system-assigned", + description: "Remove system-assigned managed identity", + args: { + name: "system-assigned", + suggestions: ["false", "true"], + }, + }, + { + name: "--user-assigned", + description: + "Space-separated user-assigned managed identity resource IDs to remove. If no ID is provided, remove ALL user-assigned managed identities", + args: { name: "user-assigned" }, + }, + ], + }, + { + name: "show", + description: "Display app's managed identity info", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "log", + description: + "Commands to tail app instances logs with multiple options. If the app has only one instance, the instance name is optional", + subcommands: [ + { + name: "tail", + description: + "Show logs of an app instance, logs will be streamed when setting '-f/--follow'", + options: [ + { + name: ["--name", "-n"], + description: + "The name of app running in the specified Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + { + name: ["--follow", "-f", ""], + description: "Specify if the logs should be streamed", + }, + { + name: "--format-json", + description: "Format JSON logs if structured log is enabled", + args: { name: "format-json" }, + }, + { + name: ["--instance", "-i"], + description: "Name of an existing instance of the deployment", + args: { name: "instance" }, + }, + { + name: "--limit", + description: + "Maximum kilobytes of logs to return. Ceiling number is 2048", + args: { name: "limit" }, + }, + { + name: "--lines", + description: "Number of lines to show. Maximum is 10000", + args: { name: "lines" }, + }, + { + name: "--since", + description: + "Only return logs newer than a relative duration like 5s, 2m, or 1h. Maximum is 1h", + args: { name: "since" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "app-insights", + description: + "Commands to management Application Insights in Azure Spring Apps", + subcommands: [ + { + name: "show", + description: "Show Application Insights settings", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update Application Insights settings", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--app-insights", + description: + "Name of the existing Application Insights in the same Resource Group. Or Resource ID of the existing Application Insights in a different Resource Group", + args: { name: "app-insights" }, + }, + { + name: "--app-insights-key", + description: + "Connection string (recommended) or Instrumentation key of the existing Application Insights", + args: { name: "app-insights-key" }, + }, + { + name: "--disable", + description: "Disable Application Insights", + args: { name: "disable", suggestions: ["false", "true"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--sampling-rate", + description: + "Sampling Rate of application insights. Maximum is 100", + args: { name: "sampling-rate" }, + }, + ], + }, + ], + }, + { + name: "application-accelerator", + description: + "(Enterprise Tier Only) Commands to manage Application Accelerator in Azure Spring Apps", + subcommands: [ + { + name: "create", + description: + "(Enterprise Tier Only) Create Application Accelerator in Azure Spring Apps instance", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: + "(Enterprise Tier Only) Delete Application Accelerator from Azure Spring Apps instance", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "(Enterprise Tier Only) Show the settings, provisioning status and runtime status of Application Accelerator", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "customized-accelerator", + description: + "(Enterprise Tier Only) Commands to manage customized accelerator in Azure Spring Apps", + subcommands: [ + { + name: "create", + description: + "(Enterprise Tier Only) Create a customized accelerator", + options: [ + { + name: "--display-name", + description: "Display name for customized accelerator", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--git-url", + description: "Git URL", + args: { name: "git-url" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name for customized accelerator", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--accelerator-tags", + description: + "Comma-separated list of tags on the customized accelerator", + args: { name: "accelerator-tags" }, + }, + { + name: "--ca-cert-name", + description: "CA certificate name", + args: { name: "ca-cert-name" }, + }, + { + name: "--description", + description: "Description for customized accelerator", + args: { name: "description" }, + }, + { + name: "--git-branch", + description: "Git repository branch to be used", + args: { name: "git-branch" }, + }, + { + name: "--git-commit", + description: "Git repository commit to be used", + args: { name: "git-commit" }, + }, + { + name: "--git-interval", + description: + "Interval in seconds for checking for updates to Git or image repository", + args: { name: "git-interval" }, + }, + { + name: "--git-sub-path", + description: + "Folder path inside the git repository to consider as the root of the accelerator or fragment", + args: { name: "git-sub-path" }, + }, + { + name: "--git-tag", + description: "Git repository tag to be used", + args: { name: "git-tag" }, + }, + { + name: "--host-key", + description: "Public SSH Key of git repository", + args: { name: "host-key" }, + }, + { + name: "--host-key-algorithm", + description: "SSH Key algorithm of git repository", + args: { name: "host-key-algorithm" }, + }, + { + name: "--icon-url", + description: "Icon url for customized accelerator", + args: { name: "icon-url" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--password", + description: "Password of git repository basic auth", + args: { name: "password" }, + }, + { + name: "--private-key", + description: "Private SSH Key algorithm of git repository", + args: { name: "private-key" }, + }, + { + name: "--type", + description: "Type of customized accelerator", + args: { + name: "type", + suggestions: ["Accelerator", "Fragment"], + }, + }, + { + name: "--username", + description: "Username of git repository basic auth", + args: { name: "username" }, + }, + ], + }, + { + name: "delete", + description: + "(Enterprise Tier Only) Delete a customized accelerator", + options: [ + { + name: ["--name", "-n"], + description: "Name for customized accelerator", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: + "(Enterprise Tier Only) List all existing customized accelerators", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "(Enterprise Tier Only) Show the settings, provisioning status and runtime status of customized accelerator", + options: [ + { + name: ["--name", "-n"], + description: "Name for customized accelerator", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "sync-cert", + description: + "(Enterprise Tier Only) Sync certificate of a customized accelerator", + options: [ + { + name: ["--name", "-n"], + description: "Name for customized accelerator", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "update", + description: + "(Enterprise Tier Only) Update a customized accelerator", + options: [ + { + name: "--display-name", + description: "Display name for customized accelerator", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: "--git-url", + description: "Git URL", + args: { name: "git-url" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name for customized accelerator", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--accelerator-tags", + description: + "Comma-separated list of tags on the customized accelerator", + args: { name: "accelerator-tags" }, + }, + { + name: "--ca-cert-name", + description: "CA certificate name", + args: { name: "ca-cert-name" }, + }, + { + name: "--description", + description: "Description for customized accelerator", + args: { name: "description" }, + }, + { + name: "--git-branch", + description: "Git repository branch to be used", + args: { name: "git-branch" }, + }, + { + name: "--git-commit", + description: "Git repository commit to be used", + args: { name: "git-commit" }, + }, + { + name: "--git-interval", + description: + "Interval in seconds for checking for updates to Git or image repository", + args: { name: "git-interval" }, + }, + { + name: "--git-sub-path", + description: + "Folder path inside the git repository to consider as the root of the accelerator or fragment", + args: { name: "git-sub-path" }, + }, + { + name: "--git-tag", + description: "Git repository tag to be used", + args: { name: "git-tag" }, + }, + { + name: "--host-key", + description: "Public SSH Key of git repository", + args: { name: "host-key" }, + }, + { + name: "--host-key-algorithm", + description: "SSH Key algorithm of git repository", + args: { name: "host-key-algorithm" }, + }, + { + name: "--icon-url", + description: "Icon url for customized accelerator", + args: { name: "icon-url" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--password", + description: "Password of git repository basic auth", + args: { name: "password" }, + }, + { + name: "--private-key", + description: "Private SSH Key algorithm of git repository", + args: { name: "private-key" }, + }, + { + name: "--type", + description: "Type of customized accelerator", + args: { + name: "type", + suggestions: ["Accelerator", "Fragment"], + }, + }, + { + name: "--username", + description: "Username of git repository basic auth", + args: { name: "username" }, + }, + ], + }, + ], + }, + { + name: "predefined-accelerator", + description: + "(Enterprise Tier Only) Commands to manage predefined accelerator in Azure Spring Apps", + subcommands: [ + { + name: "disable", + description: + "(Enterprise Tier Only) Disable a predefined accelerator", + options: [ + { + name: ["--name", "-n"], + description: "Name for predefined accelerator", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "enable", + description: + "(Enterprise Tier Only) Enable a predefined accelerator", + options: [ + { + name: ["--name", "-n"], + description: "Name for predefined accelerator", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: + "(Enterprise Tier Only) List all existing predefined accelerators", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "(Enterprise Tier Only) Show the settings, provisioning status and runtime status of predefined accelerator", + options: [ + { + name: ["--name", "-n"], + description: "Name for predefined accelerator", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "application-configuration-service", + description: + "(Enterprise Tier Only) Commands to manage Application Configuration Service in Azure Spring Apps", + subcommands: [ + { + name: "bind", + description: "Bind an app to Application Configuration Service", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "clear", + description: "Reset all Application Configuration Service settings", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create Application Configuration Service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--generation", + description: "Generation of Application Configuration Service", + args: { name: "generation", suggestions: ["Gen1", "Gen2"] }, + }, + ], + }, + { + name: "delete", + description: "Delete Application Configuration Service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Show the provisioning status, runtime status, and settings of Application Configuration Service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "unbind", + description: "Unbind an app from Application Configuration Service", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update Application Configuration Service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--generation", + description: "Generation of Application Configuration Service", + args: { name: "generation", suggestions: ["Gen1", "Gen2"] }, + }, + ], + }, + { + name: "git", + description: + "Commands to manage Application Configuration Service git property in Azure Spring Apps", + subcommands: [ + { + name: "repo", + description: + "Commands to manage Application Configuration Service git repository in Azure Spring Apps", + subcommands: [ + { + name: "add", + description: + "Add a Git property to the Application Configuration Service settings", + options: [ + { + name: "--label", + description: + "Required branch name to search in the Git repository", + args: { name: "label" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Required unique name to label each item of git configs", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--patterns", + description: + "Required patterns used to search in Git repositories. For each pattern, use format like {application} or {application}/{profile} instead of {application}-{profile}.yml, and separate them by comma", + args: { name: "patterns" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--uri", + description: "Required Git URI", + args: { name: "uri" }, + isRequired: true, + }, + { + name: "--ca-cert-name", + description: "CA certificate name", + args: { name: "ca-cert-name" }, + }, + { + name: "--host-key", + description: "Host key of the added config", + args: { name: "host-key" }, + }, + { + name: "--host-key-algorithm", + description: "Host key algorithm of the added config", + args: { name: "host-key-algorithm" }, + }, + { + name: "--host-key-check", + description: + "Strict host key checking of the added config which is used in SSH authentication. If false, ignore errors with host key", + args: { name: "host-key-check" }, + }, + { + name: "--password", + description: "Password of the added config", + args: { name: "password" }, + }, + { + name: "--private-key", + description: "Private_key of the added config", + args: { name: "private-key" }, + }, + { + name: "--search-paths", + description: + "Search_paths of the added config, use , as delimiter for multiple paths", + args: { name: "search-paths" }, + }, + { + name: "--username", + description: "Username of the added config", + args: { name: "username" }, + }, + ], + }, + { + name: "list", + description: + "List all Git settings of Application Configuration Service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: + "Delete an existing Git property from the Application Configuration Service settings", + options: [ + { + name: ["--name", "-n"], + description: + "Required unique name to label each item of git configs", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an existing Git property in the Application Configuration Service settings", + options: [ + { + name: ["--name", "-n"], + description: + "Required unique name to label each item of git configs", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--ca-cert-name", + description: "CA certificate name", + args: { name: "ca-cert-name" }, + }, + { + name: "--host-key", + description: "Host key of the added config", + args: { name: "host-key" }, + }, + { + name: "--host-key-algorithm", + description: "Host key algorithm of the added config", + args: { name: "host-key-algorithm" }, + }, + { + name: "--host-key-check", + description: + "Strict host key checking of the added config which is used in SSH authentication. If false, ignore errors with host key", + args: { name: "host-key-check" }, + }, + { + name: "--label", + description: + "Required branch name to search in the Git repository", + args: { name: "label" }, + }, + { + name: "--password", + description: "Password of the added config", + args: { name: "password" }, + }, + { + name: "--patterns", + description: + "Required patterns used to search in Git repositories. For each pattern, use format like {application} or {application}/{profile} instead of {application}-{profile}.yml, and separate them by comma", + args: { name: "patterns" }, + }, + { + name: "--private-key", + description: "Private_key of the added config", + args: { name: "private-key" }, + }, + { + name: "--search-paths", + description: + "Search_paths of the added config, use , as delimiter for multiple paths", + args: { name: "search-paths" }, + }, + { + name: "--uri", + description: "Required Git URI", + args: { name: "uri" }, + }, + { + name: "--username", + description: "Username of the added config", + args: { name: "username" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "application-live-view", + description: + "(Enterprise Tier Only) Commands to manage Application Live View in Azure Spring Apps. Application Live View presents application instance metrics, and makes it easy for developers to monitor application runtimes", + subcommands: [ + { + name: "create", + description: "Create Application Live View", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete Application Live View", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Show the provisioning state, running status and settings of Application Live View", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "build-service", + description: + "(Enterprise Tier Only) Commands to manage build service in Azure Spring Apps", + subcommands: [ + { + name: "show", + description: "Show the build service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update the build service", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--registry-name", + description: "The container registry name", + args: { name: "registry-name" }, + }, + ], + }, + { + name: "build", + description: + "(Enterprise Tier Only) Commands to manage Build Resource", + subcommands: [ + { + name: "create", + description: "Create a build", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--apms", + description: "Space-separated APM names", + args: { name: "apms" }, + }, + { + name: "--artifact-path", + description: + "Deploy the specified pre-built artifact (jar or netcore zip)", + args: { name: "artifact-path" }, + }, + { + name: "--build-cpu", + description: + "CPU resource quantity. Should be 500m or number of CPU cores", + args: { name: "build-cpu" }, + }, + { + name: "--build-env", + description: + "Space-separated environment variables in 'key[=value]' format", + args: { name: "build-env" }, + }, + { + name: "--build-memory", + description: + "Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi", + args: { name: "build-memory" }, + }, + { + name: "--builder", + description: "The builder name used to build the executable", + args: { name: "builder" }, + }, + { + name: "--certificates", + description: "Space-separated certificate names", + args: { name: "certificates" }, + }, + { + name: "--disable-validation", + description: "If true, disable jar validation", + args: { + name: "disable-validation", + suggestions: ["false", "true"], + }, + }, + { + name: ["--name", "-n"], + description: "The build name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--source-path", + description: + "Deploy the specified source folder. The folder will be packed into tar, uploaded, and built using kpack. Default to the current folder if no value provided", + args: { name: "source-path" }, + }, + ], + }, + { + name: "delete", + description: "Delete a build", + options: [ + { + name: ["--name", "-n"], + description: "The build name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List builds", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a build", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The build name", + args: { name: "name" }, + }, + ], + }, + { + name: "update", + description: "Update a build", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--apms", + description: "Space-separated APM names", + args: { name: "apms" }, + }, + { + name: "--artifact-path", + description: + "Deploy the specified pre-built artifact (jar or netcore zip)", + args: { name: "artifact-path" }, + }, + { + name: "--build-cpu", + description: + "CPU resource quantity. Should be 500m or number of CPU cores", + args: { name: "build-cpu" }, + }, + { + name: "--build-env", + description: + "Space-separated environment variables in 'key[=value]' format", + args: { name: "build-env" }, + }, + { + name: "--build-memory", + description: + "Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi", + args: { name: "build-memory" }, + }, + { + name: "--builder", + description: "The builder name used to build the executable", + args: { name: "builder" }, + }, + { + name: "--certificates", + description: "Space-separated certificate names", + args: { name: "certificates" }, + }, + { + name: "--disable-validation", + description: "If true, disable jar validation", + args: { + name: "disable-validation", + suggestions: ["false", "true"], + }, + }, + { + name: ["--name", "-n"], + description: "The build name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--source-path", + description: + "Deploy the specified source folder. The folder will be packed into tar, uploaded, and built using kpack. Default to the current folder if no value provided", + args: { name: "source-path" }, + }, + ], + }, + { + name: "result", + description: + "(Enterprise Tier Only) Commands to view Build Result Resource", + subcommands: [ + { + name: "list", + description: "List build results", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--build-name", + description: "The build name of the result", + args: { name: "build-name" }, + }, + ], + }, + { + name: "show", + description: "Show a build result", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--build-name", + description: "The build name of the result", + args: { name: "build-name" }, + }, + { + name: ["--name", "-n"], + description: "The build result name", + args: { name: "name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "builder", + description: + "(Enterprise Tier Only) Commands to manage builder of build service", + subcommands: [ + { + name: "create", + description: "Create a builder", + options: [ + { + name: ["--name", "-n"], + description: "The builder name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--builder-file", + description: "The file path of JSON array of builder", + args: { name: "builder-file" }, + }, + { + name: "--builder-json", + description: "The JSON array of builder", + args: { name: "builder-json" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a builder", + options: [ + { + name: ["--name", "-n"], + description: "The builder name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show a builder", + options: [ + { + name: ["--name", "-n"], + description: "The builder name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show-deployments", + description: "Show deployments", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a builder", + options: [ + { + name: ["--name", "-n"], + description: "The builder name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--builder-file", + description: "The file path of JSON array of builder", + args: { name: "builder-file" }, + }, + { + name: "--builder-json", + description: "The JSON array of builder", + args: { name: "builder-json" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "buildpack-binding", + description: + "(Enterprise Tier Only) Commands to manage buildpack-binding of builder", + subcommands: [ + { + name: "create", + description: + "(Enterprise Tier Only) Create a buildpack binding", + options: [ + { + name: ["--name", "-n"], + description: "Name for buildpack binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--type", + description: "Required type for buildpack binding", + args: { + name: "type", + suggestions: [ + "ApacheSkyWalking", + "AppDynamics", + "ApplicationInsights", + "CACertificates", + "Dynatrace", + "ElasticAPM", + "NewRelic", + ], + }, + isRequired: true, + }, + { + name: "--builder-name", + description: "The name for builder", + args: { name: "builder-name" }, + }, + { + name: "--properties", + description: + 'Non-sensitive properties for launchProperties. Format "key[=value]"', + args: { name: "properties" }, + }, + { + name: "--secrets", + description: + 'Sensitive properties for launchProperties. Once put, it will be encrypted and never return to user. Format "key[=value]"', + args: { name: "secrets" }, + }, + ], + }, + { + name: "delete", + description: + "(Enterprise Tier Only) Delete a buildpack binding", + options: [ + { + name: ["--name", "-n"], + description: "Name for buildpack binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--builder-name", + description: "The name for builder", + args: { name: "builder-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "(Enterprise Tier Only) List all buildpack binding in a builder. The secrets will be masked", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--builder-name", + description: "The name for builder", + args: { name: "builder-name" }, + }, + ], + }, + { + name: "set", + description: "(Enterprise Tier Only) Set a buildpack binding", + options: [ + { + name: ["--name", "-n"], + description: "Name for buildpack binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--type", + description: "Required type for buildpack binding", + args: { + name: "type", + suggestions: [ + "ApacheSkyWalking", + "AppDynamics", + "ApplicationInsights", + "CACertificates", + "Dynatrace", + "ElasticAPM", + "NewRelic", + ], + }, + isRequired: true, + }, + { + name: "--builder-name", + description: "The name for builder", + args: { name: "builder-name" }, + }, + { + name: "--properties", + description: + 'Non-sensitive properties for launchProperties. Format "key[=value]"', + args: { name: "properties" }, + }, + { + name: "--secrets", + description: + 'Sensitive properties for launchProperties. Once put, it will be encrypted and never return to user. Format "key[=value]"', + args: { name: "secrets" }, + }, + ], + }, + { + name: "show", + description: + "(Enterprise Tier Only) Show a buildpack binding. The secrets will be masked", + options: [ + { + name: ["--name", "-n"], + description: "Name for buildpack binding", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--builder-name", + description: "The name for builder", + args: { name: "builder-name" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "certificate", + description: "Commands to manage certificates", + subcommands: [ + { + name: "add", + description: "Add a certificate in Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "Name of certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--enable-auto-sync", + description: + "Whether to automatically synchronize certificate from key vault", + }, + { + name: "--only-public-cert", + description: + "If true, only import public certificate part from key vault", + }, + { + name: ["--public-certificate-file", "-f"], + description: + "A file path for the public certificate to be uploaded", + args: { name: "public-certificate-file" }, + }, + { + name: "--vault-certificate-name", + description: "The certificate name in key vault", + args: { name: "vault-certificate-name" }, + }, + { + name: "--vault-uri", + description: "The key vault uri where store the certificate", + args: { name: "vault-uri" }, + }, + ], + }, + { + name: "list", + description: "List all certificates in Azure Spring Apps", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--certificate-type", + description: "Type of uploaded certificate", + args: { + name: "certificate-type", + suggestions: ["ContentCertificate", "KeyVaultCertificate"], + }, + }, + ], + }, + { + name: "list-reference-app", + description: + "List all the apps reference an existing certificate in the Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "Name of certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a certificate in Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "Name of certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a certificate in Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "Name of certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a certificate in Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "Name of certificate", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--enable-auto-sync", + description: + "Whether to automatically synchronize certificate from key vault", + args: { + name: "enable-auto-sync", + suggestions: ["false", "true"], + }, + }, + ], + }, + ], + }, + { + name: "config-server", + description: + "(Support Standard Tier and Basic Tier) Commands to manage Config Server in Azure Spring Apps", + subcommands: [ + { + name: "clear", + description: "Erase all settings in Config Server", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "disable", + description: + "(Support Standard consumption Tier) Disable Config Server", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "enable", + description: + "(Support Standard consumption Tier) Enable Config Server", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Set Config Server from a yaml file", + options: [ + { + name: "--config-file", + description: + "A yaml file path for the configuration of Spring Cloud config server", + args: { name: "config-file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: "Show Config Server", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "git", + description: + "Commands to manage Config Server git property in Azure Spring Apps", + subcommands: [ + { + name: "set", + description: + "Set git property of Config Server, will totally override the old one", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--uri", + description: "Uri of the added config", + args: { name: "uri" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--host-key", + description: "Host key of the added config", + args: { name: "host-key" }, + }, + { + name: "--host-key-algorithm", + description: "Host key algorithm of the added config", + args: { name: "host-key-algorithm" }, + }, + { + name: ["--strict-host-key-checking", "--host-key-check"], + description: "Strict_host_key_checking of the added config", + args: { name: "strict-host-key-checking" }, + }, + { + name: "--label", + description: "Label of the added config", + args: { name: "label" }, + }, + { + name: "--password", + description: "Password of the added config", + args: { name: "password" }, + }, + { + name: "--private-key", + description: "Private_key of the added config", + args: { name: "private-key" }, + }, + { + name: "--search-paths", + description: + "Search_paths of the added config, use , as delimiter for multiple paths", + args: { name: "search-paths" }, + }, + { + name: "--username", + description: "Username of the added config", + args: { name: "username" }, + }, + ], + }, + { + name: "repo", + description: + "Commands to manage Config Server git repository in Azure Spring Apps", + subcommands: [ + { + name: "add", + description: + "Add a new repository of git property of Config Server", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--repo-name", + description: "Name of the repo", + args: { name: "repo-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--uri", + description: "Uri of the added config", + args: { name: "uri" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--host-key", + description: "Host key of the added config", + args: { name: "host-key" }, + }, + { + name: "--host-key-algorithm", + description: "Host key algorithm of the added config", + args: { name: "host-key-algorithm" }, + }, + { + name: ["--strict-host-key-checking", "--host-key-check"], + description: + "Strict_host_key_checking of the added config", + args: { name: "strict-host-key-checking" }, + }, + { + name: "--label", + description: "Label of the added config", + args: { name: "label" }, + }, + { + name: "--password", + description: "Password of the added config", + args: { name: "password" }, + }, + { + name: "--pattern", + description: + "Pattern of the repo, use , as delimiter for multiple patterns", + args: { name: "pattern" }, + }, + { + name: "--private-key", + description: "Private_key of the added config", + args: { name: "private-key" }, + }, + { + name: "--search-paths", + description: + "Search_paths of the added config, use , as delimiter for multiple paths", + args: { name: "search-paths" }, + }, + { + name: "--username", + description: "Username of the added config", + args: { name: "username" }, + }, + ], + }, + { + name: "list", + description: + "List all repositories of git property of Config Server", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + ], + }, + { + name: "remove", + description: + "Remove an existing repository of git property of Config Server", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--repo-name", + description: "Name of the repo", + args: { name: "repo-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + ], + }, + { + name: "update", + description: + "Override an existing repository of git property of Config Server, will totally override the old one", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--repo-name", + description: "Name of the repo", + args: { name: "repo-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--defer", + description: + "Temporarily store the object in the local cache instead of sending to Azure. Use az cache commands to view/clear", + args: { name: "defer" }, + }, + { + name: "--host-key", + description: "Host key of the added config", + args: { name: "host-key" }, + }, + { + name: "--host-key-algorithm", + description: "Host key algorithm of the added config", + args: { name: "host-key-algorithm" }, + }, + { + name: ["--strict-host-key-checking", "--host-key-check"], + description: + "Strict_host_key_checking of the added config", + args: { name: "strict-host-key-checking" }, + }, + { + name: "--label", + description: "Label of the added config", + args: { name: "label" }, + }, + { + name: "--password", + description: "Password of the added config", + args: { name: "password" }, + }, + { + name: "--pattern", + description: + "Pattern of the repo, use , as delimiter for multiple patterns", + args: { name: "pattern" }, + }, + { + name: "--private-key", + description: "Private_key of the added config", + args: { name: "private-key" }, + }, + { + name: "--search-paths", + description: + "Search_paths of the added config, use , as delimiter for multiple paths", + args: { name: "search-paths" }, + }, + { + name: "--uri", + description: "Uri of the added config", + args: { name: "uri" }, + }, + { + name: "--username", + description: "Username of the added config", + args: { name: "username" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "connection", + description: "Commands to manage spring app connections", + subcommands: [ + { + name: "delete", + description: "Delete a spring app connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List connections of a spring app", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + ], + }, + { + name: "list-configuration", + description: "List source configurations of a spring app connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + ], + }, + { + name: "list-support-types", + description: + "List client types and auth types supported by spring app connections", + options: [ + { + name: ["--target-type", "-t"], + description: "The target resource type", + args: { + name: "target-type", + suggestions: [ + "appconfig", + "confluent-cloud", + "cosmos-cassandra", + "cosmos-gremlin", + "cosmos-mongo", + "cosmos-sql", + "cosmos-table", + "eventhub", + "keyvault", + "mysql", + "mysql-flexible", + "postgres", + "postgres-flexible", + "redis", + "redis-enterprise", + "servicebus", + "signalr", + "sql", + "storage-blob", + "storage-file", + "storage-queue", + "storage-table", + "webpubsub", + ], + }, + }, + ], + }, + { + name: "show", + description: "Get the details of a spring app connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + ], + }, + { + name: "validate", + description: "Validate a spring app connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the connection is met", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "create", + description: + "Create a connection between a spring app and a target resource", + subcommands: [ + { + name: "appconfig", + description: "Create a spring app connection to appconfig", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--app-config", + description: + "Name of the app configuration. Required if '--target-id' is not specified", + args: { name: "app-config" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--app-config'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the app configuration. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "confluent-cloud", + description: "Create a spring app connection to confluent-cloud", + options: [ + { + name: "--bootstrap-server", + description: "Kafka bootstrap server url", + args: { name: "bootstrap-server" }, + isRequired: true, + }, + { + name: "--kafka-key", + description: "Kafka API-Key (key)", + args: { name: "kafka-key" }, + isRequired: true, + }, + { + name: "--kafka-secret", + description: "Kafka API-Key (secret)", + args: { name: "kafka-secret" }, + isRequired: true, + }, + { + name: "--schema-key", + description: "Schema registry API-Key (key)", + args: { name: "schema-key" }, + isRequired: true, + }, + { + name: "--schema-registry", + description: "Schema registry url", + args: { name: "schema-registry" }, + isRequired: true, + }, + { + name: "--schema-secret", + description: "Schema registry API-Key (secret)", + args: { name: "schema-secret" }, + isRequired: true, + }, + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-cassandra", + description: "Create a spring app connection to cosmos-cassandra", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--key-space", + description: + "Name of the keyspace. Required if '--target-id' is not specified", + args: { name: "key-space" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--key-space'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-gremlin", + description: "Create a spring app connection to cosmos-gremlin", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--graph", + description: + "Name of the graph. Required if '--target-id' is not specified", + args: { name: "graph" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database', '--graph'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-mongo", + description: "Create a spring app connection to cosmos-mongo", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-sql", + description: "Create a spring app connection to cosmos-sql", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-table", + description: "Create a spring app connection to cosmos-table", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--table", + description: + "Name of the table. Required if '--target-id' is not specified", + args: { name: "table" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--table'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "eventhub", + description: "Create a spring app connection to eventhub", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "kafka-springBoot", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--namespace", + description: + "Name of the eventhub namespace. Required if '--target-id' is not specified", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--namespace'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the eventhub. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "keyvault", + description: "Create a spring app connection to keyvault", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new keyvault when creating the spring connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--vault'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the keyvault. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault", + description: + "Name of the keyvault. Required if '--target-id' is not specified", + args: { name: "vault" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql", + description: "Create a spring app connection to mysql", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the mysql database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the mysql server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the mysql server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql-flexible", + description: "Create a spring app connection to mysql-flexible", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the mysql flexible database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the mysql flexible server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the mysql flexible server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres", + description: "Create a spring app connection to postgres", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of postgres database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new postgres when creating the spring connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of postgres server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the postgres service. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres-flexible", + description: + "Create a spring app connection to postgres-flexible", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of postgres flexible database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of postgres flexible server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the flexible postgres service. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis", + description: "Create a spring app connection to redis", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the redis database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the redis server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the redis server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis-enterprise", + description: "Create a spring app connection to redis-enterprise", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the redis enterprise database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the redis enterprise server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the redis server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "servicebus", + description: "Create a spring app connection to servicebus", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--namespace", + description: + "Name of the servicebus namespace. Required if '--target-id' is not specified", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--namespace'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the servicebus. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "signalr", + description: "Create a spring app connection to signalr", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: ["dotnet", "none"], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--signalr", + description: + "Name of the signalr service. Required if '--target-id' is not specified", + args: { name: "signalr" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--signalr'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the signalr. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "sql", + description: "Create a spring app connection to sql", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the sql database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the sql server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the sql server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-blob", + description: "Create a spring app connection to storage-blob", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new storage-blob when creating the spring connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-file", + description: "Create a spring app connection to storage-file", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-queue", + description: "Create a spring app connection to storage-queue", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-table", + description: "Create a spring app connection to storage-table", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "webpubsub", + description: "Create a spring app connection to webpubsub", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--webpubsub'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the webpubsub. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + { + name: "--webpubsub", + description: + "Name of the webpubsub service. Required if '--target-id' is not specified", + args: { name: "webpubsub" }, + }, + ], + }, + ], + }, + { + name: "update", + description: "Update a spring app connection", + subcommands: [ + { + name: "appconfig", + description: "Update a spring app to appconfig connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "confluent-cloud", + description: "Update a spring app to confluent-cloud connection", + options: [ + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + isRequired: true, + }, + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--bootstrap-server", + description: "Kafka bootstrap server url", + args: { name: "bootstrap-server" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--source-id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--kafka-key", + description: "Kafka API-Key (key)", + args: { name: "kafka-key" }, + }, + { + name: "--kafka-secret", + description: "Kafka API-Key (secret)", + args: { name: "kafka-secret" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--schema-key", + description: "Schema registry API-Key (key)", + args: { name: "schema-key" }, + }, + { + name: "--schema-registry", + description: "Schema registry url", + args: { name: "schema-registry" }, + }, + { + name: "--schema-secret", + description: "Schema registry API-Key (secret)", + args: { name: "schema-secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--source-id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--source-id", + description: + "The resource id of a spring. Required if ['--resource-group', '--service', '--app', '--deployment'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-cassandra", + description: "Update a spring app to cosmos-cassandra connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-gremlin", + description: "Update a spring app to cosmos-gremlin connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-mongo", + description: "Update a spring app to cosmos-mongo connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-sql", + description: "Update a spring app to cosmos-sql connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-table", + description: "Update a spring app to cosmos-table connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "eventhub", + description: "Update a spring app to eventhub connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "kafka-springBoot", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "keyvault", + description: "Update a spring app to keyvault connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql", + description: "Update a spring app to mysql connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql-flexible", + description: "Update a spring app to mysql-flexible connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres", + description: "Update a spring app to postgres connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres-flexible", + description: + "Update a spring app to postgres-flexible connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis", + description: "Update a spring app to redis connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis-enterprise", + description: "Update a spring app to redis-enterprise connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "servicebus", + description: "Update a spring app to servicebus connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "signalr", + description: "Update a spring app to signalr connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: ["dotnet", "none"], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "sql", + description: "Update a spring app to sql connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-blob", + description: "Update a spring app to storage-blob connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-file", + description: "Update a spring app to storage-file connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-queue", + description: "Update a spring app to storage-queue connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-table", + description: "Update a spring app to storage-table connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "webpubsub", + description: "Update a spring app to webpubsub connection", + options: [ + { + name: "--app", + description: + "Name of the app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "app" }, + }, + { + name: "--client-type", + description: "The client type used on the spring", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the spring connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--deployment", + description: + "Argument 'deployment' has been deprecated and will be removed in a future release. The deployment name of the app. Required if '--id' is not specified. Note: The default value of --deployment is deprecated and will be removed in a future release. Use --deployment default if you want stay in current behavior", + args: { name: "deployment" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--service', '--app', '--deployment', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains app in the Azure Spring Apps. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service", + description: + "Name of the the Azure Spring Apps resource. Required if '--id' is not specified.None", + args: { name: "service" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "container-registry", + description: + "(Enterprise Tier Only) Commands to manage Container Registry Resource", + subcommands: [ + { + name: "create", + description: "Create a container registry", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The container registry name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--password", + description: "The container registry password", + args: { name: "password" }, + }, + { + name: "--server", + description: "The container registry sever", + args: { name: "server" }, + }, + { + name: "--username", + description: "The container registry username", + args: { name: "username" }, + }, + ], + }, + { + name: "delete", + description: "Delete a container registry", + options: [ + { + name: ["--name", "-n"], + description: "The container registry name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all container registries", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a container registry", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The container registry name", + args: { name: "name" }, + }, + ], + }, + { + name: "update", + description: "Update a container registry", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The container registry name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--password", + description: "The container registry password", + args: { name: "password" }, + }, + { + name: "--server", + description: "The container registry sever", + args: { name: "server" }, + }, + { + name: "--username", + description: "The container registry username", + args: { name: "username" }, + }, + ], + }, + ], + }, + { + name: "create", + description: "Create an Azure Spring Apps instance", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--application-configuration-service-generation", "--acs-gen"], + description: + "(Enterprise Tier Only) Application Configuration Service Generation to enable", + args: { + name: "application-configuration-service-generation", + suggestions: ["Gen1", "Gen2"], + }, + }, + { + name: ["--api-portal-instance-count", "--ap-instance"], + description: "(Enterprise Tier Only) Number of API portal instances", + args: { name: "api-portal-instance-count" }, + }, + { + name: "--app-insights", + description: + "Name of the existing Application Insights in the same Resource Group. Or Resource ID of the existing Application Insights in a different Resource Group", + args: { name: "app-insights" }, + }, + { + name: "--app-insights-key", + description: + "Connection string (recommended) or Instrumentation key of the existing Application Insights", + args: { name: "app-insights-key" }, + }, + { + name: ["--app-network-resource-group", "--app-nrg"], + description: + "The resource group where all network resources for apps will be created in", + args: { name: "app-network-resource-group" }, + }, + { + name: "--app-subnet", + description: + 'The name or ID of an existing subnet in "vnet" into which to deploy the Spring Apps app. Required when deploying into a Virtual Network. Smaller subnet sizes are supported, please refer: https://aka.ms/azure-spring-cloud-smaller-subnet-vnet-docs', + args: { name: "app-subnet" }, + }, + { + name: "--build-pool-size", + description: + "(Enterprise Tier Only) Size of build agent pool. See https://aka.ms/azure-spring-cloud-build-service-docs for size info", + args: { + name: "build-pool-size", + suggestions: ["S1", "S2", "S3", "S4", "S5", "S6", "S7", "S8", "S9"], + }, + }, + { + name: "--disable-app-insights", + description: + "Disable Application Insights, if not disabled and no existing Application Insights specified with --app-insights-key or --app-insights, will create a new Application Insights instance in the same resource group", + args: { + name: "disable-app-insights", + suggestions: ["false", "true"], + }, + }, + { + name: "--disable-build-service", + description: "(Enterprise Tier Only) Disable build service", + }, + { + name: ["--enable-application-configuration-service", "--enable-acs"], + description: + "(Enterprise Tier Only) Enable Application Configuration Service", + }, + { + name: ["--enable-application-live-view", "--enable-alv"], + description: "(Enterprise Tier Only) Enable Application Live View", + }, + { + name: "--enable-api-portal", + description: "(Enterprise Tier Only) Enable API portal", + }, + { + name: ["--enable-application-accelerator", "--enable-app-acc"], + description: "(Enterprise Tier Only) Enable Application Accelerator", + }, + { + name: ["--enable-dataplane-public-endpoint", "--enable-dppa"], + description: + "If true, assign public endpoint for log streaming, remote debugging, app connect in vnet injection instance which could be accessed out of virtual network", + args: { + name: "enable-dataplane-public-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-gateway", + description: "(Enterprise Tier Only) Enable Spring Cloud Gateway", + }, + { + name: ["--enable-service-registry", "--enable-sr"], + description: "(Enterprise Tier Only) Enable Service Registry", + }, + { + name: "--gateway-instance-count", + description: + "(Enterprise Tier Only) Number of Spring Cloud Gateway instances", + args: { name: "gateway-instance-count" }, + }, + { + name: "--infra-resource-group", + description: + "The name of the resource group that contains the infrastructure resources", + args: { name: "infra-resource-group" }, + }, + { + name: "--ingress-read-timeout", + description: + "Ingress read timeout value in seconds. Default 300, Minimum is 1, maximum is 1800", + args: { name: "ingress-read-timeout" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--managed-environment", + description: + "The resource Id of the Container App Environment that the Spring Apps instance builds on", + args: { name: "managed-environment" }, + }, + { + name: "--marketplace-plan-id", + description: + "(Enterprise Tier Only) Specify a different Marketplace plan to purchase with Spring instance. List all plans by running az spring list-marketplace-plan -o table", + args: { name: "marketplace-plan-id" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--outbound-type", + description: "The outbound type of Azure Spring Apps VNet instance", + args: { name: "outbound-type" }, + }, + { + name: "--registry-password", + description: + "(Enterprise Tier Only) The container registry password used in build service", + args: { name: "registry-password" }, + }, + { + name: "--registry-server", + description: + "(Enterprise Tier Only) The container registry server used in build service", + args: { name: "registry-server" }, + }, + { + name: "--registry-username", + description: + "(Enterprise Tier Only) The container registry username used in build service", + args: { name: "registry-username" }, + }, + { + name: "--reserved-cidr-range", + description: + "Comma-separated list of IP address ranges in CIDR format. The IP ranges are reserved to host underlying Azure Spring Apps infrastructure, which should be 3 at least /16 unused IP ranges, must not overlap with any Subnet IP ranges", + args: { name: "reserved-cidr-range" }, + }, + { + name: "--sampling-rate", + description: + "Sampling Rate of application insights. Minimum is 0, maximum is 100", + args: { name: "sampling-rate" }, + }, + { + name: ["--service-runtime-network-resource-group", "--svc-nrg"], + description: + "The resource group where all network resources for Azure Spring Apps service runtime will be created in", + args: { name: "service-runtime-network-resource-group" }, + }, + { + name: ["--service-runtime-subnet", "--svc-subnet"], + description: + 'The name or ID of an existing subnet in "vnet" into which to deploy the Spring Apps service runtime. Required when deploying into a Virtual Network', + args: { name: "service-runtime-subnet" }, + }, + { + name: "--sku", + description: "Name of SKU", + args: { + name: "sku", + suggestions: ["Basic", "Enterprise", "Standard", "StandardGen2"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vnet", + description: + "The name or ID of an existing Virtual Network into which to deploy the Spring Apps instance", + args: { name: "vnet" }, + }, + { + name: "--zone-redundant", + description: + "Create your Azure Spring Apps service in an Azure availability zone or not, this could only be supported in several regions at the moment", + }, + ], + }, + { + name: "delete", + description: "Delete an Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "flush-virtualnetwork-dns-settings", + description: + "(Standard and Enterprise Tier Only) Flush Virtual network DNS setting for Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: + "List all Azure Spring Apps in the given resource group, otherwise list the subscription's", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-marketplace-plan", + description: + "(Enterprise Tier Only) List Marketplace plan to be purchased", + }, + { + name: "list-support-server-versions", + description: + "(Standard and Basic Tier Only) List supported server versions", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the details for an Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "start", + description: "Start an Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "stop", + description: "Stop an Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "update", + description: "Update an Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--build-pool-size", + description: + "(Enterprise Tier Only) Size of build agent pool. See https://aka.ms/azure-spring-cloud-build-service-docs for size info", + args: { + name: "build-pool-size", + suggestions: ["S1", "S2", "S3", "S4", "S5", "S6", "S7", "S8", "S9"], + }, + }, + { + name: ["--enable-dataplane-public-endpoint", "--enable-dppa"], + description: + "If true, assign public endpoint for log streaming, remote debugging, app connect in vnet injection instance which could be accessed out of virtual network", + args: { + name: "enable-dataplane-public-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--ingress-read-timeout", + description: + "Ingress read timeout value in seconds. Minimum is 1, maximum is 1800", + args: { name: "ingress-read-timeout" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--sku", + description: "Name of SKU", + args: { + name: "sku", + suggestions: ["Basic", "Enterprise", "Standard", "StandardGen2"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "dev-tool", + description: + "(Enterprise Tier Only) Commands to manage Dev Tools in Azure Spring Apps. The Dev Tools Portal is an underlying application that hosts the developer tools", + subcommands: [ + { + name: "create", + description: "Create Dev Tool Portal", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--assign-endpoint", + description: "If true, assign endpoint URL for direct access", + }, + { + name: "--client-id", + description: "The public identifier for the application", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: + "The secret known only to the application and the authorization server", + args: { name: "client-secret" }, + }, + { + name: "--metadata-url", + description: "The URI of Issuer Identifier", + args: { name: "metadata-url" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--scopes", + description: + "Comma-separated list of the specific actions applications can be allowed to do on a user's behalf", + args: { name: "scopes" }, + }, + ], + }, + { + name: "delete", + description: "Delete Dev Tool Portal", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Show the provisioning state, running status and settings of Dev Tool Portal", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update Dev Tool Portal", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--assign-endpoint", + description: "If true, assign endpoint URL for direct access", + args: { name: "assign-endpoint", suggestions: ["false", "true"] }, + }, + { + name: "--client-id", + description: "The public identifier for the application", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: + "The secret known only to the application and the authorization server", + args: { name: "client-secret" }, + }, + { + name: "--metadata-url", + description: "The URI of Issuer Identifier", + args: { name: "metadata-url" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--scopes", + description: + "Comma-separated list of the specific actions applications can be allowed to do on a user's behalf", + args: { name: "scopes" }, + }, + ], + }, + ], + }, + { + name: "eureka-server", + description: + "(Support Standard consumption Tier) Commands to manage Eureka Server in Azure Spring Apps", + subcommands: [ + { + name: "disable", + description: + "(Support Standard consumption Tier) Disable Eureka Server", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "enable", + description: + "(Support Standard consumption Tier) Enable Eureka Server", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "(Support Standard consumption Tier) Show Eureka Server", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "gateway", + description: + "(Enterprise Tier Only) Commands to manage gateway in Azure Spring Apps", + subcommands: [ + { + name: "clear", + description: "Clear all settings of gateway", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "create", + description: "Create Spring Cloud Gateway", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--instance-count", + description: "Number of instance", + args: { name: "instance-count" }, + }, + ], + }, + { + name: "delete", + description: "Delete Spring Cloud Gateway", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "restart", + description: "Restart Spring Cloud Gateway", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Show the settings, provisioning status and runtime status of gateway", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "sync-cert", + description: "Sync certificate of gateway", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "update", + description: "Update an existing gateway properties", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--addon-configs-file", + description: + "The file path of JSON string of add-on configurations", + args: { name: "addon-configs-file" }, + }, + { + name: "--addon-configs-json", + description: "JSON string of add-on configurations", + args: { name: "addon-configs-json" }, + }, + { + name: "--allow-credentials", + description: + "Whether user credentials are supported on cross-site requests", + args: { + name: "allow-credentials", + suggestions: ["false", "true"], + }, + }, + { + name: ["--allowed-origin-patterns", "--allow-origin-patterns"], + description: + "Comma-separated list of allowed origin patterns to make cross-site requests", + args: { name: "allowed-origin-patterns" }, + }, + { + name: "--allowed-headers", + description: + "Comma-separated list of allowed headers in cross-site requests. The special value * allows actual requests to send any header", + args: { name: "allowed-headers" }, + }, + { + name: "--allowed-methods", + description: + "Comma-separated list of allowed HTTP methods on cross-site requests. The special value * allows all methods", + args: { name: "allowed-methods" }, + }, + { + name: "--allowed-origins", + description: + "Comma-separated list of allowed origins to make cross-site requests. The special value * allows all domains", + args: { name: "allowed-origins" }, + }, + { + name: "--api-description", + description: + "Detailed description of the APIs available on the Gateway instance", + args: { name: "api-description" }, + }, + { + name: "--api-doc-location", + description: + "Location of additional documentation for the APIs available on the Gateway instance", + args: { name: "api-doc-location" }, + }, + { + name: "--api-title", + description: + "Title describing the context of the APIs available on the Gateway instance", + args: { name: "api-title" }, + }, + { + name: "--api-version", + description: "Version of APIs available on this Gateway instance", + args: { name: "api-version" }, + }, + { + name: "--apm-types", + description: + "Space-separated list of APM integrated with Gateway. Allowed values are: ApplicationInsights, AppDynamics, Dynatrace, NewRelic, ElasticAPM", + args: { name: "apm-types" }, + }, + { + name: "--assign-endpoint", + description: "If true, assign endpoint URL for direct access", + args: { name: "assign-endpoint", suggestions: ["false", "true"] }, + }, + { + name: "--certificate-names", + description: + "Comma-separated list of certificate names in Azure Spring Apps", + args: { name: "certificate-names" }, + }, + { + name: "--client-id", + description: "The public identifier for the application", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: + "The secret known only to the application and the authorization server", + args: { name: "client-secret" }, + }, + { + name: "--cpu", + description: + "CPU resource quantity. Should be 500m or number of CPU cores", + args: { name: "cpu" }, + }, + { + name: [ + "--enable-certificate-verification", + "--enable-cert-verify", + ], + description: + "If true, will verify certificate in TLS connection from gateway to app", + args: { + name: "enable-certificate-verification", + suggestions: ["false", "true"], + }, + }, + { + name: "--exposed-headers", + description: + "Comma-separated list of HTTP response headers to expose for cross-site requests", + args: { name: "exposed-headers" }, + }, + { + name: "--https-only", + description: "If true, access endpoint via https", + args: { name: "https-only", suggestions: ["false", "true"] }, + }, + { + name: "--instance-count", + description: "Number of instance", + args: { name: "instance-count" }, + }, + { + name: "--issuer-uri", + description: "The URI of Issuer Identifier", + args: { name: "issuer-uri" }, + }, + { + name: "--max-age", + description: + "How long, in seconds, the response from a pre-flight request can be cached by clients", + args: { name: "max-age" }, + }, + { + name: "--memory", + description: + "Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi", + args: { name: "memory" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--properties", + description: + 'Non-sensitive properties for environment variables. Format "key[=value]" and separated by space', + args: { name: "properties" }, + }, + { + name: "--scope", + description: + "Comma-separated list of the specific actions applications can be allowed to do on a user's behalf", + args: { name: "scope" }, + }, + { + name: "--secrets", + description: + 'Sensitive properties for environment variables. Once put, it will be encrypted and not returned.Format "key[=value]" and separated by space', + args: { name: "secrets" }, + }, + { + name: "--server-url", + description: + "Base URL that API consumers will use to access APIs on the Gateway instance", + args: { name: "server-url" }, + }, + ], + }, + { + name: "custom-domain", + description: "Commands to manage custom domains for gateway", + subcommands: [ + { + name: "bind", + description: "Bind a custom domain with the gateway", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--certificate", + description: "Certificate name in Azure Spring Apps", + args: { name: "certificate" }, + }, + ], + }, + { + name: "list", + description: "List all custom domains of the gateway", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show details of a custom domain", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "unbind", + description: "Unbind a custom-domain of the gateway", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a custom domain of the gateway", + options: [ + { + name: "--domain-name", + description: "Name of custom domain", + args: { name: "domain-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--certificate", + description: "Certificate name in Azure Spring Apps", + args: { name: "certificate" }, + }, + ], + }, + ], + }, + { + name: "route-config", + description: + "Commands to manage gateway route configs in Azure Spring Apps", + subcommands: [ + { + name: "create", + description: + "Create a gateway route config with routing rules of Json array format", + options: [ + { + name: ["--name", "-n"], + description: "Name of route config", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--app-name", + description: + "The Azure Spring Apps app name to configure the route", + args: { name: "app-name" }, + }, + { + name: "--routes-file", + description: "The file path of JSON array of API routes", + args: { name: "routes-file" }, + }, + { + name: "--routes-json", + description: "The JSON array of API routes", + args: { name: "routes-json" }, + }, + ], + }, + { + name: "list", + description: "List all existing gateway route configs", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Delete an existing gateway route config", + options: [ + { + name: ["--name", "-n"], + description: "Name of route config", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get an existing gateway route config", + options: [ + { + name: ["--name", "-n"], + description: "Name of route config", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an existing gateway route config with routing rules of Json array format", + options: [ + { + name: ["--name", "-n"], + description: "Name of route config", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--app-name", + description: + "The Azure Spring Apps app name to configure the route", + args: { name: "app-name" }, + }, + { + name: "--routes-file", + description: "The file path of JSON array of API routes", + args: { name: "routes-file" }, + }, + { + name: "--routes-json", + description: "The JSON array of API routes", + args: { name: "routes-json" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "service-registry", + description: + "(Enterprise Tier Only) Commands to manage Service Registry in Azure Spring Apps", + subcommands: [ + { + name: "bind", + description: "Bind an app to Service Registry", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create Service Registry", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete Service Registry", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Show the provisioning status and runtime status of Service Registry", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "unbind", + description: "Unbind an app from Service Registry", + options: [ + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "storage", + description: "Commands to manage Storages in Azure Spring Apps", + subcommands: [ + { + name: "add", + description: "Create a new storage in the Azure Spring Apps", + options: [ + { + name: "--account-key", + description: "The account key of the storage account", + args: { name: "account-key" }, + isRequired: true, + }, + { + name: "--account-name", + description: "The name of the storage account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of storage", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--storage-type", + description: "The type of the torage. e.g. StorageAccount", + args: { name: "storage-type" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all existing storages in the Azure Spring Apps", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "list-persistent-storage", + description: + "List all the persistent storages related to an existing storage in the Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "Name of storage", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove an existing storage in the Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "Name of storage", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get an existing storage in the Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "Name of storage", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an existing storage in the Azure Spring Apps", + options: [ + { + name: "--account-key", + description: "The account key of the storage account", + args: { name: "account-key" }, + isRequired: true, + }, + { + name: "--account-name", + description: "The name of the storage account", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of storage", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service", "-s"], + description: + "The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=", + args: { name: "service" }, + isRequired: true, + }, + { + name: "--storage-type", + description: "The type of the torage. e.g. StorageAccount", + args: { name: "storage-type" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "test-endpoint", + description: "Commands to manage test endpoint in Azure Spring Apps", + subcommands: [ + { + name: "disable", + description: "Disable test endpoint of the Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "enable", + description: "Enable test endpoint of the Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List test endpoint keys of the Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--app", + description: "Name of app", + args: { name: "app" }, + }, + { + name: ["--deployment", "-d"], + description: + "Name of an existing deployment of the app. Default to the production deployment if not specified", + args: { name: "deployment" }, + }, + ], + }, + { + name: "renew-key", + description: + "Regenerate a test-endpoint key for the Azure Spring Apps", + options: [ + { + name: ["--name", "-n"], + description: "The name of Azure Spring Apps instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--type", + description: "Type of test-endpoint key", + args: { name: "type", suggestions: ["Primary", "Secondary"] }, + isRequired: true, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/sql.ts b/src/az/2.53.0/sql.ts new file mode 100644 index 000000000000..580b5da0bcf9 --- /dev/null +++ b/src/az/2.53.0/sql.ts @@ -0,0 +1,15681 @@ +const completion: Fig.Spec = { + name: "sql", + description: "Manage Azure SQL Databases and Data Warehouses", + subcommands: [ + { + name: "db", + description: "Manage databases", + subcommands: [ + { + name: "copy", + description: "Create a copy of a database", + options: [ + { + name: "--dest-name", + description: + "Name of the database that will be created as the copy destination", + args: { name: "dest-name" }, + isRequired: true, + }, + { + name: ["--assign-identity", "-i"], + description: "Assign identity for database", + args: { name: "assign-identity", suggestions: ["false", "true"] }, + }, + { + name: "--auto-pause-delay", + description: + "Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled", + args: { name: "auto-pause-delay" }, + }, + { + name: "--availability-zone", + description: "Availability zone", + args: { name: "availability-zone" }, + }, + { + name: ["--backup-storage-redundancy", "--bsr"], + description: + "Backup storage redundancy used to store backups. Allowed values include: Local, Zone, Geo, GeoZone", + args: { name: "backup-storage-redundancy" }, + }, + { + name: ["--capacity", "-c"], + description: + "The capacity component of the sku in integer number of DTUs or vcores", + args: { name: "capacity" }, + }, + { + name: "--compute-model", + description: "The compute model of the database", + args: { + name: "compute-model", + suggestions: ["Provisioned", "Serverless"], + }, + }, + { + name: "--dest-resource-group", + description: + "Name of the resource group to create the copy in. If unspecified, defaults to the origin resource group", + args: { name: "dest-resource-group" }, + }, + { + name: "--dest-server", + description: + "Name of the server to create the copy in. If unspecified, defaults to the origin server", + args: { name: "dest-server" }, + }, + { + name: "--elastic-pool", + description: + "The name or resource id of the elastic pool to create the database in", + args: { name: "elastic-pool" }, + }, + { + name: "--encryption-protector", + description: + "Specifies the Azure key vault key to be used as database encryption protector key", + args: { name: "encryption-protector" }, + }, + { + name: ["--encryption-protector-auto-rotation", "--epauto"], + description: + "Specifies the database encryption protector key auto rotation flag. Can be either true, false or null", + args: { + name: "encryption-protector-auto-rotation", + suggestions: ["false", "true"], + }, + }, + { + name: ["--family", "-f"], + description: + "The compute generation component of the sku (for vcore skus only). Allowed values include: Gen4, Gen5", + args: { name: "family" }, + }, + { + name: "--federated-client-id", + description: + "The federated client id for the SQL Database. It is used for cross tenant CMK scenario", + args: { name: "federated-client-id" }, + }, + { + name: ["--read-replicas", "--ha-replicas"], + description: + "The number of high availability replicas to provision for the database. Only settable for Hyperscale edition", + args: { name: "read-replicas" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--keys", + description: "The list of AKV keys for the SQL Database", + args: { name: "keys" }, + }, + { + name: "--license-type", + description: + "The license type to apply for this database.LicenseIncluded if you need a license, or BasePriceif you have a license and are eligible for the Azure HybridBenefit", + args: { + name: "license-type", + suggestions: ["BasePrice", "LicenseIncluded"], + }, + }, + { + name: "--min-capacity", + description: + "Minimal capacity that database will always have allocated, if not paused", + args: { name: "min-capacity" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--preferred-enclave-type", + description: "Specifies type of enclave for this resource", + args: { + name: "preferred-enclave-type", + suggestions: ["Default", "VBS"], + }, + }, + { + name: "--read-scale", + description: + "If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases", + args: { + name: "read-scale", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: ["--service-level-objective", "--service-objective"], + description: + "The service objective for the new database. For example: Basic, S0, P1, GP_Gen4_1, GP_Gen5_S_8, BC_Gen5_2, HS_Gen5_32", + args: { name: "service-level-objective" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identity-id", "--umi"], + description: + "The list of user assigned identity for the SQL Database", + args: { name: "user-assigned-identity-id" }, + }, + { + name: ["--zone-redundant", "-z"], + description: + "Specifies whether to enable zone redundancy. Default is true if no value is specified", + args: { name: "zone-redundant", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "create", + description: "Create a database", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + isRequired: true, + }, + { + name: ["--assign-identity", "-i"], + description: "Assign identity for database", + args: { name: "assign-identity", suggestions: ["false", "true"] }, + }, + { + name: "--auto-pause-delay", + description: + "Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled", + args: { name: "auto-pause-delay" }, + }, + { + name: "--availability-zone", + description: "Availability zone", + args: { name: "availability-zone" }, + }, + { + name: ["--backup-storage-redundancy", "--bsr"], + description: + "Backup storage redundancy used to store backups. Allowed values include: Local, Zone, Geo, GeoZone", + args: { name: "backup-storage-redundancy" }, + }, + { + name: ["--capacity", "-c"], + description: + "The capacity component of the sku in integer number of DTUs or vcores", + args: { name: "capacity" }, + }, + { + name: "--catalog-collation", + description: "Collation of the metadata catalog", + args: { + name: "catalog-collation", + suggestions: [ + "DATABASE_DEFAULT", + "SQL_Latin1_General_CP1_CI_AS", + ], + }, + }, + { + name: "--collation", + description: "The collation of the database", + args: { name: "collation" }, + }, + { + name: "--compute-model", + description: "The compute model of the database", + args: { + name: "compute-model", + suggestions: ["Provisioned", "Serverless"], + }, + }, + { + name: ["--edition", "--tier", "-e"], + description: + "The edition component of the sku. Allowed values include: Basic, Standard, Premium, GeneralPurpose, BusinessCritical, Hyperscale", + args: { name: "edition" }, + }, + { + name: "--elastic-pool", + description: + "The name or resource id of the elastic pool to create the database in", + args: { name: "elastic-pool" }, + }, + { + name: "--encryption-protector", + description: + "Specifies the Azure key vault key to be used as database encryption protector key", + args: { name: "encryption-protector" }, + }, + { + name: ["--encryption-protector-auto-rotation", "--epauto"], + description: + "Specifies the database encryption protector key auto rotation flag. Can be either true, false or null", + args: { + name: "encryption-protector-auto-rotation", + suggestions: ["false", "true"], + }, + }, + { + name: ["--family", "-f"], + description: + "The compute generation component of the sku (for vcore skus only). Allowed values include: Gen4, Gen5", + args: { name: "family" }, + }, + { + name: "--federated-client-id", + description: + "The federated client id for the SQL Database. It is used for cross tenant CMK scenario", + args: { name: "federated-client-id" }, + }, + { + name: ["--read-replicas", "--ha-replicas"], + description: + "The number of high availability replicas to provision for the database. Only settable for Hyperscale edition", + args: { name: "read-replicas" }, + }, + { + name: "--keys", + description: "The list of AKV keys for the SQL Database", + args: { name: "keys" }, + }, + { + name: "--ledger-on", + description: + "Create a ledger database, in which the integrity of all data is protected by the ledger feature. All tables in the ledger database must be ledger tables. Note: the value of this property cannot be changed after the database has been created", + args: { name: "ledger-on", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--license-type", + description: + "The license type to apply for this database.LicenseIncluded if you need a license, or BasePriceif you have a license and are eligible for the Azure HybridBenefit", + args: { + name: "license-type", + suggestions: ["BasePrice", "LicenseIncluded"], + }, + }, + { + name: ["--maint-config-id", "-m"], + description: + "Specified maintenance configuration id or name for this resource", + args: { name: "maint-config-id" }, + }, + { + name: "--max-size", + description: + "The max storage size. If no unit is specified, defaults to bytes (B)", + args: { name: "max-size" }, + }, + { + name: "--min-capacity", + description: + "Minimal capacity that database will always have allocated, if not paused", + args: { name: "min-capacity" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--preferred-enclave-type", + description: "Specifies type of enclave for this resource", + args: { + name: "preferred-enclave-type", + suggestions: ["Default", "VBS"], + }, + }, + { + name: "--read-scale", + description: + "If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases", + args: { + name: "read-scale", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--sample-name", + description: + "The name of the sample schema to apply when creating thisdatabase", + args: { name: "sample-name", suggestions: ["AdventureWorksLT"] }, + }, + { + name: ["--service-level-objective", "--service-objective"], + description: + "The service objective for the new database. For example: Basic, S0, P1, GP_Gen4_1, GP_Gen5_S_8, BC_Gen5_2, HS_Gen5_32", + args: { name: "service-level-objective" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identity-id", "--umi"], + description: + "The list of user assigned identity for the SQL Database", + args: { name: "user-assigned-identity-id" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-redundant", "-z"], + description: + "Specifies whether to enable zone redundancy. Default is true if no value is specified", + args: { name: "zone-redundant", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a database", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "export", + description: "Export a database to a bacpac", + options: [ + { + name: ["--admin-password", "-p"], + description: "Required. Administrator login password", + args: { name: "admin-password" }, + isRequired: true, + }, + { + name: ["--admin-user", "-u"], + description: "Required. Administrator login name", + args: { name: "admin-user" }, + isRequired: true, + }, + { + name: "--storage-key", + description: "Required. Storage key", + args: { name: "storage-key" }, + isRequired: true, + }, + { + name: "--storage-key-type", + description: "Required. Storage key type", + args: { + name: "storage-key-type", + suggestions: ["SharedAccessKey", "StorageAccessKey"], + }, + isRequired: true, + }, + { + name: "--storage-uri", + description: "Required. Storage Uri", + args: { name: "storage-uri" }, + isRequired: true, + }, + { + name: ["--auth-type", "-a"], + description: "Authentication type", + args: { name: "auth-type", suggestions: ["ADPassword", "SQL"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "import", + description: "Imports a bacpac into an existing database", + options: [ + { + name: ["--admin-password", "-p"], + description: "Required. Administrator login password", + args: { name: "admin-password" }, + isRequired: true, + }, + { + name: ["--admin-user", "-u"], + description: "Required. Administrator login name", + args: { name: "admin-user" }, + isRequired: true, + }, + { + name: "--storage-key", + description: "Required. Storage key", + args: { name: "storage-key" }, + isRequired: true, + }, + { + name: "--storage-key-type", + description: "Required. Storage key type", + args: { + name: "storage-key-type", + suggestions: ["SharedAccessKey", "StorageAccessKey"], + }, + isRequired: true, + }, + { + name: "--storage-uri", + description: "Required. Storage Uri", + args: { name: "storage-uri" }, + isRequired: true, + }, + { + name: ["--auth-type", "-a"], + description: "Authentication type", + args: { name: "auth-type", suggestions: ["ADPassword", "SQL"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List databases on a server or elastic pool", + options: [ + { + name: "--elastic-pool", + description: + "If specified, lists only the databases in this elastic pool", + args: { name: "elastic-pool" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-deleted", + description: "Gets a list of restorable dropped databases", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-editions", + description: + "Show database editions available for the currently active subscription", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--available", "-a"], + description: + "If specified, show only results that are available in the specified region", + }, + { + name: "--dtu", + description: + "Number of DTUs to search for. If unspecified, all DTU sizes are shown", + args: { name: "dtu" }, + }, + { + name: ["--edition", "--tier", "-e"], + description: + "Edition to search for. If unspecified, all editions are shown", + args: { name: "edition" }, + }, + { + name: "--service-objective", + description: + "Service objective to search for. If unspecified, all service objectives are shown", + args: { name: "service-objective" }, + }, + { + name: ["--show-details", "-d"], + description: "List of additional details to include in output", + args: { name: "show-details", suggestions: ["max-size"] }, + }, + { + name: "--vcores", + description: + "Number of vcores to search for. If unspecified, all vcore sizes are shown", + args: { name: "vcores" }, + }, + ], + }, + { + name: "list-usages", + description: "Gets database usages", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "rename", + description: "Rename a database", + options: [ + { + name: "--new-name", + description: "The new name that the database will be renamed to", + args: { name: "new-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restore", + description: "Create a new database by restoring from a backup", + options: [ + { + name: "--dest-name", + description: + "Name of the database that will be created as the restore destination", + args: { name: "dest-name" }, + isRequired: true, + }, + { + name: ["--assign-identity", "-i"], + description: "Assign identity for database", + args: { name: "assign-identity", suggestions: ["false", "true"] }, + }, + { + name: "--auto-pause-delay", + description: + "Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled", + args: { name: "auto-pause-delay" }, + }, + { + name: "--availability-zone", + description: "Availability zone", + args: { name: "availability-zone" }, + }, + { + name: ["--backup-storage-redundancy", "--bsr"], + description: + "Backup storage redundancy used to store backups. Allowed values include: Local, Zone, Geo, GeoZone", + args: { name: "backup-storage-redundancy" }, + }, + { + name: ["--capacity", "-c"], + description: + "The capacity component of the sku in integer number of DTUs or vcores", + args: { name: "capacity" }, + }, + { + name: "--compute-model", + description: "The compute model of the database", + args: { + name: "compute-model", + suggestions: ["Provisioned", "Serverless"], + }, + }, + { + name: "--deleted-time", + description: + 'If specified, restore from a deleted database instead of from an existing database. Must match the deleted time of a deleted database in the same server. Either --time or --deleted-time (or both) must be specified. Time should be in following format: "YYYY-MM-DDTHH:MM:SS"', + args: { name: "deleted-time" }, + }, + { + name: ["--edition", "--tier", "-e"], + description: + "The edition component of the sku. Allowed values include: Basic, Standard, Premium, GeneralPurpose, BusinessCritical, Hyperscale", + args: { name: "edition" }, + }, + { + name: "--elastic-pool", + description: + "The name or resource id of the elastic pool to create the database in", + args: { name: "elastic-pool" }, + }, + { + name: "--encryption-protector", + description: + "Specifies the Azure key vault key to be used as database encryption protector key", + args: { name: "encryption-protector" }, + }, + { + name: ["--encryption-protector-auto-rotation", "--epauto"], + description: + "Specifies the database encryption protector key auto rotation flag. Can be either true, false or null", + args: { + name: "encryption-protector-auto-rotation", + suggestions: ["false", "true"], + }, + }, + { + name: ["--family", "-f"], + description: + "The compute generation component of the sku (for vcore skus only). Allowed values include: Gen4, Gen5", + args: { name: "family" }, + }, + { + name: "--federated-client-id", + description: + "The federated client id for the SQL Database. It is used for cross tenant CMK scenario", + args: { name: "federated-client-id" }, + }, + { + name: ["--read-replicas", "--ha-replicas"], + description: + "The number of high availability replicas to provision for the database. Only settable for Hyperscale edition", + args: { name: "read-replicas" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--keys", + description: "The list of AKV keys for the SQL Database", + args: { name: "keys" }, + }, + { + name: "--license-type", + description: + "The license type to apply for this database.LicenseIncluded if you need a license, or BasePriceif you have a license and are eligible for the Azure HybridBenefit", + args: { + name: "license-type", + suggestions: ["BasePrice", "LicenseIncluded"], + }, + }, + { + name: "--min-capacity", + description: + "Minimal capacity that database will always have allocated, if not paused", + args: { name: "min-capacity" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--preferred-enclave-type", + description: "Specifies type of enclave for this resource", + args: { + name: "preferred-enclave-type", + suggestions: ["Default", "VBS"], + }, + }, + { + name: "--read-scale", + description: + "If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases", + args: { + name: "read-scale", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: ["--service-level-objective", "--service-objective"], + description: + "The service objective for the new database. For example: Basic, S0, P1, GP_Gen4_1, GP_Gen5_S_8, BC_Gen5_2, HS_Gen5_32", + args: { name: "service-level-objective" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--time", "-t"], + description: + 'The point in time of the source database that will be restored to create the new database. Must be greater than or equal to the source database\'s earliestRestoreDate value. Either --time or --deleted-time (or both) must be specified. Time should be in following format: "YYYY-MM-DDTHH:MM:SS"', + args: { name: "time" }, + }, + { + name: ["--user-assigned-identity-id", "--umi"], + description: + "The list of user assigned identity for the SQL Database", + args: { name: "user-assigned-identity-id" }, + }, + { + name: ["--zone-redundant", "-z"], + description: + "Specifies whether to enable zone redundancy. Default is true if no value is specified", + args: { name: "zone-redundant", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "show", + description: "Get the details for a database", + options: [ + { + name: "--expand-keys", + description: "Expand the AKV keys for the database", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--keys-filter", + description: "Expand the AKV keys for the database", + args: { name: "keys-filter" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-connection-string", + description: "Generates a connection string to a database", + options: [ + { + name: ["--client", "-c"], + description: "Type of client connection provider", + args: { + name: "client", + suggestions: [ + "ado.net", + "jdbc", + "odbc", + "php", + "php_pdo", + "sqlcmd", + ], + }, + isRequired: true, + }, + { + name: ["--auth-type", "-a"], + description: "Type of authentication", + args: { + name: "auth-type", + suggestions: ["ADIntegrated", "ADPassword", "SqlPassword"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-deleted", + description: "Get the details for a deleted database", + options: [ + { + name: ["--restorable-dropped-database-id", "-r"], + description: "Restorable dropped database id", + args: { name: "restorable-dropped-database-id" }, + isRequired: true, + }, + { + name: "--expand-keys", + description: "Expand the AKV keys for the database", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--keys-filter", + description: "Expand the AKV keys for the database", + args: { name: "keys-filter" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a database", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--assign-identity", "-i"], + description: "Assign identity for database", + }, + { + name: "--auto-pause-delay", + description: + "Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled", + args: { name: "auto-pause-delay" }, + }, + { + name: ["--backup-storage-redundancy", "--bsr"], + description: + "Backup storage redundancy used to store backups. Allowed values include: Local, Zone, Geo, GeoZone", + args: { name: "backup-storage-redundancy" }, + }, + { + name: ["--capacity", "-c"], + description: + "The capacity component of the sku in integer number of DTUs or vcores", + args: { name: "capacity" }, + }, + { + name: "--compute-model", + description: "The compute model of the database", + args: { + name: "compute-model", + suggestions: ["Provisioned", "Serverless"], + }, + }, + { + name: ["--edition", "--tier", "-e"], + description: + "The edition component of the sku. Allowed values include: Basic, Standard, Premium, GeneralPurpose, BusinessCritical, Hyperscale", + args: { name: "edition" }, + }, + { + name: "--elastic-pool", + description: + "The name or resource id of the elastic pool to move the database into", + args: { name: "elastic-pool" }, + }, + { + name: "--encryption-protector", + description: + "Specifies the Azure key vault key to be used as database encryption protector key", + args: { name: "encryption-protector" }, + }, + { + name: ["--encryption-protector-auto-rotation", "--epauto"], + description: + "Specifies the database encryption protector key auto rotation flag. Can be either true, false or null", + args: { + name: "encryption-protector-auto-rotation", + suggestions: ["false", "true"], + }, + }, + { + name: ["--family", "-f"], + description: + "The compute generation component of the sku (for vcore skus only). Allowed values include: Gen4, Gen5", + args: { name: "family" }, + }, + { + name: "--federated-client-id", + description: + "The federated client id for the SQL Database. It is used for cross tenant CMK scenario", + args: { name: "federated-client-id" }, + }, + { + name: "--filter", + description: + "An OData filter expression that filters elements in the collection. Default value is None", + args: { name: "filter" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--read-replicas", "--ha-replicas"], + description: + "The number of high availability replicas to provision for the database. Only settable for Hyperscale edition", + args: { name: "read-replicas" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--keys", + description: "The list of AKV keys for the SQL Database", + args: { name: "keys" }, + }, + { + name: "--keys-to-remove", + description: + "The list of AKV keys to remove from the SQL Database", + args: { name: "keys-to-remove" }, + }, + { + name: ["--maint-config-id", "-m"], + description: + "Specified maintenance configuration id or name for this resource", + args: { name: "maint-config-id" }, + }, + { + name: "--max-size", + description: + "The new maximum size of the database expressed in bytes", + args: { name: "max-size" }, + }, + { + name: "--min-capacity", + description: + "Minimal capacity that database will always have allocated, if not paused", + args: { name: "min-capacity" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--preferred-enclave-type", + description: "Specifies type of enclave for this resource", + args: { + name: "preferred-enclave-type", + suggestions: ["Default", "VBS"], + }, + }, + { + name: "--read-scale", + description: + "If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases", + args: { + name: "read-scale", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--service-objective", + description: + "The name of the new service objective. If this is a standalone db service objective and the db is currently in an elastic pool, then the db is removed from the pool", + args: { name: "service-objective" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--user-assigned-identity-id", "--umi"], + description: + "The list of user assigned identity for the SQL Database", + args: { name: "user-assigned-identity-id" }, + }, + { + name: ["--zone-redundant", "-z"], + description: + "Specifies whether to enable zone redundancy. Default is true if no value is specified", + args: { name: "zone-redundant", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "advanced-threat-protection-setting", + description: "Manage a database's advanced threat protection setting", + subcommands: [ + { + name: "show", + description: "Gets an advanced threat protection setting", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a database's advanced threat protection setting", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: + "State of the advanced threat protection setting", + args: { name: "state" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "audit-policy", + description: "Manage a database's auditing policy", + subcommands: [ + { + name: "show", + description: "Show database audit policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a database's auditing policy", + options: [ + { + name: "--actions", + description: + "List of actions and action groups to audit.These are space seperated values.Example: --actions FAILED_DATABASE_AUTHENTICATION_GROUP BATCH_COMPLETED_GROUP", + args: { name: "actions" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--blob-storage-target-state", "--bsts"], + description: + "Indicate whether blob storage is a destination for audit records", + args: { + name: "blob-storage-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--event-hub", "--eh"], + description: + "The name of the event hub. If none is specified when providing event_hub_authorization_rule_id, the default event hub will be selected", + args: { name: "event-hub" }, + }, + { + name: ["--event-hub-authorization-rule-id", "--ehari"], + description: + "The resource Id for the event hub authorization rule", + args: { name: "event-hub-authorization-rule-id" }, + }, + { + name: ["--event-hub-target-state", "--ehts"], + description: + "Indicate whether event hub is a destination for audit records", + args: { + name: "event-hub-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--log-analytics-target-state", "--lats"], + description: + "Indicate whether log analytics is a destination for audit records", + args: { + name: "log-analytics-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--log-analytics-workspace-resource-id", "--lawri"], + description: + "The workspace ID (resource ID of a Log Analytics workspace) for a Log Analytics workspace to which you would like to send Audit Logs", + args: { name: "log-analytics-workspace-resource-id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--retention-days", + description: "The number of days to retain audit logs", + args: { name: "retention-days" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: "Auditing policy state", + args: { name: "state", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--storage-account", + description: "Name of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--storage-endpoint", + description: "The storage account endpoint", + args: { name: "storage-endpoint" }, + }, + { + name: "--storage-key", + description: "Access key for the storage account", + args: { name: "storage-key" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the database's audit policy is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "classification", + description: "Manage sensitivity classifications", + subcommands: [ + { + name: "delete", + description: + "Delete the sensitivity classification of a given column", + options: [ + { + name: "--column", + description: "The name of the column", + args: { name: "column" }, + isRequired: true, + }, + { + name: "--schema", + description: "The name of the schema", + args: { name: "schema" }, + isRequired: true, + }, + { + name: "--table", + description: "The name of the table", + args: { name: "table" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Get the sensitivity classifications of a given database", + options: [ + { + name: "--count", + description: "Default value is None", + args: { name: "count" }, + }, + { + name: "--filter", + description: + "An OData filter expression that filters elements in the collection. Default value is None", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--skip-token", + description: "Default value is None", + args: { name: "skip-token" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get the sensitivity classification of a given column", + options: [ + { + name: "--column", + description: "The name of the column", + args: { name: "column" }, + isRequired: true, + }, + { + name: "--schema", + description: "The name of the schema", + args: { name: "schema" }, + isRequired: true, + }, + { + name: "--table", + description: "The name of the table", + args: { name: "table" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a columns's sensitivity classification", + options: [ + { + name: "--column", + description: "The name of the column", + args: { name: "column" }, + isRequired: true, + }, + { + name: "--schema", + description: "The name of the schema", + args: { name: "schema" }, + isRequired: true, + }, + { + name: "--table", + description: "The name of the table", + args: { name: "table" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--information-type", + description: "The information type", + args: { name: "information-type" }, + }, + { + name: "--label", + description: "The label name", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "recommendation", + description: "Manage sensitivity classification recommendations", + subcommands: [ + { + name: "disable", + description: + "Disable sensitivity recommendations for a given column (recommendations are enabled by default on all columns)", + options: [ + { + name: "--column", + description: "The name of the column", + args: { name: "column" }, + isRequired: true, + }, + { + name: "--schema", + description: "The name of the schema", + args: { name: "schema" }, + isRequired: true, + }, + { + name: "--table", + description: "The name of the table", + args: { name: "table" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "enable", + description: + "Enable sensitivity recommendations for a given column (recommendations are enabled by default on all columns)", + options: [ + { + name: "--column", + description: "The name of the column", + args: { name: "column" }, + isRequired: true, + }, + { + name: "--schema", + description: "The name of the schema", + args: { name: "schema" }, + isRequired: true, + }, + { + name: "--table", + description: "The name of the table", + args: { name: "table" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List the recommended sensitivity classifications of a given database", + options: [ + { + name: "--filter", + description: + "An OData filter expression that filters elements in the collection. Default value is None", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--include-disabled-recommendations", + description: + "Specifies whether to include disabled recommendations or not. Default value is None", + args: { name: "include-disabled-recommendations" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "geo-backup", + description: "Manage SQL database geo redundant backups", + subcommands: [ + { + name: "list", + description: "Gets a list of recoverable databases", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Retrieves all requested geo-redundant backups under this resource group", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "--server", "-s"], + description: + "Retrieves all requested geo-redundant backups under this server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restore", + description: "Restore a geo-redundant backup to a new database", + options: [ + { + name: "--dest-database", + description: + "Name of the database that will be created as the restore destination", + args: { name: "dest-database" }, + isRequired: true, + }, + { + name: "--dest-server", + description: "Name of the server to restore database to", + args: { name: "dest-server" }, + isRequired: true, + }, + { + name: "--geo-backup-id", + description: + "The resource id of the geo-redundant backup to be restored. Use 'az sql db geo-backup list' or 'az sql db geo-backup show' for backup id", + args: { name: "geo-backup-id" }, + isRequired: true, + }, + { + name: "--resource-group", + description: + "Name of the target resource group of the server to restore database to", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--assign-identity", "-i"], + description: "Assign identity for database", + args: { + name: "assign-identity", + suggestions: ["false", "true"], + }, + }, + { + name: "--auto-pause-delay", + description: + "Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled", + args: { name: "auto-pause-delay" }, + }, + { + name: "--availability-zone", + description: "Availability zone", + args: { name: "availability-zone" }, + }, + { + name: ["--backup-storage-redundancy", "--bsr"], + description: + "Backup storage redundancy used to store backups. Allowed values include: Local, Zone, Geo, GeoZone", + args: { name: "backup-storage-redundancy" }, + }, + { + name: ["--capacity", "-c"], + description: + "The capacity component of the sku in integer number of DTUs or vcores", + args: { name: "capacity" }, + }, + { + name: "--compute-model", + description: "The compute model of the database", + args: { + name: "compute-model", + suggestions: ["Provisioned", "Serverless"], + }, + }, + { + name: ["--edition", "--tier", "-e"], + description: + "The edition component of the sku. Allowed values include: Basic, Standard, Premium, GeneralPurpose, BusinessCritical, Hyperscale", + args: { name: "edition" }, + }, + { + name: "--elastic-pool", + description: + "The name or resource id of the elastic pool to create the database in", + args: { name: "elastic-pool" }, + }, + { + name: "--encryption-protector", + description: + "Specifies the Azure key vault key to be used as database encryption protector key", + args: { name: "encryption-protector" }, + }, + { + name: ["--encryption-protector-auto-rotation", "--epauto"], + description: + "Specifies the database encryption protector key auto rotation flag. Can be either true, false or null", + args: { + name: "encryption-protector-auto-rotation", + suggestions: ["false", "true"], + }, + }, + { + name: ["--family", "-f"], + description: + "The compute generation component of the sku (for vcore skus only). Allowed values include: Gen4, Gen5", + args: { name: "family" }, + }, + { + name: "--federated-client-id", + description: + "The federated client id for the SQL Database. It is used for cross tenant CMK scenario", + args: { name: "federated-client-id" }, + }, + { + name: ["--read-replicas", "--ha-replicas"], + description: + "The number of high availability replicas to provision for the database. Only settable for Hyperscale edition", + args: { name: "read-replicas" }, + }, + { + name: "--keys", + description: "The list of AKV keys for the SQL Database", + args: { name: "keys" }, + }, + { + name: "--license-type", + description: + "The license type to apply for this database.LicenseIncluded if you need a license, or BasePriceif you have a license and are eligible for the Azure HybridBenefit", + args: { + name: "license-type", + suggestions: ["BasePrice", "LicenseIncluded"], + }, + }, + { + name: "--min-capacity", + description: + "Minimal capacity that database will always have allocated, if not paused", + args: { name: "min-capacity" }, + }, + { + name: "--preferred-enclave-type", + description: "Specifies type of enclave for this resource", + args: { + name: "preferred-enclave-type", + suggestions: ["Default", "VBS"], + }, + }, + { + name: "--read-scale", + description: + "If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases", + args: { + name: "read-scale", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--service-level-objective", "--service-objective"], + description: + "The service objective for the new database. For example: Basic, S0, P1, GP_Gen4_1, GP_Gen5_S_8, BC_Gen5_2, HS_Gen5_32", + args: { name: "service-level-objective" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identity-id", "--umi"], + description: + "The list of user assigned identity for the SQL Database", + args: { name: "user-assigned-identity-id" }, + }, + { + name: ["--zone-redundant", "-z"], + description: + "Specifies whether to enable zone redundancy. Default is true if no value is specified", + args: { + name: "zone-redundant", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "show", + description: + "Gets a recoverable database, which is a resource representing a database's geo backup", + options: [ + { + name: ["--database-name", "--database", "-d"], + description: + "Retrieves a requested geo-redundant backup under this database", + args: { name: "database-name" }, + }, + { + name: "--expand-keys", + description: "Expand the AKV keys for the database", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--keys-filter", + description: "Expand the AKV keys for the database", + args: { name: "keys-filter" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Retrieves a requested geo-redundant backup under this resource group", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "--server", "-s"], + description: + "Retrieves a requested geo-redundant backup under this server", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "ledger-digest-uploads", + description: "Manage ledger digest upload settings", + subcommands: [ + { + name: "disable", + description: "Disable uploading ledger digests", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "enable", + description: + "Enable uploading ledger digests to an Azure Storage account or to Azure Confidential Ledger. If uploading ledger digests is already enabled, the cmdlet resets the digest storage endpoint to a new value", + options: [ + { + name: "--endpoint", + description: + "The endpoint of a digest storage, which can be either an Azure Blob storage or a ledger in Azure Confidential Ledger", + args: { name: "endpoint" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show the current ledger digest settings", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "ltr-backup", + description: "Manage SQL database long term retention backups", + subcommands: [ + { + name: "delete", + description: "Delete a long term retention backup", + options: [ + { + name: ["--database", "-d"], + description: + "Name of the Azure SQL Database. If specified (along with server name), retrieves all requested backups under this database", + args: { name: "database" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "The location of the desired backups", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the LTR backup. Use 'az sql db ltr-backup show' or 'az sql db ltr-backup list' for backup name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. If specified, retrieves all requested backups under this server", + args: { name: "server" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the long term retention backups for a location, server or database", + options: [ + { + name: ["--location", "-l"], + description: "The location of the desired backups", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--database", "-d"], + description: + "Name of the Azure SQL Database. If specified (along with server name), retrieves all requested backups under this database", + args: { name: "database" }, + }, + { + name: ["--database-state", "--state"], + description: + "'All', 'Live', or 'Deleted'. Will fetch backups only from databases of specified state. If no state provied, defaults to 'All'", + args: { name: "database-state" }, + }, + { + name: ["--only-latest-per-database", "--latest"], + description: + "If true, will only return the latest backup for each database", + args: { name: "only-latest-per-database" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. If specified, retrieves all requested backups under this server", + args: { name: "server" }, + }, + ], + }, + { + name: "restore", + description: + "Restore a long term retention backup to a new database", + options: [ + { + name: "--backup-id", + description: + "The resource id of the long term retention backup to be restored. Use 'az sql db ltr-backup show' or 'az sql db ltr-backup list' for backup id", + args: { name: "backup-id" }, + isRequired: true, + }, + { + name: "--dest-database", + description: + "Name of the database that will be created as the restore destination", + args: { name: "dest-database" }, + isRequired: true, + }, + { + name: "--dest-resource-group", + description: + "Name of the resource group of the server to restore database to", + args: { name: "dest-resource-group" }, + isRequired: true, + }, + { + name: "--dest-server", + description: "Name of the server to restore database to", + args: { name: "dest-server" }, + isRequired: true, + }, + { + name: ["--assign-identity", "-i"], + description: "Assign identity for database", + args: { + name: "assign-identity", + suggestions: ["false", "true"], + }, + }, + { + name: "--auto-pause-delay", + description: + "Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled", + args: { name: "auto-pause-delay" }, + }, + { + name: "--availability-zone", + description: "Availability zone", + args: { name: "availability-zone" }, + }, + { + name: ["--backup-storage-redundancy", "--bsr"], + description: + "Backup storage redundancy used to store backups. Allowed values include: Local, Zone, Geo, GeoZone", + args: { name: "backup-storage-redundancy" }, + }, + { + name: ["--capacity", "-c"], + description: + "The capacity component of the sku in integer number of DTUs or vcores", + args: { name: "capacity" }, + }, + { + name: "--compute-model", + description: "The compute model of the database", + args: { + name: "compute-model", + suggestions: ["Provisioned", "Serverless"], + }, + }, + { + name: ["--edition", "--tier", "-e"], + description: + "The edition component of the sku. Allowed values include: Basic, Standard, Premium, GeneralPurpose, BusinessCritical, Hyperscale", + args: { name: "edition" }, + }, + { + name: "--elastic-pool", + description: + "The name or resource id of the elastic pool to create the database in", + args: { name: "elastic-pool" }, + }, + { + name: "--encryption-protector", + description: + "Specifies the Azure key vault key to be used as database encryption protector key", + args: { name: "encryption-protector" }, + }, + { + name: ["--encryption-protector-auto-rotation", "--epauto"], + description: + "Specifies the database encryption protector key auto rotation flag. Can be either true, false or null", + args: { + name: "encryption-protector-auto-rotation", + suggestions: ["false", "true"], + }, + }, + { + name: ["--family", "-f"], + description: + "The compute generation component of the sku (for vcore skus only). Allowed values include: Gen4, Gen5", + args: { name: "family" }, + }, + { + name: "--federated-client-id", + description: + "The federated client id for the SQL Database. It is used for cross tenant CMK scenario", + args: { name: "federated-client-id" }, + }, + { + name: ["--read-replicas", "--ha-replicas"], + description: + "The number of high availability replicas to provision for the database. Only settable for Hyperscale edition", + args: { name: "read-replicas" }, + }, + { + name: "--keys", + description: "The list of AKV keys for the SQL Database", + args: { name: "keys" }, + }, + { + name: "--license-type", + description: + "The license type to apply for this database.LicenseIncluded if you need a license, or BasePriceif you have a license and are eligible for the Azure HybridBenefit", + args: { + name: "license-type", + suggestions: ["BasePrice", "LicenseIncluded"], + }, + }, + { + name: "--min-capacity", + description: + "Minimal capacity that database will always have allocated, if not paused", + args: { name: "min-capacity" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--preferred-enclave-type", + description: "Specifies type of enclave for this resource", + args: { + name: "preferred-enclave-type", + suggestions: ["Default", "VBS"], + }, + }, + { + name: "--read-scale", + description: + "If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases", + args: { + name: "read-scale", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--service-level-objective", "--service-objective"], + description: + "The service objective for the new database. For example: Basic, S0, P1, GP_Gen4_1, GP_Gen5_S_8, BC_Gen5_2, HS_Gen5_32", + args: { name: "service-level-objective" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identity-id", "--umi"], + description: + "The list of user assigned identity for the SQL Database", + args: { name: "user-assigned-identity-id" }, + }, + { + name: ["--zone-redundant", "-z"], + description: + "Specifies whether to enable zone redundancy. Default is true if no value is specified", + args: { + name: "zone-redundant", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "show", + description: "Get a long term retention backup for a database", + options: [ + { + name: ["--database", "-d"], + description: + "Name of the Azure SQL Database. If specified (along with server name), retrieves all requested backups under this database", + args: { name: "database" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "The location of the desired backups", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the LTR backup. Use 'az sql db ltr-backup show' or 'az sql db ltr-backup list' for backup name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. If specified, retrieves all requested backups under this server", + args: { name: "server" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the database is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--expand", + description: + "The child resources to include in the response. Default value is None", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "An OData filter expression that filters elements in the collection. Default value is None", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "ltr-policy", + description: "Manage SQL database long term retention policy", + subcommands: [ + { + name: "set", + description: "Update long term retention settings for a database", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monthly-retention", + description: + "Retention for the monthly backup. If just a number is passed instead of an ISO 8601 string, days will be assumed as the units.There is a minimum of 7 days and a maximum of 10 years", + args: { name: "monthly-retention" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--week-of-year", + description: + "The Week of Year, 1 to 52, in which to take the yearly LTR backup", + args: { name: "week-of-year" }, + }, + { + name: "--weekly-retention", + description: + "Retention for the weekly backup. If just a number is passed instead of an ISO 8601 string, days will be assumed as the units.There is a minimum of 7 days and a maximum of 10 years", + args: { name: "weekly-retention" }, + }, + { + name: "--yearly-retention", + description: + "Retention for the yearly backup. If just a number is passed instead of an ISO 8601 string, days will be assumed as the units.There is a minimum of 7 days and a maximum of 10 years", + args: { name: "yearly-retention" }, + }, + ], + }, + { + name: "show", + description: "Show the long term retention policy for a database", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "op", + description: "Manage operations on a database", + subcommands: [ + { + name: "cancel", + description: "Cancels the asynchronous operation on the database", + options: [ + { + name: ["--name", "-n"], + description: "The unique name of the operation to cancel", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--database", "-d"], + description: "Name of the Azure SQL Database", + args: { name: "database" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Gets a list of operations performed on the database", + options: [ + { + name: ["--database", "-d"], + description: "Name of the Azure SQL Database", + args: { name: "database" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "replica", + description: "Manage replication between databases", + subcommands: [ + { + name: "create", + description: + "Create a database as a readable secondary replica of an existing database", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--partner-server", + description: + "Name of the server to create the new replica in", + args: { name: "partner-server" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + isRequired: true, + }, + { + name: ["--assign-identity", "-i"], + description: "Assign identity for database", + args: { + name: "assign-identity", + suggestions: ["false", "true"], + }, + }, + { + name: "--auto-pause-delay", + description: + "Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled", + args: { name: "auto-pause-delay" }, + }, + { + name: "--availability-zone", + description: "Availability zone", + args: { name: "availability-zone" }, + }, + { + name: ["--backup-storage-redundancy", "--bsr"], + description: + "Backup storage redundancy used to store backups. Allowed values include: Local, Zone, Geo, GeoZone", + args: { name: "backup-storage-redundancy" }, + }, + { + name: ["--capacity", "-c"], + description: + "The capacity component of the sku in integer number of DTUs or vcores", + args: { name: "capacity" }, + }, + { + name: "--compute-model", + description: "The compute model of the database", + args: { + name: "compute-model", + suggestions: ["Provisioned", "Serverless"], + }, + }, + { + name: "--elastic-pool", + description: + "The name or resource id of the elastic pool to create the database in", + args: { name: "elastic-pool" }, + }, + { + name: "--encryption-protector", + description: + "Specifies the Azure key vault key to be used as database encryption protector key", + args: { name: "encryption-protector" }, + }, + { + name: ["--encryption-protector-auto-rotation", "--epauto"], + description: + "Specifies the database encryption protector key auto rotation flag. Can be either true, false or null", + args: { + name: "encryption-protector-auto-rotation", + suggestions: ["false", "true"], + }, + }, + { + name: ["--family", "-f"], + description: + "The compute generation component of the sku (for vcore skus only). Allowed values include: Gen4, Gen5", + args: { name: "family" }, + }, + { + name: "--federated-client-id", + description: + "The federated client id for the SQL Database. It is used for cross tenant CMK scenario", + args: { name: "federated-client-id" }, + }, + { + name: ["--read-replicas", "--ha-replicas"], + description: + "The number of high availability replicas to provision for the database. Only settable for Hyperscale edition", + args: { name: "read-replicas" }, + }, + { + name: "--keys", + description: "The list of AKV keys for the SQL Database", + args: { name: "keys" }, + }, + { + name: "--license-type", + description: + "The license type to apply for this database.LicenseIncluded if you need a license, or BasePriceif you have a license and are eligible for the Azure HybridBenefit", + args: { + name: "license-type", + suggestions: ["BasePrice", "LicenseIncluded"], + }, + }, + { + name: "--min-capacity", + description: + "Minimal capacity that database will always have allocated, if not paused", + args: { name: "min-capacity" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--partner-database", + description: + "Name of the new replica. If unspecified, defaults to the source database name", + args: { name: "partner-database" }, + }, + { + name: "--partner-resource-group", + description: + "Name of the resource group to create the new replica in. If unspecified, defaults to the origin resource group", + args: { name: "partner-resource-group" }, + }, + { + name: "--preferred-enclave-type", + description: "Specifies type of enclave for this resource", + args: { + name: "preferred-enclave-type", + suggestions: ["Default", "VBS"], + }, + }, + { + name: "--read-scale", + description: + "If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases", + args: { + name: "read-scale", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--secondary-type", + description: + "Type of secondary to create. Allowed values include: Geo, Named", + args: { name: "secondary-type" }, + }, + { + name: ["--service-level-objective", "--service-objective"], + description: + "The service objective for the new database. For example: Basic, S0, P1, GP_Gen4_1, GP_Gen5_S_8, BC_Gen5_2, HS_Gen5_32", + args: { name: "service-level-objective" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identity-id", "--umi"], + description: + "The list of user assigned identity for the SQL Database", + args: { name: "user-assigned-identity-id" }, + }, + { + name: ["--zone-redundant", "-z"], + description: + "Specifies whether to enable zone redundancy. Default is true if no value is specified", + args: { + name: "zone-redundant", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "delete-link", + description: + "Permanently stop data replication between two database replicas", + options: [ + { + name: "--partner-server", + description: + "Name of the server that the other replica is in", + args: { name: "partner-server" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: "--partner-resource-group", + description: + "Name of the resource group that the other replica is in. If unspecified, defaults to the first database's resource group", + args: { name: "partner-resource-group" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list-links", + description: + "List the replicas of a database and their replication status", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set-primary", + description: + "Set the primary replica database by failing over from the current primary replica database", + options: [ + { + name: "--allow-data-loss", + description: + "If specified, the failover operation will allow data loss", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the database to fail over", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group containing the secondary replica that will become the new primary", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the server containing the secondary replica that will become the new primary. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "str-policy", + description: "Manage SQL database short term retention policy", + subcommands: [ + { + name: "set", + description: + "Update short term retention settings for a live database", + options: [ + { + name: "--retention-days", + description: + "New backup short term retention policy retention in days.Valid retention days for live database of (DTU) Basic can be 1-7 days; Rest models can be 1-35 days", + args: { name: "retention-days" }, + isRequired: true, + }, + { + name: "--diffbackup-hours", + description: + "New backup short term retention policy differential backup interval in hours.Valid differential backup interval for live database can be 12 or 24 hours", + args: { name: "diffbackup-hours" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show the short term retention policy for a live database", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until the policy is set", + options: [ + { + name: "--policy-name", + description: + 'The policy name. Should always be "default". "default" Required', + args: { name: "policy-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "tde", + description: "Manage a database's transparent data encryption", + subcommands: [ + { + name: "set", + description: + "Sets a database's transparent data encryption configuration", + options: [ + { + name: "--status", + description: "Status of the transparent data encryption", + args: { + name: "status", + suggestions: ["Disabled", "Enabled"], + }, + isRequired: true, + }, + { + name: ["--database", "-d"], + description: "Name of the Azure SQL Database", + args: { name: "database" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Shows a Transparent Data Encryption", + options: [ + { + name: ["--database", "-d"], + description: "Name of the Azure SQL Database", + args: { name: "database" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "key", + description: "Manage a database's encryption protector", + subcommands: [ + { + name: "revalidate", + description: + "Revalidates a database's encryption protector key", + options: [ + { + name: ["--database", "-d"], + description: "Name of the Azure SQL Database", + args: { name: "database" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "revert", + description: + "Reverts a database's encryption protector key to server level", + options: [ + { + name: ["--database", "-d"], + description: "Name of the Azure SQL Database", + args: { name: "database" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "threat-policy", + description: "Manage a database's threat detection policies", + subcommands: [ + { + name: "show", + description: "Gets a threat detection policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a database's threat detection policy", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--disabled-alerts", + description: "List of disabled alerts", + args: { name: "disabled-alerts" }, + }, + { + name: "--email-account-admins", + description: + "Whether the alert is sent to the account administrators", + args: { name: "email-account-admins" }, + }, + { + name: "--email-addresses", + description: + "List of email addresses that alerts are sent to", + args: { name: "email-addresses" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Azure SQL Database", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--retention-days", + description: + "The number of days to retain threat detection logs", + args: { name: "retention-days" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: "Threat detection policy state", + args: { + name: "state", + suggestions: ["Disabled", "Enabled", "New"], + }, + }, + { + name: "--storage-account", + description: "Name of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--storage-endpoint", + description: "The storage account endpoint", + args: { name: "storage-endpoint" }, + }, + { + name: "--storage-key", + description: "Access key for the storage account", + args: { name: "storage-key" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "down", + description: "Delete the SQL server and its cached information", + options: [ + { + name: "--delete-group", + description: "Delete the resource group", + args: { name: "delete-group" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the server", + args: { name: "server-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list-usages", + description: "Gets all subscription usage metrics in a given location", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "show-usage", + description: "Gets a subscription usage metric", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--usage", "-u"], + description: "Name of usage metric to return. Required", + args: { name: "usage" }, + isRequired: true, + }, + ], + }, + { + name: "up", + description: "Set up an Azure Database for SQL server and configurations", + options: [ + { + name: ["--admin-password", "-p"], + description: + "The login password of the administrator. Minimum 8 characters and maximum 128 characters. Password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters.Your password cannot contain all or part of the login name. Part of a login name is defined as three or more consecutive alphanumeric characters", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: "The login username of the administrator", + args: { name: "admin-user" }, + }, + { + name: ["--database-name", "-d"], + description: "The name of a database to initialize", + args: { name: "database-name" }, + }, + { + name: "--generate-password", + description: "Generate a password", + args: { name: "generate-password" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "-s"], + description: "Name of the server", + args: { name: "server-name" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--version", + description: "Server version", + args: { name: "version" }, + }, + ], + }, + { + name: "dw", + description: "Manage data warehouses", + subcommands: [ + { + name: "create", + description: "Create a data warehouse", + options: [ + { + name: ["--name", "-n"], + description: "Name of the data warehouse", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + isRequired: true, + }, + { + name: "--availability-zone", + description: "Availability zone", + args: { name: "availability-zone" }, + }, + { + name: ["--backup-storage-redundancy", "--bsr"], + description: + "Backup storage redundancy used to store backups. Allowed values include: Local, Zone, Geo, GeoZone", + args: { name: "backup-storage-redundancy" }, + }, + { + name: "--collation", + description: "The collation of the data warehouse", + args: { name: "collation" }, + }, + { + name: "--max-size", + description: + "The max storage size. If no unit is specified, defaults to bytes (B)", + args: { name: "max-size" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--service-level-objective", "--service-objective"], + description: + "The service objective for the new database. For example: DW100, DW1000c", + args: { name: "service-level-objective" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a data warehouse", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the data warehouse", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List data warehouses for a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "pause", + description: "Pauses a datawarehouse", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the data warehouse", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "resume", + description: "Resumes a datawarehouse", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the data warehouse", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details for a data warehouse", + options: [ + { + name: "--filter", + description: + "An OData filter expression that filters elements in the collection. Default value is None", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the data warehouse", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a data warehouse", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--filter", + description: + "An OData filter expression that filters elements in the collection. Default value is None", + args: { name: "filter" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--max-size", + description: + "The max storage size. If no unit is specified, defaults to bytes (B)", + args: { name: "max-size" }, + }, + { + name: ["--name", "-n"], + description: "Name of the data warehouse", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--service-objective", + description: + "The service objective of the data warehouse. For example: DW100, DW1000c", + args: { name: "service-objective" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "elastic-pool", + description: "Manage elastic pools", + subcommands: [ + { + name: "create", + description: "Create an elastic pool", + options: [ + { + name: ["--name", "-n"], + description: "The name of the elastic pool", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + isRequired: true, + }, + { + name: ["--capacity", "--dtu", "-c"], + description: + "The capacity component of the sku in integer number of DTUs or vcores", + args: { name: "capacity" }, + }, + { + name: ["--db-max-capacity", "--db-dtu-max", "--db-max-dtu"], + description: + "The maximum capacity (in DTUs or vcores) any one database can consume", + args: { name: "db-max-capacity" }, + }, + { + name: ["--db-min-capacity", "--db-dtu-min", "--db-min-dtu"], + description: + "The minumum capacity (in DTUs or vcores) each database is guaranteed", + args: { name: "db-min-capacity" }, + }, + { + name: ["--edition", "--tier", "-e"], + description: + "The edition component of the sku. Allowed values include: Basic, Standard, Premium, GeneralPurpose, BusinessCritical", + args: { name: "edition" }, + }, + { + name: ["--family", "-f"], + description: + "The compute generation component of the sku (for vcore skus only). Allowed values include: Gen4, Gen5", + args: { name: "family" }, + }, + { + name: ["--read-replicas", "--ha-replicas"], + description: + "The number of high availability replicas to provision for the database. Only settable for Hyperscale edition", + args: { name: "read-replicas" }, + }, + { + name: "--license-type", + description: "The license type to apply for this elastic pool", + args: { + name: "license-type", + suggestions: ["BasePrice", "LicenseIncluded"], + }, + }, + { + name: ["--maint-config-id", "-m"], + description: + "Specified maintenance configuration id or name for this resource", + args: { name: "maint-config-id" }, + }, + { + name: ["--max-size", "--storage"], + description: + "The max storage size. If no unit is specified, defaults to bytes (B)", + args: { name: "max-size" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--preferred-enclave-type", + description: + "The preferred enclave type for the Azure SQL Elastic Pool. Allowed values include: Default, VBS", + args: { + name: "preferred-enclave-type", + suggestions: ["Default", "VBS"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--zone-redundant", "-z"], + description: + "Specifies whether to enable zone redundancy. Default is true if no value is specified", + args: { name: "zone-redundant", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "delete", + description: "Deletes an elastic pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the elastic pool", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Gets all elastic pools in a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--skip", + description: + "The number of elements in the collection to skip. Default value is None", + args: { name: "skip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-dbs", + description: "Gets a list of databases in an elastic pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the elastic pool", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-editions", + description: + "List elastic pool editions available for the active subscription", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--available", "-a"], + description: + "If specified, show only results that are available in the specified region", + }, + { + name: "--dtu", + description: + "Number of DTUs to search for. If unspecified, all DTU sizes are shown", + args: { name: "dtu" }, + }, + { + name: ["--edition", "--tier", "-e"], + description: + "Edition to search for. If unspecified, all editions are shown", + args: { name: "edition" }, + }, + { + name: ["--show-details", "-d"], + description: "List of additional details to include in output", + args: { + name: "show-details", + suggestions: [ + "db-max-dtu", + "db-max-size", + "db-min-dtu", + "max-size", + ], + }, + }, + { + name: "--vcores", + description: + "Number of vcores to search for. If unspecified, all vcore sizes are shown", + args: { name: "vcores" }, + }, + ], + }, + { + name: "show", + description: "Gets an elastic pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the elastic pool", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an elastic pool", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--capacity", "--dtu", "-c"], + description: + "The capacity component of the sku in integer number of DTUs or vcores", + args: { name: "capacity" }, + }, + { + name: ["--db-max-capacity", "--db-dtu-max", "--db-max-dtu"], + description: + "The maximum capacity (in DTUs or vcores) any one database can consume", + args: { name: "db-max-capacity" }, + }, + { + name: ["--db-min-capacity", "--db-dtu-min", "--db-min-dtu"], + description: + "The minumum capacity (in DTUs or vcores) each database is guaranteed", + args: { name: "db-min-capacity" }, + }, + { + name: ["--edition", "--tier", "-e"], + description: + "The edition component of the sku. Allowed values include: Basic, Standard, Premium, GeneralPurpose, BusinessCritical", + args: { name: "edition" }, + }, + { + name: ["--family", "-f"], + description: + "The compute generation component of the sku (for vcore skus only). Allowed values include: Gen4, Gen5", + args: { name: "family" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--read-replicas", "--ha-replicas"], + description: + "The number of high availability replicas to provision for the database. Only settable for Hyperscale edition", + args: { name: "read-replicas" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--maint-config-id", "-m"], + description: + "Specified maintenance configuration id or name for this resource", + args: { name: "maint-config-id" }, + }, + { + name: ["--max-size", "--storage"], + description: + "The max storage size. If no unit is specified, defaults to bytes (B)", + args: { name: "max-size" }, + }, + { + name: ["--name", "-n"], + description: "The name of the elastic pool", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--preferred-enclave-type", + description: + "Type of enclave to be configured for the elastic pool", + args: { + name: "preferred-enclave-type", + suggestions: ["Default", "VBS"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--zone-redundant", "-z"], + description: + "Specifies whether to enable zone redundancy. Default is true if no value is specified", + args: { name: "zone-redundant", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "op", + description: "Manage operations on an elastic pool", + subcommands: [ + { + name: "cancel", + description: + "Cancels the asynchronous operation on the elastic pool", + options: [ + { + name: ["--name", "-n"], + description: "The unique name of the operation to cancel", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--elastic-pool", + description: "Name of the Azure SQL Elastic Pool", + args: { name: "elastic-pool" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Gets a list of operations performed on the elastic pool", + options: [ + { + name: "--elastic-pool", + description: "Name of the Azure SQL Elastic Pool", + args: { name: "elastic-pool" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "failover-group", + description: "Manage SQL Failover Groups", + subcommands: [ + { + name: "create", + description: "Creates a failover group", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Failover Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--partner-server", + description: "The name of the partner server of a Failover Group", + args: { name: "partner-server" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + isRequired: true, + }, + { + name: "--add-db", + description: "List of databases to add to Failover Group", + args: { name: "add-db" }, + }, + { + name: "--failover-policy", + description: "The failover policy of the Failover Group", + args: { + name: "failover-policy", + suggestions: ["Automatic", "Manual"], + }, + }, + { + name: "--grace-period", + description: + "Interval in hours before automatic failover is initiated if an outage occurs on the primary server. This indicates that Azure SQL Database will not initiate automatic failover before the grace period expires. Please note that failover operation with --allow-data-loss option might cause data loss due to the nature of asynchronous synchronization", + args: { name: "grace-period" }, + }, + { + name: "--partner-resource-group", + description: + "The name of the resource group of the partner server", + args: { name: "partner-resource-group" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a failover group", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Failover Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Lists the failover groups in a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set-primary", + description: + "Set the primary of the failover group by failing over all databases from the current primary server", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Failover Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--allow-data-loss", + description: + "Complete the failover even if doing so may result in data loss. This will allow the failover to proceed even if a primary database is unavailable", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--try-planned-before-forced-failover", "--tpbff"], + description: + "Performs a planned failover as the first step, and if it fails for any reason, then initiates a forced failover with potential data loss. This will allow the failover to proceed even if a primary database is unavailable", + }, + ], + }, + { + name: "show", + description: "Gets a failover group", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Failover Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates the failover group", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Failover Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--add-db", + description: "List of databases to add to Failover Group", + args: { name: "add-db" }, + }, + { + name: "--failover-policy", + description: "The failover policy of the Failover Group", + args: { + name: "failover-policy", + suggestions: ["Automatic", "Manual"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--grace-period", + description: + "Interval in hours before automatic failover is initiated if an outage occurs on the primary server. This indicates that Azure SQL Database will not initiate automatic failover before the grace period expires. Please note that failover operation with --allow-data-loss option might cause data loss due to the nature of asynchronous synchronization", + args: { name: "grace-period" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--remove-db", + description: "List of databases to remove from Failover Group", + args: { name: "remove-db" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "instance-failover-group", + description: "Manage SQL Instance Failover Groups", + subcommands: [ + { + name: "create", + description: + "Creates an instance failover group between two connected managed instances", + options: [ + { + name: ["--source-mi", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "source-mi" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the Instance Failover Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--partner-mi", + description: + "The name of the partner managed instance of a Instance Failover Group", + args: { name: "partner-mi" }, + isRequired: true, + }, + { + name: "--partner-resource-group", + description: + "The name of the resource group of the partner managed instance", + args: { name: "partner-resource-group" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--failover-policy", + description: "The failover policy of the Instance Failover Group", + args: { + name: "failover-policy", + suggestions: ["Automatic", "Manual"], + }, + }, + { + name: "--grace-period", + description: + "Interval in hours before automatic failover is initiated if an outage occurs on the primary server. This indicates that Azure SQL Database will not initiate automatic failover before the grace period expires. Please note that failover operation with --allow-data-loss option might cause data loss due to the nature of asynchronous synchronization", + args: { name: "grace-period" }, + }, + { + name: "--secondary-type", + description: + "Intended usage of the secondary instance in the Failover Group. Standby indicates that the secondary instance will be used as a passive replica for disaster recovery only", + args: { name: "secondary-type" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a failover group", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the Instance Failover Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "set-primary", + description: + "Set the primary of the instance failover group by failing over all databases from the current primary managed instance", + options: [ + { + name: ["--location", "-l"], + description: + "Location of the secondary instance in the Instance Failover Group. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the Instance Failover Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group of the secondary instance in the Instance Failover Group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--allow-data-loss", + description: + "Complete the failover even if doing so may result in data loss. This will allow the failover to proceed even if a primary database is unavailable", + }, + ], + }, + { + name: "show", + description: "Gets a failover group", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the Instance Failover Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Updates the instance failover group", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the Instance Failover Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--failover-policy", + description: "The failover policy of the Instance Failover Group", + args: { + name: "failover-policy", + suggestions: ["Automatic", "Manual"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--grace-period", + description: + "Interval in hours before automatic failover is initiated if an outage occurs on the primary server. This indicates that Azure SQL Database will not initiate automatic failover before the grace period expires. Please note that failover operation with --allow-data-loss option might cause data loss due to the nature of asynchronous synchronization", + args: { name: "grace-period" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--secondary-type", + description: + "Intended usage of the secondary instance in the Failover Group. Standby indicates that the secondary instance will be used as a passive replica for disaster recovery only", + args: { name: "secondary-type" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + { + name: "instance-failover-group-arc", + description: "Manage Arc-enabled SQL managed instance Failover Groups", + subcommands: [ + { + name: "create", + description: "Create a failover group resource", + options: [ + { + name: "--mi", + description: "The name of the primary SQL managed instance", + args: { name: "mi" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the failover group resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--partner-mi", + description: + "The name of the partner SQL managed instance or remote SQL instance. When using ARM-targeted arguments, this refers to the Disaster Recovery (DR) instance name", + args: { name: "partner-mi" }, + isRequired: true, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "Namespace where the failover group is to be deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--partner-mirroring-cert-file", "-f"], + description: + "The filename of mirroring endpoint public certificate for the partner SQL managed instance or availability group on remote SQL instance. Only PEM format is supported", + args: { name: "partner-mirroring-cert-file" }, + }, + { + name: ["--partner-mirroring-url", "-u"], + description: + "The mirroring endpoint URL of the partner SQL managed instance", + args: { name: "partner-mirroring-url" }, + }, + { + name: "--partner-resource-group", + description: + "The Azure resource group of the DR partner Arc-enabled SQL managed instance", + args: { name: "partner-resource-group" }, + }, + { + name: ["--partner-sync-mode", "-m"], + description: + "The partner synchronization mode of the Arc-enabled SQL managed instance", + args: { + name: "partner-sync-mode", + suggestions: ["async", "sync"], + }, + }, + { + name: "--primary-mirroring-url", + description: + "The mirroring endpoint URL of the primary SQL managed instance", + args: { name: "primary-mirroring-url" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group of the primary Arc-enabled SQL managed instance", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: + "The requested role of the failover group. The role can be changed", + args: { name: "role", suggestions: ["primary", "secondary"] }, + }, + { + name: "--shared-name", + description: + "The shared name of the failover group for this SQL managed instance. Both the primary SQL managed instance and its partner must use the same shared name", + args: { name: "shared-name" }, + }, + { + name: "--use-k8s", + description: + "Create the Arc-enabled SQL managed instance failover group using local Kubernetes APIs", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "delete", + description: + "Delete an Arc-enabled SQL Managed Instance failover group", + options: [ + { + name: ["--name", "-n"], + description: "The name of the failover group resource to delete", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "Namespace where the failover group is deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--mi", + description: + "The name of the primary Arc-enabled SQL managed instance", + args: { name: "mi" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group of the primary Arc-enabled SQL managed instance", + args: { name: "resource-group" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "list", + description: "List all failover groups", + options: [ + { + name: ["--k8s-namespace", "-k"], + description: + "Namespace where the failover groups are deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--mi", + description: "The name of the Arc-enabled SQL managed instance", + args: { name: "mi" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group of the Arc-enabled SQL managed instance", + args: { name: "resource-group" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a failover group resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the failover group resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "Namespace where the failover group is deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--mi", + description: + "The name of the primary Arc-enabled SQL managed instance", + args: { name: "mi" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group of the primary Arc-enabled SQL managed instance", + args: { name: "resource-group" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "update", + description: "Update a failover group resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the failover group resource", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "Namespace where the failover group exists. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--mi", + description: + "The name of the Arc-enabled SQL managed instance to update", + args: { name: "mi" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--partner-sync-mode", "-m"], + description: + "The partner synchronization mode of the SQL managed instance", + args: { + name: "partner-sync-mode", + suggestions: ["async", "sync"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group of the primary Arc-enabled SQL managed instance", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: "The requested role of the failover group", + args: { + name: "role", + suggestions: [ + "force-primary-allow-data-loss", + "force-secondary", + "secondary", + ], + }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + ], + }, + { + name: "instance-pool", + description: "Manage instance pools", + subcommands: [ + { + name: "create", + description: "Create an instance pool", + options: [ + { + name: ["--capacity", "-c"], + description: "Capacity of the instance pool in vcores", + args: { name: "capacity" }, + isRequired: true, + }, + { + name: ["--edition", "--tier", "-e"], + description: + "The edition component of the sku. Allowed value: GeneralPurpose", + args: { name: "edition" }, + isRequired: true, + }, + { + name: ["--family", "-f"], + description: + "The compute generation component of the sku. Allowed value: Gen5", + args: { name: "family" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Instance Pool Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "Name or ID of the subnet that allows access to an Instance Pool. If subnet name is provided, --vnet-name must be provided", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--license-type", + description: "The license type to apply for this instance pool", + args: { + name: "license-type", + suggestions: ["BasePrice", "LicenseIncluded"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vnet-name", + description: "The virtual network name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete an instance pool", + options: [ + { + name: ["--name", "-n"], + description: "Instance Pool Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List available instance pools", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details for an instance pool", + options: [ + { + name: ["--name", "-n"], + description: "Instance Pool Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an instance pool", + options: [ + { + name: ["--name", "-n"], + description: "Instance Pool Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: "Wait for an instance pool to reach a desired state", + options: [ + { + name: ["--name", "-n"], + description: "Instance Pool Name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "mi", + description: "Manage SQL managed instances", + subcommands: [ + { + name: "create", + description: "Create a managed instance", + options: [ + { + name: ["--name", "-n"], + description: "The managed instance name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "Name or ID of the subnet that allows access to an Azure Sql Managed Instance. If subnet name is provided, --vnet-name must be provided", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: ["--admin-password", "-p"], + description: + "The administrator login password (required formanaged instance creation)", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: + "Administrator username for the managed instance. Canonly be specified when the managed instance is beingcreated (and is required for creation)", + args: { name: "admin-user" }, + }, + { + name: ["--assign-identity", "-i"], + description: + "Generate and assign an Azure Active Directory Identity for this managed instance for use with key management services like Azure KeyVault", + }, + { + name: ["--backup-storage-redundancy", "--bsr"], + description: + "Backup storage redundancy used to store backups. Allowed values include: Local, Zone, Geo, GeoZone", + args: { name: "backup-storage-redundancy" }, + }, + { + name: ["--capacity", "-c"], + description: + "The capacity of the managed instance in integer number of vcores", + args: { name: "capacity" }, + }, + { + name: "--collation", + description: "The collation of the managed instance", + args: { name: "collation" }, + }, + { + name: ["--edition", "--tier", "-e"], + description: + "The edition component of the sku. Allowed values include: GeneralPurpose, BusinessCritical", + args: { name: "edition" }, + }, + { + name: "--enable-ad-only-auth", + description: + "Enable Azure Active Directory Only Authentication for this server", + }, + { + name: "--external-admin-name", + description: + "Display name of the Azure AD administrator user, group or application", + args: { name: "external-admin-name" }, + }, + { + name: "--external-admin-principal-type", + description: "User, Group or Application", + args: { name: "external-admin-principal-type" }, + }, + { + name: "--external-admin-sid", + description: + "The unique ID of the Azure AD administrator. Object Id for User or Group, Client Id for Applications", + args: { name: "external-admin-sid" }, + }, + { + name: ["--family", "-f"], + description: + "The compute generation component of the sku. Allowed values include: Gen4, Gen5", + args: { name: "family" }, + }, + { + name: ["--identity-type", "-t"], + description: + "Type of Identity to be used. Possible values are SystemAsssigned,UserAssigned, SystemAssignedUserAssigned and None", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: ["--key-id", "-k"], + description: "The key vault URI for encryption", + args: { name: "key-id" }, + }, + { + name: "--license-type", + description: + "The license type to apply for this managed instance", + args: { + name: "license-type", + suggestions: ["BasePrice", "LicenseIncluded"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--maint-config-id", "-m"], + description: + "Assign maintenance configuration to this managed instance", + args: { name: "maint-config-id" }, + }, + { + name: "--minimal-tls-version", + description: + "The minimal TLS version enforced by the managed instance for inbound connections", + args: { + name: "minimal-tls-version", + suggestions: ["1.0", "1.1", "1.2", "None"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--primary-user-assigned-identity-id", "--pid"], + description: "The ID of the primary user managed identity", + args: { name: "primary-user-assigned-identity-id" }, + }, + { + name: "--proxy-override", + description: + "The connection type used for connecting to the instance", + args: { + name: "proxy-override", + suggestions: ["Default", "Proxy", "Redirect"], + }, + }, + { + name: "--public-data-endpoint-enabled", + description: + "Whether or not the public data endpoint is enabled for the instance", + args: { + name: "public-data-endpoint-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal-type", + description: + "Service Principal type to be used for this Managed Instance. Possible values are SystemAssigned and None", + args: { + name: "service-principal-type", + suggestions: ["None", "SystemAssigned"], + }, + }, + { + name: "--storage", + description: + "The storage size of the managed instance. Storage size must be specified in increments of 32 GB", + args: { name: "storage" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--timezone-id", + description: + "The time zone id for the instance to set. A list of time zone ids is exposed through the sys.time_zone_info (Transact-SQL) view", + args: { name: "timezone-id" }, + }, + { + name: ["--user-assigned-identity-id", "-a"], + description: + "Generate and assign an User Managed Identity(UMI) for this server", + args: { name: "user-assigned-identity-id" }, + }, + { + name: "--vnet-name", + description: "The virtual network name", + args: { name: "vnet-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-redundant", "-z"], + description: + "Specifies whether to enable zone redundancy. Default is true if no value is specified", + args: { name: "zone-redundant", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a managed instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The managed instance name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "failover", + description: "Failover a managed instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The managed instance name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--replica-type", + description: + 'The type of replica to be failed over. Known values are: "Primary" and "ReadableSecondary". Default value is None', + args: { name: "replica-type" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List available managed instances", + options: [ + { + name: "--expand-ad-admin", + description: + "Expand the Active Directory Administrator for the server", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details for a managed instance", + options: [ + { + name: "--expand-ad-admin", + description: + "Expand the Active Directory Administrator for the server", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The managed instance name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start the managed instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "The name of the managed instance", + args: { name: "managed-instance" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop the managed instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "The name of the managed instance", + args: { name: "managed-instance" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a managed instance", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--admin-password", "-p"], + description: + "The administrator login password (required formanaged instance creation)", + args: { name: "admin-password" }, + }, + { + name: ["--assign-identity", "-i"], + description: + "Generate and assign an Azure Active Directory Identity for this managed instance for use with key management services like Azure KeyVault. If identity is already assigned - do nothing", + }, + { + name: ["--backup-storage-redundancy", "--bsr"], + description: + "Backup storage redundancy used to store backups. Allowed values include: Local, Zone, Geo, GeoZone", + args: { name: "backup-storage-redundancy" }, + }, + { + name: ["--capacity", "-c"], + description: + "The capacity of the managed instance in integer number of vcores", + args: { name: "capacity" }, + }, + { + name: ["--edition", "--tier", "-e"], + description: + "The edition component of the sku. Allowed values include: GeneralPurpose, BusinessCritical", + args: { name: "edition" }, + }, + { + name: ["--family", "-f"], + description: + "The compute generation component of the sku. Allowed values include: Gen4, Gen5", + args: { name: "family" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--identity-type", "-t"], + description: + "Type of Identity to be used. Possible values are SystemAsssigned,UserAssigned, SystemAssignedUserAssigned and None", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--key-id", "-k"], + description: "The key vault URI for encryption", + args: { name: "key-id" }, + }, + { + name: "--license-type", + description: + "The license type to apply for this managed instance", + args: { + name: "license-type", + suggestions: ["BasePrice", "LicenseIncluded"], + }, + }, + { + name: ["--maint-config-id", "-m"], + description: + "Change maintenance configuration for this managed instance", + args: { name: "maint-config-id" }, + }, + { + name: "--minimal-tls-version", + description: + "The minimal TLS version enforced by the managed instance for inbound connections", + args: { + name: "minimal-tls-version", + suggestions: ["1.0", "1.1", "1.2", "None"], + }, + }, + { + name: ["--name", "-n"], + description: "The managed instance name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--primary-user-assigned-identity-id", "--pid"], + description: "The ID of the primary user managed identity", + args: { name: "primary-user-assigned-identity-id" }, + }, + { + name: "--proxy-override", + description: + "The connection type used for connecting to the instance", + args: { + name: "proxy-override", + suggestions: ["Default", "Proxy", "Redirect"], + }, + }, + { + name: "--public-data-endpoint-enabled", + description: + "Whether or not the public data endpoint is enabled for the instance", + args: { + name: "public-data-endpoint-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--service-principal-type", + description: + "Service Principal type to be used for this Managed Instance. Possible values are SystemAssigned and None", + args: { + name: "service-principal-type", + suggestions: ["None", "SystemAssigned"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--storage", + description: + "The storage size of the managed instance. Storage size must be specified in increments of 32 GB", + args: { name: "storage" }, + }, + { + name: "--subnet", + description: + "Name or ID of the subnet that allows access to an Azure Sql Managed Instance. If subnet name is provided, --vnet-name must be provided", + args: { name: "subnet" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--user-assigned-identity-id", "-a"], + description: + "Generate and assign an User Managed Identity(UMI) for this server", + args: { name: "user-assigned-identity-id" }, + }, + { + name: "--vnet-name", + description: "The virtual network name", + args: { name: "vnet-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + { + name: ["--zone-redundant", "-z"], + description: + "Specifies whether to enable zone redundancy. Default is true if no value is specified", + args: { name: "zone-redundant", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "ad-admin", + description: + "Manage a managed instance's Active Directory administrator", + subcommands: [ + { + name: "create", + description: + "Creates a new managed instance Active Directory administrator", + options: [ + { + name: ["--display-name", "-u"], + description: + "Display name of the Azure AD administrator user or group", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + isRequired: true, + }, + { + name: ["--object-id", "-i"], + description: "The unique ID of the Azure AD administrator", + args: { name: "object-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Deletes an existing managed instance Active Directory Administrator", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Returns a list of managed instance Active Directory Administrators", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Updates an existing managed instance Active Directory administrator", + options: [ + { + name: ["--display-name", "-u"], + description: + "Display name of the Azure AD administrator user or group", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: ["--object-id", "-i"], + description: "The unique ID of the Azure AD administrator", + args: { name: "object-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "ad-only-auth", + description: + "Manage a Managed Instance's Azure Active Directory only settings", + subcommands: [ + { + name: "disable", + description: + "Disable Azure Active Directory only Authentication for this Managed Instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The managed instance name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "enable", + description: + "Enable Azure Active Directory only Authentication for this Managed Instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The managed instance name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get", + description: + "Get a specific Azure Active Directory only Authentication property", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The managed instance name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "advanced-threat-protection-setting", + description: + "Manage a SQL Managed Instance's advanced threat protection setting", + subcommands: [ + { + name: "show", + description: "Gets an advanced threat protection setting", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The managed instance name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a SQL Managed Instance's advanced threat protection setting", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The managed instance name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: + "State of the advanced threat protection setting", + args: { name: "state" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "dtc", + description: + "Commands related to managed instance DTC management.\n\n\t\tThe managed instance DTC object can be fetched and updated using these commands", + subcommands: [ + { + name: "show", + description: "Get managed instance DTC settings", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance-name", "--mi"], + description: "The name of the managed instance", + args: { name: "managed-instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update managed instance DTC settings", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--allow-inbound-enabled", + description: "Allow Inbound traffic to managed instance DTC", + args: { + name: "allow-inbound-enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--allow-outbound-enabled", + description: "Allow Outbound traffic of managed instance DTC", + args: { + name: "allow-outbound-enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--authentication", + description: "Authentication type of managed instance DTC", + args: { name: "authentication" }, + }, + { + name: "--dtc-enabled", + description: "Active status of managed instance DTC", + args: { + name: "dtc-enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: [ + "--external-dns-suffix-search-list", + "--external-dns-suffixes", + ], + description: + 'External dns suffix search list of managed instance DTC. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "external-dns-suffix-search-list" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance-name", "--mi"], + description: "The name of the managed instance", + args: { name: "managed-instance-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: [ + "--sna-lu6point2-transactions-enabled", + "--sna-lu-transactions", + ], + description: + "Allow SNA LU 6.2 Transactions to managed instance DTC", + args: { + name: "sna-lu6point2-transactions-enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: [ + "--xa-transactions-default-timeout", + "--xa-default-timeout", + ], + description: + "Default timeout for XA Transactions (in seconds)", + args: { name: "xa-transactions-default-timeout" }, + }, + { + name: [ + "--xa-transactions-maximum-timeout", + "--xa-max-timeout", + ], + description: + "Maximum timeout for XA Transactions (in seconds)", + args: { name: "xa-transactions-maximum-timeout" }, + }, + { + name: ["--xa-transactions-enabled", "--xa-transactions"], + description: "Allow XA Transactions to managed instance DTC", + args: { + name: "xa-transactions-enabled", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--managed-instance-name", "--mi"], + description: "The name of the managed instance", + args: { name: "managed-instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "endpoint-cert", + description: "Endpoint certificates management commands", + subcommands: [ + { + name: "list", + description: + "List certificates used on endpoints on the target instance", + options: [ + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of the managed instance", + args: { name: "managed-instance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get a certificate used on the endpoint with the given id", + options: [ + { + name: ["--endpoint-type", "--name", "-n"], + description: + "Type of the endpoint whose certificate the customer is looking for", + args: { name: "endpoint-type" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of the managed instance", + args: { name: "managed-instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "key", + description: "Manage a SQL Instance's keys", + subcommands: [ + { + name: "create", + description: "Creates a SQL Instance key", + options: [ + { + name: ["--kid", "-k"], + description: + 'The Azure Key Vault key identifier of the server key. An example key identifier is "https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"', + args: { name: "kid" }, + isRequired: true, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Deletes a SQL Instance key", + options: [ + { + name: ["--kid", "-k"], + description: + 'The Azure Key Vault key identifier of the server key. An example key identifier is "https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"', + args: { name: "kid" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Gets a list of managed instance keys", + options: [ + { + name: "--filter", + description: + "An OData filter expression that filters elements in the collection. Default value is None", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Shows a SQL Instance key", + options: [ + { + name: ["--kid", "-k"], + description: + 'The Azure Key Vault key identifier of the server key. An example key identifier is "https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"', + args: { name: "kid" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "link", + description: "Instance link management commands", + subcommands: [ + { + name: "create", + description: "Creates a new instance link", + options: [ + { + name: [ + "--distributed-availability-group-name", + "--link", + "--name", + "-n", + ], + description: "Name of the instance link", + args: { name: "distributed-availability-group-name" }, + isRequired: true, + }, + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of Azure SQL Managed Instance", + args: { name: "managed-instance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--primary-availability-group-name", "--primary-ag"], + description: "Name of the primary availability group", + args: { name: "primary-availability-group-name" }, + }, + { + name: [ + "--secondary-availability-group-name", + "--secondary-ag", + ], + description: "Name of the secondary availability group", + args: { name: "secondary-availability-group-name" }, + }, + { + name: "--source-endpoint", + description: "IP adress of the source endpoint", + args: { name: "source-endpoint" }, + }, + { + name: ["--target-database", "--target-db"], + description: "Name of the target database", + args: { name: "target-database" }, + }, + ], + }, + { + name: "delete", + description: "Removes an instance link", + options: [ + { + name: [ + "--distributed-availability-group-name", + "--link", + "--name", + "-n", + ], + description: "Name of the instance link", + args: { name: "distributed-availability-group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of Azure SQL Managed Instance", + args: { name: "managed-instance-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Returns information about link feature for Azure SQL Managed Instance", + options: [ + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of Azure SQL Managed Instance", + args: { name: "managed-instance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Returns information about link feature for Azure SQL Managed Instance", + options: [ + { + name: [ + "--distributed-availability-group-name", + "--link", + "--name", + "-n", + ], + description: "Name of the instance link", + args: { name: "distributed-availability-group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of Azure SQL Managed Instance", + args: { name: "managed-instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates the properties of an instance link", + options: [ + { + name: [ + "--distributed-availability-group-name", + "--link", + "--name", + "-n", + ], + description: "Name of the instance link", + args: { name: "distributed-availability-group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of Azure SQL Managed Instance", + args: { name: "managed-instance-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--replication-mode", + description: + "Replication mode value. Possible values include 'Sync' and 'Async'", + args: { + name: "replication-mode", + suggestions: ["Async", "Sync"], + }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "op", + description: "Manage operations on a managed instance", + subcommands: [ + { + name: "cancel", + description: + "Cancels the asynchronous operation on the managed instance", + options: [ + { + name: ["--name", "-n"], + description: "The unique name of the operation to cancel", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Gets a list of operations performed on the managed instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Gets a management operation on a managed instance", + options: [ + { + name: ["--name", "-n"], + description: "The unique name of the operation to show", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "partner-cert", + description: "Server trust certificate management commands", + subcommands: [ + { + name: "create", + description: + "Upload a server trust certificate from box to Sql Managed Instance", + options: [ + { + name: ["--certificate-name", "--name", "-n"], + description: "Name of of the certificate to upload", + args: { name: "certificate-name" }, + isRequired: true, + }, + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of the managed instance", + args: { name: "managed-instance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--public-blob", + description: "The certificate public blob", + args: { name: "public-blob" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a server trust certificate that was uploaded from box to Sql Managed Instance", + options: [ + { + name: ["--certificate-name", "--name", "-n"], + description: "Name of of the certificate to delete", + args: { name: "certificate-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of the managed instance", + args: { name: "managed-instance-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Get a list of server trust certificates that were uploaded from box to the given Sql Managed Instance", + options: [ + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of the managed instance", + args: { name: "managed-instance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get a server trust certificate that was uploaded from box to Sql Managed Instance", + options: [ + { + name: ["--certificate-name", "--name", "-n"], + description: "Name of of the certificate to get", + args: { name: "certificate-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of the managed instance", + args: { name: "managed-instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "server-configuration-option", + description: "Server configuration option management commands", + subcommands: [ + { + name: "list", + description: + "List a list of managed instance server configuration options", + options: [ + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of the managed instance", + args: { name: "managed-instance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Set managed instance server configuration option", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of the managed instance", + args: { name: "managed-instance-name" }, + }, + { + name: ["--server-configuration-option-name", "--name", "-n"], + description: "Name of the server configuration option", + args: { + name: "server-configuration-option-name", + suggestions: ["allowPolybaseExport"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-configuration-option-value", "--value"], + description: "Value of the server configuration option", + args: { name: "server-configuration-option-value" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get managed instance server configuration option", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of the managed instance", + args: { name: "managed-instance-name" }, + }, + { + name: ["--server-configuration-option-name", "--name", "-n"], + description: "Name of the server configuration option", + args: { + name: "server-configuration-option-name", + suggestions: ["allowPolybaseExport"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: [ + "--managed-instance-name", + "--managed-instance", + "--instance-name", + "--mi", + ], + description: "Name of the managed instance", + args: { name: "managed-instance-name" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--server-configuration-option-name", "--name", "-n"], + description: "Name of the server configuration option", + args: { + name: "server-configuration-option-name", + suggestions: ["allowPolybaseExport"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "start-stop-schedule", + description: "Manage the managed instance's start stop schedule", + subcommands: [ + { + name: "create", + description: "Create the managed instance's Start/Stop schedule", + options: [ + { + name: ["--managed-instance", "--mi"], + description: "The name of the managed instance", + args: { name: "managed-instance" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "The description of the schedule", + args: { name: "description" }, + }, + { + name: "--schedule-list", + description: + 'Schedule list. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "schedule-list" }, + }, + { + name: "--timezone-id", + description: "The time zone of the schedule", + args: { name: "timezone-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete the managed instance's Start/Stop schedule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "The name of the managed instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the managed instance's Start/Stop schedules", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "The name of the managed instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the managed instance's Start/Stop schedule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "The name of the managed instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the managed instance's Start/Stop schedule", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "The description of the schedule", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "The name of the managed instance", + args: { name: "managed-instance" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the resource group", + args: { name: "resource-group" }, + }, + { + name: "--schedule-list", + description: + 'Schedule list. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "schedule-list" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timezone-id", + description: "The time zone of the schedule", + args: { name: "timezone-id" }, + }, + ], + }, + ], + }, + { + name: "tde-key", + description: "Manage a SQL Instance's encryption protector", + subcommands: [ + { + name: "set", + description: "Sets the SQL Instance's encryption protector", + options: [ + { + name: ["--server-key-type", "-t"], + description: "The type of the server key", + args: { + name: "server-key-type", + suggestions: ["AzureKeyVault", "ServiceManaged"], + }, + isRequired: true, + }, + { + name: "--auto-rotation-enabled", + description: + "The key auto rotation opt in status. Can be either true or false", + args: { + name: "auto-rotation-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--kid", "-k"], + description: + 'The Azure Key Vault key identifier of the server key. An example key identifier is "https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"', + args: { name: "kid" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Shows a server encryption protector", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "mi-arc", + description: "Manage Azure Arc-enabled SQL managed instances", + subcommands: [ + { + name: "create", + description: "Create a SQL managed instance", + options: [ + { + name: ["--name", "-n"], + description: "The name of the SQL managed instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ad-account-name", + description: + "The Active Directory account name for this Arc-enabled SQL Managed Instance. This account needs to be created prior to the deployment of this instance", + args: { name: "ad-account-name" }, + }, + { + name: "--ad-connector-name", + description: + "The name of the Active Directory Connector. This parameter indicates an intent to deploy with AD support", + args: { name: "ad-connector-name" }, + }, + { + name: "--ad-encryption-types", + description: + "A comma-separated list of supported Active Directory encryption types. Must be a subset of the following values: RC4, AES128, AES256", + args: { name: "ad-encryption-types" }, + }, + { + name: "--admin-login-secret", + description: + "Name of the Kubernetes secret to generate that hosts or will host user admin login account credential", + args: { name: "admin-login-secret" }, + }, + { + name: "--agent-enabled", + description: + "Enable SQL Server agent for the instance. Default is disabled. Allowed values are 'true' or 'false'", + args: { name: "agent-enabled" }, + }, + { + name: "--annotations", + description: + "Comma-separated list of annotations of the SQL managed instance", + args: { name: "annotations" }, + }, + { + name: "--cert-private-key-file", + description: + "Path to the file containing a PEM formatted certificate private key to be used for SQL Server", + args: { name: "cert-private-key-file" }, + }, + { + name: "--cert-public-key-file", + description: + "Path to the file containing a PEM formatted certificate public key to be used for SQL Server", + args: { name: "cert-public-key-file" }, + }, + { + name: "--collation", + description: "The SQL Server collation for the instance", + args: { name: "collation" }, + }, + { + name: ["--cores-limit", "-c"], + description: + "The cores limit of the managed instance as an integer", + args: { name: "cores-limit" }, + }, + { + name: "--cores-request", + description: + "The request for cores of the managed instance as an integer", + args: { name: "cores-request" }, + }, + { + name: "--custom-location", + description: "The custom location for this instance", + args: { name: "custom-location" }, + }, + { + name: "--dev", + description: + "If this is specified, then it is considered a dev instance and will not be billed for", + args: { name: "dev" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "Namespace where the SQL managed instance is to be deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--keytab-secret", + description: + "The name of the Kubernetes secret that contains the keytab file for this Arc-enabled SQL Managed Instance", + args: { name: "keytab-secret" }, + }, + { + name: "--labels", + description: + "Comma-separated list of labels of the SQL managed instance", + args: { name: "labels" }, + }, + { + name: "--language", + description: + "The SQL Server locale to any supported language identifier (LCID) for the instance", + args: { name: "language" }, + }, + { + name: ["--license-type", "-l"], + description: + "The license type to apply for this managed instance Allowed values are: BasePrice, LicenseIncluded, DisasterRecovery.Default is LicenseIncluded. The license type can be changed", + args: { name: "license-type" }, + }, + { + name: ["--memory-limit", "-m"], + description: + "The limit of the capacity of the managed instance as an integer number followed by Gi (gigabytes). Example: 4Gi", + args: { name: "memory-limit" }, + }, + { + name: "--memory-request", + description: + "The request for the capacity of the managed instance as an integer number followed by Gi (gigabytes). Example: 4Gi", + args: { name: "memory-request" }, + }, + { + name: "--no-external-endpoint", + description: + "If specified, no external service will be created. Otherwise, an external service will be created using the same service type as the data controller", + args: { name: "no-external-endpoint" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--orchestrator-replicas", + description: + "The number of high availability orchestrator replicas. Value must be between 1 and 3", + args: { name: "orchestrator-replicas" }, + }, + { + name: "--path", + description: + "The path to the azext_arcdata file for the SQL managed instance json file", + args: { name: "path" }, + }, + { + name: "--primary-dns-name", + description: + "The primary service DNS name exposed to the end-users to connect to this Arc-enabled SQL Managed Instance (e.g. sqlinstancename.contoso.com)", + args: { name: "primary-dns-name" }, + }, + { + name: "--primary-port-number", + description: + "The port number on which the primary service is exposed to the end-users (e.g. 31433)", + args: { name: "primary-port-number" }, + }, + { + name: "--readable-secondaries", + description: + "Number of replicas to be made readable. Applies only to Business Critical tier. Value must be between 0 and the number of replicas minus 1", + args: { name: "readable-secondaries" }, + }, + { + name: "--replicas", + description: + "This option specifies the number of SQL Managed Instance replicas that will be deployed in your Kubernetes cluster for high availability purposes. Default is 1 replica for General Purpose, 3 replicas for Business Critical", + args: { name: "replicas", suggestions: ["1", "2", "3"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group to which the Arc-enabled SQL Managed Instance should be added", + args: { name: "resource-group" }, + }, + { + name: "--retention-days", + description: + "Backup retention period, specified in days. Allowed values are 0 to 35. Default is 7. Setting the retention period to 0 will turn off automatic backups for all the databases on the SQL managed instance and any prior backups will be deleted", + args: { name: "retention-days" }, + }, + { + name: "--secondary-dns-name", + description: + "The secondary service DNS name exposed to the end-users to connect to this Arc-enabled SQL Managed Instance (e.g. sqlinstancename2.contoso.com)", + args: { name: "secondary-dns-name" }, + }, + { + name: "--secondary-port-number", + description: + "The port number on which the secondary service is exposed to the end-users (e.g. 31434)", + args: { name: "secondary-port-number" }, + }, + { + name: "--service-annotations", + description: + "Comma-separated list of annotations to apply to all external services", + args: { name: "service-annotations" }, + }, + { + name: "--service-cert-secret", + description: + "Name of the Kubernetes secret to generate that hosts or will host SQL service certificate", + args: { name: "service-cert-secret" }, + }, + { + name: "--service-labels", + description: + "Comma-separated list of labels to apply to all external services", + args: { name: "service-labels" }, + }, + { + name: "--service-type", + description: "The type for the primary service", + args: { + name: "service-type", + suggestions: ["LoadBalancer", "NodePort"], + }, + }, + { + name: "--storage-annotations", + description: + "Comma-separated list of annotations to apply to all PVCs", + args: { name: "storage-annotations" }, + }, + { + name: "--storage-class-backups", + description: + "A ReadWriteMany (RWX) capable storage class to be used for backups (/var/opt/mssql/backups). If no value is specified, the default storage class will be used", + args: { name: "storage-class-backups" }, + }, + { + name: ["--storage-class-data", "-d"], + description: + "The storage class to be used for data files (.mdf, .ndf). If no value is specified, then no storage class will be specified, which will result in Kubernetes using the default storage class", + args: { name: "storage-class-data" }, + }, + { + name: "--storage-class-datalogs", + description: + "The storage class to be used for database logs (.ldf). If no value is specified, then no storage class will be specified, which will result in Kubernetes using the default storage class", + args: { name: "storage-class-datalogs" }, + }, + { + name: "--storage-class-logs", + description: + "The storage class to be used for logs (/var/log). If no value is specified, then no storage class will be specified, which will result in Kubernetes using the default storage class", + args: { name: "storage-class-logs" }, + }, + { + name: "--storage-class-orchestrator-logs", + description: + "The storage class to be used for orchestrator logs (/var/log). If no value is specified, then no storage class will be specified, which will result in Kubernetes using the default storage class", + args: { name: "storage-class-orchestrator-logs" }, + }, + { + name: "--storage-labels", + description: + "Comma-separated list of labels to apply to all PVCs", + args: { name: "storage-labels" }, + }, + { + name: "--sync-secondary-to-commit", + description: + "Number of secondary replicas that must be synchronized to commit. Setting this value to -1 will set the number of required synchronized secondaries to '(# of replicas - 1) / 2', rounded down", + args: { + name: "sync-secondary-to-commit", + suggestions: ["-1", "0", "1", "2"], + }, + }, + { + name: "--tde-mode", + description: + "The Transparent Data Encryption (TDE) mode for this Arc-enabled SQL Managed Instance. Allowed values: ServiceManaged, CustomerManaged, or Disabled. Default is Disabled", + args: { name: "tde-mode" }, + }, + { + name: "--tde-protector-private-key-file", + description: + "Path to the file containing a PEM formatted certificate private key to be used for TDE", + args: { name: "tde-protector-private-key-file" }, + }, + { + name: "--tde-protector-public-key-file", + description: + "Path to the file containing a PEM formatted certificate public key to be used for TDE", + args: { name: "tde-protector-public-key-file" }, + }, + { + name: "--tde-protector-secret", + description: + "The name of the Kubernetes secret that contains the TDE protector certificate and private key for this Arc-enabled SQL Managed Instance. Can only be specified for CustomerManaged TDE mode", + args: { name: "tde-protector-secret" }, + }, + { + name: ["--tier", "-t"], + description: + "The pricing tier for the instance. Allowed values: BusinessCritical (bc for short) or GeneralPurpose (gp for short). Default is GeneralPurpose", + args: { name: "tier" }, + }, + { + name: "--time-zone", + description: "The SQL Server time zone for the instance", + args: { name: "time-zone" }, + }, + { + name: "--trace-flags", + description: + "Comma separated list of traceflags. No flags by default", + args: { name: "trace-flags" }, + }, + { + name: "--use-k8s", + description: + "Create SQL managed instance using local Kubernetes APIs", + args: { name: "use-k8s" }, + }, + { + name: "--volume-size-backups", + description: + "The size of the storage volume to be used for backups as a positive number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes)", + args: { name: "volume-size-backups" }, + }, + { + name: "--volume-size-data", + description: + "The size of the storage volume to be used for data as a positive number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes)", + args: { name: "volume-size-data" }, + }, + { + name: "--volume-size-datalogs", + description: + "The size of the storage volume to be used for data logs as a positive number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes)", + args: { name: "volume-size-datalogs" }, + }, + { + name: "--volume-size-logs", + description: + "The size of the storage volume to be used for logs as a positive number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes)", + args: { name: "volume-size-logs" }, + }, + { + name: "--volume-size-orchestrator-logs", + description: + "The size of the storage volume to be used for orchestrator logs as a positive number followed by Ki (kilobytes), Mi (megabytes), or Gi (gigabytes)", + args: { name: "volume-size-orchestrator-logs" }, + }, + ], + }, + { + name: "delete", + description: "Delete a SQL managed instance", + options: [ + { + name: ["--name", "-n"], + description: "The name of the SQL managed instance to be deleted", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "Namespace where the SQL managed instance is to be deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group in which the Arc-enabled SQL Managed Instance exists", + args: { name: "resource-group" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "edit", + description: "Deprecated, use update over edit", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the SQL managed instance that is being edited. The name under which your instance is deployed cannot be changed", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--agent-enabled", + description: + "Enable SQL Server agent for the instance. Default is disabled", + args: { name: "agent-enabled" }, + }, + { + name: "--annotations", + description: + "Comma-separated list of annotations of the SQL managed instance", + args: { name: "annotations" }, + }, + { + name: ["--cores-limit", "-c"], + description: + "The cores limit of the managed instance as an integer", + args: { name: "cores-limit" }, + }, + { + name: "--cores-request", + description: + "The request for cores of the managed instance as an integer", + args: { name: "cores-request" }, + }, + { + name: "--custom-location", + description: "The custom location for this instance", + args: { name: "custom-location" }, + }, + { + name: "--dev", + description: + "If this is specified, then it is considered a dev instance and will not be billed for", + args: { name: "dev" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "Namespace where the SQL managed instance is to be deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--labels", + description: + "Comma-separated list of labels of the SQL managed instance", + args: { name: "labels" }, + }, + { + name: "--license-type", + description: + "The license type to update for this managed instance Allowed values are: BasePrice, LicenseIncluded, DisasterRecovery. Default is LicenseIncluded", + args: { name: "license-type" }, + }, + { + name: "--location", + description: + "The Azure location in which the sqlmi metadata will be stored (e.g. eastus)", + args: { name: "location" }, + }, + { + name: ["--memory-limit", "-m"], + description: + "The limit of the capacity of the managed instance as an integer number followed by Gi (gigabytes). Example: 4Gi", + args: { name: "memory-limit" }, + }, + { + name: "--memory-request", + description: + "The request for the capacity of the managed instance as an integer number followed by Gi (gigabytes). Example: 4Gi", + args: { name: "memory-request" }, + }, + { + name: "--no-wait", + description: + "If given, the command will not wait for the instance to be in a ready state before returning", + }, + { + name: "--path", + description: + "The path to the azext_arcdata file for the SQL managed instance json file", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group in which the Arc-enabled SQL Managed Instance exists", + args: { name: "resource-group" }, + }, + { + name: "--retention-days", + description: + "Backup retention period, specified in days. Allowed values are 0 to 35. Default is 7. Setting the retention period to 0 will turn off automatic backups for all the databases on the SQL managed instance and any prior backups will be deleted", + args: { name: "retention-days" }, + }, + { + name: "--service-annotations", + description: + "Comma-separated list of annotations to apply to all external services", + args: { name: "service-annotations" }, + }, + { + name: "--service-labels", + description: + "Comma-separated list of labels to apply to all external services", + args: { name: "service-labels" }, + }, + { + name: "--tag-name", + description: "The tag name of the SQL managed instance", + args: { name: "tag-name" }, + }, + { + name: "--tag-value", + description: "The tag value of the SQL managed instance", + args: { name: "tag-value" }, + }, + { + name: ["--tier", "-t"], + description: + "The pricing tier for the instance. Allowed values: BusinessCritical (bc for short) or GeneralPurpose (gp for short). Default is GeneralPurpose", + args: { name: "tier" }, + }, + { + name: "--time-zone", + description: "The SQL Server time zone for the instance", + args: { name: "time-zone" }, + }, + { + name: "--trace-flags", + description: + "Comma separated list of traceflags. No flags by default", + args: { name: "trace-flags" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "get-mirroring-cert", + description: + "Retrieve certificate of availability group mirroring endpoint from sql mi and store in a file", + options: [ + { + name: "--cert-file", + description: + "The local filename to store the retrieved certificate in PEM format", + args: { name: "cert-file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the SQL managed instance", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "Namespace where the SQL managed instance is to be deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "list", + description: "List SQL managed instances", + options: [ + { + name: "--custom-location", + description: + "The custom location in which the Arc-enabled SQL Managed Instances are deployed. If not specified, all instances in the resource group will be listed", + args: { name: "custom-location" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace containing the Arc-enabled SQL Managed Instances. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group containing the Arc-enabled SQL Managed Instances", + args: { name: "resource-group" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "reprovision-replica", + description: "Reprovision a replica in a SQL managed instance", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the SQL managed instance replica to be reprovisioned", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "Namespace where the SQL managed instance replica is deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--use-k8s", + description: + "Reprovision SQL managed instance replica using local Kubernetes APIs", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "show", + description: "Show the details of a SQL managed instance", + options: [ + { + name: ["--name", "-n"], + description: "The name of the SQL managed instance to be shown", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "Namespace where the SQL managed instance is to be deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: ["--path", "-p"], + description: + "A path where the full specification for the SQL managed instance should be written. If omitted, the specification will be written to standard output", + args: { name: "path" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group in which the Arc-enabled SQL Managed Instance exists", + args: { name: "resource-group" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "update", + description: "Update the configuration of a SQL managed instance", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the SQL managed instance that is being edited. The name under which your instance is deployed cannot be changed", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ad-encryption-types", + description: + "A comma-separated list of supported Active Directory encryption types. Must be a subset of the following values: RC4, AES128, AES256", + args: { name: "ad-encryption-types" }, + }, + { + name: "--agent-enabled", + description: + "Enable SQL Server agent for the instance. Default is disabled", + args: { name: "agent-enabled" }, + }, + { + name: "--annotations", + description: + "Comma-separated list of annotations of the SQL managed instance", + args: { name: "annotations" }, + }, + { + name: "--cert-private-key-file", + description: + "Path to the file containing a PEM formatted certificate private key to be used for SQL Server", + args: { name: "cert-private-key-file" }, + }, + { + name: "--cert-public-key-file", + description: + "Path to the file containing a PEM formatted certificate public key to be used for SQL Server", + args: { name: "cert-public-key-file" }, + }, + { + name: ["--cores-limit", "-c"], + description: + "The cores limit of the managed instance as an integer", + args: { name: "cores-limit" }, + }, + { + name: "--cores-request", + description: + "The request for cores of the managed instance as an integer", + args: { name: "cores-request" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "Namespace where the SQL managed instance is to be deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--keytab-secret", + description: + "The name of the Kubernetes secret that contains the keytab file for this Arc-enabled SQL Managed Instance", + args: { name: "keytab-secret" }, + }, + { + name: "--labels", + description: + "Comma-separated list of labels of the SQL managed instance", + args: { name: "labels" }, + }, + { + name: ["--license-type", "-l"], + description: + "The license type to apply for this managed instance Allowed values are: BasePrice, LicenseIncluded, DisasterRecovery.Default is LicenseIncluded. The license type can be changed", + args: { name: "license-type" }, + }, + { + name: ["--memory-limit", "-m"], + description: + "The limit of the capacity of the managed instance as an integer number followed by Gi (gigabytes). Example: 4Gi", + args: { name: "memory-limit" }, + }, + { + name: "--memory-request", + description: + "The request for the capacity of the managed instance as an integer number followed by Gi (gigabytes). Example: 4Gi", + args: { name: "memory-request" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--orchestrator-replicas", + description: + "The number of high availability orchestrator replicas. Value must be between 1 and 3", + args: { name: "orchestrator-replicas" }, + }, + { + name: "--path", + description: + "The path to the azext_arcdata file for the SQL managed instance json file", + args: { name: "path" }, + }, + { + name: "--preferred-primary-replica", + description: "The preferred primary replica to be updated", + args: { name: "preferred-primary-replica" }, + }, + { + name: "--readable-secondaries", + description: + "Number of replicas to be made readable. Applies only to Business Critical tier. Value must be between 0 and the number of replicas minus 1", + args: { name: "readable-secondaries" }, + }, + { + name: "--replicas", + description: + "This option specifies the number of SQL Managed Instance replicas that will be deployed in your Kubernetes cluster for high availability purposes", + args: { name: "replicas", suggestions: ["1", "2", "3"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group in which the Arc-enabled SQL Managed Instance exists", + args: { name: "resource-group" }, + }, + { + name: "--retention-days", + description: + "Backup retention period, specified in days. Allowed values are 0 to 35. Default is 7. Setting the retention period to 0 will turn off automatic backups for all the databases on the SQL managed instance and any prior backups will be deleted", + args: { name: "retention-days" }, + }, + { + name: "--service-annotations", + description: + "Comma-separated list of annotations to apply to all external services", + args: { name: "service-annotations" }, + }, + { + name: "--service-cert-secret", + description: + "Name of the Kubernetes secret to generate that hosts or will host SQL service certificate", + args: { name: "service-cert-secret" }, + }, + { + name: "--service-labels", + description: + "Comma-separated list of labels to apply to all external services", + args: { name: "service-labels" }, + }, + { + name: "--sync-secondary-to-commit", + description: + "Number of secondary replicas that must be synchronized to commit. Setting this value to -1 will set the number of required synchronized secondaries to '(# of replicas - 1) / 2', rounded down", + args: { + name: "sync-secondary-to-commit", + suggestions: ["-1", "0", "1", "2"], + }, + }, + { + name: "--tde-mode", + description: + "The Transparent Data Encryption (TDE) mode for this Arc-enabled SQL Managed Instance. Allowed values: ServiceManaged, CustomerManaged, or Disabled. Default is Disabled", + args: { name: "tde-mode" }, + }, + { + name: "--tde-protector-private-key-file", + description: + "Path to the file containing a PEM formatted certificate private key to be used for TDE", + args: { name: "tde-protector-private-key-file" }, + }, + { + name: "--tde-protector-public-key-file", + description: + "Path to the file containing a PEM formatted certificate public key to be used for TDE", + args: { name: "tde-protector-public-key-file" }, + }, + { + name: "--tde-protector-secret", + description: + "The name of the Kubernetes secret that contains the TDE protector certificate and private key for this Arc-enabled SQL Managed Instance. Can only be specified for CustomerManaged TDE mode", + args: { name: "tde-protector-secret" }, + }, + { + name: ["--tier", "-t"], + description: + "The pricing tier for the instance. Allowed values: BusinessCritical (bc for short) or GeneralPurpose (gp for short). Default is GeneralPurpose", + args: { name: "tier" }, + }, + { + name: "--time-zone", + description: "The SQL Server time zone for the instance", + args: { name: "time-zone" }, + }, + { + name: "--trace-flags", + description: + "Comma separated list of traceflags. No flags by default", + args: { name: "trace-flags" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "upgrade", + description: "Upgrade SQL managed instance", + options: [ + { + name: ["--desired-version", "-v"], + description: + "The latest valid version to upgrade to. Optional, if no version is specified, the data controller version will be used. Specify 'auto' to automatically upgrade to the latest valid version. Learn more about automatic upgrades at: https://aka.ms/arc-sqlmi-auto-upgrade", + args: { name: "desired-version" }, + }, + { + name: ["--dry-run", "-d"], + description: + "Indicates which instance would be upgraded but does not actually upgrade the instances", + args: { name: "dry-run" }, + }, + { + name: ["--field-filter", "-f"], + description: + "Filter to select instances to upgrade based on resource properties", + args: { name: "field-filter" }, + }, + { + name: "--force", + description: + "Overrides all policies that may be applied to the instance, and attempts the upgrade", + }, + { + name: ["--k8s-namespace", "-k"], + description: + "Namespace where the SQL managed instance is to be deployed. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: ["--label-filter", "-l"], + description: + "Filter to select instance to upgrade based on labels", + args: { name: "label-filter" }, + }, + { + name: ["--name", "-n"], + description: "The name of the SQL managed instance", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The Azure resource group in which the target Arc-enabled SQL Managed Instance exists", + args: { name: "resource-group" }, + }, + { + name: "--target", + description: + "Option '--target' has been deprecated and will be removed in a future release. Use '--desired-version' instead. The latest valid version to upgrade to. Optional, if no version is specified, the data controller version will be used. Specify 'auto' to automatically upgrade to the latest valid version. Learn more about automatic upgrades at: https://aka.ms/arc-sqlmi-auto-upgrade", + args: { name: "target" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + { + name: "config", + description: "Configuration commands", + subcommands: [ + { + name: "add", + description: "Add a value for a json path in a config file", + options: [ + { + name: ["--json-values", "-j"], + description: + 'A key value pair list of json paths to values: key1.subkey1=value1,key2.subkey2=value2. You may provide inline json values such as: key=\'{"kind":"cluster","name":"test-cluster"}\' or provide a file path, such as key=./values.json. The add command does NOT support conditionals. If the inline value you are providing is a key value pair itself with = and , please escape those characters. For example: key1=\\"key2\\=val2\\,key3\\=val3\\". Please see http://jsonpatch.com/ for examples of how your path should look. If you would like to access an array, you must do so by indicating the index, such as key.0=value', + args: { name: "json-values" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "Path to the custom resource specification, i.e. custom/spec.json", + args: { name: "path" }, + isRequired: true, + }, + ], + }, + { + name: "init", + description: + "Initialize the CRD and specification files for a SQL managed instance", + options: [ + { + name: ["--path", "-p"], + description: + "A path where the CRD and specification for the SQL managed instance should be written", + args: { name: "path" }, + isRequired: true, + }, + ], + }, + { + name: "patch", + description: "Patch a config file based on a json patch file", + options: [ + { + name: "--patch-file", + description: + 'Path to a patch json file that is based off the jsonpatch library: http://jsonpatch.com/. You must start your patch json file with a key called patch, whose value is an array of patch operations you intend to make. For the path of a patch operation, you may use dot notation, such as key1.key2 for most operations. If you would like to do a replace operation, and you are replacing a value in an array that requires a conditional, please use the jsonpath notation by beginning your path with a $. This will allow you to do a conditional such as $.key1.key2[?(@.key3=="someValue"].key4.See the examples below. For additional help with conditionals, see: https://jsonpath.com/', + args: { name: "patch-file" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "Path to the custom resource specification, i.e. custom/spec.json", + args: { name: "path" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a value for a json path in a config file", + options: [ + { + name: ["--json-path", "-j"], + description: + "A list of json paths based on the jsonpatch library that indicates which values you would like removed, such as: key1.subkey1,key2.subkey2. The remove command does NOT support conditionals. Please see http://jsonpatch.com/ for examples of how your path should look. If you would like to access an array, you must do so by indicating the index, such as key.0=value", + args: { name: "json-path" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "Path to the custom resource specification, i.e. custom/spec.json", + args: { name: "path" }, + isRequired: true, + }, + ], + }, + { + name: "replace", + description: "Replace a value for a json path in a config file", + options: [ + { + name: ["--json-values", "-j"], + description: + 'A key value pair list of json paths to values: key1.subkey1=value1,key2.subkey2=value2. You may provide inline json values such as: key={"kind":"cluster","name":"test-cluster"} or provide a file path, such as key=./values.json. The replace command supports conditionals through the jsonpath library. To use this, start your path with a $. This will allow you to do a conditional such as -j $.key1.key2[?(@.key3=="someValue"].key4=value. If the inline value you are providing is a key value pair itself with = and , please escape those characters. For example, key1=\\"key2\\=val2\\,key3\\=val3\\". You may see examples below. For additional help, see: https://jsonpath.com/', + args: { name: "json-values" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "Path to the custom resource specification, i.e. custom/spec.json", + args: { name: "path" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "endpoint", + description: "View and manage SQL endpoints", + subcommands: [ + { + name: "list", + description: "List the SQL endpoints", + options: [ + { + name: ["--k8s-namespace", "-k"], + description: + "Namespace where the SQL managed instances exist. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the SQL instance to be shown. If omitted, all endpoints for all instances will be shown", + args: { name: "name" }, + }, + { + name: "--use-k8s", + description: + "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "midb", + description: "Manage SQL Managed Instance databases", + subcommands: [ + { + name: "create", + description: "Create a managed database", + options: [ + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--collation", + description: + "The collation of the Azure SQL Managed Database collation to use, e.g.: SQL_Latin1_General_CP1_CI_AS or Latin1_General_100_CS_AS_SC", + args: { name: "collation" }, + }, + { + name: "--ledger-on", + description: + "Create a ledger database, in which the integrity of all data is protected by the ledger feature. All tables in the ledger database must be ledger tables. Note: the value of this property cannot be changed after the database has been created", + args: { name: "ledger-on", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a managed database", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List managed databases on a managed instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-deleted", + description: "List restorable deleted managed databases", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "recover", + description: + "Recover a managed database using geo-pair instance backup", + options: [ + { + name: ["--recoverable-database-id", "-r"], + description: + "The id of recoverable database from geo-replicated instance", + args: { name: "recoverable-database-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restore", + description: "Restore a managed database", + options: [ + { + name: "--dest-name", + description: + "Name of the managed database that will be created as the restore destination", + args: { name: "dest-name" }, + isRequired: true, + }, + { + name: ["--time", "-t"], + description: + 'The point in time of the source database that will be restored to create the new database. Must be greater than or equal to the source database\'s earliestRestoreDate value. Time should be in following format: "YYYY-MM-DDTHH:MM:SS"', + args: { name: "time" }, + isRequired: true, + }, + { + name: "--deleted-time", + description: + "If specified, restore from a deleted database instead of from an existing database. Must match the deleted time of a deleted database on the source Managed Instance", + args: { name: "deleted-time" }, + }, + { + name: "--dest-mi", + description: + "Name of the managed instance to restore managed database to. This can be same managed instance, or another managed instance on same subscription. When not specified it defaults to source managed instance", + args: { name: "dest-mi" }, + }, + { + name: "--dest-resource-group", + description: + "Name of the resource group of the managed instance to restore managed database to. When not specified it defaults to source resource group", + args: { name: "dest-resource-group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--source-sub", "-s"], + description: + "Subscription id of the source database, the one restored from. This parameter should be used when doing cross subscription restore", + args: { name: "source-sub" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "show", + description: "Get the details for a managed database", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a managed database", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "advanced-threat-protection-setting", + description: + "Manage a SQL Managed Instance database's advanced threat protection setting", + subcommands: [ + { + name: "show", + description: "Gets an advanced threat protection setting", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a SQL Managed Instance database's advanced threat protection setting", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: + "State of the advanced threat protection setting", + args: { name: "state" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "copy", + description: + "Start, complete, cancel and list managed database copy operations", + subcommands: [ + { + name: "cancel", + description: "Cancel managed database copy operation", + options: [ + { + name: "--dest-mi", + description: + "Name of the managed instance to copy the managed database to", + args: { name: "dest-mi" }, + isRequired: true, + }, + { + name: ["--dest-resource-group", "--dest-rg"], + description: + "Name of the resource group to copy the managed database to. If unspecified, defaults to the origin resource group", + args: { name: "dest-resource-group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "complete", + description: "Complete managed database copy operation", + options: [ + { + name: "--dest-mi", + description: + "Name of the managed instance to copy the managed database to", + args: { name: "dest-mi" }, + isRequired: true, + }, + { + name: ["--dest-resource-group", "--dest-rg"], + description: + "Name of the resource group to copy the managed database to. If unspecified, defaults to the origin resource group", + args: { name: "dest-resource-group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List managed database copy operations", + options: [ + { + name: "--dest-mi", + description: + "Name of the target managed instance to show copy operations for", + args: { name: "dest-mi" }, + }, + { + name: ["--dest-resource-group", "--dest-rg"], + description: + "Name of the target resource group to show copy operations for", + args: { name: "dest-resource-group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--only-latest-per-database", "--latest"], + description: + "Flag that only shows latest copy operation per managed database", + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the source managed instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the source resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start managed database copy operation", + options: [ + { + name: "--dest-mi", + description: + "Name of the managed instance to copy the managed database to", + args: { name: "dest-mi" }, + isRequired: true, + }, + { + name: ["--dest-resource-group", "--dest-rg"], + description: + "Name of the resource group to copy the managed database to. If unspecified, defaults to the origin resource group", + args: { name: "dest-resource-group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "ledger-digest-uploads", + description: "Manage ledger digest upload settings", + subcommands: [ + { + name: "disable", + description: "Disable uploading ledger digests", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "enable", + description: + "Enable uploading ledger digests to an Azure Storage account or to Azure Confidential Ledger. If uploading ledger digests is already enabled, the cmdlet resets the digest storage endpoint to a new value", + options: [ + { + name: "--endpoint", + description: + "The endpoint of a digest storage, which can be either an Azure Blob storage or a ledger in Azure Confidential Ledger", + args: { name: "endpoint" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show the current ledger digest settings", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "log-replay", + description: + "SQL Managed Instance database Log Replay service commands", + subcommands: [ + { + name: "complete", + description: "Complete Log Replay service on specified database", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--last-backup-name", "--last-bn"], + description: "The name of the last backup to restore", + args: { name: "last-backup-name" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get status of Log Replay service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start Log Replay service on specified database", + options: [ + { + name: ["--storage-sas", "--ss"], + description: + "The authorization Sas token to access storage container where backups are", + args: { name: "storage-sas" }, + isRequired: true, + }, + { + name: ["--storage-uri", "--su"], + description: + "The URI of the storage container where backups are", + args: { name: "storage-uri" }, + isRequired: true, + }, + { + name: ["--auto-complete", "-a"], + description: + "The flag that in usage with last_backup_name automatically completes log replay servise", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--last-backup-name", "--last-bn"], + description: "The name of the last backup to restore", + args: { name: "last-backup-name" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--storage-identity", "--si"], + description: "The storage container identity to use", + args: { + name: "storage-identity", + suggestions: ["ManagedIdentity", "SharedAccessSignature"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop Log Replay service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the managed database is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "ltr-backup", + description: + "Manage SQL Managed Instance database long term retention backups", + subcommands: [ + { + name: "delete", + description: "Delete a long term retention backup", + options: [ + { + name: ["--backup-id", "--id"], + description: + "The resource id of the backups. Use 'az sql midb ltr-backup show' or 'az sql midb ltr-backup list' for backup id. If provided, other arguments are not required", + args: { name: "backup-id" }, + }, + { + name: ["--database", "-d"], + description: "The name of the Azure SQL Managed Database", + args: { name: "database" }, + }, + { + name: ["--location", "-l"], + description: "The location of the desired backup(s)", + args: { name: "location" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the LTR backup. Use 'az sql midb ltr-backup show' or 'az sql midb ltr-backup list' for backup name", + args: { name: "name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List the long term retention backups for a location, instance or database", + options: [ + { + name: ["--location", "-l"], + description: "The location of the desired backup(s)", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--database", "-d"], + description: + "The name of the Azure SQL Managed Database. If specified (along with instance name), retrieves all requested backups under this database", + args: { name: "database" }, + }, + { + name: ["--database-state", "--state"], + description: + "'All', 'Live', or 'Deleted'. Will fetch backups only from databases of specified state. If no state provied, defaults to 'All'", + args: { name: "database-state" }, + }, + { + name: ["--only-latest-per-database", "--latest"], + description: + "If true, will only return the latest backup for each database", + args: { name: "only-latest-per-database" }, + }, + { + name: ["--managed-instance", "--mi"], + description: + "Name of the Azure SQL Managed Instance. If specified, retrieves all requested backups under this managed instance", + args: { name: "managed-instance" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "restore", + description: + "Restore a long term retention backup to a new database", + options: [ + { + name: ["--backup-id", "--id"], + description: + "The resource id of the long term retention backup to be restored. Use 'az sql midb ltr-backup show' or 'az sql midb ltr-backup list' for backup id", + args: { name: "backup-id" }, + isRequired: true, + }, + { + name: "--dest-database", + description: + "Name of the managed database that will be created as the restore destination", + args: { name: "dest-database" }, + isRequired: true, + }, + { + name: "--dest-mi", + description: + "Name of the managed instance to restore managed database to", + args: { name: "dest-mi" }, + isRequired: true, + }, + { + name: "--dest-resource-group", + description: + "Name of the resource group of the managed instance to restore managed database to", + args: { name: "dest-resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: + "Get a long term retention backup for a managed database", + options: [ + { + name: ["--backup-id", "--id"], + description: + "The resource id of the backups. Use 'az sql midb ltr-backup show' or 'az sql midb ltr-backup list' for backup id. If provided, other arguments are not required", + args: { name: "backup-id" }, + }, + { + name: ["--database", "-d"], + description: "The name of the Azure SQL Managed Database", + args: { name: "database" }, + }, + { + name: ["--location", "-l"], + description: "The location of the desired backup(s)", + args: { name: "location" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the LTR backup. Use 'az sql midb ltr-backup show' or 'az sql midb ltr-backup list' for backup name", + args: { name: "name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the managed database is met", + options: [ + { + name: ["--database", "-d"], + description: "The name of the Azure SQL Managed Database", + args: { name: "database" }, + isRequired: true, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "ltr-policy", + description: + "Manage SQL Managed Instance database long term retention policy", + subcommands: [ + { + name: "set", + description: + "Update long term retention settings for a managed database", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: "--monthly-retention", + description: + "Retention for the monthly backup. If just a number is passed instead of an ISO 8601 string, days will be assumed as the units.There is a minimum of 7 days and a maximum of 10 years", + args: { name: "monthly-retention" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--week-of-year", + description: + "The Week of Year, 1 to 52, in which to take the yearly LTR backup", + args: { name: "week-of-year" }, + }, + { + name: "--weekly-retention", + description: + "Retention for the weekly backup. If just a number is passed instead of an ISO 8601 string, days will be assumed as the units.There is a minimum of 7 days and a maximum of 10 years", + args: { name: "weekly-retention" }, + }, + { + name: "--yearly-retention", + description: + "Retention for the yearly backup. If just a number is passed instead of an ISO 8601 string, days will be assumed as the units.There is a minimum of 7 days and a maximum of 10 years", + args: { name: "yearly-retention" }, + }, + ], + }, + { + name: "show", + description: + "Show the long term retention policy for a managed database", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "move", + description: + "Start, complete, cancel and list managed database move operations", + subcommands: [ + { + name: "cancel", + description: "Cancel managed database move operation", + options: [ + { + name: "--dest-mi", + description: + "Name of the managed instance to move the managed database to", + args: { name: "dest-mi" }, + isRequired: true, + }, + { + name: ["--dest-resource-group", "--dest-rg"], + description: + "Name of the resource group to move the managed database to. If unspecified, defaults to the origin resource group", + args: { name: "dest-resource-group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "complete", + description: "Complete managed database move operation", + options: [ + { + name: "--dest-mi", + description: + "Name of the managed instance to move the managed database to", + args: { name: "dest-mi" }, + isRequired: true, + }, + { + name: ["--dest-resource-group", "--dest-rg"], + description: + "Name of the resource group to move the managed database to. If unspecified, defaults to the origin resource group", + args: { name: "dest-resource-group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List managed database move operations", + options: [ + { + name: "--dest-mi", + description: + "Name of the target managed instance to show move operations for", + args: { name: "dest-mi" }, + }, + { + name: ["--dest-resource-group", "--dest-rg"], + description: + "Name of the target resource group to show move operations for", + args: { name: "dest-resource-group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--only-latest-per-database", "--latest"], + description: + "Flag that only shows latest move operation per managed database", + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the source managed instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: "Name of the source resource group", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start managed database move operation", + options: [ + { + name: "--dest-mi", + description: + "Name of the managed instance to move the managed database to", + args: { name: "dest-mi" }, + isRequired: true, + }, + { + name: ["--dest-resource-group", "--dest-rg"], + description: + "Name of the resource group to move the managed database to. If unspecified, defaults to the origin resource group", + args: { name: "dest-resource-group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "short-term-retention-policy", + description: + "Manage SQL Managed Instance database backup short term retention policy", + subcommands: [ + { + name: "set", + description: + "Update short term retention for automated backups on a single database", + options: [ + { + name: "--retention-days", + description: + "New backup short term retention policy in days.Valid policy for live database is 7-35 days, valid policy for dropped databases is 0-35 days", + args: { name: "retention-days" }, + isRequired: true, + }, + { + name: "--deleted-time", + description: + "If specified, updates retention days for a deleted database, instead of an existing database.Must match the deleted time of a deleted database on the source Managed Instance", + args: { name: "deleted-time" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show short term retention for automated backups on a single database", + options: [ + { + name: "--deleted-time", + description: + "If specified, shows retention days for a deleted database, instead of an existing database.Must match the deleted time of a deleted database on the source Managed Instance", + args: { name: "deleted-time" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--managed-instance", "--mi"], + description: "Name of the Azure SQL Managed Instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Azure SQL Managed Database", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "midb-arc", + description: + "Manage databases for Azure Arc-enabled SQL managed instances", + subcommands: [ + { + name: "restore", + description: + "Restore a database to an Azure Arc enabled SQL managed instance", + options: [ + { + name: "--dest-name", + description: + "Name of the database that will be created as the restore destination", + args: { name: "dest-name" }, + }, + { + name: "--dry-run", + description: + "Validates if the restore operation can be successful or not by returning earliest and latest restore time window", + args: { name: "dry-run" }, + }, + { + name: ["--k8s-namespace", "-k"], + description: + "The Kubernetes namespace that contains the Azure Arc enabled SQL managed instance. If no namespace is specified, then the namespace defined in the kubeconfig will be used", + args: { name: "k8s-namespace" }, + }, + { + name: "--managed-instance", + description: + "Name of the source Azure Arc enabled SQL managed instance", + args: { name: "managed-instance" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the source database from where the backups should be retrieved", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { name: "no-wait" }, + }, + { + name: ["--time", "-t"], + description: + "The point in time of the source database that will be restored to create the new database. Must be greater than or equal to the source database's earliest restore date/time value. Time should be in following format: 'YYYY-MM-DDTHH:MM:SSZ'. If no time is provided, the most recent backup will be restored", + args: { name: "time" }, + }, + { + name: "--use-k8s", + description: "Use local Kubernetes APIs to perform this action", + args: { name: "use-k8s" }, + }, + ], + }, + ], + }, + { + name: "recoverable-midb", + description: "Recoverable managed databases command group", + subcommands: [ + { + name: "list", + description: + "Get all recoverable managed databases for given instance name", + options: [ + { + name: ["--instance-name", "--mi"], + description: "The name of the managed instance. Required", + args: { name: "instance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get recoverable managed database", + options: [ + { + name: ["--database-name", "-n"], + description: + "The id of recoverable database from geo-replicated instance", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: ["--instance-name", "--mi"], + description: "The name of the managed instance. Required", + args: { name: "instance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "server", + description: "Manage SQL servers", + subcommands: [ + { + name: "create", + description: "Create a server", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--admin-password", "-p"], + description: + "The administrator login password (required forserver creation)", + args: { name: "admin-password" }, + }, + { + name: ["--admin-user", "-u"], + description: + "Administrator username for the server. Oncecreated it cannot be changed", + args: { name: "admin-user" }, + }, + { + name: ["--assign-identity", "-i"], + description: + "Generate and assign an Azure Active Directory Identity for this server for use with key management services like Azure KeyVault", + }, + { + name: "--enable-ad-only-auth", + description: + "Enable Azure Active Directory Only Authentication for this server", + }, + { + name: ["--enable-public-network", "-e"], + description: + "Set whether public network access to server is allowed or not. When false,only connections made through Private Links can reach this server", + args: { + name: "enable-public-network", + suggestions: ["false", "true"], + }, + }, + { + name: "--external-admin-name", + description: + "Display name of the Azure AD administrator user, group or application", + args: { name: "external-admin-name" }, + }, + { + name: "--external-admin-principal-type", + description: "User, Group or Application", + args: { name: "external-admin-principal-type" }, + }, + { + name: "--external-admin-sid", + description: + "The unique ID of the Azure AD administrator. Object Id for User or Group, Client Id for Applications", + args: { name: "external-admin-sid" }, + }, + { + name: ["--federated-client-id", "--fid"], + description: + "The federated client id used in cross tenant CMK scenario", + args: { name: "federated-client-id" }, + }, + { + name: ["--identity-type", "-t"], + description: + "Type of Identity to be used. Possible values are SystemAsssigned,UserAssigned, SystemAssigned,UserAssigned and None", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: ["--key-id", "-k"], + description: "The key vault URI for encryption", + args: { name: "key-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--minimal-tls-version", + description: + "The minimal TLS version enforced by the sql server for inbound connections", + args: { + name: "minimal-tls-version", + suggestions: ["1.0", "1.1", "1.2"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--primary-user-assigned-identity-id", "--pid"], + description: "The ID of the primary user managed identity", + args: { name: "primary-user-assigned-identity-id" }, + }, + { + name: ["--restrict-outbound-network-access", "-r"], + description: + "Set whether outbound network access to server is restricted or not. When true,the outbound connections from the server will be restricted", + args: { + name: "restrict-outbound-network-access", + suggestions: ["false", "true"], + }, + }, + { + name: ["--user-assigned-identity-id", "-a"], + description: + "Generate and assign an User Managed Identity(UMI) for this server", + args: { name: "user-assigned-identity-id" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List available servers", + options: [ + { + name: "--expand-ad-admin", + description: + "Expand the Active Directory Administrator for the server", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-usages", + description: "Returns server usages", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "refresh-external-governance-status", + description: "Refreshes external governance status", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Gets a server", + options: [ + { + name: "--expand-ad-admin", + description: + "Expand the Active Directory Administrator for the server", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a server", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--admin-password", "-p"], + description: "The administrator login password", + args: { name: "admin-password" }, + }, + { + name: ["--assign_identity", "-i"], + description: + "Generate and assign an Azure Active Directory Identity for this server for use with key management services like Azure KeyVault", + }, + { + name: ["--enable-public-network", "-e"], + description: + "Set whether public network access to server is allowed or not. When false,only connections made through Private Links can reach this server", + args: { + name: "enable-public-network", + suggestions: ["false", "true"], + }, + }, + { + name: ["--federated-client-id", "--fid"], + description: + "The federated client id used in cross tenant CMK scenario", + args: { name: "federated-client-id" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--identity-type", "-t"], + description: + "Type of Identity to be used. Possible values are SystemAsssigned,UserAssigned, SystemAssigned,UserAssigned and None", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--key-id", "-k"], + description: "The key vault URI for encryption", + args: { name: "key-id" }, + }, + { + name: "--minimal-tls-version", + description: + "The minimal TLS version enforced by the sql server for inbound connections", + args: { + name: "minimal-tls-version", + suggestions: ["1.0", "1.1", "1.2"], + }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--primary-user-assigned-identity-id", "--pid"], + description: "The ID of the primary user managed identity", + args: { name: "primary-user-assigned-identity-id" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--restrict-outbound-network-access", "-r"], + description: + "Set whether outbound network access to server is restricted or not. When true,the outbound connections from the server will be restricted", + args: { + name: "restrict-outbound-network-access", + suggestions: ["false", "true"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--user-assigned-identity-id", "-a"], + description: + "Generate and assign an User Managed Identity(UMI) for this server", + args: { name: "user-assigned-identity-id" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the SQL server is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "The child resources to include in the response. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "ad-admin", + description: "Manage a server's Active Directory administrator", + subcommands: [ + { + name: "create", + description: "Create a new server Active Directory administrator", + options: [ + { + name: ["--display-name", "-u"], + description: + "Display name of the Azure AD administrator user or group", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: ["--object-id", "-i"], + description: "The unique ID of the Azure AD administrator", + args: { name: "object-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server-name", "--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Sets a server's AD admin", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Gets a list of Azure Active Directory administrators in a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an existing server Active Directory administrator", + options: [ + { + name: ["--display-name", "-u"], + description: + "Display name of the Azure AD administrator user or group", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: ["--object-id", "-i"], + description: "The unique ID of the Azure AD administrator", + args: { name: "object-id" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server-name", "--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "ad-only-auth", + description: + "Manage Azure Active Directory only Authentication settings for this Server", + subcommands: [ + { + name: "disable", + description: + "Disable Azure Active Directory only Authentication for this Server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "enable", + description: + "Enable Azure Active Directory only Authentication for this Server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get", + description: + "Get a specific Azure Active Directory only Authentication property", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "advanced-threat-protection-setting", + description: "Manage a server's advanced threat protection setting", + subcommands: [ + { + name: "show", + description: "Gets an advanced threat protection setting", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a server's advanced threat protection setting", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: + "State of the advanced threat protection setting", + args: { name: "state" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "audit-policy", + description: "Manage a server's auditing policy", + subcommands: [ + { + name: "show", + description: "Show server audit policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a server's auditing policy", + options: [ + { + name: "--actions", + description: + "List of actions and action groups to audit.These are space seperated values.Example: --actions FAILED_DATABASE_AUTHENTICATION_GROUP BATCH_COMPLETED_GROUP", + args: { name: "actions" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--blob-storage-target-state", "--bsts"], + description: + "Indicate whether blob storage is a destination for audit records", + args: { + name: "blob-storage-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--event-hub", "--eh"], + description: + "The name of the event hub. If none is specified when providing event_hub_authorization_rule_id, the default event hub will be selected", + args: { name: "event-hub" }, + }, + { + name: ["--event-hub-authorization-rule-id", "--ehari"], + description: + "The resource Id for the event hub authorization rule", + args: { name: "event-hub-authorization-rule-id" }, + }, + { + name: ["--event-hub-target-state", "--ehts"], + description: + "Indicate whether event hub is a destination for audit records", + args: { + name: "event-hub-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--log-analytics-target-state", "--lats"], + description: + "Indicate whether log analytics is a destination for audit records", + args: { + name: "log-analytics-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--log-analytics-workspace-resource-id", "--lawri"], + description: + "The workspace ID (resource ID of a Log Analytics workspace) for a Log Analytics workspace to which you would like to send Audit Logs", + args: { name: "log-analytics-workspace-resource-id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--retention-days", + description: "The number of days to retain audit logs", + args: { name: "retention-days" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: "Auditing policy state", + args: { name: "state", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--storage-account", + description: "Name of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--storage-endpoint", + description: "The storage account endpoint", + args: { name: "storage-endpoint" }, + }, + { + name: "--storage-key", + description: "Access key for the storage account", + args: { name: "storage-key" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the server's audit policy is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "conn-policy", + description: "Manage a server's connection policy", + subcommands: [ + { + name: "show", + description: "Gets a server's secure connection policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates a server's secure connection policy", + options: [ + { + name: ["--connection-type", "-t"], + description: + "The required parameters for updating a secure connection policy. The value is default", + args: { + name: "connection-type", + suggestions: ["Default", "Proxy", "Redirect"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "dns-alias", + description: "Manage a server's DNS aliases", + subcommands: [ + { + name: "create", + description: "Creates a server DNS alias", + options: [ + { + name: ["--name", "-n"], + description: "Name of the DNS alias", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Deletes the server DNS alias with the given name", + options: [ + { + name: ["--name", "-n"], + description: "Name of the DNS alias", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Gets a list of server DNS aliases for a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set", + description: "Sets a server to which DNS alias should point", + options: [ + { + name: ["--name", "-n"], + description: "Name of the DNS alias", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--original-server", + description: + "The name of the server to which alias is currently pointing", + args: { name: "original-server" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--original-resource-group", + description: "Name of the original resource group", + args: { name: "original-resource-group" }, + }, + { + name: "--original-subscription-id", + description: "ID of the original subscription", + args: { name: "original-subscription-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Gets a server DNS alias", + options: [ + { + name: ["--name", "-n"], + description: "Name of the DNS alias", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "firewall-rule", + description: "Manage a server's firewall rules", + subcommands: [ + { + name: "create", + description: "Create a firewall rule", + options: [ + { + name: ["--name", "-n"], + description: "The name of the firewall rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + isRequired: true, + }, + { + name: "--end-ip-address", + description: + "The end IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "end-ip-address" }, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "start-ip-address" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the firewall rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List a server's firewall rules", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Shows the details for a firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the firewall rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a firewall rule", + options: [ + { + name: "--end-ip-address", + description: + "The end IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "end-ip-address" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the firewall rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses", + args: { name: "start-ip-address" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "ipv6-firewall-rule", + description: "Manage a server's ipv6 firewall rules", + subcommands: [ + { + name: "create", + description: "Create an ipv6 firewall rule", + options: [ + { + name: ["--name", "-n"], + description: "The name of the IPv6 firewall rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + isRequired: true, + }, + { + name: "--end-ipv6-address", + description: + "The end IPv6 address of the firewall rule. Must be IPv6 format", + args: { name: "end-ipv6-address" }, + }, + { + name: "--start-ipv6-address", + description: + "The start IPv6 address of the firewall rule. Must be IPv6 format", + args: { name: "start-ipv6-address" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an IPv6 firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the IPv6 firewall rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List a server's ipv6 firewall rules", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Shows the details for an ipv6 firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the IPv6 firewall rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an ipv6 firewall rule", + options: [ + { + name: "--end-ipv6-address", + description: + "The end IPv6 address of the firewall rule. Must be IPv6 format", + args: { name: "end-ipv6-address" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the IPv6 firewall rule", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--start-ipv6-address", + description: + "The start IPv6 address of the firewall rule. Must be IPv6 format", + args: { name: "start-ipv6-address" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "key", + description: "Manage a server's keys", + subcommands: [ + { + name: "create", + description: "Creates a server key", + options: [ + { + name: ["--kid", "-k"], + description: + 'The Azure Key Vault key identifier of the server key. An example key identifier is "https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"', + args: { name: "kid" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Deletes a server key", + options: [ + { + name: ["--kid", "-k"], + description: + 'The Azure Key Vault key identifier of the server key. An example key identifier is "https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"', + args: { name: "kid" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Gets a list of server keys", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Shows a server key", + options: [ + { + name: ["--kid", "-k"], + description: + 'The Azure Key Vault key identifier of the server key. An example key identifier is "https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"', + args: { name: "kid" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "ms-support", + description: "Manage a server's Microsoft support operations", + subcommands: [ + { + name: "audit-policy", + description: + "Manage a server's Microsoft support operations auditing policy", + subcommands: [ + { + name: "show", + description: + "Show server Microsoft support operations audit policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a server's Microsoft support operations auditing policy", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--blob-storage-target-state", "--bsts"], + description: + "Indicate whether blob storage is a destination for audit records", + args: { + name: "blob-storage-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--event-hub", "--eh"], + description: + "The name of the event hub. If none is specified when providing event_hub_authorization_rule_id, the default event hub will be selected", + args: { name: "event-hub" }, + }, + { + name: ["--event-hub-authorization-rule-id", "--ehari"], + description: + "The resource Id for the event hub authorization rule", + args: { name: "event-hub-authorization-rule-id" }, + }, + { + name: ["--event-hub-target-state", "--ehts"], + description: + "Indicate whether event hub is a destination for audit records", + args: { + name: "event-hub-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--log-analytics-target-state", "--lats"], + description: + "Indicate whether log analytics is a destination for audit records", + args: { + name: "log-analytics-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: [ + "--log-analytics-workspace-resource-id", + "--lawri", + ], + description: + "The workspace ID (resource ID of a Log Analytics workspace) for a Log Analytics workspace to which you would like to send Audit Logs", + args: { name: "log-analytics-workspace-resource-id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: "Auditing policy state", + args: { + name: "state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-account", + description: "Name of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--storage-endpoint", + description: "The storage account endpoint", + args: { name: "storage-endpoint" }, + }, + { + name: "--storage-key", + description: "Access key for the storage account", + args: { name: "storage-key" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the server's Microsoft support operations audit policy is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "outbound-firewall-rule", + description: "Manage a server's outbound firewall rules", + subcommands: [ + { + name: "create", + description: "Create a new outbound firewall rule", + options: [ + { + name: ["--outbound-rule-fqdn", "-n"], + description: + "The allowed FQDN for the outbound firewall rule", + args: { name: "outbound-rule-fqdn" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete the outbound firewall rule", + options: [ + { + name: ["--outbound-rule-fqdn", "-n"], + description: + "The allowed FQDN for the outbound firewall rule", + args: { name: "outbound-rule-fqdn" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List a server's outbound firewall rules", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show the details for an outbound firewall rule", + options: [ + { + name: ["--outbound-rule-fqdn", "-n"], + description: + "The allowed FQDN for the outbound firewall rule", + args: { name: "outbound-rule-fqdn" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "tde-key", + description: "Manage a server's encryption protector", + subcommands: [ + { + name: "revalidate", + description: "Revalidate a server encryption protector", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set", + description: + "Sets the server's encryption protector. Ensure to create the key first https://docs.microsoft.com/en-us/cli/azure/sql/server/key?view=azure-cli-latest#az-sql-server-key-create", + options: [ + { + name: ["--server-key-type", "-t"], + description: "The type of the server key", + args: { + name: "server-key-type", + suggestions: ["AzureKeyVault", "ServiceManaged"], + }, + isRequired: true, + }, + { + name: "--auto-rotation-enabled", + description: + "The key auto rotation opt in status. Can be either true or false", + args: { + name: "auto-rotation-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--kid", "-k"], + description: + 'The Azure Key Vault key identifier of the server key. An example key identifier is "https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"', + args: { name: "kid" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Gets a server encryption protector", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "vnet-rule", + description: "Manage a server's virtual network rules", + subcommands: [ + { + name: "create", + description: + "Create a virtual network rule to allows access to an Azure SQL Server", + options: [ + { + name: ["--name", "-n"], + description: "The name of the virtual network rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "Name or ID of the subnet that allows access to an Azure Sql Server. If subnet name is provided, --vnet-name must be provided", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: ["--ignore-missing-endpoint", "-i"], + description: + "Create firewall rule before the virtual network has vnet service endpoint enabled", + }, + { + name: "--vnet-name", + description: "The virtual network name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes the virtual network rule with the given name", + options: [ + { + name: ["--name", "-n"], + description: "The name of the virtual network rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Gets a list of virtual network rules in a server", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Gets a virtual network rule", + options: [ + { + name: ["--name", "-n"], + description: "The name of the virtual network rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a virtual network rule", + options: [ + { + name: ["--name", "-n"], + description: "The name of the virtual network rule", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--subnet", + description: + "Name or ID of the subnet that allows access to an Azure Sql Server. If subnet name is provided, --vnet-name must be provided", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--ignore-missing-endpoint", "-i"], + description: + "Create firewall rule before the virtual network has vnet service endpoint enabled", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--server", "-s"], + description: + "Name of the Azure SQL Server. You can configure the default using az configure --defaults sql-server=", + args: { name: "server" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "server-arc", + description: "Manage Azure Arc-enabled SQL servers", + subcommands: [ + { + name: "backups-policy", + description: "Manage Backups Policy", + subcommands: [ + { + name: "set", + description: "Set your Backups Policy", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Arc enabled SQL Server", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group where the Arc enabled SQL Server is projected to", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--default-policy", + description: + "Set the default policy of weekly retention period, weekly full, daily differential, and 5 min transaction log backups", + }, + { + name: "--diff-backup-hours", + description: + "Interval, in hours, at which differential backups should be performed. Valid values – 12 or 24", + args: { name: "diff-backup-hours" }, + }, + { + name: "--full-backup-days", + description: + "Interval, in days, at which a new full backup should be performed. Valid values – 0-7", + args: { name: "full-backup-days" }, + }, + { + name: "--retention-days", + description: + "Number of days to keep the backups for. Valid values 0-35", + args: { name: "retention-days" }, + }, + { + name: "--tlog-backup-mins", + description: + "Interval, in minutes, at which transactional backups should be performed. Valid values – 0 to 60", + args: { name: "tlog-backup-mins" }, + }, + ], + }, + { + name: "show", + description: "See your current Backups Policy", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Arc enabled SQL Server", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of the resource group where the Arc enabled SQL Server is projected to", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "stg", + description: "Manage Server Trust Groups", + subcommands: [ + { + name: "create", + description: "Create a Server Trust Group", + options: [ + { + name: ["--group-member", "-m"], + description: + "Managed Instance that is to be a member of the group. Specify resource group, subscription id and the name of the instance", + args: { name: "group-member" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "The location name of the Server Trust Group", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the Server Trust Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--trust-scope", + description: "The trust scope of the Server Trust Group", + args: { name: "trust-scope" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a Server Trust Group", + options: [ + { + name: ["--location", "-l"], + description: "The location of the Server Trust Group", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the Server Trust Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Retrieve a list of Server Trust Groups", + options: [ + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--instance-name", + description: "Managed Instance name", + args: { name: "instance-name" }, + }, + { + name: ["--location", "-l"], + description: "The location of the Server Trust Group", + args: { name: "location" }, + }, + ], + }, + { + name: "show", + description: "Retrieve a Server Trust Group", + options: [ + { + name: ["--location", "-l"], + description: "The location of the Server Trust Group", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the Server Trust Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: "The resource group name", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "virtual-cluster", + description: "Manage SQL virtual clusters", + subcommands: [ + { + name: "delete", + description: "Delete a virtual cluster", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The virtual cluster name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List available virtual clusters", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details for a virtual cluster", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The virtual cluster name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "vm", + description: "Manage SQL virtual machines", + subcommands: [ + { + name: "add-to-group", + description: + "Adds SQL virtual machine to a SQL virtual machine group", + options: [ + { + name: ["--sqlvm-group", "-r"], + description: + "Name or resource ID of the SQL virtual machine group. If only name provided, SQL virtual machine group should be in the same resource group of the SQL virtual machine", + args: { name: "sqlvm-group" }, + isRequired: true, + }, + { + name: ["--bootstrap-acc-pwd", "-b"], + description: + "Password for the cluster bootstrap account if provided in the SQL virtual machine group", + args: { name: "bootstrap-acc-pwd" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the SQL virtual machine", + args: { name: "name" }, + }, + { + name: ["--operator-acc-pwd", "-p"], + description: + "Password for the cluster operator account provided in the SQL virtual machine group", + args: { name: "operator-acc-pwd" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--service-acc-pwd", "-s"], + description: + "Password for the SQL service account provided in the SQL virtual machine group", + args: { name: "service-acc-pwd" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Creates a SQL virtual machine", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the SQL virtual machine. The name of the new SQL virtual machine must be equal to the underlying virtual machine created from SQL marketplace image", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--backup-pwd", + description: "Password for encryption on backup", + args: { name: "backup-pwd" }, + }, + { + name: "--backup-schedule-type", + description: "Backup schedule type", + args: { + name: "backup-schedule-type", + suggestions: ["Automated", "Manual"], + }, + }, + { + name: "--backup-system-dbs", + description: "Include system databases on backup", + }, + { + name: "--connectivity-type", + description: "SQL Server connectivity option", + args: { + name: "connectivity-type", + suggestions: ["LOCAL", "PRIVATE", "PUBLIC"], + }, + }, + { + name: "--credential-name", + description: "Credential name", + args: { name: "credential-name" }, + }, + { + name: "--day-of-week", + description: "Day of week to apply the patch on", + args: { + name: "day-of-week", + suggestions: [ + "Everyday", + "Friday", + "Monday", + "Saturday", + "Sunday", + "Thursday", + "Tuesday", + "Wednesday", + ], + }, + }, + { + name: "--enable-auto-backup", + description: + "Enable or disable autobackup on SQL virtual machine. If any backup settings provided, parameter automatically sets to true", + args: { + name: "enable-auto-backup", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-auto-patching", + description: + "Enable or disable autopatching on SQL virtual machine. If any autopatching settings provided, parameter automatically sets to true", + args: { + name: "enable-auto-patching", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-encryption", + description: + "Enable encryption for backup on SQL virtual machine", + }, + { + name: "--enable-key-vault-credential", + description: + "Enable or disable key vault credential setting. If any key vault settings provided, parameter automatically sets to true", + args: { + name: "enable-key-vault-credential", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-r-services", + description: "Enable or disable R services (SQL 2016 onwards)", + args: { + name: "enable-r-services", + suggestions: ["false", "true"], + }, + }, + { + name: "--full-backup-duration", + description: + "Duration of the time window of a given day during which full backups can take place. 1-23 hours", + args: { name: "full-backup-duration" }, + }, + { + name: "--full-backup-frequency", + description: + "Frequency of full backups. In both cases, full backups begin during the next scheduled time window", + args: { + name: "full-backup-frequency", + suggestions: ["Daily", "Weekly"], + }, + }, + { + name: "--full-backup-start-hour", + description: + "Start time of a given day during which full backups can take place. 0-23 hours", + args: { name: "full-backup-start-hour" }, + }, + { + name: "--image-offer", + description: + "SQL image offer. Examples include SQL2008R2-WS2008, SQL2008-WS2008", + args: { name: "image-offer" }, + }, + { + name: "--image-sku", + description: "SQL image sku", + args: { + name: "image-sku", + suggestions: [ + "Developer", + "Enterprise", + "Express", + "Standard", + "Web", + ], + }, + }, + { + name: "--key-vault", + description: "Azure Key Vault url", + args: { name: "key-vault" }, + }, + { + name: "--least-privilege-mode", + description: + "SQL IaaS Agent Least Privilege Mode. Updates from sysadmin to specific permissions used per feature", + args: { + name: "least-privilege-mode", + suggestions: ["Enabled", "NotSet"], + }, + }, + { + name: ["--license-type", "-i"], + description: "SQL Server license type", + args: { + name: "license-type", + suggestions: ["AHUB", "DR", "PAYG"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. If not provided, virtual machine should be in the same region of resource group.You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--log-backup-frequency", + description: "Frequency of log backups. 5-60 minutes", + args: { name: "log-backup-frequency" }, + }, + { + name: "--maintenance-window-duration", + description: "Duration of patching. 30-180 minutes", + args: { name: "maintenance-window-duration" }, + }, + { + name: "--maintenance-window-start-hour", + description: + "Hour of the day when patching is initiated. Local VM time 0-23 hours", + args: { name: "maintenance-window-start-hour" }, + }, + { + name: "--port", + description: "SQL Server port", + args: { name: "port" }, + }, + { + name: "--retention-period", + description: "Retention period of backup. 1-30 days", + args: { name: "retention-period" }, + }, + { + name: "--sa-key", + description: "Storage account key where backup will be taken to", + args: { name: "sa-key" }, + }, + { + name: "--sp-name", + description: "Service principal name to access key vault", + args: { name: "sp-name" }, + }, + { + name: "--sp-secret", + description: "Service principal name secret to access key vault", + args: { name: "sp-secret" }, + }, + { + name: "--sql-auth-update-pwd", + description: "SQL Server sysadmin login password", + args: { name: "sql-auth-update-pwd" }, + }, + { + name: "--sql-auth-update-username", + description: "SQL Server sysadmin login to create", + args: { name: "sql-auth-update-username" }, + }, + { + name: "--sql-mgmt-type", + description: + "Argument 'sql_management_mode' has been deprecated and will be removed in a future release. SQL Server management type. If NoAgent selected, please provide --image-sku and --offer-type", + args: { + name: "sql-mgmt-type", + suggestions: ["Full", "LightWeight", "NoAgent"], + }, + }, + { + name: "--sql-workload-type", + description: "SQL Server workload type", + args: { + name: "sql-workload-type", + suggestions: ["DW", "GENERAL", "OLTP"], + }, + }, + { + name: "--storage-account", + description: "Storage account url where backup will be taken to", + args: { name: "storage-account" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a SQL virtual machine", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the SQL virtual machine", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "enable-azure-ad-auth", + description: + "Enable Azure AD authentication of a SQL virtual machine", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--msi-client-id", + description: "Virutal Machine Managed Identity Client ID", + args: { name: "msi-client-id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the SQL virtual machine", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-client-validation", + description: + "Skip client side Azure AD authentication validation, the server side validation will still happen", + args: { name: "skip-client-validation" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Lists all SQL virtual machines in a resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove-from-group", + description: + "Remove SQL virtual machine from its current SQL virtual machine group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the SQL virtual machine", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Gets a SQL virtual machine", + options: [ + { + name: "--expand", + description: + "Get the SQLIaaSExtension configuration settings. To view all settings, use *. To select only a few, the settings must be space-separated", + args: { + name: "expand", + suggestions: [ + "*", + "AssessmentSettings", + "AutoBackupSettings", + "AutoPatchingSettings", + "KeyVaultCredentialSettings", + "ServerConfigurationsManagementSettings", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the SQL virtual machine", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start-assessment", + description: + "Starts SQL best practice assessment on SQL virtual machine", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the SQL virtual machine", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates the properties of a SQL virtual machine", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--agent-rg", + description: + "Resource group containing the AMA resources DCE and DCR", + args: { name: "agent-rg" }, + }, + { + name: ["--assessment-day-of-week", "--am-day"], + description: "Day of the week to run assessment", + args: { + name: "assessment-day-of-week", + suggestions: [ + "Friday", + "Monday", + "Saturday", + "Sunday", + "Thursday", + "Tuesday", + "Wednesday", + ], + }, + }, + { + name: ["--assessment-monthly-occurrence", "--am-month-occ"], + description: + "Occurrence of the DayOfWeek day within a month to schedule assessment. Supports values 1,2,3,4 and -1. Use -1 for last DayOfWeek day of the month (for example - last Tuesday of the month)", + args: { + name: "assessment-monthly-occurrence", + suggestions: ["-1", "1", "2", "3", "4"], + }, + }, + { + name: ["--enable-assessment-schedule", "--am-schedule"], + description: + "Enable or disable assessment Schedule. If any assessment schedule settings provided, parameter automatically sets to true", + args: { + name: "enable-assessment-schedule", + suggestions: ["false", "true"], + }, + }, + { + name: ["--assessment-start-time-local", "--am-time"], + description: + "Time of the day in HH:mm format. Examples include 17:30, 05:13", + args: { name: "assessment-start-time-local" }, + }, + { + name: ["--assessment-weekly-interval", "--am-week-int"], + description: + "Number of weeks to schedule between 2 assessment runs. Supports value from 1-6", + args: { + name: "assessment-weekly-interval", + suggestions: ["1", "2", "3", "4", "5", "6"], + }, + }, + { + name: "--backup-pwd", + description: "Password for encryption on backup", + args: { name: "backup-pwd" }, + }, + { + name: "--backup-schedule-type", + description: "Backup schedule type", + args: { + name: "backup-schedule-type", + suggestions: ["Automated", "Manual"], + }, + }, + { + name: "--backup-system-dbs", + description: "Include system databases on backup", + }, + { + name: "--connectivity-type", + description: "SQL Server connectivity option", + args: { + name: "connectivity-type", + suggestions: ["LOCAL", "PRIVATE", "PUBLIC"], + }, + }, + { + name: "--credential-name", + description: "Credential name", + args: { name: "credential-name" }, + }, + { + name: "--day-of-week", + description: "Day of week to apply the patch on", + args: { + name: "day-of-week", + suggestions: [ + "Everyday", + "Friday", + "Monday", + "Saturday", + "Sunday", + "Thursday", + "Tuesday", + "Wednesday", + ], + }, + }, + { + name: "--enable-assessment", + description: + "Enable or disable assessment feature. If any assessment settings provided, parameter automatically sets to true", + args: { + name: "enable-assessment", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-auto-backup", + description: + "Enable or disable autobackup on SQL virtual machine. If any backup settings provided, parameter automatically sets to true", + args: { + name: "enable-auto-backup", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-auto-patching", + description: + "Enable or disable autopatching on SQL virtual machine. If any autopatching settings provided, parameter automatically sets to true", + args: { + name: "enable-auto-patching", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-encryption", + description: + "Enable encryption for backup on SQL virtual machine", + }, + { + name: "--enable-key-vault-credential", + description: + "Enable or disable key vault credential setting. If any key vault settings provided, parameter automatically sets to true", + args: { + name: "enable-key-vault-credential", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-r-services", + description: "Enable or disable R services (SQL 2016 onwards)", + args: { + name: "enable-r-services", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--full-backup-duration", + description: + "Duration of the time window of a given day during which full backups can take place. 1-23 hours", + args: { name: "full-backup-duration" }, + }, + { + name: "--full-backup-frequency", + description: + "Frequency of full backups. In both cases, full backups begin during the next scheduled time window", + args: { + name: "full-backup-frequency", + suggestions: ["Daily", "Weekly"], + }, + }, + { + name: "--full-backup-start-hour", + description: + "Start time of a given day during which full backups can take place. 0-23 hours", + args: { name: "full-backup-start-hour" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--image-sku", + description: "SQL image sku", + args: { + name: "image-sku", + suggestions: [ + "Developer", + "Enterprise", + "Express", + "Standard", + "Web", + ], + }, + }, + { + name: "--key-vault", + description: "Azure Key Vault url", + args: { name: "key-vault" }, + }, + { + name: "--least-privilege-mode", + description: + "SQL IaaS Agent Least Privilege Mode. Updates from sysadmin to specific permissions used per feature", + args: { + name: "least-privilege-mode", + suggestions: ["Enabled", "NotSet"], + }, + }, + { + name: ["--license-type", "-i"], + description: "SQL Server license type", + args: { + name: "license-type", + suggestions: ["AHUB", "DR", "PAYG"], + }, + }, + { + name: "--log-backup-frequency", + description: "Frequency of log backups. 5-60 minutes", + args: { name: "log-backup-frequency" }, + }, + { + name: "--maintenance-window-duration", + description: "Duration of patching. 30-180 minutes", + args: { name: "maintenance-window-duration" }, + }, + { + name: "--maintenance-window-start-hour", + description: + "Hour of the day when patching is initiated. Local VM time 0-23 hours", + args: { name: "maintenance-window-start-hour" }, + }, + { + name: ["--name", "-n"], + description: "Name of the SQL virtual machine", + args: { name: "name" }, + }, + { + name: "--port", + description: "SQL Server port", + args: { name: "port" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--retention-period", + description: "Retention period of backup. 1-30 days", + args: { name: "retention-period" }, + }, + { + name: "--sa-key", + description: "Storage account key where backup will be taken to", + args: { name: "sa-key" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sp-name", + description: "Service principal name to access key vault", + args: { name: "sp-name" }, + }, + { + name: "--sp-secret", + description: "Service principal name secret to access key vault", + args: { name: "sp-secret" }, + }, + { + name: "--sql-mgmt-type", + description: + "Argument 'sql_management_mode' has been deprecated and will be removed in a future release. SQL Server management type. Updates from LightWeight to Full", + args: { + name: "sql-mgmt-type", + suggestions: ["Full", "LightWeight", "NoAgent"], + }, + }, + { + name: "--sql-workload-type", + description: "SQL Server workload type", + args: { + name: "sql-workload-type", + suggestions: ["DW", "GENERAL", "OLTP"], + }, + }, + { + name: "--storage-account", + description: "Storage account url where backup will be taken to", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--workspace-name", + description: + "Name of the Log Analytics workspace to associate with VM", + args: { name: "workspace-name" }, + }, + { + name: "--workspace-rg", + description: + "Resource group containing the Log Analytics workspace", + args: { name: "workspace-rg" }, + }, + { + name: "--workspace-sub", + description: + "Subscription containing the Log Analytics workspace", + args: { name: "workspace-sub" }, + }, + { + name: ["--yes", "-y"], + description: + "Argument 'prompt' has been deprecated and will be removed in a future release. Do not prompt for confirmation. Requires --sql-mgmt-type", + }, + ], + }, + { + name: "validate-azure-ad-auth", + description: + "Validate Azure AD authentication of a SQL virtual machine at the client side without enabling it", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--msi-client-id", + description: "Virutal Machine Managed Identity Client ID", + args: { name: "msi-client-id" }, + }, + { + name: ["--name", "-n"], + description: "Name of the SQL virtual machine", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "group", + description: "Manage SQL virtual machine groups", + subcommands: [ + { + name: "create", + description: "Creates a SQL virtual machine group", + options: [ + { + name: ["--domain-fqdn", "-f"], + description: "Fully qualified name of the domain", + args: { name: "domain-fqdn" }, + isRequired: true, + }, + { + name: ["--image-offer", "-i"], + description: + "SQL image offer. Examples may include SQL2016-WS2016, SQL2017-WS2016", + args: { name: "image-offer" }, + isRequired: true, + }, + { + name: ["--image-sku", "-s"], + description: "SQL image sku", + args: { + name: "image-sku", + suggestions: ["Developer", "Enterprise"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the SQL virtual machine group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--operator-acc", "-p"], + description: + "Account name used for operating cluster i.e. will be part of administrators group on all the participating virtual machines in the cluster", + args: { name: "operator-acc" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--service-acc", "-e"], + description: + "Account name under which SQL service will run on all participating SQL virtual machines in the cluster", + args: { name: "service-acc" }, + isRequired: true, + }, + { + name: ["--storage-account", "-u"], + description: + "Storage account url of the witness storage account", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: "--bootstrap-acc", + description: + "Account name used for creating cluster (at minimum needs permissions to 'Create Computer Objects' in domain)", + args: { name: "bootstrap-acc" }, + }, + { + name: "--cluster-subnet-type", + description: "Cluster subnet type", + args: { + name: "cluster-subnet-type", + suggestions: ["MultiSubnet", "SingleSubnet"], + }, + }, + { + name: "--fsw-path", + description: "Optional path for fileshare witness", + args: { name: "fsw-path" }, + }, + { + name: ["--location", "-l"], + description: + "Location. If not provided, group will be created in the same reosurce group location.You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--ou-path", + description: + "Organizational Unit path in which the nodes and cluster will be present. Example: OU=WSCluster,DC=testdomain,DC=com", + args: { name: "ou-path" }, + }, + { + name: ["--sa-key", "-k"], + description: "Primary key of the witness storage account", + args: { name: "sa-key" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a SQL virtual machine group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the SQL virtual machine group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all SQL virtual machine groups in a resource group or subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Gets a SQL virtual machine group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the SQL virtual machine group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Updates a SQL virtual machine group if there are not SQL virtual machines attached to the group", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--bootstrap-acc", + description: + "Account name used for creating cluster (at minimum needs permissions to 'Create Computer Objects' in domain)", + args: { name: "bootstrap-acc" }, + }, + { + name: "--cluster-subnet-type", + description: "Cluster subnet type", + args: { + name: "cluster-subnet-type", + suggestions: ["MultiSubnet", "SingleSubnet"], + }, + }, + { + name: ["--domain-fqdn", "-f"], + description: "Fully qualified name of the domain", + args: { name: "domain-fqdn" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--fsw-path", + description: "Optional path for fileshare witness", + args: { name: "fsw-path" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the SQL virtual machine group", + args: { name: "name" }, + }, + { + name: ["--operator-acc", "-p"], + description: + "Account name used for operating cluster i.e. will be part of administrators group on all the participating virtual machines in the cluster", + args: { name: "operator-acc" }, + }, + { + name: "--ou-path", + description: + "Organizational Unit path in which the nodes and cluster will be present. Example: OU=WSCluster,DC=testdomain,DC=com", + args: { name: "ou-path" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sa-key", "-k"], + description: "Primary key of the witness storage account", + args: { name: "sa-key" }, + }, + { + name: ["--service-acc", "-e"], + description: + "Account name under which SQL service will run on all participating SQL virtual machines in the cluster", + args: { name: "service-acc" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: ["--storage-account", "-u"], + description: + "Storage account url of the witness storage account", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "ag-listener", + description: "Manage SQL availability group listeners", + subcommands: [ + { + name: "create", + description: "Creates an availability group listener", + options: [ + { + name: ["--ag-name", "-a"], + description: + "Name of the availability group. Please refer to https://docs.microsoft.com/sql/database-engine/availability-groups/windows/use-the-availability-group-wizard-sql-server-management-studio?view=sql-server-2017 to create and availability group", + args: { name: "ag-name" }, + isRequired: true, + }, + { + name: ["--group-name", "-r"], + description: "Name of the SQL virtual machine group", + args: { name: "group-name" }, + isRequired: true, + }, + { + name: ["--ip-address", "-i"], + description: + "Private IP address bound to the availability group listener", + args: { name: "ip-address" }, + isRequired: true, + }, + { + name: ["--load-balancer", "-b"], + description: "Name or resource ID of the load balancer", + args: { name: "load-balancer" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the availability group listener", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--probe-port", "-e"], + description: "Probe port", + args: { name: "probe-port" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--sqlvms", "-q"], + description: + "Space-separated list of SQL virtual machine instance name or resource IDs that are enrolled into the availability group", + args: { name: "sqlvms" }, + isRequired: true, + }, + { + name: ["--subnet", "-u"], + description: + "The name or resource id of the subnet to include in the private IP", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: ["--port", "-p"], + description: "Listener port", + args: { name: "port" }, + }, + { + name: ["--public-ip", "-c"], + description: "Name or resource ID of the public IP", + args: { name: "public-ip" }, + }, + { + name: "--vnet-name", + description: + "Name of the virtual network. Provide only if name of the subnet has been provided", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an availability group listener", + options: [ + { + name: ["--group-name", "-r"], + description: "Name of the SQL virtual machine group", + args: { name: "group-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the availability group listener", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Lists all availability group listeners in a SQL virtual machine group", + options: [ + { + name: ["--group-name", "-r"], + description: "Name of the SQL virtual machine group", + args: { name: "group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets an availability group listener", + options: [ + { + name: ["--group-name", "-r"], + description: "Name of the SQL virtual machine group", + args: { name: "group-name" }, + isRequired: true, + }, + { + name: "--expand", + description: + "Get the SQLIaaSExtension configuration settings. To view all settings, use *. To select only a few, the settings must be space-separated", + args: { + name: "expand", + suggestions: [ + "*", + "AssessmentSettings", + "AutoBackupSettings", + "AutoPatchingSettings", + "KeyVaultCredentialSettings", + "ServerConfigurationsManagementSettings", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the availability group listener", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Updates an availability group listener", + options: [ + { + name: ["--group-name", "-r"], + description: "Name of the SQL virtual machine group", + args: { name: "group-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the availability group listener", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: ["--sqlvms", "-q"], + description: + "Space-separated list of SQL virtual machine instance name or resource IDs that are enrolled into the availability group", + args: { name: "sqlvms" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/ssh.ts b/src/az/2.53.0/ssh.ts new file mode 100644 index 000000000000..b5a89f60b77f --- /dev/null +++ b/src/az/2.53.0/ssh.ts @@ -0,0 +1,273 @@ +const completion: Fig.Spec = { + name: "ssh", + description: + "SSH into resources (Azure VMs, Arc servers, etc) using AAD issued openssh certificates.\n\n\t\tSSH into Arc-enabled servers without requiring a public IP address or SSH into Azure Virtual Machines. AAD issued openssh certificates for authentication currently only supported for Linux", + subcommands: [ + { + name: "arc", + description: "SSH into Azure Arc Servers", + options: [ + { + name: ["--certificate-file", "-c"], + description: "Path to certificate file", + args: { name: "certificate-file" }, + }, + { + name: "--local-user", + description: "The username for a local user", + args: { name: "local-user" }, + }, + { + name: ["--vm-name", "--name", "-n"], + description: "The name of the Arc Server", + args: { name: "vm-name" }, + }, + { + name: "--port", + description: "Port to connect to on the remote host", + args: { name: "port" }, + }, + { + name: ["--private-key-file", "-i"], + description: "The RSA private key file path", + args: { name: "private-key-file" }, + }, + { + name: ["--public-key-file", "-p"], + description: "The RSA public key file path", + args: { name: "public-key-file" }, + }, + { + name: ["--winrdp", "--rdp"], + description: "Start RDP connection over SSH", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "Resource type should be either Microsoft.HybridCompute/machines or Microsoft.ConnectedVMwareSphere/virtualMachines", + args: { name: "resource-type" }, + }, + { + name: "--ssh-client-folder", + description: + "Folder path that contains ssh executables (ssh.exe, ssh-keygen.exe, etc). Default to ssh pre-installed if not provided", + args: { name: "ssh-client-folder" }, + }, + { + name: "--ssh-proxy-folder", + description: + "Path to the folder where the ssh proxy should be saved. Default to .clientsshproxy folder in user's home directory if not provided", + args: { name: "ssh-proxy-folder" }, + }, + { + name: ["--yes-without-prompt", "--yes", "-y"], + description: "Update service configuration without prompting user", + }, + ], + args: { + name: "", + description: "Additional arguments passed to OpenSSH", + isOptional: true, + }, + }, + { + name: "cert", + description: "Create an SSH RSA certificate signed by AAD", + options: [ + { + name: ["--file", "-f"], + description: + "The file path to write the SSH cert to, defaults to public key path with -aadcert.pub appened", + args: { name: "file" }, + }, + { + name: ["--public-key-file", "-p"], + description: + "The RSA public key file path. If not provided, generated key pair is stored in the same directory as --file", + args: { name: "public-key-file" }, + }, + { + name: "--ssh-client-folder", + description: + "Folder path that contains ssh executables (ssh.exe, ssh-keygen.exe, etc). Default to ssh pre-installed if not provided", + args: { name: "ssh-client-folder" }, + }, + ], + }, + { + name: "config", + description: + "Create an SSH config for resources (Azure VMs, Arc Servers, etc) which can then be used by clients that support OpenSSH configs and certificates", + options: [ + { + name: ["--file", "-f"], + description: "The file path to write the SSH config to", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--certificate-file", "-c"], + description: "Path to certificate file", + args: { name: "certificate-file" }, + }, + { + name: "--ip", + description: "The public IP address (or hostname) of the VM", + args: { name: "ip" }, + }, + { + name: ["--keys-destination-folder", "--keys-dest-folder"], + description: "Folder where new generated keys will be stored", + args: { name: "keys-destination-folder" }, + }, + { + name: "--local-user", + description: "The username for a local user", + args: { name: "local-user" }, + }, + { + name: ["--vm-name", "--name", "-n"], + description: "The name of the VM", + args: { name: "vm-name" }, + }, + { + name: "--overwrite", + description: "Overwrites the config file if this flag is set", + }, + { name: "--port", description: "SSH Port", args: { name: "port" } }, + { + name: "--prefer-private-ip", + description: + "Will use a private IP if available. By default only public IPs are used", + }, + { + name: ["--private-key-file", "-i"], + description: "The RSA private key file path", + args: { name: "private-key-file" }, + }, + { + name: ["--public-key-file", "-p"], + description: "The RSA public key file path", + args: { name: "public-key-file" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "Resource type should be either Microsoft.Compute/virtualMachines, Microsoft.HybridCompute/machines, or Microsoft.ConnectedVMwareSphere/virtualMachines", + args: { name: "resource-type" }, + }, + { + name: "--ssh-client-folder", + description: + "Folder path that contains ssh executables (ssh.exe, ssh-keygen.exe, etc). Default to ssh pre-installed if not provided", + args: { name: "ssh-client-folder" }, + }, + { + name: "--ssh-proxy-folder", + description: + "Path to the folder where the ssh proxy should be saved. Default to .clientsshproxy folder in user's home directory if not provided", + args: { name: "ssh-proxy-folder" }, + }, + { + name: ["--yes-without-prompt", "--yes", "-y"], + description: "Update service configuration without prompting user", + }, + ], + }, + { + name: "vm", + description: "SSH into Azure VMs or Arc Servers", + options: [ + { + name: ["--certificate-file", "-c"], + description: + "Path to a certificate file used for authentication when using local user credentials", + args: { name: "certificate-file" }, + }, + { + name: ["--hostname", "--ip"], + description: + "The public (or reachable private) IP address (or hostname) of the VM", + args: { name: "hostname" }, + }, + { + name: "--local-user", + description: "The username for a local user", + args: { name: "local-user" }, + }, + { + name: ["--vm-name", "--name", "-n"], + description: "The name of the VM", + args: { name: "vm-name" }, + }, + { name: "--port", description: "SSH port", args: { name: "port" } }, + { + name: "--prefer-private-ip", + description: + "Will prefer private IP. Requires connectivity to the private IP", + }, + { + name: ["--private-key-file", "-i"], + description: "The RSA private key file path", + args: { name: "private-key-file" }, + }, + { + name: ["--public-key-file", "-p"], + description: "The RSA public key file path", + args: { name: "public-key-file" }, + }, + { + name: ["--winrdp", "--rdp"], + description: "Start RDP connection over SSH", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-type", + description: + "Resource type should be either Microsoft.Compute/virtualMachines, Microsoft.HybridCompute/machines, or Microsoft.ConnectedVMwareSphere/virtualMachines", + args: { name: "resource-type" }, + }, + { + name: "--ssh-client-folder", + description: + "Folder path that contains ssh executables (ssh.exe, ssh-keygen.exe, etc). Default to ssh pre-installed if not provided", + args: { name: "ssh-client-folder" }, + }, + { + name: "--ssh-proxy-folder", + description: + "Path to the folder where the ssh proxy should be saved. Default to .clientsshproxy folder in user's home directory if not provided", + args: { name: "ssh-proxy-folder" }, + }, + { + name: ["--yes-without-prompt", "--yes", "-y"], + description: "Update service configuration without prompting user", + }, + ], + args: { + name: "", + description: "Additional arguments passed to OpenSSH", + isOptional: true, + }, + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/sshkey.ts b/src/az/2.53.0/sshkey.ts new file mode 100644 index 000000000000..99e49a2a5975 --- /dev/null +++ b/src/az/2.53.0/sshkey.ts @@ -0,0 +1,160 @@ +const completion: Fig.Spec = { + name: "sshkey", + description: "Manage ssh public key with vm", + subcommands: [ + { + name: "create", + description: "Create a new SSH public key resource", + options: [ + { + name: ["--ssh-public-key-name", "--name", "-n"], + description: "The name of the SSH public key", + args: { name: "ssh-public-key-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--public-key", + description: + "SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format", + args: { name: "public-key" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete an SSH public key", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--ssh-public-key-name", "--name", "-n"], + description: "The name of the SSH public key", + args: { name: "ssh-public-key-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all of the SSH public keys", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Retrieve information about an SSH public key", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--ssh-public-key-name", "--name", "-n"], + description: "The name of the SSH public key", + args: { name: "ssh-public-key-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an SSH public key resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--ssh-public-key-name", "--name", "-n"], + description: "The name of the SSH public key", + args: { name: "ssh-public-key-name" }, + }, + { + name: "--public-key", + description: + "SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format", + args: { name: "public-key" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/stack-hci.ts b/src/az/2.53.0/stack-hci.ts new file mode 100644 index 000000000000..ff922f3810a3 --- /dev/null +++ b/src/az/2.53.0/stack-hci.ts @@ -0,0 +1,1356 @@ +const completion: Fig.Spec = { + name: "stack-hci", + description: "Manage Azure Stack HCI", + subcommands: [ + { + name: "arc-setting", + description: "Manage arc setting with stack hci", + subcommands: [ + { + name: "consent-and-install-default-extension", + description: + "Add consent time for default extensions and initiate extensions installation", + options: [ + { + name: "--arc-setting-name", + description: + "The name of the proxy resource holding details of HCI ArcSetting information", + args: { name: "arc-setting-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create arc setting for HCI cluster", + options: [ + { + name: ["--arc-setting-name", "--name", "-n"], + description: + "The name of the proxy resource holding details of HCI ArcSetting information", + args: { name: "arc-setting-name" }, + isRequired: true, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--arc-application-client-id", + description: "App id of arc AAD identity", + args: { name: "arc-application-client-id" }, + }, + { + name: "--arc-application-object-id", + description: "Object id of arc AAD identity", + args: { name: "arc-application-object-id" }, + }, + { + name: "--arc-application-tenant-id", + description: "Tenant id of arc AAD identity", + args: { name: "arc-application-tenant-id" }, + }, + { + name: "--arc-instance-rg", + description: + "The resource group that hosts the Arc agents, ie. Hybrid Compute Machine resources", + args: { name: "arc-instance-rg" }, + }, + { + name: "--arc-service-principal-object-id", + description: "Object id of arc AAD service principal", + args: { name: "arc-service-principal-object-id" }, + }, + { + name: "--connectivity-properties", + description: + 'Contains connectivity related configuration for ARC resources Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "connectivity-properties" }, + }, + ], + }, + { + name: "create-identity", + description: "Create AAD identity for arc settings", + options: [ + { + name: ["--arc-setting-name", "--name", "-n"], + description: + "The name of the proxy resource holding details of HCI ArcSetting information", + args: { name: "arc-setting-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete arc setting resource details of HCI cluster", + options: [ + { + name: ["--arc-setting-name", "--name", "-n"], + description: + "The name of the proxy resource holding details of HCI ArcSetting information", + args: { name: "arc-setting-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "generate-password", + description: "Generate password for arc settings", + options: [ + { + name: ["--arc-setting-name", "--name", "-n"], + description: + "The name of the proxy resource holding details of HCI ArcSetting information", + args: { name: "arc-setting-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "initialize-disable-proces", + description: "Initialize ARC Disable process on the cluster", + options: [ + { + name: "--arc-setting-name", + description: + "The name of the proxy resource holding details of HCI ArcSetting information", + args: { name: "arc-setting-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List arc setting resources of HCI cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get arc setting resource details of HCI cluster", + options: [ + { + name: ["--arc-setting-name", "--name", "-n"], + description: + "The name of the proxy resource holding details of HCI ArcSetting information", + args: { name: "arc-setting-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update arc setting for HCI cluster", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--arc-setting-name", "--name", "-n"], + description: + "The name of the proxy resource holding details of HCI ArcSetting information", + args: { name: "arc-setting-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--connectivity-properties", + description: + 'Contains connectivity related configuration for ARC resources Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "connectivity-properties" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--arc-setting-name", "--name", "-n"], + description: + "The name of the proxy resource holding details of HCI ArcSetting information", + args: { name: "arc-setting-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "cluster", + description: "Manage cluster with stack hci", + subcommands: [ + { + name: "create", + description: "Create an HCI cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aad-application-object-id", + description: "Object id of cluster AAD identity", + args: { name: "aad-application-object-id" }, + }, + { + name: "--aad-client-id", + description: "App id of cluster AAD identity", + args: { name: "aad-client-id" }, + }, + { + name: "--aad-service-principal-object-id", + description: "Id of cluster identity service principal", + args: { name: "aad-service-principal-object-id" }, + }, + { + name: "--aad-tenant-id", + description: "Tenant id of cluster AAD identity", + args: { name: "aad-tenant-id" }, + }, + { + name: "--desired-properties", + description: + 'Desired properties of the cluster. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "desired-properties" }, + }, + { + name: "--endpoint", + description: + "Endpoint configured for management from the Azure portal", + args: { name: "endpoint" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--mi-system-assigned", + description: "Enable system assigned identity", + args: { + name: "mi-system-assigned", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "create-identity", + description: "Create cluster identity", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete an HCI cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "extend-software-assurance-benefit", + description: "Extend Software Assurance Benefit to a cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--software-assurance-intent", + description: "Customer Intent for Software Assurance Benefit", + args: { + name: "software-assurance-intent", + suggestions: ["Disable", "Enable"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all HCI clusters in a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get HCI cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an HCI cluster", + options: [ + { + name: "--aad-client-id", + description: "App id of cluster AAD identity", + args: { name: "aad-client-id" }, + }, + { + name: "--aad-tenant-id", + description: "Tenant id of cluster AAD identity", + args: { name: "aad-tenant-id" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--desired-properties", + description: + 'Desired properties of the cluster. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "desired-properties" }, + }, + { + name: "--endpoint", + description: + "Endpoint configured for management from the Azure portal", + args: { name: "endpoint" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "identity", + description: "Manage identity", + subcommands: [ + { + name: "assign", + description: "Assign identities", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-assigned", + description: "Enable system assigned identity", + args: { + name: "system-assigned", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "remove", + description: "Remove identities", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-assigned", + description: "Enable system assigned identity", + args: { + name: "system-assigned", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + ], + }, + ], + }, + { + name: "extension", + description: "Manage extension with stack hci", + subcommands: [ + { + name: "create", + description: "Create extension for HCI cluster", + options: [ + { + name: "--arc-setting-name", + description: + "The name of the proxy resource holding details of HCI ArcSetting information", + args: { name: "arc-setting-name" }, + isRequired: true, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--extension-name", "--name", "-n"], + description: "The name of the machine extension", + args: { name: "extension-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--auto-upgrade", + description: + "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true", + args: { + name: "auto-upgrade", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--force-update-tag", + description: + "How the extension handler should be forced to update even if the extension configuration has not changed", + args: { name: "force-update-tag" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--protected-settings", + description: + "Protected settings (may contain secrets). Support json-file and yaml-file", + args: { name: "protected-settings" }, + }, + { + name: "--publisher", + description: "The name of the extension handler publisher", + args: { name: "publisher" }, + }, + { + name: "--settings", + description: + "Json formatted public settings for the extension. Support json-file and yaml-file", + args: { name: "settings" }, + }, + { + name: "--type", + description: + 'Specifies the type of the extension; an example is "CustomScriptExtension"', + args: { name: "type" }, + }, + { + name: "--type-handler-version", + description: + "Specifies the version of the script handler. Latest version would be used if not specified", + args: { name: "type-handler-version" }, + }, + ], + }, + { + name: "delete", + description: "Delete particular arc extension of HCI Cluster", + options: [ + { + name: "--arc-setting-name", + description: + "The name of the proxy resource holding details of HCI ArcSetting information", + args: { name: "arc-setting-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: ["--extension-name", "--name", "-n"], + description: "The name of the machine extension", + args: { name: "extension-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all extensions under arc setting resource", + options: [ + { + name: "--arc-setting-name", + description: + "The name of the proxy resource holding details of HCI ArcSetting information", + args: { name: "arc-setting-name" }, + isRequired: true, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get particular arc extension of HCI cluster", + options: [ + { + name: "--arc-setting-name", + description: + "The name of the proxy resource holding details of HCI ArcSetting information", + args: { name: "arc-setting-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: ["--extension-name", "--name", "-n"], + description: "The name of the machine extension", + args: { name: "extension-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--arc-setting-name", + description: + "The name of the proxy resource holding details of HCI ArcSetting information", + args: { name: "arc-setting-name" }, + }, + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: ["--extension-name", "--name", "-n"], + description: "The name of the machine extension", + args: { name: "extension-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/stack.ts b/src/az/2.53.0/stack.ts new file mode 100644 index 000000000000..4b03660ddc53 --- /dev/null +++ b/src/az/2.53.0/stack.ts @@ -0,0 +1,611 @@ +const completion: Fig.Spec = { + name: "stack", + description: + "A deployment stack is a native Azure resource type that enables you to perform operations on a resource collection as an atomic unit", + subcommands: [ + { + name: "group", + description: "Manage Deployment Stacks at resource group", + subcommands: [ + { + name: "create", + description: + "Create or update a deployment stack at resource group scope", + options: [ + { + name: ["--deny-settings-mode", "--dm"], + description: + "Define which operations are denied on resources managed by the stack", + args: { + name: "deny-settings-mode", + suggestions: ["denyDelete", "denyWriteAndDelete", "none"], + }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the deployment stack", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the deployment stack will be created", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--deny-settings-apply-to-child-scopes", "--cs"], + description: "DenySettings will be applied to child scopes", + }, + { + name: "--delete-all", + description: + "Flag to indicate delete rather than detach for the resources and resource groups", + }, + { + name: "--delete-resource-groups", + description: + "Flag to indicate delete rather than detach for the resource groups", + }, + { + name: "--delete-resources", + description: + "Flag to indicate delete rather than detach for the resources", + }, + { + name: ["--deny-settings-excluded-actions", "--ea"], + description: + "List of role-based management operations that are excluded from the denySettings. Up to 200 actions are permitted", + args: { name: "deny-settings-excluded-actions" }, + }, + { + name: ["--deny-settings-excluded-principals", "--ep"], + description: + "List of AAD principal IDs excluded from the lock. Up to 5 principals are permitted", + args: { name: "deny-settings-excluded-principals" }, + }, + { + name: "--description", + description: "The description of deployment stack", + args: { name: "description" }, + }, + { + name: ["--parameters", "-p"], + description: + "Parameters may be supplied from a file using the @{path} syntax, a JSON string, or as pairs. Parameters are evaluated in order, so when a value is assigned twice, the latter value will be used. It is recommended that you supply your parameters file first, and then override selectively using KEY=VALUE syntax", + args: { name: "parameters" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--template-file", "-f"], + description: + "A path to a template file or Bicep file in the file system", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "A uri to a remote template file", + args: { name: "template-uri" }, + }, + { name: "--yes", description: "Do not prompt for confirmation" }, + ], + }, + { + name: "delete", + description: + "Delete specified deployment stack from resource group scope", + options: [ + { + name: "--delete-all", + description: + "Flag to indicate delete rather than detach for the resources and resource groups", + }, + { + name: "--delete-resource-groups", + description: + "Flag to indicate delete rather than detach for the resource groups", + }, + { + name: "--delete-resources", + description: + "Flag to indicate delete rather than detach for the resources", + }, + { + name: "--id", + description: "The deployment stack resource id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "The deployment stack name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the deployment stack exists", + args: { name: "resource-group" }, + }, + { name: "--yes", description: "Do not prompt for confirmation" }, + ], + }, + { + name: "export", + description: + "Export the template used to create the deployment stack from resource group scope", + options: [ + { + name: "--id", + description: "The deployment stack resource id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "The deployment stack name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the deployment stack exists", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List all deployment stacks in resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "The resource group where the deployment stack exists", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get specified deployment stack from resource group scope", + options: [ + { + name: "--id", + description: "The deployment stack resource id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "The deployment stack name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group where the deployment stack exists", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "mg", + description: "Manage Deployment Stacks at management group", + subcommands: [ + { + name: "create", + description: + "Create or update a deployment stack at management group scope", + options: [ + { + name: ["--deny-settings-mode", "--dm"], + description: + "Define which operations are denied on resources managed by the stack", + args: { + name: "deny-settings-mode", + suggestions: ["denyDelete", "denyWriteAndDelete", "none"], + }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "The location to store deployment stack", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--management-group-id", "-m"], + description: "The management group id to create stack at", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the deployment stack", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--deny-settings-apply-to-child-scopes", "--cs"], + description: "DenySettings will be applied to child scopes", + }, + { + name: "--delete-all", + description: + "Flag to indicate delete rather than detach for the resources and resource groups", + }, + { + name: "--delete-resource-groups", + description: + "Flag to indicate delete rather than detach for the resource groups", + }, + { + name: "--delete-resources", + description: + "Flag to indicate delete rather than detach for the resources", + }, + { + name: ["--deny-settings-excluded-actions", "--ea"], + description: + "List of role-based management operations that are excluded from the denySettings. Up to 200 actions are permitted", + args: { name: "deny-settings-excluded-actions" }, + }, + { + name: ["--deny-settings-excluded-principals", "--ep"], + description: + "List of AAD principal IDs excluded from the lock. Up to 5 principals are permitted", + args: { name: "deny-settings-excluded-principals" }, + }, + { + name: ["--deployment-subscription", "--ds"], + description: + "The scope at which the initial deployment should be created. If a scope is not specified, it will default to the scope of the deployment stack", + args: { name: "deployment-subscription" }, + }, + { + name: "--description", + description: "The description of deployment stack", + args: { name: "description" }, + }, + { + name: ["--parameters", "-p"], + description: + "Parameters may be supplied from a file using the @{path} syntax, a JSON string, or as pairs. Parameters are evaluated in order, so when a value is assigned twice, the latter value will be used. It is recommended that you supply your parameters file first, and then override selectively using KEY=VALUE syntax", + args: { name: "parameters" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--template-file", "-f"], + description: + "A path to a template file or Bicep file in the file system", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "A uri to a remote template file", + args: { name: "template-uri" }, + }, + { name: "--yes", description: "Do not prompt for confirmation" }, + ], + }, + { + name: "delete", + description: + "Delete specified deployment stack from management group scope", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id to create stack at", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: "--delete-all", + description: + "Flag to indicate delete rather than detach for the resources and resource groups", + }, + { + name: "--delete-resource-groups", + description: + "Flag to indicate delete rather than detach for the resource groups", + }, + { + name: "--delete-resources", + description: + "Flag to indicate delete rather than detach for the resources", + }, + { + name: "--id", + description: "The deployment stack resource id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "The deployment stack name", + args: { name: "name" }, + }, + { name: "--yes", description: "Do not prompt for confirmation" }, + ], + }, + { + name: "export", + description: + "Export the template used to create the deployment stack", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id to create stack at", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: "--id", + description: "The deployment stack resource id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "The deployment stack name", + args: { name: "name" }, + }, + ], + }, + { + name: "list", + description: "List all deployment stacks in management group", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id to create stack at", + args: { name: "management-group-id" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get specified deployment stack from management group scope", + options: [ + { + name: ["--management-group-id", "-m"], + description: "The management group id to create stack at", + args: { name: "management-group-id" }, + isRequired: true, + }, + { + name: "--id", + description: "The deployment stack resource id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "The deployment stack name", + args: { name: "name" }, + }, + ], + }, + ], + }, + { + name: "sub", + description: "Manage Deployment Stacks at subscription", + subcommands: [ + { + name: "create", + description: + "Create or update a deployment stack at subscription scope", + options: [ + { + name: ["--deny-settings-mode", "--dm"], + description: + "Define which operations are denied on resources managed by the stack", + args: { + name: "deny-settings-mode", + suggestions: ["denyDelete", "denyWriteAndDelete", "none"], + }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: "The location to store deployment stack", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the deployment stack", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--deny-settings-apply-to-child-scopes", "--cs"], + description: "DenySettings will be applied to child scopes", + }, + { + name: "--delete-all", + description: + "Flag to indicate delete rather than detach for the resources and resource groups", + }, + { + name: "--delete-resource-groups", + description: + "Flag to indicate delete rather than detach for the resource groups", + }, + { + name: "--delete-resources", + description: + "Flag to indicate delete rather than detach for the resources", + }, + { + name: ["--deny-settings-excluded-actions", "--ea"], + description: + "List of role-based management operations that are excluded from the denySettings. Up to 200 actions are permitted", + args: { name: "deny-settings-excluded-actions" }, + }, + { + name: ["--deny-settings-excluded-principals", "--ep"], + description: + "List of AAD principal IDs excluded from the lock. Up to 5 principals are permitted", + args: { name: "deny-settings-excluded-principals" }, + }, + { + name: ["--deployment-resource-group", "--dr"], + description: + "The scope at which the initial deployment should be created. If a scope is not specified, it will default to the scope of the deployment stack", + args: { name: "deployment-resource-group" }, + }, + { + name: "--description", + description: "The description of deployment stack", + args: { name: "description" }, + }, + { + name: ["--parameters", "-p"], + description: + "Parameters may be supplied from a file using the @{path} syntax, a JSON string, or as pairs. Parameters are evaluated in order, so when a value is assigned twice, the latter value will be used. It is recommended that you supply your parameters file first, and then override selectively using KEY=VALUE syntax", + args: { name: "parameters" }, + }, + { + name: ["--query-string", "-q"], + description: + "The query string (a SAS token) to be used with the template-uri in the case of linked templates", + args: { name: "query-string" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--template-file", "-f"], + description: + "A path to a template file or Bicep file in the file system", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--template-uri", "-u"], + description: "A uri to a remote template file", + args: { name: "template-uri" }, + }, + { name: "--yes", description: "Do not prompt for confirmation" }, + ], + }, + { + name: "delete", + description: + "Delete specified deployment stack from subscription scope", + options: [ + { + name: "--delete-all", + description: + "Flag to indicate delete rather than detach for the resources and resource groups", + }, + { + name: "--delete-resource-groups", + description: + "Flag to indicate delete rather than detach for the resource groups", + }, + { + name: "--delete-resources", + description: + "Flag to indicate delete rather than detach for the resources", + }, + { + name: "--id", + description: "The deployment stack resource id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "The deployment stack name", + args: { name: "name" }, + }, + { name: "--yes", description: "Do not prompt for confirmation" }, + ], + }, + { + name: "export", + description: + "Export the template used to create the deployment stack", + options: [ + { + name: "--id", + description: "The deployment stack resource id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "The deployment stack name", + args: { name: "name" }, + }, + ], + }, + { + name: "list", + description: "List all deployment stacks in subscription", + }, + { + name: "show", + description: "Get specified deployment stack from subscription scope", + options: [ + { + name: "--id", + description: "The deployment stack resource id", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: "The deployment stack name", + args: { name: "name" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/staticwebapp.ts b/src/az/2.53.0/staticwebapp.ts new file mode 100644 index 000000000000..94ca9e1f5d63 --- /dev/null +++ b/src/az/2.53.0/staticwebapp.ts @@ -0,0 +1,1251 @@ +const completion: Fig.Spec = { + name: "staticwebapp", + description: "Manage static apps", + subcommands: [ + { + name: "appsettings", + description: "Manage app settings the static app", + subcommands: [ + { + name: "delete", + description: "Delete app settings with given keys of the static app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--setting-names", + description: "Space-separated app setting names", + args: { name: "setting-names" }, + isRequired: true, + }, + { + name: "--environment-name", + description: "Name of the environment of static site", + args: { name: "environment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List app settings of the static app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--environment-name", + description: "Name of the environment of static site", + args: { name: "environment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "set", + description: "Add to or change the app settings of the static app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--setting-names", + description: "Space-separated app settings in 'key=value' format", + args: { name: "setting-names" }, + isRequired: true, + }, + { + name: "--environment-name", + description: "Name of the environment of static site", + args: { name: "environment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "backends", + description: + 'Link or unlink a prexisting backend with a static web app. Also known as "Bring your own API."', + subcommands: [ + { + name: "link", + description: + 'Link a backend to a static web app. Also known as "Bring your own API."', + options: [ + { + name: "--backend-resource-id", + description: "Resource ID of the backend to link", + args: { name: "backend-resource-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--backend-region", + description: "Region of the backend resource", + args: { name: "backend-region" }, + }, + { + name: "--environment-name", + description: "Name of the environment of static site", + args: { name: "environment-name" }, + }, + ], + }, + { + name: "show", + description: "Show details on the backend linked to a static web app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--environment-name", + description: "Name of the environment of static site", + args: { name: "environment-name" }, + }, + ], + }, + { + name: "unlink", + description: "Unlink backend from a static web app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--environment-name", + description: "Name of the environment of static site", + args: { name: "environment-name" }, + }, + { + name: "--remove-backend-auth", + description: + "If set to true, removes the identity provider configured on the backend during the linking process", + }, + ], + }, + { + name: "validate", + description: "Validate a backend for a static web app", + options: [ + { + name: "--backend-resource-id", + description: "Resource ID of the backend to link", + args: { name: "backend-resource-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--backend-region", + description: "Region of the backend resource", + args: { name: "backend-region" }, + }, + { + name: "--environment-name", + description: "Name of the environment of static site", + args: { name: "environment-name" }, + }, + ], + }, + ], + }, + { + name: "create", + description: + 'Create a static app. To provide content to the static web app and integrate with a Github repo, provide the Github repository URL (--source) and a branch (--branch). If the repo is under a Github organization, please ensure that the Azure CLI Github App has access to the organization. Access can be requested in the browser when using the "--login-with-github" argument. Access must be granted by the organization\'s admin', + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--api-location", + description: + "Location of your Azure Functions code. For example, '/api' represents a folder called 'api'", + args: { name: "api-location" }, + }, + { + name: "--app-location", + description: + "Location of your application code. For example, '/' represents the root of your app, while '/app' represents a directory called 'app'", + args: { name: "app-location" }, + }, + { + name: ["--branch", "-b"], + description: "The target branch in the repository", + args: { name: "branch" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--login-with-ado", + description: + "Use azure credentials to create an Azure Dev Ops personal access token", + }, + { + name: "--login-with-github", + description: + "Interactively log in with Github to retrieve the Personal Access Token", + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--output-location", + description: + "The path of your build output relative to your apps location. For example, setting a value of 'build' when your app location is set to '/app' will cause the content at '/app/build' to be served", + args: { name: "output-location" }, + }, + { + name: "--sku", + description: "The pricing tiers for Static Web App", + args: { name: "sku", suggestions: ["Free", "Standard"] }, + }, + { + name: ["--source", "-s"], + description: "URL for the repository of the static site", + args: { name: "source" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--token", "-t"], + description: + "A user's GitHub or Azure Dev Ops repository token. This is used to create the Github Action or Dev Ops pipeline", + args: { name: "token" }, + }, + ], + }, + { + name: "delete", + description: "Delete a static app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "disconnect", + description: + "Disconnect source control to enable connecting to a different repo", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List all static app resources in a subscription, or in resource group if provided", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "reconnect", + description: + "Connect to a repo and branch following a disconnect command", + options: [ + { + name: ["--branch", "-b"], + description: "The target branch in the repository", + args: { name: "branch" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--source", "-s"], + description: "URL for the repository of the static site", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--login-with-github", + description: + "Interactively log in with Github to retrieve the Personal Access Token", + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--token", "-t"], + description: + "A user's GitHub or Azure Dev Ops repository token. This is used to create the Github Action or Dev Ops pipeline", + args: { name: "token" }, + }, + ], + }, + { + name: "show", + description: "Show details of a static app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update a static app. Return the app updated", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--branch", "-b"], + description: "The target branch in the repository", + args: { name: "branch" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: "The pricing tiers for Static Web App", + args: { name: "sku", suggestions: ["Free", "Standard"] }, + }, + { + name: ["--source", "-s"], + description: "URL for the repository of the static site", + args: { name: "source" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--token", "-t"], + description: + "A user's GitHub or Azure Dev Ops repository token. This is used to create the Github Action or Dev Ops pipeline", + args: { name: "token" }, + }, + ], + }, + { + name: "dbconnection", + description: "Manage Static Web App database connections", + subcommands: [ + { + name: "create", + description: "Create a Static Web App database connection", + options: [ + { + name: ["--db-resource-id", "-d"], + description: + "The azure resource ID for the database server/account to connect to e.g. '/subscriptions/MySubId/resourceGroups/MyResourceGroup/providers/Microsoft.Sql/servers/MyServer' for an Azure SQL database", + args: { name: "db-resource-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Static Web App", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--db-name", "-b"], + description: + "The name of the database to connect to. Not required for CosmosDB", + args: { name: "db-name" }, + }, + { + name: ["--environment", "-e"], + description: "Name of the environment of Static Web App", + args: { name: "environment" }, + }, + { + name: ["--mi-system-assigned", "-s"], + description: + "Use the Static Web App's system-assigned identity for auth with the database. Must be assigned to the Static Web App and have the right permissions on the database", + }, + { + name: ["--mi-user-assigned", "-i"], + description: + "A resource ID for a user-assigned managed identity to use for auth with the database. Must be assigned to the Static Web App and have the right permissions on the database", + args: { name: "mi-user-assigned" }, + }, + { + name: ["--password", "-p"], + description: + "The password to use for authentication with the database. Not required for all databases", + args: { name: "password" }, + }, + { + name: ["--username", "-u"], + description: + "The username to use for authentication with the database. Not required for all databases", + args: { name: "username" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Static Web App database connection", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Static Web App", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--environment", "-e"], + description: "Name of the environment of Static Web App", + args: { name: "environment" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Get details for a Static Web App database connection", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Static Web App", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--detailed", "-d"], + description: "Get detailed information on database connections", + }, + { + name: ["--environment", "-e"], + description: "Name of the environment of Static Web App", + args: { name: "environment" }, + }, + ], + }, + ], + }, + { + name: "enterprise-edge", + description: + "Manage the Azure Front Door CDN for static webapps. For optimal experience and availability please check our documentation https://aka.ms/swaedge", + subcommands: [ + { + name: "disable", + description: + "Disable the Azure Front Door CDN for a static webapp. For optimal experience and availability please check our documentation https://aka.ms/swaedge", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "enable", + description: + "Enable the Azure Front Door CDN for a static webapp. Enabling enterprise-grade edge requires re-registration for the Azure Front Door Microsoft.CDN resource provider. For optimal experience and availability please check our documentation https://aka.ms/swaedge", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-register", + description: + "Don't try to register the Microsoft.CDN provider. Registration can be done manually with: az provider register --wait --namespace Microsoft.CDN. For more details, please review the documentation available at https://go.microsoft.com/fwlink/?linkid=2184995", + }, + ], + }, + { + name: "show", + description: + "Show the status (Enabled, Disabled, Enabling, Disabling) of the Azure Front Door CDN for a webapp. For optimal experience and availability please check our documentation https://aka.ms/swaedge", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "environment", + description: "Manage environment of the static app", + subcommands: [ + { + name: "delete", + description: + "Delete the static app production environment or the specified environment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--environment-name", + description: "Name of the environment of static site", + args: { name: "environment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "functions", + description: "Show information about functions", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--environment-name", + description: "Name of the environment of static site", + args: { name: "environment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List all environment of the static app including production", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show information about the production environment or the specified environment", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--environment-name", + description: "Name of the environment of static site", + args: { name: "environment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "functions", + description: + 'Link or unlink a prexisting functionapp with a static webapp. Also known as "Bring your own Functions."', + subcommands: [ + { + name: "link", + description: + 'Link an Azure Function to a static webapp. Also known as "Bring your own Functions." Only one Azure Functions app is available to a single static web app. Static webapp SKU must be "Standard"', + options: [ + { + name: "--function-resource-id", + description: + "Resource ID of the functionapp to link. Can be retrieved with 'az functionapp --query id'", + args: { name: "function-resource-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--environment-name", + description: "Name of the environment of static site", + args: { name: "environment-name" }, + }, + { + name: "--force", + description: + "Force the function link even if the function is already linked to a static webapp. May be needed if the function was previously linked to a static webapp", + }, + ], + }, + { + name: "show", + description: + "Show details on the Azure Function linked to a static webapp", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "unlink", + description: "Unlink an Azure Function from a static webapp", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "hostname", + description: "Manage custom hostnames of Functions of the static app", + subcommands: [ + { + name: "delete", + description: "Delete given hostname of the static app", + options: [ + { + name: "--hostname", + description: + "Custom hostname such as www.example.com. Only support sub domain in preview", + args: { name: "hostname" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List custom hostnames of the static app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "set", + description: + "Set given sub-domain hostname to the static app. Please configure CNAME/TXT/ALIAS record with your DNS provider. Use --no-wait to not wait for validation", + options: [ + { + name: "--hostname", + description: + "Custom hostname such as www.example.com. Only support sub domain in preview", + args: { name: "hostname" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--validation-method", "-m"], + description: "Validation method for the custom domain", + args: { + name: "validation-method", + suggestions: ["cname-delegation", "dns-txt-token"], + }, + }, + ], + }, + { + name: "show", + description: + "Get details for a staticwebapp custom domain. Can be used to fetch validation token for TXT domain validation (see example)", + options: [ + { + name: "--hostname", + description: + "Custom hostname such as www.example.com. Only support sub domain in preview", + args: { name: "hostname" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage a static web app's managed identity", + subcommands: [ + { + name: "assign", + description: "Assign managed identity to the static web app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--identities", + description: + "Space-separated identities to assign. Use '[system]' to refer to the system assigned identity. Default: '[system]'", + args: { name: "identities" }, + }, + { + name: "--role", + description: + "Role name or id the managed identity will be assigned", + args: { name: "role" }, + }, + { + name: "--scope", + description: "The scope the managed identity has access to", + args: { name: "scope" }, + }, + ], + }, + { + name: "remove", + description: "Disable static web app's managed identity", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--identities", + description: + "Space-separated identities to assign. Use '[system]' to refer to the system assigned identity. Default: '[system]'", + args: { name: "identities" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Display static web app's managed identity", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "secrets", + description: "Manage deployment token for the static app", + subcommands: [ + { + name: "list", + description: "List the deployment token for the static app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "reset-api-key", + description: "Reset the deployment token for the static app", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "users", + description: "Manage users of the static app", + subcommands: [ + { + name: "invite", + description: + "Create invitation link for specified user to the static app", + options: [ + { + name: "--authentication-provider", + description: + "Authentication provider of the user identity such as AAD, Facebook, GitHub, Google, Twitter", + args: { name: "authentication-provider" }, + isRequired: true, + }, + { + name: "--domain", + description: "A domain added to the static app in quotes", + args: { name: "domain" }, + isRequired: true, + }, + { + name: "--invitation-expiration-in-hours", + description: + "This value sets when the link will expire in hours. The maximum is 168 (7 days)", + args: { name: "invitation-expiration-in-hours" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--roles", + description: + "Comma-separated default or user-defined role names. Roles that can be assigned to a user are comma separated and case-insensitive (at most 50 roles up to 25 characters each and restricted to 0-9,A-Z,a-z, and _). Define roles in routes.json during root directory of your GitHub repo", + args: { name: "roles" }, + isRequired: true, + }, + { + name: "--user-details", + description: + "Email for AAD, Facebook, and Google. Account name (handle) for GitHub and Twitter", + args: { name: "user-details" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "Lists users and assigned roles, limited to users who accepted their invites", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--authentication-provider", + description: + "Authentication provider of the user identity such as AAD, Facebook, GitHub, Google, Twitter", + args: { name: "authentication-provider" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Updates a user entry with the listed roles. Either user details or user id is required", + options: [ + { + name: ["--name", "-n"], + description: "Name of the static site", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--roles", + description: + "Comma-separated default or user-defined role names. Roles that can be assigned to a user are comma separated and case-insensitive (at most 50 roles up to 25 characters each and restricted to 0-9,A-Z,a-z, and _). Define roles in routes.json during root directory of your GitHub repo", + args: { name: "roles" }, + isRequired: true, + }, + { + name: "--authentication-provider", + description: + "Authentication provider of the user identity such as AAD, Facebook, GitHub, Google, Twitter", + args: { name: "authentication-provider" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--user-details", + description: + "Email for AAD, Facebook, and Google. Account name (handle) for GitHub and Twitter", + args: { name: "user-details" }, + }, + { + name: "--user-id", + description: "Given id of registered user", + args: { name: "user-id" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/storage-mover.ts b/src/az/2.53.0/storage-mover.ts new file mode 100644 index 000000000000..2542b555a6c0 --- /dev/null +++ b/src/az/2.53.0/storage-mover.ts @@ -0,0 +1,1934 @@ +const completion: Fig.Spec = { + name: "storage-mover", + description: "Manage top-level Storage Mover resource", + subcommands: [ + { + name: "agent", + description: + "Manage Agent resource, which references a hybrid compute machine that can run jobs", + subcommands: [ + { + name: "list", + description: "Lists all Agents in a Storage Mover", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Gets an Agent resource", + options: [ + { + name: ["--agent-name", "--name", "-n"], + description: "The name of the Agent resource", + args: { name: "agent-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "unregister", + description: "Unregisters an Agent resource", + options: [ + { + name: ["--agent-name", "--name", "-n"], + description: "The name of the Agent resource", + args: { name: "agent-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "update", + description: + "Update an Agent resource, which references a hybrid compute machine that can run jobs", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--agent-name", "--name", "-n"], + description: "The name of the Agent resource", + args: { name: "agent-name" }, + }, + { + name: "--description", + description: "A description for the Agent", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--agent-name", "--name", "-n"], + description: "The name of the Agent resource", + args: { name: "agent-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "create", + description: "Creates a top-level Storage Mover resource", + options: [ + { + name: ["--storage-mover-name", "--name", "-n"], + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "A description for the Storage Mover", + args: { name: "description" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Storage Mover resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--storage-mover-name", "--name", "-n"], + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all Storage Movers in a subscription", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Gets a Storage Mover resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--storage-mover-name", "--name", "-n"], + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a top-level Storage Mover resource", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "A description for the Storage Mover", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--storage-mover-name", "--name", "-n"], + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--storage-mover-name", "--name", "-n"], + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "endpoint", + description: + "Manage Endpoint resource, which represents a data transfer source or destination", + subcommands: [ + { + name: "create-for-nfs", + description: "Creates an Endpoint resource for nfs", + options: [ + { + name: ["--endpoint-name", "--name", "-n"], + description: "The name of the endpoint resource", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--export", + description: "The directory being exported from the server", + args: { name: "export" }, + isRequired: true, + }, + { + name: "--host", + description: + "The host name or IP address of the server exporting the file system", + args: { name: "host" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--description", + description: "A description for the Endpoint", + args: { name: "description" }, + }, + { + name: "--nfs-version", + description: "The NFS protocol version", + args: { + name: "nfs-version", + suggestions: ["NFSauto", "NFSv3", "NFSv4"], + }, + }, + ], + }, + { + name: "create-for-smb", + description: "Creates an Endpoint resource for smb mount", + options: [ + { + name: ["--endpoint-name", "--name", "-n"], + description: "The name of the endpoint resource", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--host", + description: + "The host name or IP address of the server exporting the file system", + args: { name: "host" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--share-name", + description: + "The name of the SMB share being exported from the server", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--description", + description: "A description for the Endpoint", + args: { name: "description" }, + }, + { + name: "--password-uri", + description: + "The Azure Key Vault secret URI which stores the password. Use empty string to clean-up existing value", + args: { name: "password-uri" }, + }, + { + name: "--username-uri", + description: + "The Azure Key Vault secret URI which stores the username. Use empty string to clean-up existing value", + args: { name: "username-uri" }, + }, + ], + }, + { + name: "create-for-storage-container", + description: + "Creates an Endpoint resource for storage blob container", + options: [ + { + name: "--container-name", + description: + "The name of the Storage blob container that is the target destination", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--endpoint-name", "--name", "-n"], + description: "The name of the endpoint resource", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-account-id", + description: + "The Azure Resource ID of the storage account that is the target destination", + args: { name: "storage-account-id" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--description", + description: "A description for the Endpoint", + args: { name: "description" }, + }, + ], + }, + { + name: "create-for-storage-smb-file-share", + description: + "Creates an Endpoint resource for storage smb file share", + options: [ + { + name: ["--endpoint-name", "--name", "-n"], + description: "The name of the endpoint resource", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: "--file-share-name", + description: "The name of the Azure Storage file share", + args: { name: "file-share-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-account-id", + description: + "The Azure Resource ID of the storage account that is the target destination", + args: { name: "storage-account-id" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--description", + description: "A description for the Endpoint", + args: { name: "description" }, + }, + ], + }, + { + name: "delete", + description: "Deletes an Endpoint resource", + options: [ + { + name: ["--endpoint-name", "--name", "-n"], + description: "The name of the Endpoint resource", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all Endpoints in a Storage Mover", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Gets an Endpoint resource", + options: [ + { + name: ["--endpoint-name", "--name", "-n"], + description: "The name of the Endpoint resource", + args: { name: "endpoint-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update-for-nfs", + description: "Updates an Endpoint resource for nfs", + options: [ + { + name: ["--endpoint-name", "--name", "-n"], + description: "The name of the endpoint resource", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--description", + description: "A description for the Endpoint", + args: { name: "description" }, + }, + ], + }, + { + name: "update-for-smb", + description: "Updates an Endpoint resource for smb mount", + options: [ + { + name: ["--endpoint-name", "--name", "-n"], + description: "The name of the endpoint resource", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--description", + description: "A description for the Endpoint", + args: { name: "description" }, + }, + { + name: "--password-uri", + description: + "The Azure Key Vault secret URI which stores the password. Use empty string to clean-up existing value", + args: { name: "password-uri" }, + }, + { + name: "--username-uri", + description: + "The Azure Key Vault secret URI which stores the username. Use empty string to clean-up existing value", + args: { name: "username-uri" }, + }, + ], + }, + { + name: "update-for-storage-container", + description: + "Updates an Endpoint resource for storage blob container", + options: [ + { + name: ["--endpoint-name", "--name", "-n"], + description: "The name of the endpoint resource", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--description", + description: "A description for the Endpoint", + args: { name: "description" }, + }, + ], + }, + { + name: "update-for-storage-smb-file-share", + description: + "Updates an Endpoint resource for storage smb file share", + options: [ + { + name: ["--endpoint-name", "--name", "-n"], + description: "The name of the endpoint resource", + args: { name: "endpoint-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--description", + description: "A description for the Endpoint", + args: { name: "description" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--endpoint-name", "--name", "-n"], + description: "The name of the Endpoint resource", + args: { name: "endpoint-name" }, + }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "job-definition", + description: + "Manage Job Definition resource, which contains configuration for a single unit of managed data transfer", + subcommands: [ + { + name: "create", + description: + "Creates a Job Definition resource, which contains configuration for a single unit of managed data transfer", + options: [ + { + name: "--copy-mode", + description: "Strategy to use for copy", + args: { name: "copy-mode", suggestions: ["Additive", "Mirror"] }, + isRequired: true, + }, + { + name: ["--job-definition-name", "--name", "-n"], + description: "The name of the Job Definition resource", + args: { name: "job-definition-name" }, + isRequired: true, + }, + { + name: "--project-name", + description: "The name of the Project resource", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--source-name", + description: "The name of the source Endpoint", + args: { name: "source-name" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--target-name", + description: "The name of the target Endpoint", + args: { name: "target-name" }, + isRequired: true, + }, + { + name: "--agent-name", + description: + "Name of the Agent to assign for new Job Runs of this Job Definition", + args: { name: "agent-name" }, + }, + { + name: "--description", + description: "A description for the Job Definition", + args: { name: "description" }, + }, + { + name: "--source-subpath", + description: + "The subpath to use when reading from the source Endpoint", + args: { name: "source-subpath" }, + }, + { + name: "--target-subpath", + description: + "The subpath to use when writing to the target Endpoint", + args: { name: "target-subpath" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Job Definition resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-definition-name", "--name", "-n"], + description: "The name of the Job Definition resource", + args: { name: "job-definition-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--project-name", + description: "The name of the Project resource", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all Job Definitions in a Project", + options: [ + { + name: "--project-name", + description: "The name of the Project resource", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Gets a Job Definition resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-definition-name", "--name", "-n"], + description: "The name of the Job Definition resource", + args: { name: "job-definition-name" }, + }, + { + name: "--project-name", + description: "The name of the Project resource", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start-job", + description: + "Requests an Agent to start a new instance of this Job Definition, generating a new Job Run resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--job-definition-name", + description: "The name of the Job Definition resource", + args: { name: "job-definition-name" }, + }, + { + name: "--project-name", + description: "The name of the Project resource", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop-job", + description: + "Requests the Agent of any active instance of this Job Definition to stop", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--job-definition-name", + description: "The name of the Job Definition resource", + args: { name: "job-definition-name" }, + }, + { + name: "--project-name", + description: "The name of the Project resource", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a Job Definition resource, which contains configuration for a single unit of managed data transfer", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--agent-name", + description: + "Name of the Agent to assign for new Job Runs of this Job Definition", + args: { name: "agent-name" }, + }, + { + name: "--copy-mode", + description: "Strategy to use for copy", + args: { name: "copy-mode", suggestions: ["Additive", "Mirror"] }, + }, + { + name: "--description", + description: "A description for the Job Definition", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--job-definition-name", "--name", "-n"], + description: "The name of the Job Definition resource", + args: { name: "job-definition-name" }, + }, + { + name: "--project-name", + description: "The name of the Project resource", + args: { name: "project-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--job-definition-name", "--name", "-n"], + description: "The name of the Job Definition resource", + args: { name: "job-definition-name" }, + }, + { + name: "--project-name", + description: "The name of the Project resource", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "job-run", + description: "Manage Job Run resource", + subcommands: [ + { + name: "list", + description: "Lists all Job Runs in a Job Definition", + options: [ + { + name: "--job-definition-name", + description: "The name of the Job Definition resource", + args: { name: "job-definition-name" }, + isRequired: true, + }, + { + name: "--project-name", + description: "The name of the Project resource", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Gets a Job Run resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--job-definition-name", + description: "The name of the Job Definition resource", + args: { name: "job-definition-name" }, + }, + { + name: ["--job-run-name", "--name", "-n"], + description: "The name of the Job Run resource", + args: { name: "job-run-name" }, + }, + { + name: "--project-name", + description: "The name of the Project resource", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "project", + description: + "Manage Project resource, which is a logical grouping of related jobs", + subcommands: [ + { + name: "create", + description: + "Creates a Project resource, which is a logical grouping of related jobs", + options: [ + { + name: ["--project-name", "--name", "-n"], + description: "The name of the Project resource", + args: { name: "project-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--description", + description: "A description for the Project", + args: { name: "description" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Project resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--project-name", "--name", "-n"], + description: "The name of the Project resource", + args: { name: "project-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all Projects in a Storage Mover", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Gets a Project resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--project-name", "--name", "-n"], + description: "The name of the Project resource", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a Project resource, which is a logical grouping of related jobs", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--description", + description: "A description for the Project", + args: { name: "description" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--project-name", "--name", "-n"], + description: "The name of the Project resource", + args: { name: "project-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--project-name", "--name", "-n"], + description: "The name of the Project resource", + args: { name: "project-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-mover-name", + description: "The name of the Storage Mover resource", + args: { name: "storage-mover-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/storage.ts b/src/az/2.53.0/storage.ts new file mode 100644 index 000000000000..bfd268921294 --- /dev/null +++ b/src/az/2.53.0/storage.ts @@ -0,0 +1,21379 @@ +const completion: Fig.Spec = { + name: "storage", + description: "Manage Azure Cloud Storage resources", + subcommands: [ + { + name: "account", + description: "Manage storage accounts", + subcommands: [ + { + name: "check-name", + description: + "Check that the storage account name is valid and is not already in use", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the storage account within the specified resource group", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create a storage account", + options: [ + { + name: ["--name", "-n"], + description: "The storage account name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--access-tier", + description: + 'Required for storage accounts where kind = BlobStorage. The access tier is used for billing. The "Premium" access tier is the default value for premium block blobs storage account type and it cannot be changed for the premium block blobs storage account type', + args: { + name: "access-tier", + suggestions: ["Cool", "Hot", "Premium"], + }, + }, + { + name: "--account-type", + description: + "Specify the Active Directory account type for Azure Storage", + args: { name: "account-type" }, + }, + { + name: "--action", + description: + "The action of virtual network rule. Possible value is Allow", + args: { name: "action" }, + }, + { + name: ["--allow-protected-append-writes", "--allow-append", "-w"], + description: + "This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted", + args: { + name: "allow-protected-append-writes", + suggestions: ["false", "true"], + }, + }, + { + name: "--allow-blob-public-access", + description: + "Allow or disallow public access to all blobs or containers in the storage account. If not specified, the default value is currently true and will be changed to false for new accounts to follow best security practices. When true, containers in the account may be configured for public access. Note that setting this property to true does not enable anonymous access to any data in the account. The additional step of configuring the public access setting for a container is required to enable anonymous access", + args: { + name: "allow-blob-public-access", + suggestions: ["false", "true"], + }, + }, + { + name: ["--allow-cross-tenant-replication", "-r"], + description: + "Allow or disallow cross AAD tenant object replication. Set this property to true for new or existing accounts only if object replication policies will involve storage accounts in different AAD tenants. If not specified, the default value is currently true and will be changed to false for new accounts to follow best security practices", + args: { + name: "allow-cross-tenant-replication", + suggestions: ["false", "true"], + }, + }, + { + name: ["--allow-shared-key-access", "-k"], + description: + "Indicate whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true", + args: { + name: "allow-shared-key-access", + suggestions: ["false", "true"], + }, + }, + { + name: "--assign-identity", + description: + "Generate and assign a new Storage Account Identity for this storage account for use with key management services like Azure KeyVault", + }, + { + name: "--azure-storage-sid", + description: + "Specify the security identifier (SID) for Azure Storage. Required when --enable-files-adds is set to True", + args: { name: "azure-storage-sid" }, + }, + { + name: "--bypass", + description: "Bypass traffic for space-separated uses", + args: { + name: "bypass", + suggestions: ["AzureServices", "Logging", "Metrics", "None"], + }, + }, + { + name: "--custom-domain", + description: + "User domain assigned to the storage account. Name is the CNAME source", + args: { name: "custom-domain" }, + }, + { + name: "--default-action", + description: "Default action to apply when no rule matches", + args: { name: "default-action", suggestions: ["Allow", "Deny"] }, + }, + { + name: ["--default-share-permission", "-d"], + description: + "Default share permission for users using Kerberos authentication if RBAC role is not assigned", + args: { + name: "default-share-permission", + suggestions: [ + "None", + "StorageFileDataSmbShareContributor", + "StorageFileDataSmbShareElevatedContributor", + "StorageFileDataSmbShareReader", + ], + }, + }, + { + name: ["--dns-endpoint-type", "--endpoint"], + description: + "Allow you to specify the type of endpoint. Set this to AzureDNSZone to create a large number of accounts in a single subscription, which creates accounts in an Azure DNS Zone and the endpoint URL will have an alphanumeric DNS Zone identifier", + args: { + name: "dns-endpoint-type", + suggestions: ["AzureDnsZone", "Standard"], + }, + }, + { + name: "--domain-guid", + description: + "Specify the domain GUID. Required when --enable-files-adds is set to True", + args: { name: "domain-guid" }, + }, + { + name: "--domain-name", + description: + "Specify the primary domain that the AD DNS server is authoritative for. Required when --enable-files-adds is set to True", + args: { name: "domain-name" }, + }, + { + name: "--domain-sid", + description: + "Specify the security identifier (SID). Required when --enable-files-adds is set to True", + args: { name: "domain-sid" }, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: "--enable-alw", + description: + "The account level immutability property. The property is immutable and can only be set to true at the account creation time. When set to true, it enables object level immutability for all the containers in the account by default", + args: { name: "enable-alw", suggestions: ["false", "true"] }, + }, + { + name: "--enable-files-aadds", + description: + "Enable Azure Active Directory Domain Services authentication for Azure Files", + args: { + name: "enable-files-aadds", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-files-aadkerb", + description: + "Enable Azure Files Active Directory Domain Service Kerberos Authentication for the storage account", + args: { + name: "enable-files-aadkerb", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-files-adds", + description: + "Enable Azure Files Active Directory Domain Service Authentication for storage account. When --enable-files-adds is set to true, Azure Active Directory Properties arguments must be provided", + args: { + name: "enable-files-adds", + suggestions: ["false", "true"], + }, + }, + { + name: ["--enable-hierarchical-namespace", "--hns"], + description: + "Allow the blob service to exhibit filesystem semantics. This property can be enabled only when storage account kind is StorageV2", + args: { + name: "enable-hierarchical-namespace", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-large-file-share", + description: + "Enable the capability to support large file shares with more than 5 TiB capacity for storage account.Once the property is enabled, the feature cannot be disabled. Currently only supported for LRS and ZRS replication types, hence account conversions to geo-redundant accounts would not be possible. For more information, please refer to https://go.microsoft.com/fwlink/?linkid=2086047", + args: { name: "enable-large-file-share" }, + }, + { + name: "--enable-local-user", + description: "Enable local user features", + args: { + name: "enable-local-user", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-nfs-v3", + description: "NFS 3.0 protocol support enabled if sets to true", + args: { name: "enable-nfs-v3", suggestions: ["false", "true"] }, + }, + { + name: "--enable-sftp", + description: "Enable Secure File Transfer Protocol", + args: { name: "enable-sftp", suggestions: ["false", "true"] }, + }, + { + name: "--encryption-key-name", + description: "The name of the KeyVault key", + args: { name: "encryption-key-name" }, + }, + { + name: "--encryption-key-source", + description: "The default encryption key source", + args: { + name: "encryption-key-source", + suggestions: ["Microsoft.Keyvault", "Microsoft.Storage"], + }, + }, + { + name: ["--encryption-key-type-for-queue", "-q"], + description: + 'Set the encryption key type for Queue service. "Account": Queue will be encrypted with account-scoped encryption key. "Service": Queue will always be encrypted with service-scoped keys. Currently the default encryption key type is "Service"', + args: { + name: "encryption-key-type-for-queue", + suggestions: ["Account", "Service"], + }, + }, + { + name: ["--encryption-key-type-for-table", "-t"], + description: + 'Set the encryption key type for Table service. "Account": Table will be encrypted with account-scoped encryption key. "Service": Table will always be encrypted with service-scoped keys. Currently the default encryption key type is "Service"', + args: { + name: "encryption-key-type-for-table", + suggestions: ["Account", "Service"], + }, + }, + { + name: "--encryption-key-vault", + description: "The Uri of the KeyVault", + args: { name: "encryption-key-vault" }, + }, + { + name: "--encryption-key-version", + description: + 'The version of the KeyVault key to use, which will opt out of implicit key rotation. Please use "" to opt in key auto-rotation again', + args: { name: "encryption-key-version" }, + }, + { + name: "--encryption-services", + description: "Specifies which service(s) to encrypt", + args: { + name: "encryption-services", + suggestions: ["blob", "file", "queue", "table"], + }, + }, + { + name: "--forest-name", + description: + "Specify the Active Directory forest to get. Required when --enable-files-adds is set to True", + args: { name: "forest-name" }, + }, + { + name: "--https-only", + description: + "Allow https traffic only to storage service if set to true. The default value is true", + args: { name: "https-only", suggestions: ["false", "true"] }, + }, + { + name: "--identity-type", + description: "The identity type", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: ["--immutability-period-in-days", "--immutability-period"], + description: + "The immutability period for the blobs in the container since the policy creation, in days", + args: { name: "immutability-period-in-days" }, + }, + { + name: "--immutability-state", + description: + "Defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allow-protected-append-write property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted", + args: { + name: "immutability-state", + suggestions: ["Disabled", "Locked", "Unlocked"], + }, + }, + { + name: ["--key-expiration-period-in-days", "--key-exp-days"], + description: + "Expiration period in days of the Key Policy assigned to the storage account", + args: { name: "key-expiration-period-in-days" }, + }, + { + name: ["--key-vault-federated-client-id", "-f"], + description: + "ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account", + args: { name: "key-vault-federated-client-id" }, + }, + { + name: ["--key-vault-user-identity-id", "-u"], + description: + "Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account", + args: { name: "key-vault-user-identity-id" }, + }, + { + name: "--kind", + description: "Indicate the type of storage account", + args: { + name: "kind", + suggestions: [ + "BlobStorage", + "BlockBlobStorage", + "FileStorage", + "Storage", + "StorageV2", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--min-tls-version", + description: + "The minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property", + args: { + name: "min-tls-version", + suggestions: ["TLS1_0", "TLS1_1", "TLS1_2"], + }, + }, + { + name: "--net-bios-domain-name", + description: + "Specify the NetBIOS domain name. Required when --enable-files-adds is set to True", + args: { name: "net-bios-domain-name" }, + }, + { + name: "--public-network-access", + description: + "Enable or disable public network access to the storage account. Possible values include: Enabled or Disabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--publish-internet-endpoints", + description: + "A boolean flag which indicates whether internet routing storage endpoints are to be published", + args: { + name: "publish-internet-endpoints", + suggestions: ["false", "true"], + }, + }, + { + name: "--publish-microsoft-endpoints", + description: + "A boolean flag which indicates whether microsoft routing storage endpoints are to be published", + args: { + name: "publish-microsoft-endpoints", + suggestions: ["false", "true"], + }, + }, + { + name: ["--require-infrastructure-encryption", "-i"], + description: + "A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest", + args: { + name: "require-infrastructure-encryption", + suggestions: ["false", "true"], + }, + }, + { + name: "--routing-choice", + description: + "Routing Choice defines the kind of network routing opted by the user", + args: { + name: "routing-choice", + suggestions: ["InternetRouting", "MicrosoftRouting"], + }, + }, + { + name: "--sam-account-name", + description: + "Specify the Active Directory SAMAccountName for Azure Storage", + args: { name: "sam-account-name" }, + }, + { + name: ["--sas-expiration-period", "--sas-exp"], + description: + "Expiration period of the SAS Policy assigned to the storage account, DD.HH:MM:SS", + args: { name: "sas-expiration-period" }, + }, + { + name: "--sku", + description: "The storage account SKU", + args: { + name: "sku", + suggestions: [ + "Premium_LRS", + "Premium_ZRS", + "Standard_GRS", + "Standard_GZRS", + "Standard_LRS", + "Standard_RAGRS", + "Standard_RAGZRS", + "Standard_ZRS", + ], + }, + }, + { + name: "--subnet", + description: + "Name or ID of subnet. If name is supplied, --vnet-name must be supplied", + args: { name: "subnet" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--user-identity-id", + description: + "The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here", + args: { name: "user-identity-id" }, + }, + { + name: "--vnet-name", + description: "Name of a virtual network", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a storage account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The storage account name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "failover", + description: + "Failover request can be triggered for a storage account in case of availability issues", + options: [ + { + name: ["--failover-type", "--type"], + description: + "The parameter is set to 'Planned' to indicate whether a Planned failover is requested", + args: { name: "failover-type" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The storage account name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "generate-sas", + description: + "Generate a shared access signature for the storage account", + options: [ + { + name: "--expiry", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes invalid", + args: { name: "expiry" }, + isRequired: true, + }, + { + name: "--permissions", + description: + "The permissions the SAS grants. Allowed values: (a)dd (c)reate (d)elete (f)ilter_by_tags (i)set_immutability_policy (l)ist (p)rocess (r)ead (t)ag (u)pdate (w)rite (x)delete_previous_version (y)permanent_delete. Can be combined", + args: { name: "permissions" }, + isRequired: true, + }, + { + name: "--resource-types", + description: + "The resource types the SAS is applicable for. Allowed values: (s)ervice (c)ontainer (o)bject. Can be combined", + args: { name: "resource-types" }, + isRequired: true, + }, + { + name: "--services", + description: + "The storage services the SAS is applicable for. Allowed values: (b)lob (f)ile (q)ueue (t)able. Can be combined", + args: { name: "services" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Must be used in conjunction with either storage account key or a SAS token. Environment Variable: AZURE_STORAGE_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--encryption-scope", + description: + "A predefined encryption scope used to encrypt the data on the service", + args: { name: "encryption-scope" }, + }, + { + name: "--https-only", + description: + "Only permit requests made with the HTTPS protocol. If omitted, requests from both the HTTP and HTTPS protocol are permitted", + args: { name: "https-only" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip", + description: + "Specifies the IP address or range of IP addresses from which to accept requests. Supports only IPv4 style addresses", + args: { name: "ip" }, + }, + { + name: "--start", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes valid. Defaults to the time of the request", + args: { name: "start" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List storage accounts", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "revoke-delegation-keys", + description: "Revoke all user delegation keys for a storage account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The storage account name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show storage account properties", + options: [ + { + name: "--expand", + description: + 'May be used to expand the properties within account\'s properties. By default, data is not included when fetching properties. Currently we only support geoReplicationStats and blobRestoreStatus. Known values are: "geoReplicationStats" and "blobRestoreStatus". Default value is None', + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The storage account name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-connection-string", + description: "Get the connection string for a storage account", + options: [ + { + name: "--blob-endpoint", + description: "Custom endpoint for blobs", + args: { name: "blob-endpoint" }, + }, + { + name: "--file-endpoint", + description: "Custom endpoint for files", + args: { name: "file-endpoint" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key", + description: "The key to use", + args: { + name: "key", + suggestions: ["key1", "key2", "primary", "secondary"], + }, + }, + { + name: ["--name", "-n"], + description: "The storage account name", + args: { name: "name" }, + }, + { + name: "--protocol", + description: "The default endpoint protocol", + args: { name: "protocol", suggestions: ["http", "https"] }, + }, + { + name: "--queue-endpoint", + description: "Custom endpoint for queues", + args: { name: "queue-endpoint" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sas-token", + description: "The SAS token to be used in the connection-string", + args: { name: "sas-token" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--table-endpoint", + description: "Custom endpoint for tables", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "show-usage", + description: + "Show the current count and limit of the storage accounts under the subscription", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update the properties of a storage account", + options: [ + { + name: "--access-tier", + description: + 'Required for storage accounts where kind = BlobStorage. The access tier is used for billing. The "Premium" access tier is the default value for premium block blobs storage account type and it cannot be changed for the premium block blobs storage account type', + args: { + name: "access-tier", + suggestions: ["Cool", "Hot", "Premium"], + }, + }, + { + name: "--account-type", + description: + "Specify the Active Directory account type for Azure Storage", + args: { name: "account-type" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--allow-protected-append-writes", "--allow-append", "-w"], + description: + "This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted", + args: { + name: "allow-protected-append-writes", + suggestions: ["false", "true"], + }, + }, + { + name: "--allow-blob-public-access", + description: + "Allow or disallow public access to all blobs or containers in the storage account. If not specified, the default value is currently true and will be changed to false for new account to follow best security practices. When true, containers in the account may be configured for public access. Note that setting this property to true does not enable anonymous access to any data in the account. The additional step of configuring the public access setting for a container is required to enable anonymous access", + args: { + name: "allow-blob-public-access", + suggestions: ["false", "true"], + }, + }, + { + name: ["--allow-cross-tenant-replication", "-r"], + description: + "Allow or disallow cross AAD tenant object replication. Set this property to true for new or existing accounts only if object replication policies will involve storage accounts in different AAD tenants. If not specified, the default value is currently true and will be changed to false for new accounts to follow best security practices", + args: { + name: "allow-cross-tenant-replication", + suggestions: ["false", "true"], + }, + }, + { + name: ["--allow-shared-key-access", "-k"], + description: + "Indicate whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true", + args: { + name: "allow-shared-key-access", + suggestions: ["false", "true"], + }, + }, + { + name: "--assign-identity", + description: + "Generate and assign a new Storage Account Identity for this storage account for use with key management services like Azure KeyVault", + }, + { + name: "--azure-storage-sid", + description: + "Specify the security identifier (SID) for Azure Storage. Required when --enable-files-adds is set to True", + args: { name: "azure-storage-sid" }, + }, + { + name: "--bypass", + description: "Bypass traffic for space-separated uses", + args: { + name: "bypass", + suggestions: ["AzureServices", "Logging", "Metrics", "None"], + }, + }, + { + name: "--custom-domain", + description: + 'User domain assigned to the storage account. Name is the CNAME source. Use "" to clear existing value', + args: { name: "custom-domain" }, + }, + { + name: "--default-action", + description: "Default action to apply when no rule matches", + args: { name: "default-action", suggestions: ["Allow", "Deny"] }, + }, + { + name: ["--default-share-permission", "-d"], + description: + "Default share permission for users using Kerberos authentication if RBAC role is not assigned", + args: { + name: "default-share-permission", + suggestions: [ + "None", + "StorageFileDataSmbShareContributor", + "StorageFileDataSmbShareElevatedContributor", + "StorageFileDataSmbShareReader", + ], + }, + }, + { + name: "--domain-guid", + description: + "Specify the domain GUID. Required when --enable-files-adds is set to True", + args: { name: "domain-guid" }, + }, + { + name: "--domain-name", + description: + "Specify the primary domain that the AD DNS server is authoritative for. Required when --enable-files-adds is set to True", + args: { name: "domain-name" }, + }, + { + name: "--domain-sid", + description: + "Specify the security identifier (SID). Required when --enable-files-adds is set to True", + args: { name: "domain-sid" }, + }, + { + name: "--enable-files-aadds", + description: + "Enable Azure Active Directory Domain Services authentication for Azure Files", + args: { + name: "enable-files-aadds", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-files-aadkerb", + description: + "Enable Azure Files Active Directory Domain Service Kerberos Authentication for the storage account", + args: { + name: "enable-files-aadkerb", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-files-adds", + description: + "Enable Azure Files Active Directory Domain Service Authentication for storage account. When --enable-files-adds is set to true, Azure Active Directory Properties arguments must be provided", + args: { + name: "enable-files-adds", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-large-file-share", + description: + "Enable the capability to support large file shares with more than 5 TiB capacity for storage account.Once the property is enabled, the feature cannot be disabled. Currently only supported for LRS and ZRS replication types, hence account conversions to geo-redundant accounts would not be possible. For more information, please refer to https://go.microsoft.com/fwlink/?linkid=2086047", + args: { name: "enable-large-file-share" }, + }, + { + name: "--enable-local-user", + description: "Enable local user features", + args: { + name: "enable-local-user", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-sftp", + description: "Enable Secure File Transfer Protocol", + args: { name: "enable-sftp", suggestions: ["false", "true"] }, + }, + { + name: "--encryption-key-name", + description: "The name of the KeyVault key", + args: { name: "encryption-key-name" }, + }, + { + name: "--encryption-key-source", + description: "The default encryption key source", + args: { + name: "encryption-key-source", + suggestions: ["Microsoft.Keyvault", "Microsoft.Storage"], + }, + }, + { + name: "--encryption-key-vault", + description: "The Uri of the KeyVault", + args: { name: "encryption-key-vault" }, + }, + { + name: "--encryption-key-version", + description: + 'The version of the KeyVault key to use, which will opt out of implicit key rotation. Please use "" to opt in key auto-rotation again', + args: { name: "encryption-key-version" }, + }, + { + name: "--encryption-services", + description: "Specifies which service(s) to encrypt", + args: { + name: "encryption-services", + suggestions: ["blob", "file", "queue", "table"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--forest-name", + description: + "Specify the Active Directory forest to get. Required when --enable-files-adds is set to True", + args: { name: "forest-name" }, + }, + { + name: "--https-only", + description: "Allows https traffic only to storage service", + args: { name: "https-only", suggestions: ["false", "true"] }, + }, + { + name: "--identity-type", + description: "The identity type", + args: { + name: "identity-type", + suggestions: [ + "None", + "SystemAssigned", + "SystemAssigned", + "UserAssigned", + "UserAssigned", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--immutability-period-in-days", "--immutability-period"], + description: + "The immutability period for the blobs in the container since the policy creation, in days", + args: { name: "immutability-period-in-days" }, + }, + { + name: "--immutability-state", + description: + "Defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allow-protected-append-write property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted", + args: { + name: "immutability-state", + suggestions: ["Disabled", "Locked", "Unlocked"], + }, + }, + { + name: ["--key-expiration-period-in-days", "--key-exp-days"], + description: + "Expiration period in days of the Key Policy assigned to the storage account", + args: { name: "key-expiration-period-in-days" }, + }, + { + name: ["--key-vault-federated-client-id", "-f"], + description: + "ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account", + args: { name: "key-vault-federated-client-id" }, + }, + { + name: ["--key-vault-user-identity-id", "-u"], + description: + "Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account", + args: { name: "key-vault-user-identity-id" }, + }, + { + name: "--min-tls-version", + description: + "The minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property", + args: { + name: "min-tls-version", + suggestions: ["TLS1_0", "TLS1_1", "TLS1_2"], + }, + }, + { + name: ["--name", "-n"], + description: "The storage account name", + args: { name: "name" }, + }, + { + name: "--net-bios-domain-name", + description: + "Specify the NetBIOS domain name. Required when --enable-files-adds is set to True", + args: { name: "net-bios-domain-name" }, + }, + { + name: "--public-network-access", + description: + "Enable or disable public network access to the storage account. Possible values include: Enabled or Disabled", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--publish-internet-endpoints", + description: + "A boolean flag which indicates whether internet routing storage endpoints are to be published", + args: { + name: "publish-internet-endpoints", + suggestions: ["false", "true"], + }, + }, + { + name: "--publish-microsoft-endpoints", + description: + "A boolean flag which indicates whether microsoft routing storage endpoints are to be published", + args: { + name: "publish-microsoft-endpoints", + suggestions: ["false", "true"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--routing-choice", + description: + "Routing Choice defines the kind of network routing opted by the user", + args: { + name: "routing-choice", + suggestions: ["InternetRouting", "MicrosoftRouting"], + }, + }, + { + name: "--sam-account-name", + description: + "Specify the Active Directory SAMAccountName for Azure Storage", + args: { name: "sam-account-name" }, + }, + { + name: ["--sas-expiration-period", "--sas-exp"], + description: + "Expiration period of the SAS Policy assigned to the storage account, DD.HH:MM:SS", + args: { name: "sas-expiration-period" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: + "Note that the SKU name cannot be updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those SKU names be updated to any other value", + args: { + name: "sku", + suggestions: [ + "Premium_LRS", + "Premium_ZRS", + "Standard_GRS", + "Standard_GZRS", + "Standard_LRS", + "Standard_RAGRS", + "Standard_RAGZRS", + "Standard_ZRS", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--use-subdomain", + description: "Specify whether to use indirect CNAME validation", + args: { name: "use-subdomain", suggestions: ["false", "true"] }, + }, + { + name: "--user-identity-id", + description: + "The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here", + args: { name: "user-identity-id" }, + }, + ], + }, + { + name: "blob-inventory-policy", + description: "Manage storage account Blob Inventory Policy", + subcommands: [ + { + name: "create", + description: "Create Blob Inventory Policy for storage account", + options: [ + { + name: "--account-name", + description: + "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--policy", + description: + "The Storage Account Blob Inventory Policy, string in JSON format or json file path. See more details in https://docs.microsoft.com/azure/storage/blobs/blob-inventory#inventory-policy", + args: { name: "policy" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Delete Blob Inventory Policy associated with the specified storage account", + options: [ + { + name: "--account-name", + description: + "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Show Blob Inventory Policy properties associated with the specified storage account", + options: [ + { + name: "--account-name", + description: + "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update Blob Inventory Policy associated with the specified storage account", + options: [ + { + name: "--account-name", + description: + "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + { + name: "blob-service-properties", + description: + "Manage the properties of a storage account's blob service", + subcommands: [ + { + name: "show", + description: + "Show the properties of a storage account's blob service", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update the properties of a storage account's blob service", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--change-feed-retention-days", "--change-feed-days"], + description: + "Indicate the duration of changeFeed retention in days. Minimum value is 1 day and maximum value is 146000 days (400 years). A null value indicates an infinite retention of the change feed.(Use --enable-change-feed without --change-feed-days to indicate null)", + args: { name: "change-feed-retention-days" }, + }, + { + name: [ + "--container-delete-retention-days", + "--container-days", + ], + description: + "Indicate the number of days that the deleted container should be retained. The minimum specified value can be 1 and the maximum value can be 365", + args: { name: "container-delete-retention-days" }, + }, + { + name: [ + "--enable-container-delete-retention", + "--container-retention", + ], + description: + "Enable container delete retention policy for container soft delete when set to true. Disable container delete retention policy when set to false", + args: { + name: "enable-container-delete-retention", + suggestions: ["false", "true"], + }, + }, + { + name: ["--default-service-version", "-d"], + description: + "Indicate the default version to use for requests to the Blob service if an incoming request's version is not specified", + args: { name: "default-service-version" }, + }, + { + name: "--delete-retention-days", + description: + "Indicate the number of days that the deleted blob should be retained. The value must be in range [1,365]. It must be provided when --enable-delete-retention is true", + args: { name: "delete-retention-days" }, + }, + { + name: "--enable-change-feed", + description: + "Indicate whether change feed event logging is enabled. If it is true, you enable the storage account to begin capturing changes. The default value is true. You can see more details in https://docs.microsoft.com/azure/storage/blobs/storage-blob-change-feed?tabs=azure-portal#register-by-using-azure-cli", + args: { + name: "enable-change-feed", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-delete-retention", + description: + "Indicate whether delete retention policy is enabled for the blob service", + args: { + name: "enable-delete-retention", + suggestions: ["false", "true"], + }, + }, + { + name: ["--enable-last-access-tracking", "-t"], + description: + "When set to true last access time based tracking policy is enabled", + args: { + name: "enable-last-access-tracking", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-restore-policy", + description: "Enable blob restore policy when it set to true", + args: { + name: "enable-restore-policy", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-versioning", + description: "Versioning is enabled if set to true", + args: { + name: "enable-versioning", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--restore-days", + description: + "The number of days for the blob can be restored. It should be greater than zero and less than Delete Retention Days", + args: { name: "restore-days" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "cors-rule", + description: + "Manage the Cross-Origin Resource Sharing (CORS) rules of a storage account's blob service properties", + subcommands: [ + { + name: "add", + description: "Add a CORS rule for a storage account", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--allowed-methods", "--methods"], + description: + "Space-separated list of HTTP verbs (methods) allowed to be executed by the origin", + args: { name: "allowed-methods" }, + isRequired: true, + }, + { + name: ["--allowed-origins", "--origins"], + description: + 'Space-separated list of origin domains that will be allowed via CORS, or "*" to allow all domains', + args: { name: "allowed-origins" }, + isRequired: true, + }, + { + name: ["--max-age-in-seconds", "--max-age"], + description: + "The number of seconds that the client/browser should cache a preflight response", + args: { name: "max-age-in-seconds" }, + isRequired: true, + }, + { + name: "--allowed-headers", + description: + "Space-separated list of headers allowed to be part of the cross-origin request", + args: { name: "allowed-headers" }, + }, + { + name: "--exposed-headers", + description: + "Space-separated list of response headers to expose to CORS clients", + args: { name: "exposed-headers" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "clear", + description: "Clear all CORS rules for a storage account", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List all CORS rules of a storage account's blob service properties", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "encryption-scope", + description: "Manage encryption scope for a storage account", + subcommands: [ + { + name: "create", + description: "Create an encryption scope within storage account", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the encryption scope within the specified storage account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--key-source", "-s"], + description: "The provider for the encryption scope", + args: { + name: "key-source", + suggestions: ["Microsoft.KeyVault", "Microsoft.Storage"], + }, + }, + { + name: ["--key-uri", "-u"], + description: + "The object identifier for a key vault key object. When applied, the encryption scope will use the key referenced by the identifier to enable customer-managed key support on this encryption scope", + args: { name: "key-uri" }, + }, + { + name: ["--require-infrastructure-encryption", "-i"], + description: + "A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest", + args: { + name: "require-infrastructure-encryption", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List encryption scopes within storage account", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--filter", + description: + "When specified, only encryption scope names starting with the filter will be listed", + args: { name: "filter" }, + }, + { + name: "--include", + description: + "When specified, will list encryption scopes with the specific state", + args: { + name: "include", + suggestions: ["All", "Disabled", "Enabled"], + }, + }, + { + name: "--marker", + description: + "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--maxpagesize", + description: + "The maximum number of encryption scopes that will be included in the list response", + args: { name: "maxpagesize" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show properties for specified encryption scope within storage account", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the encryption scope within the specified storage account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update properties for specified encryption scope within storage account", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "The name of the encryption scope within the specified storage account", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--key-source", "-s"], + description: "The provider for the encryption scope", + args: { + name: "key-source", + suggestions: ["Microsoft.KeyVault", "Microsoft.Storage"], + }, + }, + { + name: ["--key-uri", "-u"], + description: + "The object identifier for a key vault key object. When applied, the encryption scope will use the key referenced by the identifier to enable customer-managed key support on this encryption scope", + args: { name: "key-uri" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--state", + description: + "Change the state the encryption scope. When disabled, all blob read/write operations using this encryption scope will fail", + args: { name: "state", suggestions: ["Disabled", "Enabled"] }, + }, + ], + }, + ], + }, + { + name: "file-service-properties", + description: + "Manage the properties of file service in storage account", + subcommands: [ + { + name: "show", + description: + "Show the properties of file service in storage account", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update the properties of file service in storage account", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--auth-methods", + description: + "SMB authentication methods supported by server. Valid values are NTLMv2, Kerberos. Should be passed as a string with delimiter ';'", + args: { name: "auth-methods" }, + }, + { + name: "--channel-encryption", + description: + "SMB channel encryption supported by server. Valid values are AES-128-CCM, AES-128-GCM, AES-256-GCM. Should be passed as a string with delimiter ';'", + args: { name: "channel-encryption" }, + }, + { + name: "--delete-retention-days", + description: + "Indicate the number of days that the deleted item should be retained. The minimum specified value can be 1 and the maximum value can be 365", + args: { name: "delete-retention-days" }, + }, + { + name: "--enable-delete-retention", + description: + "Enable file service properties for share soft delete", + args: { + name: "enable-delete-retention", + suggestions: ["false", "true"], + }, + }, + { + name: ["--enable-smb-multichannel", "--mc"], + description: + "Set SMB Multichannel setting for file service. Applies to Premium FileStorage only", + args: { + name: "enable-smb-multichannel", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--kerb-ticket-encryption", "-k"], + description: + "Kerberos ticket encryption supported by server. Valid values are RC4-HMAC, AES-256. Should be passed as a string with delimiter ';'", + args: { name: "kerb-ticket-encryption" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--versions", + description: + "SMB protocol versions supported by server. Valid values are SMB2.1, SMB3.0, SMB3.1.1. Should be passed as a string with delimiter ';'", + args: { name: "versions" }, + }, + ], + }, + ], + }, + { + name: "hns-migration", + description: + "Manage storage account migration to enable hierarchical namespace", + subcommands: [ + { + name: "start", + description: + "Validate/Begin migrating a storage account to enable hierarchical namespace", + options: [ + { + name: ["--request-type", "--type"], + description: + "Start a validation request for migration or start a migration request", + args: { + name: "request-type", + suggestions: ["upgrade", "validation"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The storage account name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: + "Stop the enabling hierarchical namespace migration of a storage account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The storage account name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "keys", + description: "Manage storage account keys", + subcommands: [ + { + name: "list", + description: + "List the access keys or Kerberos keys (if active directory enabled) for a storage account", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--expand-key-type", + description: "Specify the expanded key types to be listed", + args: { name: "expand-key-type" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "renew", + description: + "Regenerate one of the access keys or Kerberos keys (if active directory enabled) for a storage account", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--key", + description: "The key options to regenerate", + args: { + name: "key", + suggestions: ["key1", "key2", "primary", "secondary"], + }, + isRequired: true, + }, + { + name: "--key-type", + description: + "The key type to regenerate. If --key-type is not specified, one of access keys will be regenerated by default", + args: { name: "key-type", suggestions: ["kerb"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "local-user", + description: "Manage storage account local users", + subcommands: [ + { + name: "create", + description: "Create a local user for a given storage account", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--user-name", "--name", "-n"], + description: + "The name of local user. The username must contain lowercase letters and numbers only. It must be unique only within the storage account", + args: { name: "user-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--has-shared-key", + description: + "Indicates whether shared key exists. Set it to false to remove existing shared key", + args: { + name: "has-shared-key", + suggestions: ["false", "true"], + }, + }, + { + name: "--has-ssh-key", + description: + "Indicates whether ssh key exists. Set it to false to remove existing SSH key", + args: { name: "has-ssh-key", suggestions: ["false", "true"] }, + }, + { + name: "--has-ssh-password", + description: + "Indicates whether ssh password exists. Set it to false to remove existing SSH password", + args: { + name: "has-ssh-password", + suggestions: ["false", "true"], + }, + }, + { + name: "--home-directory", + description: "The home directory", + args: { name: "home-directory" }, + }, + { + name: "--permission-scope", + description: + "The permission scope argument list which includes the permissions, service, and resource_name.The permissions can be a combination of the below possible values: Read(r), Write (w), Delete (d), List (l), and Create (c). The service has possible values: blob, file. The resource-name is the container name or the file share name. Example: --permission-scope permissions=r service=blob resource-name=container1Can specify multiple permission scopes: --permission-scope permissions=rw service=blob resource-name=container1--permission-scope permissions=rwd service=file resource-name=share2", + args: { name: "permission-scope" }, + }, + { + name: "--ssh-authorized-key", + description: + 'SSH authorized keys for SFTP. Includes an optional description and key. The key is the base64 encoded SSH public key , with format: e.g. ssh-rsa AAAABBBB.Example: --ssh_authorized_key description=description key="ssh-rsa AAAABBBB"or --ssh_authorized_key key="ssh-rsa AAAABBBB"', + args: { name: "ssh-authorized-key" }, + }, + ], + }, + { + name: "delete", + description: "Delete a local user", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--user-name", "--name", "-n"], + description: + "The name of local user. The username must contain lowercase letters and numbers only. It must be unique only within the storage account", + args: { name: "user-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List local users for a storage account", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "list-keys", + description: + "List sharedkeys and sshAuthorizedKeys for a local user", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--user-name", "--name", "-n"], + description: + "The name of local user. The username must contain lowercase letters and numbers only. It must be unique only within the storage account", + args: { name: "user-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "regenerate-password", + description: "Regenerate sshPassword for a local user", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--user-name", "--name", "-n"], + description: + "The name of local user. The username must contain lowercase letters and numbers only. It must be unique only within the storage account", + args: { name: "user-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show info for a local user", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--user-name", "--name", "-n"], + description: + "The name of local user. The username must contain lowercase letters and numbers only. It must be unique only within the storage account", + args: { name: "user-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update properties for a local user", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--user-name", "--name", "-n"], + description: + "The name of local user. The username must contain lowercase letters and numbers only. It must be unique only within the storage account", + args: { name: "user-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--has-shared-key", + description: + "Indicates whether shared key exists. Set it to false to remove existing shared key", + args: { + name: "has-shared-key", + suggestions: ["false", "true"], + }, + }, + { + name: "--has-ssh-key", + description: + "Indicates whether ssh key exists. Set it to false to remove existing SSH key", + args: { name: "has-ssh-key", suggestions: ["false", "true"] }, + }, + { + name: "--has-ssh-password", + description: + "Indicates whether ssh password exists. Set it to false to remove existing SSH password", + args: { + name: "has-ssh-password", + suggestions: ["false", "true"], + }, + }, + { + name: "--home-directory", + description: "The home directory", + args: { name: "home-directory" }, + }, + { + name: "--permission-scope", + description: + "The permission scope argument list which includes the permissions, service, and resource_name.The permissions can be a combination of the below possible values: Read(r), Write (w), Delete (d), List (l), and Create (c). The service has possible values: blob, file. The resource-name is the container name or the file share name. Example: --permission-scope permissions=r service=blob resource-name=container1Can specify multiple permission scopes: --permission-scope permissions=rw service=blob resource-name=container1--permission-scope permissions=rwd service=file resource-name=share2", + args: { name: "permission-scope" }, + }, + { + name: "--ssh-authorized-key", + description: + 'SSH authorized keys for SFTP. Includes an optional description and key. The key is the base64 encoded SSH public key , with format: e.g. ssh-rsa AAAABBBB.Example: --ssh_authorized_key description=description key="ssh-rsa AAAABBBB"or --ssh_authorized_key key="ssh-rsa AAAABBBB"', + args: { name: "ssh-authorized-key" }, + }, + ], + }, + ], + }, + { + name: "management-policy", + description: "Manage storage account management policies", + subcommands: [ + { + name: "create", + description: + "Create the data policy rules associated with the specified storage account", + options: [ + { + name: "--account-name", + description: + "The name of the storage account within the specified resource group", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--policy", + description: + "The Storage Account ManagementPolicies Rules, in JSON format. See more details in: https://docs.microsoft.com/azure/storage/common/storage-lifecycle-managment-concepts", + args: { name: "policy" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Delete the data policy rules associated with the specified storage account", + options: [ + { + name: "--account-name", + description: + "The name of the storage account within the specified resource group", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the data policy rules associated with the specified storage account", + options: [ + { + name: "--account-name", + description: + "The name of the storage account within the specified resource group", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the data policy rules associated with the specified storage account", + options: [ + { + name: "--account-name", + description: + "The name of the storage account within the specified resource group", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + ], + }, + { + name: "migration", + description: "Manage Storage Account Migration", + subcommands: [ + { + name: "show", + description: + "Get the status of the ongoing migration for the specified storage account", + options: [ + { + name: "--account-name", + description: + "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--migration-name", "--name", "-n"], + description: + "The name of the Storage Account Migration. It should always be 'default'", + args: { name: "migration-name", suggestions: ["default"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: + "Account Migration request can be triggered for a storage account to change its redundancy level. The migration updates the non-zonal redundant storage account to a zonal redundant account or vice-versa in order to have better reliability and availability. Zone-redundant storage (ZRS) replicates your storage account synchronously across three Azure availability zones in the primary region", + options: [ + { + name: ["--target-sku-name", "--sku"], + description: "Target sku name for the account", + args: { + name: "target-sku-name", + suggestions: [ + "Premium_LRS", + "Premium_ZRS", + "Standard_GRS", + "Standard_GZRS", + "Standard_LRS", + "Standard_RAGRS", + "Standard_RAGZRS", + "Standard_ZRS", + ], + }, + isRequired: true, + }, + { + name: "--account-name", + description: + "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--name", + description: + "Current value is 'default' for customer initiated migration", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--type", + description: + "SrpAccountMigrationType in ARM contract which is 'accountMigrations'", + args: { name: "type" }, + }, + ], + }, + ], + }, + { + name: "network-rule", + description: "Manage network rules", + subcommands: [ + { + name: "add", + description: "Add a network rule", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--action", + description: + "The action of virtual network rule. Possible value is Allow", + args: { name: "action" }, + }, + { + name: "--ip-address", + description: + "IPv4 address or CIDR range. Can supply a list: --ip-address ip1 [ip2]", + args: { name: "ip-address" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-id", + description: "The resource id to add in network rule", + args: { name: "resource-id" }, + }, + { + name: "--subnet", + description: + "Name or ID of subnet. If name is supplied, --vnet-name must be supplied", + args: { name: "subnet" }, + }, + { + name: "--tenant-id", + description: "The tenant id to add in network rule", + args: { name: "tenant-id" }, + }, + { + name: "--vnet-name", + description: "Name of a virtual network", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "list", + description: "List network rules", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Remove a network rule", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--ip-address", + description: + "IPv4 address or CIDR range. Can supply a list: --ip-address ip1 [ip2]", + args: { name: "ip-address" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--resource-id", + description: "The resource id to add in network rule", + args: { name: "resource-id" }, + }, + { + name: "--subnet", + description: + "Name or ID of subnet. If name is supplied, --vnet-name must be supplied", + args: { name: "subnet" }, + }, + { + name: "--tenant-id", + description: "The tenant id to add in network rule", + args: { name: "tenant-id" }, + }, + { + name: "--vnet-name", + description: "Name of a virtual network", + args: { name: "vnet-name" }, + }, + ], + }, + ], + }, + { + name: "or-policy", + description: "Manage storage account Object Replication Policy", + subcommands: [ + { + name: "create", + description: + "Create Object Replication Service Policy for storage account", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--destination-container", "--dcont"], + description: + "The destination storage container name. Required when no --policy provided", + args: { name: "destination-container" }, + }, + { + name: ["--destination-account", "-d"], + description: + "The destination storage account name or resource Id. Apply --account-name value as destination account when there is no destination account provided in --policy and --destination-account", + args: { name: "destination-account" }, + }, + { + name: ["--min-creation-time", "-t"], + description: + "Blobs created after the time will be replicated to the destination. It must be in datetime format 'yyyy-MM-ddTHH:mm:ssZ'. Example: 2020-02-19T16:05:00Z", + args: { name: "min-creation-time" }, + }, + { + name: ["--policy", "-p"], + description: + "The object replication policy definition between two storage accounts, in JSON format. Multiple rules can be defined in one policy", + args: { name: "policy" }, + }, + { + name: "--policy-id", + description: + 'The ID of object replication policy or "default" if the policy ID is unknown. Policy Id will be auto-generated when setting on destination account. Required when setting on source account', + args: { name: "policy-id" }, + }, + { + name: ["--prefix-match", "--prefix"], + description: + "Optional. Filter the results to replicate only blobs whose names begin with the specified prefix", + args: { name: "prefix-match" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--rule-id", + description: + "Rule Id is auto-generated for each new rule on destination account. It is required for put policy on source account", + args: { name: "rule-id" }, + }, + { + name: ["--source-container", "--scont"], + description: + "The source storage container name. Required when no --policy provided", + args: { name: "source-container" }, + }, + { + name: ["--source-account", "-s"], + description: + "The source storage account name or resource Id. Required when no --policy provided", + args: { name: "source-account" }, + }, + ], + }, + { + name: "delete", + description: + "Delete specified Object Replication Service Policy associated with the specified storage account", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--policy-id", + description: + 'The ID of object replication policy or "default" if the policy ID is unknown. Policy Id will be auto-generated when setting on destination account. Required when setting on source account', + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List Object Replication Service Policies associated with the specified storage account", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show the properties of specified Object Replication Service Policy for storage account", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--policy-id", + description: + 'The ID of object replication policy or "default" if the policy ID is unknown. Policy Id will be auto-generated when setting on destination account. Required when setting on source account', + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update Object Replication Service Policy properties for storage account", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--destination-account", "-d"], + description: + "The destination storage account name or resource Id. Apply --account-name value as destination account when there is no destination account provided in --policy and --destination-account", + args: { name: "destination-account" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--policy", "-p"], + description: + "The object replication policy definition between two storage accounts, in JSON format. Multiple rules can be defined in one policy", + args: { name: "policy" }, + }, + { + name: "--policy-id", + description: + 'The ID of object replication policy or "default" if the policy ID is unknown. Policy Id will be auto-generated when setting on destination account. Required when setting on source account', + args: { name: "policy-id" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: ["--source-account", "-s"], + description: + "The source storage account name or resource Id. Required when no --policy provided", + args: { name: "source-account" }, + }, + ], + }, + { + name: "rule", + description: "Manage Object Replication Service Policy Rules", + subcommands: [ + { + name: "add", + description: + "Add rule to the specified Object Replication Service Policy", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--destination-container", "-d"], + description: "The destination storage container name", + args: { name: "destination-container" }, + isRequired: true, + }, + { + name: "--policy-id", + description: + 'The ID of object replication policy or "default" if the policy ID is unknown. Policy Id will be auto-generated when setting on destination account. Required when setting on source account', + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: ["--source-container", "-s"], + description: "The source storage container name", + args: { name: "source-container" }, + isRequired: true, + }, + { + name: ["--min-creation-time", "-t"], + description: + "Blobs created after the time will be replicated to the destination. It must be in datetime format 'yyyy-MM-ddTHH:mm:ssZ'. Example: 2020-02-19T16:05:00Z", + args: { name: "min-creation-time" }, + }, + { + name: ["--prefix-match", "--prefix"], + description: + "Optional. Filter the results to replicate only blobs whose names begin with the specified prefix", + args: { name: "prefix-match" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: + "List all the rules in the specified Object Replication Service Policy", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--policy-id", + description: + 'The ID of object replication policy or "default" if the policy ID is unknown. Policy Id will be auto-generated when setting on destination account. Required when setting on source account', + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "remove", + description: + "Remove the specified rule from the specified Object Replication Service Policy", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--policy-id", + description: + 'The ID of object replication policy or "default" if the policy ID is unknown. Policy Id will be auto-generated when setting on destination account. Required when setting on source account', + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: ["--rule-id", "-r"], + description: + "Rule Id is auto-generated for each new rule on destination account. It is required for put policy on source account", + args: { name: "rule-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show the properties of specified rule in Object Replication Service Policy", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--policy-id", + description: + 'The ID of object replication policy or "default" if the policy ID is unknown. Policy Id will be auto-generated when setting on destination account. Required when setting on source account', + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: ["--rule-id", "-r"], + description: + "Rule Id is auto-generated for each new rule on destination account. It is required for put policy on source account", + args: { name: "rule-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: + "Update rule properties to Object Replication Service Policy", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: "--policy-id", + description: + 'The ID of object replication policy or "default" if the policy ID is unknown. Policy Id will be auto-generated when setting on destination account. Required when setting on source account', + args: { name: "policy-id" }, + isRequired: true, + }, + { + name: ["--rule-id", "-r"], + description: + "Rule Id is auto-generated for each new rule on destination account. It is required for put policy on source account", + args: { name: "rule-id" }, + isRequired: true, + }, + { + name: ["--destination-container", "-d"], + description: "The destination storage container name", + args: { name: "destination-container" }, + }, + { + name: ["--min-creation-time", "-t"], + description: + "Blobs created after the time will be replicated to the destination. It must be in datetime format 'yyyy-MM-ddTHH:mm:ssZ'. Example: 2020-02-19T16:05:00Z", + args: { name: "min-creation-time" }, + }, + { + name: ["--prefix-match", "--prefix"], + description: + "Optional. Filter the results to replicate only blobs whose names begin with the specified prefix", + args: { name: "prefix-match" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--source-container", "-s"], + description: "The source storage container name", + args: { name: "source-container" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "private-endpoint-connection", + description: "Manage storage account private endpoint connection", + subcommands: [ + { + name: "approve", + description: + "Approve a private endpoint connection request for storage account", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + }, + { + name: "--description", + description: "Comments for approve operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Storage Account. You can get it using az storage account show", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Storage Account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified storage account", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a private endpoint connection request for storage account", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Storage Account. You can get it using az storage account show", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Storage Account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified storage account", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "reject", + description: + "Reject a private endpoint connection request for storage account", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + }, + { + name: "--description", + description: "Comments for reject operation", + args: { name: "description" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Storage Account. You can get it using az storage account show", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Storage Account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified storage account", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show details of a private endpoint connection request for storage account", + options: [ + { + name: "--account-name", + description: "The storage account name", + args: { name: "account-name" }, + }, + { + name: "--id", + description: + "The ID of the private endpoint connection associated with the Storage Account. You can get it using az storage account show", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the private endpoint connection associated with the Storage Account", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group name of specified storage account", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "private-link-resource", + description: "Manage storage account private link resources", + subcommands: [ + { + name: "list", + description: + "Get the private link resources that need to be created for a storage account", + options: [ + { + name: "--account-name", + description: + "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. Required", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "azcopy", + description: + "[EXPERIMENTAL] Manage storage operations utilizing AzCopy.\n\n\t\tOpen issues here: https://github.com/Azure/azure-storage-azcopy", + subcommands: [ + { + name: "run-command", + description: + "Run a command directly using the AzCopy CLI. Please use SAS tokens for authentication", + + args: { + name: "", + description: + 'Command to run using azcopy. Please start commands with "azcopy "', + isOptional: true, + }, + }, + { + name: "blob", + description: + "Manage object storage for unstructured data (blobs) using AzCopy", + subcommands: [ + { + name: "delete", + description: + "Delete blobs from a storage blob container using AzCopy", + options: [ + { + name: ["--container", "-c"], + description: "The delete target container", + args: { name: "container" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--recursive", "-r"], + description: "Recursively delete blobs", + args: { name: "recursive" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: ["--target", "-t"], + description: "The delete target path", + args: { name: "target" }, + }, + ], + }, + { + name: "download", + description: + "Download blobs from a storage blob container using AzCopy", + options: [ + { + name: ["--container", "-c"], + description: "The download source container", + args: { name: "container" }, + isRequired: true, + }, + { + name: ["--destination", "-d"], + description: "The destination file path to download to", + args: { name: "destination" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--recursive", "-r"], + description: "Recursively download blobs", + args: { name: "recursive" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: ["--source", "-s"], + description: "The download source path", + args: { name: "source" }, + }, + ], + }, + { + name: "sync", + description: + "Sync blobs recursively to a storage blob container using AzCopy", + options: [ + { + name: ["--container", "-c"], + description: "The sync destination container", + args: { name: "container" }, + isRequired: true, + }, + { + name: ["--source", "-s"], + description: "The source file path to sync from", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--destination", "-d"], + description: "The sync destination path", + args: { name: "destination" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "upload", + description: + "Upload blobs to a storage blob container using AzCopy", + options: [ + { + name: ["--container", "-c"], + description: "The upload destination container", + args: { name: "container" }, + isRequired: true, + }, + { + name: ["--source", "-s"], + description: "The source file path to upload from", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--destination", "-d"], + description: "The upload destination path", + args: { name: "destination" }, + }, + { + name: ["--recursive", "-r"], + description: "Recursively upload blobs", + args: { name: "recursive" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "blob", + description: + "Manage object storage for unstructured data (blobs).\n\n\t\tPlease specify one of the following authentication parameters for your commands: --auth-mode, --account-key, --connection-string, --sas-token. You also can use corresponding environment variables to store your authentication credentials, e.g. AZURE_STORAGE_KEY, AZURE_STORAGE_CONNECTION_STRING and AZURE_STORAGE_SAS_TOKEN", + subcommands: [ + { + name: "delete", + description: "Mark a blob or snapshot for deletion", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--blob-url", + description: + "The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be either the primary endpoint, or the secondary endpoint depending on the current location_mode", + args: { name: "blob-url" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: "--delete-snapshots", + description: + 'Required if the blob has associated snapshots. Values include: "only": Deletes only the blobs snapshots. "include": Deletes the blob along with all snapshots', + args: { + name: "delete-snapshots", + suggestions: ["include", "only"], + }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to delete", + args: { name: "snapshot" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete-batch", + description: "Delete blobs from a blob container recursively", + options: [ + { + name: ["--source", "-s"], + description: + "The blob container from where the files will be deleted", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--delete-snapshots", + description: "Required if the blob has associated snapshots", + args: { + name: "delete-snapshots", + suggestions: ["include", "only"], + }, + }, + { + name: "--dryrun", + description: + "Show the summary of the operations to be taken instead of actually deleting the file(s)", + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: "An ETag value, or the wildcard character (*)", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "The active lease id for the blob", + args: { name: "lease-id" }, + }, + { + name: "--pattern", + description: + "The pattern used for globbing files or blobs in the source. The supported patterns are '*', '?', '[seq]', and '[!seq]'. For more information, please refer to https://docs.python.org/3.7/library/fnmatch.html", + args: { name: "pattern" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "download", + description: "Download a blob to a file path", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--blob-url", + description: + "The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be either the primary endpoint, or the secondary endpoint depending on the current location_mode", + args: { name: "blob-url" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: "--end-range", + description: + "End of byte range to use for downloading a section of the blob. If end_range is given, start_range must be provided. The start_range and end_range params are inclusive. Ex: start_range=0, end_range=511 will download first 512 bytes of blob", + args: { name: "end-range" }, + }, + { + name: ["--file", "-f"], + description: + "Path of file to write out to. If not specified, stdout will be used and max_connections will be set to 1", + args: { name: "file" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--max-connections", + description: + "The number of parallel connections with which to download", + args: { name: "max-connections" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: "--no-progress", + description: + "Include this flag to disable progress reporting for the command", + }, + { + name: "--open-mode", + description: + "Mode to use when opening the file. Note that specifying append only open_mode prevents parallel download. So, max_connections must be set to 1 if this open_mode is used", + args: { name: "open-mode" }, + }, + { + name: "--overwrite", + description: + "Overwrite an existing file when specified. Default value is true", + args: { name: "overwrite", suggestions: ["false", "true"] }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve", + args: { name: "snapshot" }, + }, + { + name: "--start-range", + description: + "Start of byte range to use for downloading a section of the blob. If no end_range is given, all bytes after the start_range will be downloaded. The start_range and end_range params are inclusive. Ex: start_range=0, end_range=511 will download first 512 bytes of blob", + args: { name: "start-range" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--validate-content", + description: + "If true, calculates an MD5 hash for each chunk of the blob. The storage service checks the hash of the content that has arrived with the hash that was sent. This is primarily valuable for detecting bitflips on the wire if using http instead of https, as https (the default), will already validate. Note that this MD5 hash is not stored with the blob. Also note that if enabled, the memory-efficient algorithm will not be used because computing the MD5 hash requires buffering entire blocks, and doing so defeats the purpose of the memory-efficient algorithm", + }, + { + name: "--version-id", + description: + "An optional blob version ID. This parameter is only for versioning enabled account", + args: { name: "version-id" }, + }, + ], + }, + { + name: "download-batch", + description: "Download blobs from a blob container recursively", + options: [ + { + name: ["--destination", "-d"], + description: + "The existing destination folder for this download operation", + args: { name: "destination" }, + isRequired: true, + }, + { + name: ["--source", "-s"], + description: + "The blob container from where the files will be downloaded", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--dryrun", + description: + "Show the summary of the operations to be taken instead of actually downloading the file(s)", + }, + { + name: "--max-connections", + description: + "The number of parallel connections with which to download", + args: { name: "max-connections" }, + }, + { + name: "--no-progress", + description: + "Include this flag to disable progress reporting for the command", + }, + { + name: "--overwrite", + description: + "Overwrite an existing file when specified. Default value is false", + }, + { + name: "--pattern", + description: + "The pattern used for globbing files or blobs in the source. The supported patterns are '*', '?', '[seq]', and '[!seq]'. For more information, please refer to https://docs.python.org/3.7/library/fnmatch.html", + args: { name: "pattern" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "exists", + description: "Check for the existence of a blob in a container", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--blob-url", + description: + "The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be either the primary endpoint, or the secondary endpoint depending on the current location_mode", + args: { name: "blob-url" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "The snapshot parameter is an opaque DateTime value that, when present, specifies the snapshot", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "filter", + description: + "List blobs across all containers whose tags match a given search expression", + options: [ + { + name: "--tag-filter", + description: + 'The expression to find blobs whose tags matches the specified condition. eg. ""yourtagname"=\'firsttag\' and "yourtagname2"=\'secondtag\'"', + args: { name: "tag-filter" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: + "Used when you want to list blobs under a specified container", + args: { name: "container-name" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "generate-sas", + description: "Generate a shared access signature for the blob", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--as-user", + description: + "Indicates that this command return the SAS signed with the user delegation key. The expiry parameter and '--auth-mode login' are required if this argument is specified", + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--blob-url", + description: + "The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be either the primary endpoint, or the secondary endpoint depending on the current location_mode", + args: { name: "blob-url" }, + }, + { + name: "--cache-control", + description: + "Response header value for Cache-Control when resource is accessed using this shared access signature", + args: { name: "cache-control" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: "--content-disposition", + description: + "Response header value for Content-Disposition when resource is accessed using this shared access signature", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: + "Response header value for Content-Encoding when resource is accessed using this shared access signature", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: + "Response header value for Content-Language when resource is accessed using this shared access signature", + args: { name: "content-language" }, + }, + { + name: "--content-type", + description: + "Response header value for Content-Type when resource is accessed using this shared access signature", + args: { name: "content-type" }, + }, + { + name: "--encryption-scope", + description: + "A predefined encryption scope used to encrypt the data on the service", + args: { name: "encryption-scope" }, + }, + { + name: "--expiry", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes invalid. Do not use if a stored access policy is referenced with --policy-name that specifies this value", + args: { name: "expiry" }, + }, + { + name: "--full-uri", + description: + "Indicates that this command return the full blob URI and the shared access signature token", + }, + { + name: "--https-only", + description: + "Only permit requests made with the HTTPS protocol. If omitted, requests from both the HTTP and HTTPS protocol are permitted", + args: { name: "https-only" }, + }, + { + name: "--ip", + description: + "Specifies the IP address or range of IP addresses from which to accept requests. Supports only IPv4 style addresses", + args: { name: "ip" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: "--permissions", + description: + "The permissions the SAS grants. Allowed values: (a)dd (c)reate (d)elete (e)xecute (i)set_immutability_policy (m)ove (r)ead (t)ag (w)rite (x)delete_previous_version (y)permanent_delete. Do not use if a stored access policy is referenced with --id that specifies this value. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--policy-name", + description: + "The name of a stored access policy within the container's ACL", + args: { name: "policy-name" }, + }, + { + name: "--snapshot", + description: + "An optional blob snapshot ID. Opaque DateTime value that, when present, specifies the blob snapshot to grant permission", + args: { name: "snapshot" }, + }, + { + name: "--start", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes valid. Do not use if a stored access policy is referenced with --policy-name that specifies this value. Defaults to the time of the request", + args: { name: "start" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "list", + description: "List blobs in a given container", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--delimiter", + description: + "When the request includes this parameter, the operation returns a BlobPrefix element in the result list that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string", + args: { name: "delimiter" }, + }, + { + name: "--include", + description: + "Specify one or more additional datasets to include in the response. Options include: (c)opy, (d)eleted, (m)etadata, (s)napshots, (v)ersions, (t)ags, (i)mmutabilitypolicy, (l)egalhold, (d)eletedwithversions. Can be combined", + args: { name: "include" }, + }, + { + name: "--marker", + description: + "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--num-results", + description: + 'Specify the maximum number to return. If the request does not specify num_results, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remaining of the results. Provide "*" to return all', + args: { name: "num-results" }, + }, + { + name: "--prefix", + description: + "Filter the results to return only blobs whose name begins with the specified prefix", + args: { name: "prefix" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--show-next-marker", + description: "Show nextMarker in result when specified", + args: { name: "show-next-marker" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "move", + description: "Move a blob in a storage container", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--destination-blob", "-d"], + description: + "The destination blob name. It should be an absolute path under the container. e.g.'topdir1/dirbar'", + args: { name: "destination-blob" }, + isRequired: true, + }, + { + name: ["--source-blob", "-s"], + description: + "The source blob name. It should be an absolute path under the container. e.g.'topdir1/dirsubfoo'", + args: { name: "source-blob" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--lease-id", + description: + "Optional. A lease ID for the new_path. The new_path must have an active lease and the lease ID must match", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--source-if-match", + description: + "Optional. An ETag value. Specify this header to perform the rename operation only if the source's ETag matches the value specified", + args: { name: "source-if-match" }, + }, + { + name: "--source-if-modified-since", + description: + "Optional. A date and time value. Specify this header to perform the rename operation only if the source has been modified since the specified date and time", + args: { name: "source-if-modified-since" }, + }, + { + name: "--source-if-none-match", + description: + 'Optional. An ETag value or the special wildcard ("*") value. Specify this header to perform the rename operation only if the source\'s ETag does not match the value specified', + args: { name: "source-if-none-match" }, + }, + { + name: "--source-if-unmodified-since", + description: + "Optional. A date and time value. Specify this header to perform the rename operation only if the source has not been modified since the specified date and time", + args: { name: "source-if-unmodified-since" }, + }, + { + name: "--source-lease-id", + description: + "Optional. A lease ID for the source_path. The source_path must have an active lease and the lease ID must match", + args: { name: "source-lease-id" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "query", + description: + "Enable users to select/project on blob or blob snapshot data by providing simple query expressions", + options: [ + { + name: "--query-expression", + description: + "The query expression in SQL. The maximum size of the query expression is 256KiB. For more information about the expression syntax, please see https://docs.microsoft.com/azure/storage/blobs/query-acceleration-sql-reference", + args: { name: "query-expression" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--blob-url", + description: + "The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be either the primary endpoint, or the secondary endpoint depending on the current location_mode", + args: { name: "blob-url" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--in-column-separator", + description: "The string used to separate columns", + args: { name: "in-column-separator" }, + }, + { + name: "--in-escape-char", + description: + "The string used as an escape character. Default to empty", + args: { name: "in-escape-char" }, + }, + { + name: "--in-has-header", + description: + "Whether the blob data includes headers in the first line. The default value is False, meaning that the data will be returned inclusive of the first line. If set to True, the data will be returned exclusive of the first line", + }, + { + name: "--in-line-separator", + description: + "The string used to separate records. default value:", + args: { name: "in-line-separator" }, + }, + { + name: "--in-quote-char", + description: "The string used to quote a specific field", + args: { name: "in-quote-char" }, + }, + { + name: "--in-record-separator", + description: + "The string used to separate records. default value:", + args: { name: "in-record-separator" }, + }, + { + name: "--input-format", + description: + "Serialization type of the data currently stored in the blob. The default is to treat the blob data as CSV data formatted in the default dialect.The blob data will be reformatted according to that profile when blob format is specified. If you choose json, please specify Output Json Text Configuration Arguments accordingly; If you choose csv, please specify Output Delimited Text Configuration Arguments", + args: { name: "input-format", suggestions: ["csv", "json"] }, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: "--out-column-separator", + description: "The string used to separate columns", + args: { name: "out-column-separator" }, + }, + { + name: "--out-escape-char", + description: + "The string used as an escape character. Default to empty", + args: { name: "out-escape-char" }, + }, + { + name: "--out-has-header", + description: + "Whether the blob data includes headers in the first line. The default value is False, meaning that the data will be returned inclusive of the first line. If set to True, the data will be returned exclusive of the first line", + }, + { + name: "--out-line-separator", + description: + "The string used to separate records. default value:", + args: { name: "out-line-separator" }, + }, + { + name: "--out-quote-char", + description: "The string used to quote a specific field", + args: { name: "out-quote-char" }, + }, + { + name: "--out-record-separator", + description: + "The string used to separate records. default value:", + args: { name: "out-record-separator" }, + }, + { + name: "--output-format", + description: + "Output serialization type for the data stream. By default the data will be returned as it is represented in the blob. By providing an output format, the blob data will be reformatted according to that profile. If you choose json, please specify Output Json Text Configuration Arguments accordingly; If you choose csv, please specify Output Delimited Text Configuration Arguments", + args: { name: "output-format", suggestions: ["csv", "json"] }, + }, + { + name: "--result-file", + description: "Specify the file path to save result", + args: { name: "result-file" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "restore", + description: "Restore blobs in the specified blob ranges", + options: [ + { + name: ["--account-name", "-n"], + description: "The storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--time-to-restore", "-t"], + description: + "Restore blob to the specified time, which should be UTC datetime in (Y-m-d'T'H:M:S'Z')", + args: { name: "time-to-restore" }, + isRequired: true, + }, + { + name: ["--blob-range", "-r"], + description: + "Blob ranges to restore. You need to two values to specify start_range and end_range for each blob range, e.g. -r blob1 blob2. Note: Empty means account start as start range value, and means account end for end range", + args: { name: "blob-range" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "rewrite", + description: + "Create a new Block Blob where the content of the blob is read from a given URL", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--source-uri", "-u"], + description: + "A URL of up to 2 KB in length that specifies a file or blob. The value should be URL-encoded as it would appear in a request URI. If the source is in another account, the source must either be public or must be authenticated via a shared access signature. If the source is public, no authentication is required", + args: { name: "source-uri" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--encryption-scope", + description: + "A predefined encryption scope used to encrypt the data on the service. An encryption scope can be created using the Management API and referenced here by name. If a default encryption scope has been defined at the container, this value will override it if the container-level scope is configured to allow overrides. Otherwise an error will be raised", + args: { name: "encryption-scope" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: + "Required if the blob has an active lease. Value can be a BlobLeaseClient object or the lease ID as a string", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--tier", + description: + "A standard blob tier value to set the blob to. For this version of the library, this is only applicable to block blobs on standard storage accounts", + args: { + name: "tier", + suggestions: [ + "Archive", + "Cold", + "Cool", + "Hot", + "P10", + "P15", + "P20", + "P30", + "P4", + "P40", + "P50", + "P6", + "P60", + "P70", + "P80", + ], + }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "set-legal-hold", + description: "Set blob legal hold", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--legal-hold", + description: + "Specified if a legal hold should be set on the blob", + args: { name: "legal-hold", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "set-tier", + description: "Set the block or page tiers on the blob", + options: [ + { + name: "--tier", + description: "The tier value to set the blob to", + args: { name: "tier" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--blob-url", + description: + "The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be either the primary endpoint, or the secondary endpoint depending on the current location_mode", + args: { name: "blob-url" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: ["--rehydrate-priority", "-r"], + description: + "Indicate the priority with which to rehydrate an archived blob. The priority can be set on a blob only once, default value is Standard", + args: { + name: "rehydrate-priority", + suggestions: ["High", "Standard"], + }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "The timeout parameter is expressed in seconds. This method may make multiple calls to the Azure service and the timeout will apply to each call individually", + args: { name: "timeout" }, + }, + { + name: ["--type", "-t"], + description: "The blob type", + args: { name: "type", suggestions: ["block", "page"] }, + }, + ], + }, + { + name: "show", + description: "Get the details of a blob", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--blob-url", + description: + "The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be either the primary endpoint, or the secondary endpoint depending on the current location_mode", + args: { name: "blob-url" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve", + args: { name: "snapshot" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "snapshot", + description: "Creates a snapshot of the blob", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--blob-url", + description: + "The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be either the primary endpoint, or the secondary endpoint depending on the current location_mode", + args: { name: "blob-url" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "sync", + description: "Sync blobs recursively to a storage blob container", + options: [ + { + name: ["--container", "-c"], + description: "The sync destination container", + args: { name: "container" }, + isRequired: true, + }, + { + name: ["--source", "-s"], + description: "The source file path to sync from", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--delete-destination", + description: + "Defines whether to delete extra files from the destination that are not present at the source. Could be set to true, false, or prompt. If set to prompt, the user will be asked a question before scheduling files and blobs for deletion", + args: { + name: "delete-destination", + suggestions: ["false", "prompt", "true"], + }, + }, + { + name: ["--destination", "-d"], + description: + "The destination path that will be prepended to the blob name", + args: { name: "destination" }, + }, + { + name: "--exclude-path", + description: + "Exclude these paths. This option does not support wildcard characters (*). Checks relative path prefix. For example: myFolder;myFolder/subDirName/file.pdf", + args: { name: "exclude-path" }, + }, + { + name: "--exclude-pattern", + description: + "Exclude these files where the name matches the pattern list. For example: .jpg;.pdf;exactName. This option supports wildcard characters (*)", + args: { name: "exclude-pattern" }, + }, + { + name: "--include-pattern", + description: + "Include only these files where the name matches the pattern list. For example: .jpg;.pdf;exactName. This option supports wildcard characters (*)", + args: { name: "include-pattern" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + args: { + name: "", + description: + "Other options which will be passed through to azcopy as it is. Please put all the extra options after a --", + isOptional: true, + }, + }, + { + name: "undelete", + description: "Restore soft deleted blob or snapshot", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--blob-url", + description: + "The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be either the primary endpoint, or the secondary endpoint depending on the current location_mode", + args: { name: "blob-url" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: "Sets system properties on the blob", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--clear-content-settings", + description: + "If this flag is set, then if any one or more of the following properties (--content-cache-control, --content-disposition, --content-encoding, --content-language, --content-md5, --content-type) is set, then all of these properties are set together. If a value is not provided for a given property when at least one of the properties listed below is set, then that property will be cleared", + args: { + name: "clear-content-settings", + suggestions: ["false", "true"], + }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--content-cache-control", "--content-cache"], + description: "The cache control string", + args: { name: "content-cache-control" }, + }, + { + name: "--content-disposition", + description: + "Conveys additional information about how to process the response payload, and can also be used to attach additional metadata", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: "The content encoding type", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: "The content language", + args: { name: "content-language" }, + }, + { + name: "--content-md5", + description: "The content's MD5 hash", + args: { name: "content-md5" }, + }, + { + name: "--content-type", + description: "The content MIME type", + args: { name: "content-type" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "upload", + description: "Upload a file to a storage blob", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--blob-url", + description: + "The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be either the primary endpoint, or the secondary endpoint depending on the current location_mode", + args: { name: "blob-url" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: ["--content-cache-control", "--content-cache"], + description: "The cache control string", + args: { name: "content-cache-control" }, + }, + { + name: "--content-disposition", + description: + "Conveys additional information about how to process the response payload, and can also be used to attach additional metadata", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: "The content encoding type", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: "The content language", + args: { name: "content-language" }, + }, + { + name: "--content-md5", + description: "The content's MD5 hash", + args: { name: "content-md5" }, + }, + { + name: "--content-type", + description: "The content MIME type", + args: { name: "content-type" }, + }, + { + name: "--data", + description: "The blob data to upload", + args: { name: "data" }, + }, + { + name: "--encryption-scope", + description: + "A predefined encryption scope used to encrypt the data on the service", + args: { name: "encryption-scope" }, + }, + { + name: ["--file", "-f"], + description: "Path of the file to upload as the blob content", + args: { name: "file" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--length", + description: + "Number of bytes to read from the stream. This is optional, but should be supplied for optimal performance. Cooperate with --data", + args: { name: "length" }, + }, + { + name: "--max-connections", + description: + "Maximum number of parallel connections to use when the blob size exceeds 64MB", + args: { name: "max-connections" }, + }, + { + name: "--maxsize-condition", + description: + "The max length in bytes permitted for an append blob", + args: { name: "maxsize-condition" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: "--no-progress", + description: + "Include this flag to disable progress reporting for the command", + }, + { + name: "--overwrite", + description: + "Whether the blob to be uploaded should overwrite the current data. If True, blob upload operation will overwrite the existing data. If set to False, the operation will fail with ResourceExistsError. The exception to the above is with Append blob types: if set to False and the data already exists, an error will not be raised and the data will be appended to the existing blob. If set overwrite=True, then the existing append blob will be deleted, and a new one created. Defaults to False", + args: { name: "overwrite", suggestions: ["false", "true"] }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--socket-timeout", + description: + "The socket timeout(secs), used by the service to regulate data flow", + args: { name: "socket-timeout" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--tier", + description: + "The tier value to set the blob to. For page blob, the tier correlates to the size of the blob and number of allowed IOPS. Possible values are P10, P15, P20, P30, P4, P40, P50, P6, P60, P70, P80 and this is only applicable to page blobs on premium storage accounts; For block blob, possible values are Archive, Cold, Cool, and Hot. This is only applicable to block blobs on standard storage accounts", + args: { name: "tier" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: ["--type", "-t"], + description: + "Default to 'page' for *.vhd files, or 'block' otherwise", + args: { name: "type", suggestions: ["append", "block", "page"] }, + }, + { + name: "--validate-content", + description: + "Specify that an MD5 hash shall be calculated for each chunk of the blob and verified by the service when the chunk has arrived", + }, + ], + }, + { + name: "upload-batch", + description: + "Upload files from a local directory to a blob container", + options: [ + { + name: ["--destination", "-d"], + description: + "The blob container where the files will be uploaded", + args: { name: "destination" }, + isRequired: true, + }, + { + name: ["--source", "-s"], + description: + "The directory where the files to be uploaded are located", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--content-cache-control", "--content-cache"], + description: "The cache control string", + args: { name: "content-cache-control" }, + }, + { + name: "--content-disposition", + description: + "Conveys additional information about how to process the response payload, and can also be used to attach additional metadata", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: "The content encoding type", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: "The content language", + args: { name: "content-language" }, + }, + { + name: "--content-md5", + description: "The content's MD5 hash", + args: { name: "content-md5" }, + }, + { + name: "--content-type", + description: "The content MIME type", + args: { name: "content-type" }, + }, + { + name: "--destination-path", + description: + "The destination path that will be prepended to the blob name", + args: { name: "destination-path" }, + }, + { + name: "--dryrun", + description: + "Show the summary of the operations to be taken instead of actually uploading the file(s)", + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: "An ETag value, or the wildcard character (*)", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "The active lease id for the blob", + args: { name: "lease-id" }, + }, + { + name: "--max-connections", + description: + "Maximum number of parallel connections to use when the blob size exceeds 64MB", + args: { name: "max-connections" }, + }, + { + name: "--maxsize-condition", + description: + "The max length in bytes permitted for an append blob", + args: { name: "maxsize-condition" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--no-progress", + description: + "Include this flag to disable progress reporting for the command", + }, + { + name: "--overwrite", + description: + "Whether the blob to be uploaded should overwrite the current data. If True, blob upload operation will overwrite the existing data. If set to False, the operation will fail with ResourceExistsError. The exception to the above is with Append blob types: if set to False and the data already exists, an error will not be raised and the data will be appended to the existing blob. If set overwrite=True, then the existing append blob will be deleted, and a new one created. Defaults to False", + args: { name: "overwrite", suggestions: ["false", "true"] }, + }, + { + name: "--pattern", + description: + "The pattern used for globbing files or blobs in the source. The supported patterns are '*', '?', '[seq]', and '[!seq]'. For more information, please refer to https://docs.python.org/3.7/library/fnmatch.html", + args: { name: "pattern" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--tier", + description: + "The tier value to set the blob to. For page blob, the tier correlates to the size of the blob and number of allowed IOPS. Possible values are P10, P15, P20, P30, P4, P40, P50, P6, P60, P70, P80 and this is only applicable to page blobs on premium storage accounts; For block blob, possible values are Archive, Cold, Cool, and Hot. This is only applicable to block blobs on standard storage accounts", + args: { name: "tier" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: ["--type", "-t"], + description: + "Defaults to 'page' for *.vhd files, or 'block' otherwise. The setting will override blob types for every file", + args: { name: "type", suggestions: ["append", "block", "page"] }, + }, + { + name: "--validate-content", + description: + "Specifies that an MD5 hash shall be calculated for each chunk of the blob and verified by the service when the chunk has arrived", + }, + ], + }, + { + name: "url", + description: "Create the url to access a blob", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--protocol", + description: "Protocol to use", + args: { name: "protocol", suggestions: ["http", "https"] }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "An string value that uniquely identifies the snapshot. The value of this query parameter indicates the snapshot version", + args: { name: "snapshot" }, + }, + ], + }, + { + name: "access", + description: + "Manage the access control properties of a blob when Hierarchical Namespace is enabled", + subcommands: [ + { + name: "set", + description: "Set the access control properties of a blob", + options: [ + { + name: ["--acl-spec", "-a"], + description: + 'The ACL specification to set on the path in the format "[default:]user|group|other|mask:[entity id or UPN]:r|-w|-x|-,[default:]user|group|other|mask:[entity id or UPN]:r|-w|-x|-,...". e.g."user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask::rwx"', + args: { name: "acl-spec" }, + isRequired: true, + }, + { + name: ["--blob-name", "-b"], + description: "The blob name", + args: { name: "blob-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value. Specify this header to perform the operation only if the resource's ETag matches the value specified. The ETag must be specified in quotes", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Alter only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + 'An ETag value or the special wildcard ("*") value. Specify this header to perform the operation only if the resource\'s ETag does not match the value specified. The ETag must be specified in quotes', + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Alter only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the path has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "show", + description: "Show the access control properties of a blob", + options: [ + { + name: ["--blob-name", "-b"], + description: "The blob name", + args: { name: "blob-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value. Specify this header to perform the operation only if the resource's ETag matches the value specified. The ETag must be specified in quotes", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Alter only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + 'An ETag value or the special wildcard ("*") value. Specify this header to perform the operation only if the resource\'s ETag does not match the value specified. The ETag must be specified in quotes', + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Alter only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the path has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--user-principle-names", + description: + 'Valid only when Hierarchical Namespace is enabled for the account. If "true", the user identity values returned for owner, group, and acl will be transformed from Azure Active Directory Object IDs to User Principal Names. If "false", the values will be returned as Azure Active Directory Object IDs. The default value is false. Note that group and application Object IDs are not translated because they do not have unique friendly names', + }, + ], + }, + { + name: "update", + description: "Update the access control properties of a blob", + options: [ + { + name: ["--blob-name", "-b"], + description: "The blob name", + args: { name: "blob-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: ["--acl-spec", "-a"], + description: + 'The ACL specification to set on the path in the format "[default:]user|group|other|mask:[entity id or UPN]:r|-w|-x|-,[default:]user|group|other|mask:[entity id or UPN]:r|-w|-x|-,...". e.g."user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask::rwx"', + args: { name: "acl-spec" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--group", + description: "The owning group for the directory", + args: { name: "group" }, + }, + { + name: "--if-match", + description: + "An ETag value. Specify this header to perform the operation only if the resource's ETag matches the value specified. The ETag must be specified in quotes", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Alter only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + 'An ETag value or the special wildcard ("*") value. Specify this header to perform the operation only if the resource\'s ETag does not match the value specified. The ETag must be specified in quotes', + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Alter only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the path has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--owner", + description: "The owning user for the directory", + args: { name: "owner" }, + }, + { + name: "--permissions", + description: + "The POSIX access permissions for the file owner,the file owning group, and others. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported", + args: { name: "permissions" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "copy", + description: + "Manage blob copy operations. Use az storage blob show to check the status of the blobs", + subcommands: [ + { + name: "cancel", + description: "Abort an ongoing copy operation", + options: [ + { + name: "--copy-id", + description: + "The copy operation to abort. This can be either an ID string, or an instance of BlobProperties", + args: { name: "copy-id" }, + isRequired: true, + }, + { + name: ["--destination-blob", "-b"], + description: + "Name of the destination blob. If it exists, it will be overwritten", + args: { name: "destination-blob" }, + isRequired: true, + }, + { + name: ["--destination-container", "-c"], + description: "The container name", + args: { name: "destination-container" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--lease-id", + description: + "Required if the destination blob has an active infinite lease", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "start", + description: + "Copy a blob asynchronously. Use az storage blob show to check the status of the blobs", + options: [ + { + name: ["--destination-blob", "-b"], + description: + "Name of the destination blob. If it exists, it will be overwritten", + args: { name: "destination-blob" }, + isRequired: true, + }, + { + name: ["--destination-container", "-c"], + description: "The container name", + args: { name: "destination-container" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--destination-blob-type", + description: + 'Defines the type of blob at the destination. Value of "Detect" determines the type based on source blob type', + args: { + name: "destination-blob-type", + suggestions: [ + "AppendBlob", + "BlockBlob", + "Detect", + "PageBlob", + ], + }, + }, + { + name: "--destination-if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "destination-if-match" }, + }, + { + name: "--destination-if-modified-since", + description: + "A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this conditional header to copy the blob only if the destination blob has been modified since the specified date/time. If the destination blob has not been modified, the Blob service returns status code 412 (Precondition Failed)", + args: { name: "destination-if-modified-since" }, + }, + { + name: "--destination-if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "destination-if-none-match" }, + }, + { + name: "--destination-if-unmodified-since", + description: + "A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this conditional header to copy the blob only if the destination blob has not been modified since the specified date/time. If the destination blob has been modified, the Blob service returns status code 412 (Precondition Failed)", + args: { name: "destination-if-unmodified-since" }, + }, + { + name: "--destination-lease-id", + description: + "The lease ID specified for this header must match the lease ID of the estination blob. If the request does not include the lease ID or it is not valid, the operation fails with status code 412 (Precondition Failed)", + args: { name: "destination-lease-id" }, + }, + { + name: "--destination-tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "destination-tags-condition" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: ["--rehydrate-priority", "-r"], + description: + "Indicate the priority with which to rehydrate an archived blob", + args: { name: "rehydrate-priority" }, + }, + { + name: "--requires-sync", + description: + "Enforce that the service will not return a response until the copy is complete", + args: { + name: "requires-sync", + suggestions: ["false", "true"], + }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--source-account-key", + description: "The storage account key of the source blob", + args: { name: "source-account-key" }, + }, + { + name: "--source-account-name", + description: "The storage account name of the source blob", + args: { name: "source-account-name" }, + }, + { + name: "--source-blob", + description: "The blob name for the source storage account", + args: { name: "source-blob" }, + }, + { + name: "--source-container", + description: + "The container name for the source storage account", + args: { name: "source-container" }, + }, + { + name: "--source-if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "source-if-match" }, + }, + { + name: "--source-if-modified-since", + description: + "A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this conditional header to copy the blob only if the source blob has been modified since the specified date/time", + args: { name: "source-if-modified-since" }, + }, + { + name: "--source-if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "source-if-none-match" }, + }, + { + name: "--source-if-unmodified-since", + description: + "A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this conditional header to copy the blob only if the source blob has not been modified since the specified date/time", + args: { name: "source-if-unmodified-since" }, + }, + { + name: "--source-lease-id", + description: + "Specify this to perform the Copy Blob operation only if the lease ID given matches the active lease ID of the source blob", + args: { name: "source-lease-id" }, + }, + { + name: "--source-path", + description: "The file path for the source storage account", + args: { name: "source-path" }, + }, + { + name: "--source-sas", + description: + "The shared access signature for the source storage account", + args: { name: "source-sas" }, + }, + { + name: "--source-share", + description: "The share name for the source storage account", + args: { name: "source-share" }, + }, + { + name: "--source-snapshot", + description: + "The blob snapshot for the source storage account", + args: { name: "source-snapshot" }, + }, + { + name: "--source-tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "source-tags-condition" }, + }, + { + name: ["--source-uri", "-u"], + description: + "A URL of up to 2 KB in length that specifies an Azure file or blob. The value should be URL-encoded as it would appear in a request URI. If the source is in another account, the source must either be public or must be authenticated via a shared access signature. If the source is public, no authentication is required. Examples: https://myaccount.blob.core.windows.net/mycontainer/myblob, https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=, https://otheraccount.blob.core.windows.net/mycontainer/myblob?sastoken", + args: { name: "source-uri" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tier", + description: + "The tier value to set the blob to. For page blob, the tier correlates to the size of the blob and number of allowed IOPS. Possible values are P10, P15, P20, P30, P4, P40, P50, P6, P60, P70, P80 and this is only applicable to page blobs on premium storage accounts; For block blob, possible values are Archive, Cold, Cool, and Hot. This is only applicable to block blobs on standard storage accounts", + args: { name: "tier" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "start-batch", + description: + "Copy multiple blobs to a blob container. Use az storage blob show to check the status of the blobs", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--destination-blob-type", + description: + 'Defines the type of blob at the destination. Value of "Detect" determines the type based on source blob type', + args: { + name: "destination-blob-type", + suggestions: [ + "AppendBlob", + "BlockBlob", + "Detect", + "PageBlob", + ], + }, + }, + { + name: ["--destination-container", "-c"], + description: + "The blob container where the selected source files or blobs will be copied to", + args: { name: "destination-container" }, + }, + { + name: "--destination-path", + description: + "The destination path that will be prepended to the blob name", + args: { name: "destination-path" }, + }, + { + name: "--dryrun", + description: + "List the files or blobs to be uploaded. No actual data transfer will occur", + }, + { + name: "--pattern", + description: + "The pattern used for globbing files or blobs in the source. The supported patterns are '*', '?', '[seq]', and '[!seq]'. For more information, please refer to https://docs.python.org/3.7/library/fnmatch.html", + args: { name: "pattern" }, + }, + { + name: ["--rehydrate-priority", "-r"], + description: + "Indicate the priority with which to rehydrate an archived blob", + args: { name: "rehydrate-priority" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--source-account-key", + description: "The account key for the source storage account", + args: { name: "source-account-key" }, + }, + { + name: "--source-account-name", + description: + "The source storage account from which the files or blobs are copied to the destination. If omitted, the destination account is used", + args: { name: "source-account-name" }, + }, + { + name: "--source-container", + description: + "The source container from which blobs are copied", + args: { name: "source-container" }, + }, + { + name: "--source-sas", + description: + "The shared access signature for the source storage account", + args: { name: "source-sas" }, + }, + { + name: "--source-share", + description: "The source share from which files are copied", + args: { name: "source-share" }, + }, + { + name: "--source-uri", + description: + "A URI specifying a file share or blob container from which the files or blobs are copied", + args: { name: "source-uri" }, + }, + { + name: "--tier", + description: + "The tier value to set the blob to. For page blob, the tier correlates to the size of the blob and number of allowed IOPS. Possible values are P10, P15, P20, P30, P4, P40, P50, P6, P60, P70, P80 and this is only applicable to page blobs on premium storage accounts; For block blob, possible values are Archive, Cold, Cool, and Hot. This is only applicable to block blobs on standard storage accounts", + args: { name: "tier" }, + }, + ], + }, + ], + }, + { + name: "directory", + description: + "Manage blob directories in storage account container.\n\n\t\tTo use the directory commands, please make sure your storage account type is StorageV2", + subcommands: [ + { + name: "create", + description: + "Create a storage blob directory in a storage container", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--directory-path", "-d"], + description: "The directory path name", + args: { name: "directory-path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--lease-id", + description: + "Required if the directory to be overwritten has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--permissions", + description: + "Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported", + args: { name: "permissions" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--umask", + description: + "Optional and only valid if Hierarchical Namespace is enabled for the account. The umask restricts permission settings for file and directory, and will only be applied when default Acl does not exist in parent directory. If the umask bit has set, it means that the corresponding permission will be disabled. In this way, the resulting permission is given by p & ^u, where p is the permission and u is the umask. Only 4-digit octal notation (e.g. 0022) is supported here", + args: { name: "umask" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a storage blob directory in a storage container", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--directory-path", "-d"], + description: "The directory path name", + args: { name: "directory-path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--fail-not-exist", + description: + "Specify whether to throw an exception when the directory doesn't exist", + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Alter only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag does not match the value specified", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Alter only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the directory has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--marker", + description: + "Optional. When deleting a directory without the Hierarchical Namespace, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned. When a continuation token is returned, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory", + args: { name: "marker" }, + }, + { + name: "--recursive", + description: + 'If "true", all paths beneath the directory will be deleted. If "false" and the directory is non-empty, an error occurs', + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "download", + description: "Download blobs to a local file path", + options: [ + { + name: ["--container", "-c"], + description: "The download source container", + args: { name: "container" }, + isRequired: true, + }, + { + name: ["--destination-path", "-d"], + description: + "The destination local directory path to download", + args: { name: "destination-path" }, + isRequired: true, + }, + { + name: ["--source-path", "-s"], + description: + "The download source directory path. It should be an absolute path to container", + args: { name: "source-path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--recursive", "-r"], + description: + "Recursively download blobs. If enabled, all the blobs including the blobs in subdirectories will be downloaded", + args: { name: "recursive" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "exists", + description: + "Check for the existence of a blob directory in a storage container", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--directory-path", "-d"], + description: "The directory path name", + args: { name: "directory-path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "The snapshot parameter is an opaque DateTime value that, when present, specifies the snapshot", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "list", + description: + "List blobs and blob subdirectories in a storage directory", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--directory-path", "-d"], + description: "The directory path name", + args: { name: "directory-path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--delimiter", + description: + "When the request includes this parameter, the operation returns a :class:~azure.storage.blob.models.BlobPrefix element in the result list that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string", + args: { name: "delimiter" }, + }, + { + name: "--include", + description: + "Specifies one or more additional datasets to include in the response", + args: { name: "include" }, + }, + { + name: "--marker", + description: + "An opaque continuation token. This value can be retrieved from the next_marker field of a previous generator object if num_results was specified and that generator has finished enumerating results. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--num-results", + description: + 'Specifies the maximum number of results to return. Provide "*" to return all', + args: { name: "num-results" }, + }, + { + name: "--prefix", + description: + "Filters the results to return only blobs whose names begin with the specified prefix", + args: { name: "prefix" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "move", + description: + "Move a storage directory to another storage blob directory in a storage container", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--destination-path", "-d"], + description: + "The destination blob directory path. It can be a directory or subdirectory name, e.g. dir, dir/subdir. If the destination path exists and is empty, the source will be moved into the destination path. If the destination path does not exist, the destination path will be created and overwritten by the source. To control the move operation for nonempty path, you can use --move-mode to determine its behavior", + args: { name: "destination-path" }, + isRequired: true, + }, + { + name: ["--source-path", "-s"], + description: "The source blob directory path", + args: { name: "source-path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--lease-id", + description: + "A lease ID for destination directory_path. The destination directory_path must have an active lease and the lease ID must match", + args: { name: "lease-id" }, + }, + { + name: "--move-mode", + description: + "Valid only when namespace is enabled. This parameter determines the behavior of the move operation. If the destination directory is empty, for both two mode, the destination directory will be overwritten. But if the destination directory is not empty, in legacy mode the move operation will fail and in posix mode, the source directory will be moved into the destination directory", + args: { name: "move-mode", suggestions: ["legacy", "posix"] }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--source-if-match", + description: + "Optional. An ETag value. Specify this header to perform the move operation only if the source's ETag matches the value specified", + args: { name: "source-if-match" }, + }, + { + name: "--source-if-modified-since", + description: + "Optional. A date and time value. Specify this header to perform the move operation only if the source has been modified since the specified date and time", + args: { name: "source-if-modified-since" }, + }, + { + name: "--source-if-none-match", + description: + 'Optional. An ETag value or the special wildcard ("*") value. Specify this header to perform the move operation only if the source\'s ETag does not match the value specified', + args: { name: "source-if-none-match" }, + }, + { + name: "--source-if-unmodified-since", + description: + "Optional. A date and time value. Specify this header to perform the move operation only if the source has not been modified since the specified date and time", + args: { name: "source-if-unmodified-since" }, + }, + { + name: "--source-lease-id", + description: + "Optional. A lease ID for the source_path. The source_path must have an active lease and the lease ID must match", + args: { name: "source-lease-id" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "show", + description: + "Show a storage blob directory properties in a storage container", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--directory-path", "-d"], + description: "The directory path name", + args: { name: "directory-path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform theoperation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Alter only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to performthe operation only if the resource's ETag does not match the value specified. Specify the wildcardcharacter () to perform the operation only if the resource does not exist, and fail the operationif it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Alter only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "upload", + description: + "Upload blobs or subdirectories to a storage blob directory", + options: [ + { + name: ["--container", "-c"], + description: "The upload destination container", + args: { name: "container" }, + isRequired: true, + }, + { + name: ["--destination-path", "-d"], + description: + "The destination path that will be prepended to the blob name", + args: { name: "destination-path" }, + isRequired: true, + }, + { + name: ["--source", "-s"], + description: "The source file path to upload from", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--recursive", "-r"], + description: + "Recursively upload blobs. If enabled, all the blobs including the blobs in subdirectories will be uploaded", + args: { name: "recursive" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "access", + description: + "Manage the access control properties of a directory when Hierarchical Namespace is enabled", + subcommands: [ + { + name: "set", + description: + "Set the access control properties of a directory", + options: [ + { + name: ["--acl-spec", "-a"], + description: + 'The ACL specification to set on the path in the format "[default:]user|group|other|mask:[entity id or UPN]:r|-w|-x|-,[default:]user|group|other|mask:[entity id or UPN]:r|-w|-x|-,...". e.g."user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask::rwx"', + args: { name: "acl-spec" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--directory-path", "-d"], + description: "The directory path name", + args: { name: "directory-path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { + name: "auth-mode", + suggestions: ["key", "login"], + }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value. Specify this header to perform the operation only if the resource's ETag matches the value specified. The ETag must be specified in quotes", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Alter only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + 'An ETag value or the special wildcard ("*") value. Specify this header to perform the operation only if the resource\'s ETag does not match the value specified. The ETag must be specified in quotes', + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Alter only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the path has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "show", + description: + "Show the access control properties of a directory", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--directory-path", "-d"], + description: "The directory path name", + args: { name: "directory-path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { + name: "auth-mode", + suggestions: ["key", "login"], + }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value. Specify this header to perform the operation only if the resource's ETag matches the value specified. The ETag must be specified in quotes", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Alter only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + 'An ETag value or the special wildcard ("*") value. Specify this header to perform the operation only if the resource\'s ETag does not match the value specified. The ETag must be specified in quotes', + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Alter only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the path has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--user-principle-names", + description: + 'Valid only when Hierarchical Namespace is enabled for the account. If "true", the user identity values returned for owner, group, and acl will be transformed from Azure Active Directory Object IDs to User Principal Names. If "false", the values will be returned as Azure Active Directory Object IDs. The default value is false. Note that group and application Object IDs are not translated because they do not have unique friendly names', + }, + ], + }, + { + name: "update", + description: + "Update the access control properties of a directory", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--directory-path", "-d"], + description: "The directory path name", + args: { name: "directory-path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: ["--acl-spec", "-a"], + description: + 'The ACL specification to set on the path in the format "[default:]user|group|other|mask:[entity id or UPN]:r|-w|-x|-,[default:]user|group|other|mask:[entity id or UPN]:r|-w|-x|-,...". e.g."user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask::rwx"', + args: { name: "acl-spec" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { + name: "auth-mode", + suggestions: ["key", "login"], + }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--group", + description: "The owning group for the directory", + args: { name: "group" }, + }, + { + name: "--if-match", + description: + "An ETag value. Specify this header to perform the operation only if the resource's ETag matches the value specified. The ETag must be specified in quotes", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Alter only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + 'An ETag value or the special wildcard ("*") value. Specify this header to perform the operation only if the resource\'s ETag does not match the value specified. The ETag must be specified in quotes', + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Alter only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the path has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--owner", + description: "The owning user for the directory", + args: { name: "owner" }, + }, + { + name: "--permissions", + description: + "The POSIX access permissions for the file owner,the file owning group, and others. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported", + args: { name: "permissions" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "metadata", + description: "Manage directory metadata", + subcommands: [ + { + name: "show", + description: + "Show all user-defined metadata for the specified blob directory", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--directory-path", "-d"], + description: "The directory path name", + args: { name: "directory-path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { + name: "auth-mode", + suggestions: ["key", "login"], + }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--cpk", + description: + "Decrypts the data on the service-side with the given key. Use of customer-provided keys must be done over HTTPS. As the encryption key itself is provided in the request, a secure connection must be established to transfer the key", + args: { name: "cpk" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Alter only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Alter only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "The snapshot parameter is an opaque value that, when present, specifies the blob snapshot to retrieve", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: + "Set user-defined metadata for the specified blob directory as one or more name-value pairs", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--directory-path", "-d"], + description: "The directory path name", + args: { name: "directory-path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { + name: "auth-mode", + suggestions: ["key", "login"], + }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--cpk", + description: + "Encrypts the data on the service-side with the given key. Use of customer-provided keys must be done over HTTPS. As the encryption key itself is provided in the request, a secure connection must be established to transfer the key", + args: { name: "cpk" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Alter only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Alter only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "immutability-policy", + description: "Manage blob immutability policy", + subcommands: [ + { + name: "delete", + description: "Delete blob's immutability policy", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "set", + description: "Set blob's immutability policy", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--expiry-time", + description: "Expiration UTC datetime in (Y-m-d'T'H:M:S'Z')", + args: { name: "expiry-time" }, + }, + { + name: "--policy-mode", + description: "Lock or Unlock the policy", + args: { + name: "policy-mode", + suggestions: ["Locked", "Unlocked"], + }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "incremental-copy", + description: "Manage blob incremental copy operations", + subcommands: [ + { + name: "cancel", + description: + "Aborts a pending copy_blob operation, and leaves a destination blob with zero length and full metadata", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--copy-id", + description: + "Copy identifier provided in the copy.id of the original copy_blob operation", + args: { name: "copy-id" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--lease-id", + description: + "Required if the destination blob has an active infinite lease", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "start", + description: + "Copies an incremental copy of a blob asynchronously", + options: [ + { + name: ["--destination-blob", "-b"], + description: + "Name of the destination blob. If the exists, it will be overwritten", + args: { name: "destination-blob" }, + isRequired: true, + }, + { + name: ["--destination-container", "-c"], + description: "The container name", + args: { name: "destination-container" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--destination-if-match", + description: + "An ETag value, or the wildcard character (*). Specify an ETag value for this conditional header to copy the blob only if the specified ETag value matches the ETag value for an existing destination blob. If the ETag for the destination blob does not match the ETag specified for If-Match, the Blob service returns status code 412 (Precondition Failed)", + args: { name: "destination-if-match" }, + }, + { + name: "--destination-if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "destination-if-modified-since" }, + }, + { + name: "--destination-if-none-match", + description: + "An ETag value, or the wildcard character (). Specify an ETag value for this conditional header to copy the blob only if the specified ETag value does not match the ETag value for the destination blob. Specify the wildcard character () to perform the operation only if the destination blob does not exist. If the specified condition isn't met, the Blob service returns status code 412 (Precondition Failed)", + args: { name: "destination-if-none-match" }, + }, + { + name: "--destination-if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "destination-if-unmodified-since" }, + }, + { + name: "--destination-lease-id", + description: + "The lease ID specified for this header must match the lease ID of the destination blob. If the request does not include the lease ID or it is not valid, the operation fails with status code 412 (Precondition Failed)", + args: { name: "destination-lease-id" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--source-account-key", + description: "The storage account key of the source blob", + args: { name: "source-account-key" }, + }, + { + name: "--source-account-name", + description: "The storage account name of the source blob", + args: { name: "source-account-name" }, + }, + { + name: "--source-blob", + description: "The blob name for the source storage account", + args: { name: "source-blob" }, + }, + { + name: "--source-container", + description: + "The container name for the source storage account", + args: { name: "source-container" }, + }, + { + name: "--source-lease-id", + description: + "Specify this to perform the Copy Blob operation only if the lease ID given matches the active lease ID of the source blob", + args: { name: "source-lease-id" }, + }, + { + name: "--source-sas", + description: + "The shared access signature for the source storage account", + args: { name: "source-sas" }, + }, + { + name: "--source-snapshot", + description: + "The blob snapshot for the source storage account", + args: { name: "source-snapshot" }, + }, + { + name: ["--source-uri", "-u"], + description: + "A URL of up to 2 KB in length that specifies an Azure page blob. The value should be URL-encoded as it would appear in a request URI. The copy source must be a snapshot and include a valid SAS token or be public. Example: https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=&sastoken", + args: { name: "source-uri" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "lease", + description: "Manage storage blob leases", + subcommands: [ + { + name: "acquire", + description: "Request a new lease", + options: [ + { + name: ["--blob-name", "-b"], + description: "The blob name", + args: { name: "blob-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-duration", + description: + "Specify the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change. Default is -1 (infinite lease)", + args: { name: "lease-duration" }, + }, + { + name: "--proposed-lease-id", + description: + "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format", + args: { name: "proposed-lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "break", + description: + "Break the lease, if the container or blob has an active lease", + options: [ + { + name: ["--blob-name", "-b"], + description: "The blob name", + args: { name: "blob-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-break-period", + description: + "This is the proposed duration of seconds that the lease should continue before it is broken, between 0 and 60 seconds. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately", + args: { name: "lease-break-period" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "change", + description: "Change the lease ID of an active lease", + options: [ + { + name: ["--blob-name", "-b"], + description: "The blob name", + args: { name: "blob-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + isRequired: true, + }, + { + name: "--proposed-lease-id", + description: + "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format", + args: { name: "proposed-lease-id" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "release", + description: "Release the lease", + options: [ + { + name: ["--blob-name", "-b"], + description: "The blob name", + args: { name: "blob-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "renew", + description: "Renew the lease", + options: [ + { + name: ["--blob-name", "-b"], + description: "The blob name", + args: { name: "blob-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "metadata", + description: "Manage blob metadata", + subcommands: [ + { + name: "show", + description: + "Return all user-defined metadata for the specified blob or snapshot", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--blob-url", + description: + "The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be either the primary endpoint, or the secondary endpoint depending on the current location_mode", + args: { name: "blob-url" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve", + args: { name: "snapshot" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: + "Sets user-defined metadata for the blob as one or more name-value pairs", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--blob-url", + description: + "The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be either the primary endpoint, or the secondary endpoint depending on the current location_mode", + args: { name: "blob-url" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: "Required if the blob has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve", + args: { name: "snapshot" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "service-properties", + description: "Manage storage blob service properties", + subcommands: [ + { + name: "show", + description: + "Gets the properties of a storage account's Blob service, including Azure Storage Analytics", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "update", + description: "Update storage blob service properties", + options: [ + { + name: "--404-document", + description: + "Represents the path to the error document that should be shown when an error 404 is issued, in other words, when a browser requests a page that does not exist", + args: { name: "404-document" }, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--delete-retention", + description: "Enables soft-delete", + args: { + name: "delete-retention", + suggestions: ["false", "true"], + }, + }, + { + name: "--delete-retention-period", + description: + "Number of days that soft-deleted blob will be retained. Must be in range [1,365]", + args: { name: "delete-retention-period" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--index-document", + description: + 'Represents the name of the index document. This is commonly "index.html"', + args: { name: "index-document" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--static-website", + description: "Enables static-website", + args: { + name: "static-website", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "delete-policy", + description: + "Manage storage blob delete-policy service properties", + subcommands: [ + { + name: "show", + description: "Show the storage blob delete-policy", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { + name: "auth-mode", + suggestions: ["key", "login"], + }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "update", + description: "Update the storage blob delete-policy", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { + name: "auth-mode", + suggestions: ["key", "login"], + }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--days-retained", + description: + "Number of days that soft-deleted blob will be retained. Must be in range [1,365]", + args: { name: "days-retained" }, + }, + { + name: "--enable", + description: "Enables/disables soft-delete", + args: { name: "enable", suggestions: ["false", "true"] }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "tag", + description: "Manage blob tags", + subcommands: [ + { + name: "list", + description: + "Get tags on a blob or specific blob version, or snapshot", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--blob-url", + description: + "The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be either the primary endpoint, or the secondary endpoint depending on the current location_mode", + args: { name: "blob-url" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve", + args: { name: "snapshot" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--version-id", + description: + "An optional blob version ID. This parameter is only for versioning enabled account", + args: { name: "version-id" }, + }, + ], + }, + { + name: "set", + description: + "Set tags on a blob or specific blob version, but not snapshot", + options: [ + { + name: "--tags", + description: + "Space-separated tags: key[=value] [key[=value] ...]. Tags are case-sensitive. The tag set may contain at most 10 tags. Tag keys must be between 1 and 128 characters, and tag values must be between 0 and 256 characters. Valid tag key and value characters include: lowercase and uppercase letters, digits (0-9), space ( ), plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_)", + args: { name: "tags" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--blob-url", + description: + "The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be either the primary endpoint, or the secondary endpoint depending on the current location_mode", + args: { name: "blob-url" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--version-id", + description: + "An optional blob version ID. This parameter is only for versioning enabled account", + args: { name: "version-id" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "container", + description: + "Manage blob storage containers.\n\n\t\tPlease specify one of the following authentication parameters for your commands: --auth-mode, --account-key, --connection-string, --sas-token. You also can use corresponding environment variables to store your authentication credentials, e.g. AZURE_STORAGE_KEY, AZURE_STORAGE_CONNECTION_STRING and AZURE_STORAGE_SAS_TOKEN", + subcommands: [ + { + name: "create", + description: "Create a container in a storage account", + options: [ + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--default-encryption-scope", "-d"], + description: + "Default the container to use specified encryption scope for all writes", + args: { name: "default-encryption-scope" }, + }, + { + name: "--fail-on-exist", + description: "Throw an exception if the container already exists", + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: ["--prevent-encryption-scope-override", "-p"], + description: + "Block override of encryption scope from the container default", + args: { + name: "prevent-encryption-scope-override", + suggestions: ["false", "true"], + }, + }, + { + name: "--public-access", + description: + "Specifies whether data in the container may be accessed publicly", + args: { + name: "public-access", + suggestions: ["blob", "container", "off"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Argument 'resource_group_name' has been deprecated and will be removed in a future release. Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete", + description: "Mark the specified container for deletion", + options: [ + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--bypass-immutability-policy", + description: + 'Bypasses upcoming service behavior that will block a container from being deleted if it has a immutability-policy. Specifying this will ignore arguments aside from those used to identify the container ("--name", "--account-name")', + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--fail-not-exist", + description: "Throw an exception if the container does not exist", + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: + "If specified, delete_container only succeeds if the container's lease is active and matches this ID. Required if the container has an active lease", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "exists", + description: "Check for the existence of a storage container", + options: [ + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "generate-sas", + description: "Generate a SAS token for a storage container", + options: [ + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--as-user", + description: + "Indicates that this command return the SAS signed with the user delegation key. The expiry parameter and '--auth-mode login' are required if this argument is specified", + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--cache-control", + description: + "Response header value for Cache-Control when resource is accessed using this shared access signature", + args: { name: "cache-control" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--content-disposition", + description: + "Response header value for Content-Disposition when resource is accessed using this shared access signature", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: + "Response header value for Content-Encoding when resource is accessed using this shared access signature", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: + "Response header value for Content-Language when resource is accessed using this shared access signature", + args: { name: "content-language" }, + }, + { + name: "--content-type", + description: + "Response header value for Content-Type when resource is accessed using this shared access signature", + args: { name: "content-type" }, + }, + { + name: "--encryption-scope", + description: + "A predefined encryption scope used to encrypt the data on the service", + args: { name: "encryption-scope" }, + }, + { + name: "--expiry", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes invalid. Do not use if a stored access policy is referenced with --policy-name that specifies this value", + args: { name: "expiry" }, + }, + { + name: "--https-only", + description: + "Only permit requests made with the HTTPS protocol. If omitted, requests from both the HTTP and HTTPS protocol are permitted", + args: { name: "https-only" }, + }, + { + name: "--ip", + description: + "Specifies the IP address or range of IP addresses from which to accept requests. Supports only IPv4 style addresses", + args: { name: "ip" }, + }, + { + name: "--permissions", + description: + "The permissions the SAS grants. Allowed values: (a)dd (c)reate (d)elete (e)xecute (f)ilter_by_tags (i)set_immutability_policy (l)ist (m)ove (r)ead (t)ag (w)rite (x)delete_previous_version (y)permanent_delete. Do not use if a stored access policy is referenced with --id that specifies this value. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--policy-name", + description: + "The name of a stored access policy within the container's ACL", + args: { name: "policy-name" }, + }, + { + name: "--start", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes valid. Do not use if a stored access policy is referenced with --policy-name that specifies this value. Defaults to the time of the request", + args: { name: "start" }, + }, + ], + }, + { + name: "list", + description: "List containers in a storage account", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--include-deleted", + description: + "Specify that deleted containers to be returned in the response. This is for container restore enabled account. The default value is False", + }, + { + name: "--include-metadata", + description: + "Specify that container metadata to be returned in the response", + }, + { + name: "--marker", + description: + "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--num-results", + description: + 'Specify the maximum number to return. If the request does not specify num_results, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remaining of the results. Provide "*" to return all', + args: { name: "num-results" }, + }, + { + name: "--prefix", + description: + "Filter the results to return only blobs whose name begins with the specified prefix", + args: { name: "prefix" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--show-next-marker", + description: "Show nextMarker in result when specified", + args: { name: "show-next-marker" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "restore", + description: "Restore soft-deleted container", + options: [ + { + name: "--deleted-version", + description: + "Specify the version of the deleted container to restore", + args: { name: "deleted-version" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Specify the name of the deleted container to restore", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "set-permission", + description: "Set the permissions for the specified container", + options: [ + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: + "If specified, only succeed if the container's lease is active and matches this ID", + args: { name: "lease-id" }, + }, + { + name: "--public-access", + description: + "Specifies whether data in the container may be accessed publicly", + args: { + name: "public-access", + suggestions: ["blob", "container", "off"], + }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "show", + description: + "Return all user-defined metadata and system properties for the specified container", + options: [ + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--lease-id", + description: + "If specified, only succeed if the container's lease is active and matches this ID", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "show-permission", + description: "Get the permissions for the specified container", + options: [ + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--lease-id", + description: + "If specified, only succeed if the container's lease is active and matches this ID", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "immutability-policy", + description: "Manage container immutability policies", + subcommands: [ + { + name: "create", + description: "Create or update an unlocked immutability policy", + options: [ + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--allow-protected-append-writes", "-w"], + description: + "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API", + args: { + name: "allow-protected-append-writes", + suggestions: ["false", "true"], + }, + }, + { + name: ["--allow-protected-append-writes-all", "--w-all"], + description: + "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to both 'Append and Block Blobs' while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and 'allowProtectedAppendWritesAll' properties are mutually exclusive", + args: { + name: "allow-protected-append-writes-all", + suggestions: ["false", "true"], + }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--period", + description: + "The immutability period for the blobs in the container since the policy creation, in days", + args: { name: "period" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: "Aborts an unlocked immutability policy", + options: [ + { + name: "--account-name", + description: + "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. Required", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + 'The entity state (ETag) version of the immutability policy to update. A value of "*" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied. Required', + args: { name: "if-match" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "extend", + description: + "Extend the immutabilityPeriodSinceCreationInDays of a locked immutabilityPolicy", + options: [ + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + isRequired: true, + }, + { + name: ["--allow-protected-append-writes", "-w"], + description: + "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API", + args: { + name: "allow-protected-append-writes", + suggestions: ["false", "true"], + }, + }, + { + name: ["--allow-protected-append-writes-all", "--w-all"], + description: + "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to both 'Append and Block Blobs' while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and 'allowProtectedAppendWritesAll' properties are mutually exclusive", + args: { + name: "allow-protected-append-writes-all", + suggestions: ["false", "true"], + }, + }, + { + name: "--period", + description: + "The immutability period for the blobs in the container since the policy creation, in days", + args: { name: "period" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "lock", + description: "Sets the ImmutabilityPolicy to Locked state", + options: [ + { + name: "--account-name", + description: + "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. Required", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + 'The entity state (ETag) version of the immutability policy to update. A value of "*" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied. Required', + args: { name: "if-match" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Gets the existing immutability policy along with the corresponding ETag in response headers and body", + options: [ + { + name: "--account-name", + description: + "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. Required", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--if-match", + description: + 'The entity state (ETag) version of the immutability policy to update. A value of "*" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied. Default value is None', + args: { name: "if-match" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "lease", + description: "Manage blob storage container leases", + subcommands: [ + { + name: "acquire", + description: "Request a new lease", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-duration", + description: + "Specify the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change. Default is -1 (infinite lease)", + args: { name: "lease-duration" }, + }, + { + name: "--proposed-lease-id", + description: + "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format", + args: { name: "proposed-lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "break", + description: + "Break the lease, if the container has an active lease", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-break-period", + description: + "This is the proposed duration of seconds that the lease should continue before it is broken, between 0 and 60 seconds. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately", + args: { name: "lease-break-period" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "change", + description: "Change the lease ID of an active lease", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--lease-id", + description: "Lease ID for active lease", + args: { name: "lease-id" }, + isRequired: true, + }, + { + name: "--proposed-lease-id", + description: + "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format", + args: { name: "proposed-lease-id" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "release", + description: "Release the lease", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--lease-id", + description: "Lease ID for active lease", + args: { name: "lease-id" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "renew", + description: "Renew the lease", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--lease-id", + description: "Lease ID for active lease", + args: { name: "lease-id" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--tags-condition", + description: + "Specify a SQL where clause on blob tags to operate only on blobs with a matching value", + args: { name: "tags-condition" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "legal-hold", + description: "Manage container legal holds", + subcommands: [ + { + name: "clear", + description: "Clear legal hold tags", + options: [ + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--tags", + description: + "Space-separated tags. Each tag should be 3 to 23 alphanumeric characters and is normalized to lower case", + args: { name: "tags" }, + isRequired: true, + }, + { + name: ["--allow-protected-append-writes-all", "--w-all"], + description: + "When enabled, new blocks can be written to both Append and Block Blobs while maintaining legal hold protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted", + args: { + name: "allow-protected-append-writes-all", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "set", + description: "Set legal hold tags", + options: [ + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--tags", + description: + "Space-separated tags. Each tag should be 3 to 23 alphanumeric characters and is normalized to lower case", + args: { name: "tags" }, + isRequired: true, + }, + { + name: ["--allow-protected-append-writes-all", "--w-all"], + description: + "When enabled, new blocks can be written to both Append and Block Blobs while maintaining legal hold protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted", + args: { + name: "allow-protected-append-writes-all", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the legal hold properties of a container", + options: [ + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + ], + }, + { + name: "metadata", + description: "Manage container metadata", + subcommands: [ + { + name: "show", + description: + "Return all user-defined metadata for the specified container", + options: [ + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--lease-id", + description: + "If specified, only succeed if the container's lease is active and matches this ID", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: + "Set one or more user-defined name-value pairs for the specified container", + options: [ + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-modified-since", + description: + "Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-unmodified-since", + description: + "Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--lease-id", + description: + "If specified, only succeed if the container's lease is active and matches this ID", + args: { name: "lease-id" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "policy", + description: "Manage container stored access policies", + subcommands: [ + { + name: "create", + description: + "Create a stored access policy on the containing object", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--expiry", + description: "Expiration UTC datetime in (Y-m-d'T'H:M:S'Z')", + args: { name: "expiry" }, + }, + { + name: "--lease-id", + description: "The container lease ID", + args: { name: "lease-id" }, + }, + { + name: "--permissions", + description: + "Allowed values: (a)dd (c)reate (d)elete (e)xecute (f)ilter_by_tags (i)set_immutability_policy (l)ist (m)ove (r)ead (t)ag (w)rite (x)delete_previous_version (y)permanent_delete. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--start", + description: + "Start UTC datetime (Y-m-d'T'H:M:S'Z'). Defaults to time of request", + args: { name: "start" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a stored access policy on a containing object", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--lease-id", + description: "The container lease ID", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "list", + description: "List stored access policies on a containing object", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--lease-id", + description: "The container lease ID", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "show", + description: "Show a stored access policy on a containing object", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--lease-id", + description: "The container lease ID", + args: { name: "lease-id" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "update", + description: "Set a stored access policy on a containing object", + options: [ + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--expiry", + description: "Expiration UTC datetime in (Y-m-d'T'H:M:S'Z')", + args: { name: "expiry" }, + }, + { + name: "--lease-id", + description: "The container lease ID", + args: { name: "lease-id" }, + }, + { + name: "--permissions", + description: + "Allowed values: (a)dd (c)reate (d)elete (e)xecute (f)ilter_by_tags (i)set_immutability_policy (l)ist (m)ove (r)ead (t)ag (w)rite (x)delete_previous_version (y)permanent_delete. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--start", + description: + "Start UTC datetime (Y-m-d'T'H:M:S'Z'). Defaults to time of request", + args: { name: "start" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "container-rm", + description: + "Manage Azure containers using the Microsoft.Storage resource provider", + subcommands: [ + { + name: "create", + description: + "Create a new container under the specified storage account", + options: [ + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: ["--default-encryption-scope", "-d"], + description: + "Default the container to use specified encryption scope for all writes", + args: { name: "default-encryption-scope" }, + }, + { + name: ["--deny-encryption-scope-override", "--deny-override"], + description: + "Block override of encryption scope from the container default", + args: { + name: "deny-encryption-scope-override", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-vlw", + description: + "The object level immutability property of the container. The property is immutable and can only be set to true at the container creation time. Existing containers must undergo a migration process", + args: { name: "enable-vlw", suggestions: ["false", "true"] }, + }, + { + name: "--fail-on-exist", + description: "Throw an exception if the container already exists", + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--public-access", + description: + "Specify whether data in the container may be accessed publicly", + args: { + name: "public-access", + suggestions: ["blob", "container", "off"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--root-squash", + description: "Enable NFSv3 squash on blob container", + args: { + name: "root-squash", + suggestions: ["AllSquash", "NoRootSquash", "RootSquash"], + }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified container under its account", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: "Check for the existence of a container", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List all containers under the specified storage account", + options: [ + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: "--include-deleted", + description: "Include soft deleted containers when specified", + args: { name: "include-deleted" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "migrate-vlw", + description: + "Migrate a blob container from container level WORM to object level immutability enabled container", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show the properties for a specified container", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the properties for a container", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: "The container name", + args: { name: "name" }, + }, + { + name: "--public-access", + description: + "Specify whether data in the container may be accessed publicly", + args: { + name: "public-access", + suggestions: ["blob", "container", "off"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--root-squash", + description: "Enable NFSv3 squash on blob container", + args: { + name: "root-squash", + suggestions: ["AllSquash", "NoRootSquash", "RootSquash"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "copy", + description: "Copy files or directories to or from Azure storage", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: "Storage account name of copy destination", + args: { name: "account-name" }, + }, + { + name: "--blob-type", + description: "The type of blob at the destination", + args: { + name: "blob-type", + suggestions: ["AppendBlob", "BlockBlob", "PageBlob"], + }, + }, + { + name: "--cap-mbps", + description: + "Caps the transfer rate, in megabits per second. Moment-by-moment throughput might vary slightly from the cap. If this option is set to zero, or it is omitted, the throughput isn't capped", + args: { name: "cap-mbps" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--content-type", + description: "Specify content type of the file", + args: { name: "content-type" }, + }, + { + name: ["--destination", "-d"], + description: + "The path/url of copy destination. It can be a local path, an url to azure storage server. If you provide destination parameter here, you do not need to provide arguments in copy destination arguments group and copy destination arguments will be deprecated in future", + args: { name: "destination" }, + }, + { + name: "--destination-account-name", + description: + "Option '--destination-account-name' has been deprecated and will be removed in a future release. Use '--account-name' instead. Storage account name of copy destination", + args: { name: "destination-account-name" }, + }, + { + name: "--destination-blob", + description: + "Blob name in blob container of copy destination storage account", + args: { name: "destination-blob" }, + }, + { + name: "--destination-container", + description: "Container name of copy destination storage account", + args: { name: "destination-container" }, + }, + { + name: "--destination-file-path", + description: + "File path in file share of copy destination storage account", + args: { name: "destination-file-path" }, + }, + { + name: "--destination-local-path", + description: + "Option '--destination-local-path' has been deprecated and will be removed in a future release. Use '--destination' instead. The path/url of copy destination. It can be a local path, an url to azure storage server. If you provide destination parameter here, you do not need to provide arguments in copy destination arguments group and copy destination arguments will be deprecated in future", + args: { name: "destination-local-path" }, + }, + { + name: "--destination-share", + description: "File share name of copy destination storage account", + args: { name: "destination-share" }, + }, + { + name: "--exclude-path", + description: + "Exclude these paths. This option does not support wildcard characters (*). Checks relative path prefix. For example: myFolder;myFolder/subDirName/file.pdf", + args: { name: "exclude-path" }, + }, + { + name: "--exclude-pattern", + description: + "Exclude these files where the name matches the pattern list. For example: .jpg;.pdf;exactName. This option supports wildcard characters (*)", + args: { name: "exclude-pattern" }, + }, + { + name: "--follow-symlinks", + description: + "Follow symbolic links when uploading from local file system", + args: { name: "follow-symlinks" }, + }, + { + name: "--include-path", + description: + "Include only these paths. This option does not support wildcard characters (*). Checks relative path prefix. For example:myFolder;myFolder/subDirName/file.pdf", + args: { name: "include-path" }, + }, + { + name: "--include-pattern", + description: + "Include only these files where the name matches the pattern list. For example: .jpg;.pdf;exactName. This option supports wildcard characters (*)", + args: { name: "include-pattern" }, + }, + { + name: "--preserve-s2s-access-tier", + description: + "Preserve access tier during service to service copy. Please refer to https://docs.microsoft.com/azure/storage/blobs/storage-blob-storage-tiers to ensure destination storage account support setting access tier. In the cases that setting access tier is not supported, please use --preserve-s2s-access-tier false to bypass copying access tier. (Default true)", + args: { + name: "preserve-s2s-access-tier", + suggestions: ["false", "true"], + }, + }, + { + name: "--put-md5", + description: + "Create an MD5 hash of each file, and save the hash as the Content-MD5 property of the destination blob/file.Only available when uploading", + args: { name: "put-md5" }, + }, + { + name: ["--recursive", "-r"], + description: "Look into sub-directories recursively", + args: { name: "recursive" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: ["--source", "-s"], + description: + "The path/url of copy source. It can be a local path, an url to azure storage server or AWS S3 buckets. If you provide source parameter here, you do not need to provide arguments in copy source arguments group and copy source arguments will be deprecated in future", + args: { name: "source" }, + }, + { + name: "--source-account-key", + description: + "Account key of copy source storage account. Must be used in conjunction with source storage account name", + args: { name: "source-account-key" }, + }, + { + name: "--source-account-name", + description: "Account name of copy source storage account", + args: { name: "source-account-name" }, + }, + { + name: "--source-blob", + description: + "Blob name in blob container of copy source storage account", + args: { name: "source-blob" }, + }, + { + name: ["--source-connection-string", "--src-conn"], + description: "Connection string of source storage account", + args: { name: "source-connection-string" }, + }, + { + name: "--source-container", + description: "Container name of copy source storage account", + args: { name: "source-container" }, + }, + { + name: "--source-file-path", + description: "File path in file share of copy source storage account", + args: { name: "source-file-path" }, + }, + { + name: "--source-local-path", + description: + "Option '--source-local-path' has been deprecated and will be removed in a future release. Use '--source' instead. The path/url of copy source. It can be a local path, an url to azure storage server or AWS S3 buckets. If you provide source parameter here, you do not need to provide arguments in copy source arguments group and copy source arguments will be deprecated in future", + args: { name: "source-local-path" }, + }, + { + name: "--source-sas", + description: + "Shared Access Signature (SAS) token of copy source. Must be used in conjunction with source storage account name", + args: { name: "source-sas" }, + }, + { + name: "--source-share", + description: "File share name of copy source storage account", + args: { name: "source-share" }, + }, + ], + args: { + name: "", + description: + "Other options which will be passed through to azcopy as it is. Please put all the extra options after a --", + isOptional: true, + }, + }, + { + name: "remove", + description: "Delete blobs or files from Azure Storage", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--container-name", "-c"], + description: "The container name", + args: { name: "container-name" }, + }, + { + name: "--exclude-path", + description: + "Exclude these paths. This option does not support wildcard characters (*). Checks relative path prefix. For example: myFolder;myFolder/subDirName/file.pdf", + args: { name: "exclude-path" }, + }, + { + name: "--exclude-pattern", + description: + "Exclude these files where the name matches the pattern list. For example: .jpg;.pdf;exactName. This option supports wildcard characters (*)", + args: { name: "exclude-pattern" }, + }, + { + name: "--include-path", + description: + "Include only these paths. This option does not support wildcard characters (*). Checks relative path prefix. For example:myFolder;myFolder/subDirName/file.pdf", + args: { name: "include-path" }, + }, + { + name: "--include-pattern", + description: + "Include only these files where the name matches the pattern list. For example: .jpg;.pdf;exactName. This option supports wildcard characters (*)", + args: { name: "include-pattern" }, + }, + { + name: ["--name", "-n"], + description: "The blob name", + args: { name: "name" }, + }, + { + name: ["--path", "-p"], + description: "The path to the file within the file share", + args: { name: "path" }, + }, + { + name: ["--recursive", "-r"], + description: "Look into sub-directories recursively", + args: { name: "recursive" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + }, + ], + }, + { + name: "cors", + description: + "Manage storage service Cross-Origin Resource Sharing (CORS)", + subcommands: [ + { + name: "add", + description: "Add a CORS rule to a storage account", + options: [ + { + name: "--methods", + description: + "Space-separated list of HTTP methods allowed to be executed by the origin", + args: { name: "methods" }, + isRequired: true, + }, + { + name: "--origins", + description: + "Space-separated list of origin domains that will be allowed via CORS, or '*' to allow all domains", + args: { name: "origins" }, + isRequired: true, + }, + { + name: "--services", + description: + "The storage service(s) to add rules to. Allowed options are: (b)lob, (f)ile, (q)ueue, (t)able. Can be combined", + args: { name: "services" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--allowed-headers", + description: + "Space-separated list of response headers allowed to be part of the cross-origin request", + args: { name: "allowed-headers" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--exposed-headers", + description: + "Space-separated list of response headers to expose to CORS clients", + args: { name: "exposed-headers" }, + }, + { + name: "--max-age", + description: + "The maximum number of seconds the client/browser should cache a preflight response", + args: { name: "max-age" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "clear", + description: "Remove all CORS rules from a storage account", + options: [ + { + name: "--services", + description: + "The storage service(s) to remove rules from. Allowed options are: (b)lob, (f)ile, (q)ueue, (t)able. Can be combined", + args: { name: "services" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "list", + description: "List all CORS rules for a storage account", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--services", + description: + "The storage service(s) to list rules for. Allowed options are: (b)lob, (f)ile, (q)ueue, (t)able. Can be combined", + args: { name: "services" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "directory", + description: "Manage file storage directories", + subcommands: [ + { + name: "create", + description: + "Create a new directory under the specified share or parent directory", + options: [ + { + name: ["--name", "-n"], + description: "The directory name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--fail-on-exist", + description: "Throw an exception if the directory already exists", + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified empty directory", + options: [ + { + name: ["--name", "-n"], + description: "The directory name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--fail-not-exist", + description: "Throw an exception if the directory does not exist", + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "exists", + description: "Check for the existence of a storage directory", + options: [ + { + name: ["--name", "-n"], + description: "The directory name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "list", + description: "List directories in a share", + options: [ + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--exclude-extended-info", + description: + 'Specify to exclude "timestamps", "Etag", "Attributes", "PermissionKey" info from response', + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: ["--name", "-n"], + description: "The directory name", + args: { name: "name" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "show", + description: + "Get all user-defined metadata and system properties for the specified directory", + options: [ + { + name: ["--name", "-n"], + description: "The directory name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "metadata", + description: "Manage file storage directory metadata", + subcommands: [ + { + name: "show", + description: + "Get all user-defined metadata for the specified directory", + options: [ + { + name: ["--name", "-n"], + description: "The directory name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: [ + "--enable-file-backup-request-intent", + "--backup-intent", + ], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: + "Set one or more user-defined name-value pairs for the specified directory", + options: [ + { + name: ["--name", "-n"], + description: "The directory name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: [ + "--enable-file-backup-request-intent", + "--backup-intent", + ], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "entity", + description: "Manage table storage entities", + subcommands: [ + { + name: "delete", + description: "Delete an existing entity in a table", + options: [ + { + name: "--partition-key", + description: "The PartitionKey of the entity", + args: { name: "partition-key" }, + isRequired: true, + }, + { + name: "--row-key", + description: "The RowKey of the entity", + args: { name: "row-key" }, + isRequired: true, + }, + { + name: ["--table-name", "-t"], + description: "The table name", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "insert", + description: "Insert an entity into a table", + options: [ + { + name: ["--entity", "-e"], + description: + "Space-separated list of key=value pairs. Must contain a PartitionKey and a RowKey", + args: { name: "entity" }, + isRequired: true, + }, + { + name: ["--table-name", "-t"], + description: "The name of the table to insert the entity into", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-exists", + description: + "Behavior when an entity already exists for the specified PartitionKey and RowKey", + args: { + name: "if-exists", + suggestions: ["fail", "merge", "replace"], + }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "merge", + description: + "Update an existing entity by merging the entity's properties", + options: [ + { + name: ["--entity", "-e"], + description: + "Space-separated list of key=value pairs. Must contain a PartitionKey and a RowKey", + args: { name: "entity" }, + isRequired: true, + }, + { + name: ["--table-name", "-t"], + description: "The table name", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "query", + description: "List entities which satisfy a query", + options: [ + { + name: ["--table-name", "-t"], + description: "The table name", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--filter", + description: "Specify a filter to return certain entities", + args: { name: "filter" }, + }, + { + name: "--marker", + description: + "Space-separated list of key=value pairs. Must contain a nextpartitionkey and a nextrowkey", + args: { name: "marker" }, + }, + { + name: "--num-results", + description: "Number of entities returned per service request", + args: { name: "num-results" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--select", + description: + "Space-separated list of properties to return for each entity", + args: { name: "select" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "replace", + description: "Update an existing entity in a table", + options: [ + { + name: ["--entity", "-e"], + description: + "Space-separated list of key=value pairs. Must contain a PartitionKey and a RowKey", + args: { name: "entity" }, + isRequired: true, + }, + { + name: ["--table-name", "-t"], + description: "The table name", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "show", + description: "Get a single entity in a table", + options: [ + { + name: "--partition-key", + description: "The PartitionKey of the entity", + args: { name: "partition-key" }, + isRequired: true, + }, + { + name: "--row-key", + description: "The RowKey of the entity", + args: { name: "row-key" }, + isRequired: true, + }, + { + name: ["--table-name", "-t"], + description: "The table name", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--select", + description: + "Space-separated list of properties to return for each entity", + args: { name: "select" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + ], + }, + { + name: "file", + description: "Manage file shares that use the SMB 3.0 protocol", + subcommands: [ + { + name: "delete", + description: "Mark the specified file for deletion", + options: [ + { + name: ["--path", "-p"], + description: "The path to the file within the file share", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete-batch", + description: "Delete files from an Azure Storage File Share", + options: [ + { + name: ["--source", "-s"], + description: + "The source of the file delete operation. The source can be the file share URL or the share name", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--dryrun", + description: + "List the files and blobs to be deleted. No actual data deletion will occur", + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--pattern", + description: + "The pattern used for file globbing. The supported patterns are '*', '?', '[seq]', and '[!seq]'. For more information, please refer to https://docs.python.org/3.7/library/fnmatch.html", + args: { name: "pattern" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "download", + description: + "Download a file to a file path, with automatic chunking and progress notifications", + options: [ + { + name: ["--path", "-p"], + description: "The path to the file within the file share", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--dest", + description: + "Path of the file to write to. The source filename will be used if not specified", + args: { name: "dest" }, + }, + { + name: "--end-range", + description: + "End of byte range to use for downloading a section of the file. If --end-range is given, --start-range must be provided. The --start-range and --end-range params are inclusive. Ex: --start-range=0, --end-range=511 will download first 512 bytes of file", + args: { name: "end-range" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--max-connections", + description: "Maximum number of parallel connections to use", + args: { name: "max-connections" }, + }, + { + name: "--no-progress", + description: + "Include this flag to disable progress reporting for the command", + }, + { + name: "--open-mode", + description: + "Mode to use when opening the file. Note that specifying append only open_mode prevents parallel download. So, --max-connections must be set to 1 if this --open-mode is used", + args: { name: "open-mode" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--start-range", + description: + "Start of byte range to use for downloading a section of the file. If no --end-range is given, all bytes after the --start-range will be downloaded. The --start-range and --end-range params are inclusive. Ex: --start-range=0, --end-range=511 will download first 512 bytes of file", + args: { name: "start-range" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--validate-content", + description: + "If set to true, validates an MD5 hash for each retrieved portion of the file. This is primarily valuable for detecting bitflips on the wire if using http instead of https as https (the default) will already validate. As computing the MD5 takes processing time and more requests will need to be done due to the reduced chunk size there may be some increase in latency", + args: { name: "validate-content" }, + }, + ], + }, + { + name: "download-batch", + description: + "Download files from an Azure Storage File Share to a local directory in a batch operation", + options: [ + { + name: ["--destination", "-d"], + description: + "The local directory where the files are downloaded to. This directory must already exist", + args: { name: "destination" }, + isRequired: true, + }, + { + name: ["--source", "-s"], + description: + "The source of the file download operation. The source can be the file share URL or the share name", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--dryrun", + description: + "List the files and blobs to be downloaded. No actual data transfer will occur", + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--max-connections", + description: + "The maximum number of parallel connections to use. Default value is 1", + args: { name: "max-connections" }, + }, + { + name: "--no-progress", + description: + "Include this flag to disable progress reporting for the command", + }, + { + name: "--pattern", + description: + "The pattern used for file globbing. The supported patterns are '*', '?', '[seq]', and '[!seq]'. For more information, please refer to https://docs.python.org/3.7/library/fnmatch.html", + args: { name: "pattern" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--validate-content", + description: + "If set, calculates an MD5 hash for each range of the file for validation", + }, + ], + }, + { + name: "exists", + description: "Check for the existence of a file", + options: [ + { + name: ["--path", "-p"], + description: "The path to the file within the file share", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "generate-sas", + description: "Generate a shared access signature for the file", + options: [ + { + name: ["--path", "-p"], + description: "The path to the file within the file share", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--cache-control", + description: + "Response header value for Cache-Control when resource is accessed using this shared access signature", + args: { name: "cache-control" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--content-disposition", + description: + "Response header value for Content-Disposition when resource is accessed using this shared access signature", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: + "Response header value for Content-Encoding when resource is accessed using this shared access signature", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: + "Response header value for Content-Language when resource is accessed using this shared access signature", + args: { name: "content-language" }, + }, + { + name: "--content-type", + description: + "Response header value for Content-Type when resource is accessed using this shared access signature", + args: { name: "content-type" }, + }, + { + name: "--expiry", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes invalid. Do not use if a stored access policy is referenced with --policy-name that specifies this value", + args: { name: "expiry" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--https-only", + description: + "Only permit requests made with the HTTPS protocol. If omitted, requests from both the HTTP and HTTPS protocol are permitted", + args: { name: "https-only" }, + }, + { + name: "--ip", + description: + "Specifies the IP address or range of IP addresses from which to accept requests. Supports only IPv4 style addresses", + args: { name: "ip" }, + }, + { + name: "--permissions", + description: + "The permissions the SAS grants. Allowed values: (c)reate (d)elete (r)ead (w)rite. Do not use if a stored access policy is referenced with --id that specifies this value. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--policy-name", + description: + "The name of a stored access policy within the container's ACL", + args: { name: "policy-name" }, + }, + { + name: "--start", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes valid. Do not use if a stored access policy is referenced with --policy-name that specifies this value. Defaults to the time of the request", + args: { name: "start" }, + }, + ], + }, + { + name: "list", + description: "List files and directories in a share", + options: [ + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--exclude-dir", + description: "List only files in the given share", + }, + { + name: "--exclude-extended-info", + description: + 'Specify to exclude "timestamps", "Etag", "Attributes", "PermissionKey" info from response', + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--marker", + description: + "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--num-results", + description: + 'Specify the maximum number to return. If the request does not specify num_results, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remaining of the results. Provide "*" to return all', + args: { name: "num-results" }, + }, + { + name: ["--path", "-p"], + description: "The directory path within the file share", + args: { name: "path" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "resize", + description: "Resize a file to the specified size", + options: [ + { + name: ["--path", "-p"], + description: "The path to the file within the file share", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--size", + description: "Size to resize file to (in bytes)", + args: { name: "size" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "show", + description: + "Return all user-defined metadata, standard HTTP properties, and system properties for the file", + options: [ + { + name: ["--path", "-p"], + description: "The path to the file within the file share", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: "Set system properties on the file", + options: [ + { + name: ["--path", "-p"], + description: "The path to the file within the file share", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--clear-content-settings", + description: + "If this flag is set, then if any one or more of the following properties (--content-cache-control, --content-disposition, --content-encoding, --content-language, --content-md5, --content-type) is set, then all of these properties are set together. If a value is not provided for a given property when at least one of the properties listed below is set, then that property will be cleared", + args: { + name: "clear-content-settings", + suggestions: ["false", "true"], + }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--content-cache-control", "--content-cache"], + description: "The cache control string", + args: { name: "content-cache-control" }, + }, + { + name: "--content-disposition", + description: + "Conveys additional information about how to process the response payload, and can also be used to attach additional metadata", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: "The content encoding type", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: "The content language", + args: { name: "content-language" }, + }, + { + name: "--content-md5", + description: "The content's MD5 hash", + args: { name: "content-md5" }, + }, + { + name: "--content-type", + description: "The content MIME type", + args: { name: "content-type" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "upload", + description: + "Upload a file to a share that uses the SMB 3.0 protocol", + options: [ + { + name: "--source", + description: + "Path of the local file to upload as the file content", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--content-cache-control", "--content-cache"], + description: "The cache control string", + args: { name: "content-cache-control" }, + }, + { + name: "--content-disposition", + description: + "Conveys additional information about how to process the response payload, and can also be used to attach additional metadata", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: "The content encoding type", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: "The content language", + args: { name: "content-language" }, + }, + { + name: "--content-md5", + description: "The content's MD5 hash", + args: { name: "content-md5" }, + }, + { + name: "--content-type", + description: "The content MIME type", + args: { name: "content-type" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--file-url", + description: + "The full endpoint URL to the File, including SAS token if used", + args: { name: "file-url" }, + }, + { + name: "--max-connections", + description: "Maximum number of parallel connections to use", + args: { name: "max-connections" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--no-progress", + description: + "Include this flag to disable progress reporting for the command", + }, + { + name: ["--path", "-p"], + description: + "The path to the file within the file share. If the file name is omitted, the source file name will be used", + args: { name: "path" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--validate-content", + description: + "If true, calculates an MD5 hash for each range of the file. The storage service checks the hash of the content that has arrived with the hash that was sent. This is primarily valuable for detecting bitflips on the wire if using http instead of https as https (the default) will already validate. Note that this MD5 hash is not stored with the file", + }, + ], + }, + { + name: "upload-batch", + description: + "Upload files from a local directory to an Azure Storage File Share in a batch operation", + options: [ + { + name: ["--destination", "-d"], + description: "The destination of the upload operation", + args: { name: "destination" }, + isRequired: true, + }, + { + name: ["--source", "-s"], + description: "The directory to upload files from", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--content-cache-control", "--content-cache"], + description: "The cache control string", + args: { name: "content-cache-control" }, + }, + { + name: "--content-disposition", + description: + "Conveys additional information about how to process the response payload, and can also be used to attach additional metadata", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: "The content encoding type", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: "The content language", + args: { name: "content-language" }, + }, + { + name: "--content-md5", + description: "The content's MD5 hash", + args: { name: "content-md5" }, + }, + { + name: "--content-type", + description: "The content MIME type", + args: { name: "content-type" }, + }, + { + name: "--destination-path", + description: + "The directory where the source data is copied to. If omitted, data is copied to the root directory", + args: { name: "destination-path" }, + }, + { + name: "--dryrun", + description: + "List the files and blobs to be uploaded. No actual data transfer will occur", + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--max-connections", + description: + "The maximum number of parallel connections to use. Default value is 1", + args: { name: "max-connections" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--no-progress", + description: + "Include this flag to disable progress reporting for the command", + }, + { + name: "--pattern", + description: + "The pattern used for file globbing. The supported patterns are '*', '?', '[seq]', and '[!seq]'. For more information, please refer to https://docs.python.org/3.7/library/fnmatch.html", + args: { name: "pattern" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--validate-content", + description: + "If set, calculates an MD5 hash for each range of the file for validation", + }, + ], + }, + { + name: "url", + description: "Create the url to access a file", + options: [ + { + name: ["--path", "-p"], + description: + "The path to the file/directory within the file share", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--protocol", + description: "Protocol to use", + args: { name: "protocol", suggestions: ["http", "https"] }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "copy", + description: "Manage file copy operations", + subcommands: [ + { + name: "cancel", + description: "Abort an ongoing copy operation", + options: [ + { + name: "--copy-id", + description: + "The copy operation to abort. This can be either an ID, or an instance of FileProperties", + args: { name: "copy-id" }, + isRequired: true, + }, + { + name: ["--destination-path", "-p"], + description: "The path to the file within the file share", + args: { name: "destination-path" }, + isRequired: true, + }, + { + name: ["--destination-share", "-s"], + description: + "Name of the destination share. The share must exist", + args: { name: "destination-share" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: [ + "--enable-file-backup-request-intent", + "--backup-intent", + ], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "start", + description: "Copy a file asynchronously", + options: [ + { + name: ["--destination-path", "-p"], + description: "The path to the file within the file share", + args: { name: "destination-path" }, + isRequired: true, + }, + { + name: ["--destination-share", "-s"], + description: + "Name of the destination share. The share must exist", + args: { name: "destination-share" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: [ + "--enable-file-backup-request-intent", + "--backup-intent", + ], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--file-snapshot", + description: + "The file snapshot for the source storage account", + args: { name: "file-snapshot" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--source-account-key", + description: "The storage account key of the source blob", + args: { name: "source-account-key" }, + }, + { + name: "--source-account-name", + description: "The storage account name of the source blob", + args: { name: "source-account-name" }, + }, + { + name: "--source-blob", + description: "The blob name for the source storage account", + args: { name: "source-blob" }, + }, + { + name: "--source-container", + description: + "The container name for the source storage account", + args: { name: "source-container" }, + }, + { + name: "--source-path", + description: "The file path for the source storage account", + args: { name: "source-path" }, + }, + { + name: "--source-sas", + description: + "The shared access signature for the source storage account", + args: { name: "source-sas" }, + }, + { + name: "--source-share", + description: "The share name for the source storage account", + args: { name: "source-share" }, + }, + { + name: "--source-snapshot", + description: + "The blob snapshot for the source storage account", + args: { name: "source-snapshot" }, + }, + { + name: ["--source-uri", "-u"], + description: + "A URL of up to 2 KB in length that specifies an Azure file or blob. The value should be URL-encoded as it would appear in a request URI. If the source is in another account, the source must either be public or must be authenticated via a shared access signature. If the source is public, no authentication is required. Examples: https://myaccount.file.core.windows.net/myshare/mydir/myfile https://otheraccount.file.core.windows.net/myshare/mydir/myfile?sastoken", + args: { name: "source-uri" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "start-batch", + description: "Copy multiple files or blobs to a file share", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--destination-path", + description: + "The directory where the source data is copied to. If omitted, data is copied to the root directory", + args: { name: "destination-path" }, + }, + { + name: "--destination-share", + description: + "The file share where the source data is copied to", + args: { name: "destination-share" }, + }, + { + name: "--dryrun", + description: + "List the files and blobs to be copied. No actual data transfer will occur", + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--pattern", + description: + "The pattern used for globbing files and blobs. The supported patterns are '*', '?', '[seq]', and '[!seq]'. For more information, please refer to https://docs.python.org/3.7/library/fnmatch.html", + args: { name: "pattern" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--source-account-key", + description: + "The account key for the source storage account. If omitted, the active login is used to determine the account key", + args: { name: "source-account-key" }, + }, + { + name: "--source-account-name", + description: + "The source storage account to copy the data from. If omitted, the destination account is used", + args: { name: "source-account-name" }, + }, + { + name: "--source-container", + description: "The source container blobs are copied from", + args: { name: "source-container" }, + }, + { + name: "--source-sas", + description: + "The shared access signature for the source storage account", + args: { name: "source-sas" }, + }, + { + name: "--source-share", + description: "The source share files are copied from", + args: { name: "source-share" }, + }, + { + name: "--source-uri", + description: + "A URI that specifies a the source file share or blob container", + args: { name: "source-uri" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "metadata", + description: "Manage file metadata", + subcommands: [ + { + name: "show", + description: "Return all user-defined metadata for the file", + options: [ + { + name: ["--path", "-p"], + description: "The path to the file within the file share", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: [ + "--enable-file-backup-request-intent", + "--backup-intent", + ], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: "Update file metadata", + options: [ + { + name: ["--path", "-p"], + description: "The path to the file within the file share", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: [ + "--enable-file-backup-request-intent", + "--backup-intent", + ], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "fs", + description: + "Manage file systems in Azure Data Lake Storage Gen2 account", + subcommands: [ + { + name: "create", + description: + "Create file system for Azure Data Lake Storage Gen2 account", + options: [ + { + name: ["--name", "-n"], + description: "File system name (i.e. container name)", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--default-encryption-scope", "-d"], + description: + "Specify the default encryption scope to set on the file system and use for all future writes", + args: { name: "default-encryption-scope" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: ["--prevent-encryption-scope-override", "-p"], + description: + "If true, prevents any request from specifying a different encryption scope than the scope set on the file system. Default value is false", + args: { + name: "prevent-encryption-scope-override", + suggestions: ["false", "true"], + }, + }, + { + name: "--public-access", + description: + "Specify whether data in the file system may be accessed publicly and the level of access", + args: { + name: "public-access", + suggestions: ["file", "filesystem", "off"], + }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete", + description: "Delete a file system in ADLS Gen2 account", + options: [ + { + name: ["--name", "-n"], + description: "File system name (i.e. container name)", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: + "Check for the existence of a file system in ADLS Gen2 account", + options: [ + { + name: ["--name", "-n"], + description: "File system name (i.e. container name)", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "generate-sas", + description: + "Generate a SAS token for file system in ADLS Gen2 account", + options: [ + { + name: ["--name", "-n"], + description: "File system name (i.e. container name)", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--as-user", + description: + "Indicates that this command return the SAS signed with the user delegation key. The expiry parameter and '--auth-mode login' are required if this argument is specified", + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--cache-control", + description: + "Response header value for Cache-Control when resource is accessedusing this shared access signature", + args: { name: "cache-control" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--content-disposition", + description: + "Response header value for Content-Disposition when resource is accessedusing this shared access signature", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: + "Response header value for Content-Encoding when resource is accessedusing this shared access signature", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: + "Response header value for Content-Language when resource is accessedusing this shared access signature", + args: { name: "content-language" }, + }, + { + name: "--content-type", + description: + "Response header value for Content-Type when resource is accessedusing this shared access signature", + args: { name: "content-type" }, + }, + { + name: "--encryption-scope", + description: + "Specify the encryption scope for a request made so that all write operations will be service encrypted", + args: { name: "encryption-scope" }, + }, + { + name: "--expiry", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes invalid. Do not use if a stored access policy is referenced with --policy-name that specifies this value", + args: { name: "expiry" }, + }, + { + name: "--full-uri", + description: + "Indicate that this command return the full blob URI and the shared access signature token", + }, + { + name: "--https-only", + description: + "Only permit requests made with the HTTPS protocol. If omitted, requests from both the HTTP and HTTPS protocol are permitted", + args: { name: "https-only" }, + }, + { + name: "--ip", + description: + "Specifies the IP address or range of IP addresses from which to accept requests. Supports only IPv4 style addresses", + args: { name: "ip" }, + }, + { + name: "--permissions", + description: + "The permissions the SAS grants. Allowed values: (a)dd (c)reate (d)elete (e)xecute (l)ist (m)ove (o)wnership (p)ermissions (r)ead (w)rite. Do not use if a stored access policy is referenced with --id that specifies this value. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--policy-name", + description: "The name of a stored access policy", + args: { name: "policy-name" }, + }, + { + name: "--start", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes valid. Do not use if a stored access policy is referenced with --policy-name that specifies this value. Defaults to the time of the request", + args: { name: "start" }, + }, + ], + }, + { + name: "list", + description: "List file systems in ADLS Gen2 account", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--include-metadata", + description: + 'Specify that file system metadata be returned in the response. The default value is "False"', + args: { + name: "include-metadata", + suggestions: ["false", "true"], + }, + }, + { + name: "--prefix", + description: + "Filter the results to return only file systems whose names begin with the specified prefix", + args: { name: "prefix" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "list-deleted-path", + description: + "List the deleted (file or directory) paths under the specified file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--marker", + description: + "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--num-results", + description: "Specify the maximum number to return", + args: { name: "num-results" }, + }, + { + name: "--path-prefix", + description: + "Filter the results to return only paths under the specified path", + args: { name: "path-prefix" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "show", + description: "Show properties of file system in ADLS Gen2 account", + options: [ + { + name: ["--name", "-n"], + description: "File system name (i.e. container name)", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "undelete-path", + description: "Restore soft-deleted path", + options: [ + { + name: "--deleted-path-name", + description: "Specifies the path (file or directory) to restore", + args: { name: "deleted-path-name" }, + isRequired: true, + }, + { + name: "--deletion-id", + description: + "Specifies the version of the deleted path to restore. :keyword int timeout: The timeout parameter is expressed in seconds", + args: { name: "deletion-id" }, + isRequired: true, + }, + { + name: ["--file-system", "-f"], + description: "File system name", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "access", + description: + "Manage file system access and permissions for Azure Data Lake Storage Gen2 account", + subcommands: [ + { + name: "remove-recursive", + description: + "Remove the Access Control on a path and sub-paths in Azure Data Lake Storage Gen2 account", + options: [ + { + name: "--acl", + description: + 'Remove POSIX access control rights on files and directories. The value is a comma-separated list of access control entries. Each access control entry (ACE) consists of a scope, a type, and a user or group identifier in the format "[scope:][type]:[id]"', + args: { name: "acl" }, + isRequired: true, + }, + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "The path to a file or directory in the specified file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--batch-size", + description: + "Optional. If data set size exceeds batch size then operation will be split into multiple requests so that progress can be tracked. Batch size should be between 1 and 2000. The default when unspecified is 2000", + args: { name: "batch-size" }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--continuation", + description: + "Optional continuation token that can be used to resume previously stopped operation", + args: { name: "continuation" }, + }, + { + name: "--continue-on-failure", + description: + "If set to False, the operation will terminate quickly on encountering user errors (4XX). If True, the operation will ignore user errors and proceed with the operation on other sub-entities of the directory. Continuation token will only be returned when --continue-on-failure is True in case of user errors. If not set the default value is False for this", + args: { + name: "continue-on-failure", + suggestions: ["false", "true"], + }, + }, + { + name: "--max-batches", + description: + "Optional. Define maximum number of batches that single change Access Control operation can execute. If maximum is reached before all sub-paths are processed, then continuation token can be used to resume operation. Empty value indicates that maximum number of batches in unbound and operation continues till end", + args: { name: "max-batches" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "set", + description: + "Set the access control properties of a path(directory or file) in Azure Data Lake Storage Gen2 account", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "The path to a file or directory in the specified file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--acl", + description: + 'Invalid in conjunction with acl. POSIX access control rights on files and directories in the format "[scope:][type]:[id]:[permissions]". e.g. "user::rwx,group::r--,other::---,mask::rwx"', + args: { name: "acl" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--group", + description: + "The owning group of the file or directory. The group Azure Active Directory object ID or user principal name to set as the owning group. For more information, please refer to https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-access-control#changing-the-owning-group", + args: { name: "group" }, + }, + { + name: "--owner", + description: + "The owning user of the file or directory. The user Azure Active Directory object ID or user principal name to set as the owner. For more information, please refer to https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-access-control#the-owning-user", + args: { name: "owner" }, + }, + { + name: "--permissions", + description: + "Invalid in conjunction with acl. POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read(r), write(w), or execute(x) permission. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.'", + args: { name: "permissions" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "set-recursive", + description: + "Set the Access Control on a path and sub-paths in Azure Data Lake Storage Gen2 account", + options: [ + { + name: "--acl", + description: + 'The value is a comma-separated list of access control entries. Each access control entry (ACE) consists of a scope, a type, a user or group identifier, and permissions in the format "[scope:][type]:[id]:[permissions]". For more information, please refer to https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-access-control', + args: { name: "acl" }, + isRequired: true, + }, + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "The path to a file or directory in the specified file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--batch-size", + description: + "Optional. If data set size exceeds batch size then operation will be split into multiple requests so that progress can be tracked. Batch size should be between 1 and 2000. The default when unspecified is 2000", + args: { name: "batch-size" }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--continuation", + description: + "Optional continuation token that can be used to resume previously stopped operation", + args: { name: "continuation" }, + }, + { + name: "--continue-on-failure", + description: + "If set to False, the operation will terminate quickly on encountering user errors (4XX). If True, the operation will ignore user errors and proceed with the operation on other sub-entities of the directory. Continuation token will only be returned when --continue-on-failure is True in case of user errors. If not set the default value is False for this", + args: { + name: "continue-on-failure", + suggestions: ["false", "true"], + }, + }, + { + name: "--max-batches", + description: + "Optional. Define maximum number of batches that single change Access Control operation can execute. If maximum is reached before all sub-paths are processed, then continuation token can be used to resume operation. Empty value indicates that maximum number of batches in unbound and operation continues till end", + args: { name: "max-batches" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "show", + description: + "Show the access control properties of a path (directory or file) in Azure Data Lake Storage Gen2 account", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "The path to a file or directory in the specified file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "update-recursive", + description: + "Modify the Access Control on a path and sub-paths in Azure Data Lake Storage Gen2 account", + options: [ + { + name: "--acl", + description: + 'The value is a comma-separated list of access control entries. Each access control entry (ACE) consists of a scope, a type, a user or group identifier, and permissions in the format "[scope:][type]:[id]:[permissions]". For more information, please refer to https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-access-control', + args: { name: "acl" }, + isRequired: true, + }, + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "The path to a file or directory in the specified file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--batch-size", + description: + "Optional. If data set size exceeds batch size then operation will be split into multiple requests so that progress can be tracked. Batch size should be between 1 and 2000. The default when unspecified is 2000", + args: { name: "batch-size" }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--continuation", + description: + "Optional continuation token that can be used to resume previously stopped operation", + args: { name: "continuation" }, + }, + { + name: "--continue-on-failure", + description: + "If set to False, the operation will terminate quickly on encountering user errors (4XX). If True, the operation will ignore user errors and proceed with the operation on other sub-entities of the directory. Continuation token will only be returned when --continue-on-failure is True in case of user errors. If not set the default value is False for this", + args: { + name: "continue-on-failure", + suggestions: ["false", "true"], + }, + }, + { + name: "--max-batches", + description: + "Optional. Define maximum number of batches that single change Access Control operation can execute. If maximum is reached before all sub-paths are processed, then continuation token can be used to resume operation. Empty value indicates that maximum number of batches in unbound and operation continues till end", + args: { name: "max-batches" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "directory", + description: + "Manage directories in Azure Data Lake Storage Gen2 account", + subcommands: [ + { + name: "create", + description: "Create a directory in ADLS Gen2 file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of directory", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--permissions", + description: + "POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read (4), write (2), or execute (1) permission. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported. The sticky bit is also supported and in symbolic notation, its represented either by the letter t or T in the final character-place depending on whether the execution bit for the others category is set or unset respectively (e.g. rwxrw-rw- with sticky bit is represented as rwxrw-rwT. A rwxrw-rwx with sticky bit is represented as rwxrw-rwt), absence of t or T indicates sticky bit not set. In 4-digit octal notation, its represented by 1st digit (e.g. 1766 represents rwxrw-rw- with sticky bit and 0766 represents rwxrw-rw- without sticky bit). For more information, please refer to https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-access-control#levels-of-permission", + args: { name: "permissions" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--umask", + description: + "When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p & ^u, where p is the permission and u is the umask. For more information, please refer to https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-access-control#umask", + args: { name: "umask" }, + }, + ], + }, + { + name: "delete", + description: "Delete a directory in ADLS Gen2 file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of directory", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "download", + description: + "Download files from the directory in ADLS Gen2 file system to a local file path", + options: [ + { + name: ["--destination-path", "-d"], + description: + "The destination local directory path to download", + args: { name: "destination-path" }, + isRequired: true, + }, + { + name: ["--file-system", "-f"], + description: "The download source file system", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--recursive", "-r"], + description: + "Recursively download files. If enabled, all the files including the files in subdirectories will be downloaded", + args: { name: "recursive" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: ["--source-path", "-s"], + description: + "The download source directory path. It should be an absolute path to file system", + args: { name: "source-path" }, + }, + ], + }, + { + name: "exists", + description: + "Check for the existence of a directory in ADLS Gen2 file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of directory", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "generate-sas", + description: + "Generate a SAS token for directory in ADLS Gen2 account", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of directory", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--as-user", + description: + "Indicates that this command return the SAS signed with the user delegation key. The expiry parameter and '--auth-mode login' are required if this argument is specified", + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--cache-control", + description: + "Response header value for Cache-Control when resource is accessedusing this shared access signature", + args: { name: "cache-control" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--content-disposition", + description: + "Response header value for Content-Disposition when resource is accessedusing this shared access signature", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: + "Response header value for Content-Encoding when resource is accessedusing this shared access signature", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: + "Response header value for Content-Language when resource is accessedusing this shared access signature", + args: { name: "content-language" }, + }, + { + name: "--content-type", + description: + "Response header value for Content-Type when resource is accessedusing this shared access signature", + args: { name: "content-type" }, + }, + { + name: "--encryption-scope", + description: + "Specify the encryption scope for a request made so that all write operations will be service encrypted", + args: { name: "encryption-scope" }, + }, + { + name: "--expiry", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes invalid. Do not use if a stored access policy is referenced with --policy-name that specifies this value", + args: { name: "expiry" }, + }, + { + name: "--full-uri", + description: + "Indicate that this command return the full blob URI and the shared access signature token", + }, + { + name: "--https-only", + description: + "Only permit requests made with the HTTPS protocol. If omitted, requests from both the HTTP and HTTPS protocol are permitted", + args: { name: "https-only" }, + }, + { + name: "--ip", + description: + "Specifies the IP address or range of IP addresses from which to accept requests. Supports only IPv4 style addresses", + args: { name: "ip" }, + }, + { + name: "--permissions", + description: + "The permissions the SAS grants. Allowed values: (a)dd (c)reate (d)elete (e)xecute (l)ist (m)ove (o)wnership (p)ermissions (r)ead (w)rite. Do not use if a stored access policy is referenced with --id that specifies this value. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--policy-name", + description: "The name of a stored access policy", + args: { name: "policy-name" }, + }, + { + name: "--start", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes valid. Do not use if a stored access policy is referenced with --policy-name that specifies this value. Defaults to the time of the request", + args: { name: "start" }, + }, + ], + }, + { + name: "list", + description: "List directories in ADLS Gen2 file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--num-results", + description: + "Specify the maximum number of results to return", + args: { name: "num-results" }, + }, + { + name: "--path", + description: + "Filter the results to return only paths under the specified path", + args: { name: "path" }, + }, + { + name: "--recursive", + description: + "Look into sub-directories recursively when set to true", + args: { name: "recursive", suggestions: ["false", "true"] }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "move", + description: "Move a directory in ADLS Gen2 file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of directory", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--new-directory", "-d"], + description: + 'The new directory name the users want to move to. The value must have the following format: "{filesystem}/{directory}/{subdirectory}"', + args: { name: "new-directory" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "show", + description: + "Show properties of a directory in ADLS Gen2 file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of directory", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "upload", + description: + "Upload files or subdirectories to a directory in ADLS Gen2 file system", + options: [ + { + name: ["--file-system", "-f"], + description: "The upload destination file system", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--source", "-s"], + description: "The source file path to upload from", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--destination-path", "-d"], + description: + "The upload destination directory path. It should be an absolute path to file system. If the specified destination path does not exist, a new directory path will be created", + args: { name: "destination-path" }, + }, + { + name: ["--recursive", "-r"], + description: + "Recursively upload files. If enabled, all the files including the files in subdirectories will be uploaded", + args: { name: "recursive" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "metadata", + description: "Manage the metadata for directory in file system", + subcommands: [ + { + name: "show", + description: + "Return all user-defined metadata for the specified directory", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of directory", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { + name: "auth-mode", + suggestions: ["key", "login"], + }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: + "Sets one or more user-defined name-value pairs for the specified file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of directory", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { + name: "auth-mode", + suggestions: ["key", "login"], + }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "file", + description: "Manage files in Azure Data Lake Storage Gen2 account", + subcommands: [ + { + name: "append", + description: "Append content to a file in ADLS Gen2 file system", + options: [ + { + name: "--content", + description: "Content to be appended to file", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: "The file path in a file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "create", + description: "Create a new file in ADLS Gen2 file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: "The file path in a file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--content-cache-control", "--content-cache"], + description: "The cache control string", + args: { name: "content-cache-control" }, + }, + { + name: "--content-disposition", + description: + "Conveys additional information about how to process the response payload, and can also be used to attach additional metadata", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: "The content encoding type", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: "The content language", + args: { name: "content-language" }, + }, + { + name: "--content-md5", + description: "The content's MD5 hash", + args: { name: "content-md5" }, + }, + { + name: "--content-type", + description: "The content MIME type", + args: { name: "content-type" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--permissions", + description: + "POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read (4), write (2), or execute (1) permission. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported. The sticky bit is also supported and in symbolic notation, its represented either by the letter t or T in the final character-place depending on whether the execution bit for the others category is set or unset respectively (e.g. rwxrw-rw- with sticky bit is represented as rwxrw-rwT. A rwxrw-rwx with sticky bit is represented as rwxrw-rwt), absence of t or T indicates sticky bit not set. In 4-digit octal notation, its represented by 1st digit (e.g. 1766 represents rwxrw-rw- with sticky bit and 0766 represents rwxrw-rw- without sticky bit). For more information, please refer to https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-access-control#levels-of-permission", + args: { name: "permissions" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--umask", + description: + "When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p & ^u, where p is the permission and u is the umask. For more information, please refer to https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-access-control#umask", + args: { name: "umask" }, + }, + ], + }, + { + name: "delete", + description: "Delete a file in ADLS Gen2 file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: "The file path in a file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "download", + description: + "Download a file from the specified path in ADLS Gen2 file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: "The file path in a file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--destination", "-d"], + description: + "The local file where the file or folder will be downloaded to. The source filename will be used if not specified", + args: { name: "destination" }, + }, + { + name: "--overwrite", + description: + "Overwrite an existing file when specified. Default value is false", + args: { name: "overwrite", suggestions: ["false", "true"] }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "exists", + description: + "Check for the existence of a file in ADLS Gen2 file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: "The file path in a file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "list", + description: + "List files and directories in ADLS Gen2 file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--exclude-dir", + description: "List only files in the given file system", + args: { name: "exclude-dir" }, + }, + { + name: "--marker", + description: + "An opaque continuation token. This value can be retrieved from the next_marker field of a previous generator object. If specified, this generator will begin returning results from this point", + args: { name: "marker" }, + }, + { + name: "--num-results", + description: + "Specify the maximum number of results to return. If the request does not specify num_results or specifies a value greater than 5,000, the server will return up to 5,000 items", + args: { name: "num-results" }, + }, + { + name: "--path", + description: + "Filter the results to return only paths under the specified path", + args: { name: "path" }, + }, + { + name: "--recursive", + description: + "Look into sub-directories recursively when set to true", + args: { name: "recursive", suggestions: ["false", "true"] }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--show-next-marker", + description: "Show nextMarker in result when specified", + args: { name: "show-next-marker" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "move", + description: "Move a file in ADLS Gen2 Account", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: "--new-path", + description: + 'The new path the users want to move to. The value must have the following format: "{filesystem}/{directory}/{subdirectory}/{file}"', + args: { name: "new-path" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: + "The original file path users want to move in a file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--content-cache-control", "--content-cache"], + description: "The cache control string", + args: { name: "content-cache-control" }, + }, + { + name: "--content-disposition", + description: + "Conveys additional information about how to process the response payload, and can also be used to attach additional metadata", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: "The content encoding type", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: "The content language", + args: { name: "content-language" }, + }, + { + name: "--content-md5", + description: "The content's MD5 hash", + args: { name: "content-md5" }, + }, + { + name: "--content-type", + description: "The content MIME type", + args: { name: "content-type" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "set-expiry", + description: "Sets the time a file will expire and be deleted", + options: [ + { + name: "--expiry-options", + description: + "Required. Indicates mode of the expiry time. Possible values include: 'NeverExpire', 'RelativeToCreation', 'RelativeToNow', 'Absolute'", + args: { + name: "expiry-options", + suggestions: [ + "Absolute", + "NeverExpire", + "RelativeToCreation", + "RelativeToNow", + ], + }, + isRequired: true, + }, + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: "The file path in a file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--expires-on", + description: + "The time to set the file to expiry. When expiry_options is RelativeTo*, expires_on should be an int in milliseconds. If the type of expires_on is datetime, it should be in UTC time", + args: { name: "expires-on" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "show", + description: "Show properties of file in ADLS Gen2 file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: "The file path in a file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "upload", + description: + "Upload a file to a file path in ADLS Gen2 file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: "The file path in a file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: ["--source", "-s"], + description: + "Path of the local file to upload as the file content", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: ["--content-cache-control", "--content-cache"], + description: "The cache control string", + args: { name: "content-cache-control" }, + }, + { + name: "--content-disposition", + description: + "Conveys additional information about how to process the response payload, and can also be used to attach additional metadata", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: "The content encoding type", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: "The content language", + args: { name: "content-language" }, + }, + { + name: "--content-md5", + description: "The content's MD5 hash", + args: { name: "content-md5" }, + }, + { + name: "--content-type", + description: "The content MIME type", + args: { name: "content-type" }, + }, + { + name: "--if-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified", + args: { name: "if-match" }, + }, + { + name: "--if-modified-since", + description: + "A Commence only if modified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-modified-since" }, + }, + { + name: "--if-none-match", + description: + "An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag does not match the value specified", + args: { name: "if-none-match" }, + }, + { + name: "--if-unmodified-since", + description: + "A Commence only if unmodified since supplied UTC datetime (Y-m-d'T'H:M'Z')", + args: { name: "if-unmodified-since" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--overwrite", + description: "Overwrite an existing file when specified", + args: { name: "overwrite", suggestions: ["false", "true"] }, + }, + { + name: "--permissions", + description: + "POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read (4), write (2), or execute (1) permission. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported. The sticky bit is also supported and in symbolic notation, its represented either by the letter t or T in the final character-place depending on whether the execution bit for the others category is set or unset respectively (e.g. rwxrw-rw- with sticky bit is represented as rwxrw-rwT. A rwxrw-rwx with sticky bit is represented as rwxrw-rwt), absence of t or T indicates sticky bit not set. In 4-digit octal notation, its represented by 1st digit (e.g. 1766 represents rwxrw-rw- with sticky bit and 0766 represents rwxrw-rw- without sticky bit). For more information, please refer to https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-access-control#levels-of-permission", + args: { name: "permissions" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--umask", + description: + "When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p & ^u, where p is the permission and u is the umask. For more information, please refer to https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-access-control#umask", + args: { name: "umask" }, + }, + ], + }, + { + name: "metadata", + description: "Manage the metadata for file in file system", + subcommands: [ + { + name: "show", + description: + "Return all user-defined metadata for the specified file", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: "The file path in a file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { + name: "auth-mode", + suggestions: ["key", "login"], + }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: + "Sets one or more user-defined name-value pairs for the specified file system", + options: [ + { + name: ["--file-system", "-f"], + description: "File system name (i.e. container name)", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + isRequired: true, + }, + { + name: ["--path", "-p"], + description: "The file path in a file system", + args: { name: "path" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { + name: "auth-mode", + suggestions: ["key", "login"], + }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "metadata", + description: "Manage the metadata for file system", + subcommands: [ + { + name: "show", + description: + "Return all user-defined metadata for the specified file system", + options: [ + { + name: ["--name", "-n"], + description: "File system name (i.e. container name)", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: + "Sets one or more user-defined name-value pairs for the specified file system", + options: [ + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "File system name (i.e. container name)", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "service-properties", + description: "Manage storage datalake service properties", + subcommands: [ + { + name: "show", + description: + "Show the properties of a storage account's datalake service, including Azure Storage Analytics", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "update", + description: + "Update the properties of a storage account's datalake service, including Azure Storage Analytics", + options: [ + { + name: "--404-document", + description: + "Represent the path to the error document that should be shown when an error 404 is issued, in other words, when a browser requests a page that does not exist", + args: { name: "404-document" }, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--blob-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "blob-endpoint" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--delete-retention", + description: "Enable soft-delete", + args: { + name: "delete-retention", + suggestions: ["false", "true"], + }, + }, + { + name: ["--delete-retention-period", "--period"], + description: + "Number of days that soft-deleted fs will be retained. Must be in range [1,365]", + args: { name: "delete-retention-period" }, + }, + { + name: "--index-document", + description: + 'Represent the name of the index document. This is commonly "index.html"', + args: { name: "index-document" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--static-website", + description: "Enable static-website", + }, + ], + }, + ], + }, + ], + }, + { + name: "logging", + description: "Manage storage service logging information", + subcommands: [ + { + name: "off", + description: "Turn off logging for a storage account", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--services", + description: + "The storage services from which to retrieve logging info: (b)lob (q)ueue (t)able. Can be combined", + args: { name: "services" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "show", + description: "Show logging settings for a storage account", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--services", + description: + "The storage services from which to retrieve logging info: (b)lob (q)ueue (t)able. Can be combined", + args: { name: "services" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: "Update logging settings for a storage account", + options: [ + { + name: "--log", + description: + "The operations for which to enable logging: (r)ead (w)rite (d)elete. Can be combined", + args: { name: "log" }, + isRequired: true, + }, + { + name: "--retention", + description: + "Number of days for which to retain logs. 0 to disable", + args: { name: "retention" }, + isRequired: true, + }, + { + name: "--services", + description: + "The storage service(s) for which to update logging info: (b)lob (q)ueue (t)able. Can be combined", + args: { name: "services" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--version", + description: "Version of the logging schema", + args: { name: "version" }, + }, + ], + }, + ], + }, + { + name: "message", + description: + "Manage queue storage messages.\n\n\t\tPlease specify one of the following authentication parameters for your commands: --auth-mode, --account-key, --connection-string, --sas-token. You also can use corresponding environment variables to store your authentication credentials, e.g. AZURE_STORAGE_KEY, AZURE_STORAGE_CONNECTION_STRING and AZURE_STORAGE_SAS_TOKEN", + subcommands: [ + { + name: "clear", + description: "Delete all messages from the specified queue", + options: [ + { + name: ["--queue-name", "-q"], + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified message", + options: [ + { + name: "--id", + description: "The message id identifying the message to delete", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--pop-receipt", + description: + "A valid pop receipt value returned from an earlier call to the :func:~get_messages or :func:~update_message operation", + args: { name: "pop-receipt" }, + isRequired: true, + }, + { + name: ["--queue-name", "-q"], + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "get", + description: + "Retrieve one or more messages from the front of the queue", + options: [ + { + name: ["--queue-name", "-q"], + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--num-messages", + description: + "A nonzero integer value that specifies the number of messages to retrieve from the queue, up to a maximum of 32. If fewer are visible, the visible messages are returned. By default, a single message is retrieved from the queue with this operation", + args: { name: "num-messages" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--visibility-timeout", + description: + "Specify the new visibility timeout value, in seconds, relative to server time. The new value must be larger than or equal to 1 second, and cannot be larger than 7 days. The visibility timeout of a message can be set to a value later than the expiry time", + args: { name: "visibility-timeout" }, + }, + ], + }, + { + name: "peek", + description: + "Retrieve one or more messages from the front of the queue, but do not alter the visibility of the message", + options: [ + { + name: ["--queue-name", "-q"], + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--num-messages", + description: + "A nonzero integer value that specifies the number of messages to peek from the queue, up to a maximum of 32. By default, a single message is peeked from the queue with this operation", + args: { name: "num-messages" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "put", + description: "Add a new message to the back of the message queue", + options: [ + { + name: "--content", + description: "Message content, up to 64KB in size", + args: { name: "content" }, + isRequired: true, + }, + { + name: ["--queue-name", "-q"], + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--time-to-live", + description: + "Specify the time-to-live interval for the message, in seconds. The time-to-live may be any positive number or -1 for infinity. If this parameter is omitted, the default time-to-live is 7 days", + args: { name: "time-to-live" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--visibility-timeout", + description: + "If not specified, the default value is 0. Specify the new visibility timeout value, in seconds, relative to server time. The value must be larger than or equal to 0, and cannot be larger than 7 days. The visibility timeout of a message cannot be set to a value later than the expiry time. visibility_timeout should be set to a value smaller than the time_to_live value", + args: { name: "visibility-timeout" }, + }, + ], + }, + { + name: "update", + description: "Update the visibility timeout of a message", + options: [ + { + name: "--id", + description: "The message id identifying the message to delete", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--pop-receipt", + description: + "A valid pop receipt value returned from an earlier call to the :func:~get_messages or :func:~update_message operation", + args: { name: "pop-receipt" }, + isRequired: true, + }, + { + name: ["--queue-name", "-q"], + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--content", + description: "Message content, up to 64KB in size", + args: { name: "content" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + { + name: "--visibility-timeout", + description: + "If not specified, the default value is 0. Specify the new visibility timeout value, in seconds, relative to server time. The new value must be larger than or equal to 0, and cannot be larger than 7 days. The visibility timeout of a message cannot be set to a value later than the expiry time. A message can be updated until it has been deleted or has expired", + args: { name: "visibility-timeout" }, + }, + ], + }, + ], + }, + { + name: "metrics", + description: "Manage storage service metrics", + subcommands: [ + { + name: "show", + description: "Show metrics settings for a storage account", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--interval", + description: + "Filter the set of metrics to retrieve by time interval", + args: { + name: "interval", + suggestions: ["both", "hour", "minute"], + }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--services", + description: + "The storage services from which to retrieve metrics info: (b)lob (q)ueue (t)able. Can be combined", + args: { name: "services" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: "Update metrics settings for a storage account", + options: [ + { + name: "--retention", + description: + "Number of days for which to retain metrics. 0 to disable. Applies to both hour and minute metrics if both are specified", + args: { name: "retention" }, + isRequired: true, + }, + { + name: "--services", + description: + "The storage services from which to retrieve metrics info: (b)lob (q)ueue (t)able. Can be combined", + args: { name: "services" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--api", + description: + "Specify whether to include API in metrics. Applies to both hour and minute metrics if both are specified. Must be specified if hour or minute metrics are enabled and being updated", + args: { name: "api", suggestions: ["false", "true"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--hour", + description: "Update the hourly metrics", + args: { name: "hour", suggestions: ["false", "true"] }, + }, + { + name: "--minute", + description: "Update the by-minute metrics", + args: { name: "minute", suggestions: ["false", "true"] }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "queue", + description: "Manage storage queues", + subcommands: [ + { + name: "create", + description: "Create a queue under the given account", + options: [ + { + name: ["--name", "-n"], + description: "The queue name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--fail-on-exist", + description: + "Specify whether to throw an exception if the queue already exists", + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the specified queue and any messages it contains", + options: [ + { + name: ["--name", "-n"], + description: "The queue name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--fail-not-exist", + description: + "Specify whether to throw an exception if the queue doesn't exist", + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "exists", + description: "Return a boolean indicating whether the queue exists", + options: [ + { + name: ["--name", "-n"], + description: "The queue name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "generate-sas", + description: + "Generate a shared access signature for the queue.Use the returned signature with the sas_token parameter of QueueService", + options: [ + { + name: ["--name", "-n"], + description: "The queue name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--expiry", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes invalid. Do not use if a stored access policy is referenced with --policy-name that specifies this value", + args: { name: "expiry" }, + }, + { + name: "--https-only", + description: + "Only permit requests made with the HTTPS protocol. If omitted, requests from both the HTTP and HTTPS protocol are permitted", + args: { name: "https-only" }, + }, + { + name: "--ip", + description: + "Specifies the IP address or range of IP addresses from which to accept requests. Supports only IPv4 style addresses", + args: { name: "ip" }, + }, + { + name: "--permissions", + description: + "The permissions the SAS grants. Allowed values: (a)dd (p)rocess (r)ead (u)pdate. Do not use if a stored access policy is referenced with --id that specifies this value. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--policy-name", + description: + "The name of a stored access policy within the share's ACL", + args: { name: "policy-name" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--start", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes valid. Do not use if a stored access policy is referenced with --policy-name that specifies this value. Defaults to the time of the request", + args: { name: "start" }, + }, + ], + }, + { + name: "list", + description: "List queues in a storage account", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--include-metadata", + description: + "Specify that queue metadata be returned in the response", + }, + { + name: "--marker", + description: + "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--num-results", + description: + 'Specify the maximum number to return. If the request does not specify num_results, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remaining of the results. Provide "*" to return all', + args: { name: "num-results" }, + }, + { + name: "--prefix", + description: + "Filter the results to return only queues whose names begin with the specified prefix", + args: { name: "prefix" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--show-next-marker", + description: "Show nextMarker in result when specified", + args: { name: "show-next-marker" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "stats", + description: + "Retrieve statistics related to replication for the Queue service. It is only available when read-access geo-redundant replication is enabled for the storage account", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "metadata", + description: "Manage the metadata for a storage queue", + subcommands: [ + { + name: "show", + description: + "Return all user-defined metadata for the specified queue", + options: [ + { + name: ["--name", "-n"], + description: "The queue name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: "Set user-defined metadata on the specified queue", + options: [ + { + name: ["--name", "-n"], + description: "The queue name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "policy", + description: "Manage shared access policies for a storage queue", + subcommands: [ + { + name: "create", + description: + "Create a stored access policy on the containing object", + options: [ + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--queue-name", "-q"], + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--expiry", + description: "Expiration UTC datetime in (Y-m-d'T'H:M:S'Z')", + args: { name: "expiry" }, + }, + { + name: "--permissions", + description: + "Allowed values: (a)dd (p)rocess (r)ead (u)pdate. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--start", + description: + "Start UTC datetime (Y-m-d'T'H:M:S'Z'). Defaults to time of request", + args: { name: "start" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a stored access policy on a containing object", + options: [ + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--queue-name", "-q"], + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "list", + description: "List stored access policies on a containing object", + options: [ + { + name: ["--queue-name", "-q"], + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "show", + description: "Show a stored access policy on a containing object", + options: [ + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--queue-name", "-q"], + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "update", + description: "Set a stored access policy on a containing object", + options: [ + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--queue-name", "-q"], + description: "The queue name", + args: { name: "queue-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--expiry", + description: "Expiration UTC datetime in (Y-m-d'T'H:M:S'Z')", + args: { name: "expiry" }, + }, + { + name: "--permissions", + description: + "Allowed values: (a)dd (p)rocess (r)ead (u)pdate. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--queue-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "queue-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--start", + description: + "Start UTC datetime (Y-m-d'T'H:M:S'Z'). Defaults to time of request", + args: { name: "start" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "share", + description: "Manage file shares", + subcommands: [ + { + name: "close-handle", + description: "Close file handles of a file share", + options: [ + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--close-all", + description: + "Whether or not to close all the file handles. Specify close-all or a specific handle-id", + args: { name: "close-all", suggestions: ["false", "true"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--handle-id", + description: + "Specifies handle ID opened on the file or directory to be closed. Astrix (‘*’) is a wildcard that specifies all handles", + args: { name: "handle-id" }, + }, + { + name: ["--path", "-p"], + description: + "The path to the file/directory within the file share", + args: { name: "path" }, + }, + { + name: "--recursive", + description: + "Boolean that specifies if operation should apply to the directory specified in the URI, its files, with its subdirectories and their files", + args: { name: "recursive", suggestions: ["false", "true"] }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "create", + description: "Creates a new share under the specified account", + options: [ + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--fail-on-exist", + description: + "Specify whether to throw an exception when the share exists. False by default", + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--quota", + description: + "Specifies the maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120)", + args: { name: "quota" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete", + description: "Mark the specified share for deletion", + options: [ + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--delete-snapshots", + description: + "Specify the deletion strategy when the share has snapshots", + args: { name: "delete-snapshots", suggestions: ["include"] }, + }, + { + name: "--fail-not-exist", + description: + "Specify whether to throw an exception when the share doesn't exists. False by default", + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable.Specify this argument to delete a specific snapshot only. delete_snapshots must be None if this is specified", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "exists", + description: "Check for the existence of a file share", + options: [ + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "generate-sas", + description: "Generate a shared access signature for the share", + options: [ + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--cache-control", + description: + "Response header value for Cache-Control when resource is accessed using this shared access signature", + args: { name: "cache-control" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--content-disposition", + description: + "Response header value for Content-Disposition when resource is accessed using this shared access signature", + args: { name: "content-disposition" }, + }, + { + name: "--content-encoding", + description: + "Response header value for Content-Encoding when resource is accessed using this shared access signature", + args: { name: "content-encoding" }, + }, + { + name: "--content-language", + description: + "Response header value for Content-Language when resource is accessed using this shared access signature", + args: { name: "content-language" }, + }, + { + name: "--content-type", + description: + "Response header value for Content-Type when resource is accessed using this shared access signature", + args: { name: "content-type" }, + }, + { + name: "--expiry", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes invalid. Do not use if a stored access policy is referenced with --policy-name that specifies this value", + args: { name: "expiry" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--https-only", + description: + "Only permit requests made with the HTTPS protocol. If omitted, requests from both the HTTP and HTTPS protocol are permitted", + args: { name: "https-only" }, + }, + { + name: "--ip", + description: + "Specifies the IP address or range of IP addresses from which to accept requests. Supports only IPv4 style addresses", + args: { name: "ip" }, + }, + { + name: "--permissions", + description: + "The permissions the SAS grants. Allowed values: (c)reate (d)elete (l)ist (r)ead (w)rite. Do not use if a stored access policy is referenced with --id that specifies this value. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--policy-name", + description: + "The name of a stored access policy within the share's ACL", + args: { name: "policy-name" }, + }, + { + name: "--start", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes valid. Do not use if a stored access policy is referenced with --policy-name that specifies this value. Defaults to the time of the request", + args: { name: "start" }, + }, + ], + }, + { + name: "list", + description: "List the file shares in a storage account", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--include-metadata", + description: + "Specifies that share metadata be returned in the response", + }, + { + name: "--include-snapshots", + description: + "Specifies that share snapshots be returned in the response", + }, + { + name: "--marker", + description: + "An opaque continuation token. This value can be retrieved from the next_marker field of a previous generator object if num_results was specified and that generator has finished enumerating results. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--num-results", + description: + 'Specify the maximum number to return. If the request does not specify num_results, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remaining of the results. Provide "*" to return all', + args: { name: "num-results" }, + }, + { + name: "--prefix", + description: + "Filter the results to return only blobs whose name begins with the specified prefix", + args: { name: "prefix" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "list-handle", + description: "List file handles of a file share", + options: [ + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: ["--enable-file-backup-request-intent", "--backup-intent"], + description: + "Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories", + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--marker", + description: + "An opaque continuation token. This value can be retrieved from the next_marker field of a previous generator object if max_results was specified and that generator has finished enumerating results. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--max-results", + description: + "Specifies the maximum number of handles taken on files and/or directories to return. If the request does not specify max_results or specifies a value greater than 5,000, the server will return up to 5,000 items. Setting max_results to a value less than or equal to zero results in error response code 400 (Bad Request)", + args: { name: "max-results" }, + }, + { + name: ["--path", "-p"], + description: + "The path to the file/directory within the file share", + args: { name: "path" }, + }, + { + name: "--recursive", + description: + "Boolean that specifies if operation should apply to the directory specified in the URI, its files, with its subdirectories and their files", + args: { name: "recursive", suggestions: ["false", "true"] }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "show", + description: + "Return all user-defined metadata and system properties for the specified share", + options: [ + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "snapshot", + description: + "Create a snapshot of an existing share under the specified account", + options: [ + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--quota", + description: + "Specifies the maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5 TB (5120 GB)", + args: { name: "quota" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "stats", + description: + "Get the approximate size of the data stored on the share, rounded up to the nearest gigabyte", + options: [ + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: "Set service-defined properties for the specified share", + options: [ + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--quota", + description: + "Specifies the maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5 TB (5120 GB)", + args: { name: "quota" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "url", + description: "Create a URI to access a file share", + options: [ + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--protocol", + description: "Protocol to use", + args: { name: "protocol", suggestions: ["http", "https"] }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { name: "--unc", description: "Output UNC network path" }, + ], + }, + { + name: "metadata", + description: "Manage the metadata of a file share", + subcommands: [ + { + name: "show", + description: + "Return all user-defined metadata for the specified share", + options: [ + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--snapshot", + description: + "A string that represents the snapshot version, if applicable", + args: { name: "snapshot" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + { + name: "update", + description: + "Set one or more user-defined name-value pairs for the specified share", + options: [ + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--timeout", + description: + "Request timeout in seconds. Applies to each call to the service", + args: { name: "timeout" }, + }, + ], + }, + ], + }, + { + name: "policy", + description: "Manage shared access policies of a storage file share", + subcommands: [ + { + name: "create", + description: + "Create a stored access policy on the containing object", + options: [ + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--expiry", + description: "Expiration UTC datetime in (Y-m-d'T'H:M:S'Z')", + args: { name: "expiry" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--permissions", + description: + "Allowed values: (c)reate (d)elete (l)ist (r)ead (w)rite. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--start", + description: + "Start UTC datetime (Y-m-d'T'H:M:S'Z'). Defaults to time of request", + args: { name: "start" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a stored access policy on a containing object", + options: [ + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "list", + description: "List stored access policies on a containing object", + options: [ + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "show", + description: "Show a stored access policy on a containing object", + options: [ + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + ], + }, + { + name: "update", + description: "Set a stored access policy on a containing object", + options: [ + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--share-name", "-s"], + description: "The file share name", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--expiry", + description: "Expiration UTC datetime in (Y-m-d'T'H:M:S'Z')", + args: { name: "expiry" }, + }, + { + name: "--file-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "file-endpoint" }, + }, + { + name: "--permissions", + description: + "Allowed values: (c)reate (d)elete (l)ist (r)ead (w)rite. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--start", + description: + "Start UTC datetime (Y-m-d'T'H:M:S'Z'). Defaults to time of request", + args: { name: "start" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "share-rm", + description: + "Manage Azure file shares using the Microsoft.Storage resource provider", + subcommands: [ + { + name: "create", + description: + "Create a new Azure file share under the specified storage account", + options: [ + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: "--access-tier", + description: + "Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium", + args: { + name: "access-tier", + suggestions: ["Cool", "Hot", "Premium", "TransactionOptimized"], + }, + }, + { + name: "--enabled-protocols", + description: + "Immutable property for file shares protocol. NFS protocol will be only available for premium file shares (file shares in the FileStorage account type)", + args: { name: "enabled-protocols", suggestions: ["NFS", "SMB"] }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs that is associated with the share. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: ["--quota", "-q"], + description: + "The maximum size of the share in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400", + args: { name: "quota" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--root-squash", + description: + "Reduction of the access rights for the remote superuser", + args: { + name: "root-squash", + suggestions: ["AllSquash", "NoRootSquash", "RootSquash"], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete the specified Azure file share or share snapshot", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--include", + description: + "Optional. Valid values are: snapshots, leased-snapshots, none. The default value is snapshots. For 'snapshots', the file share is deleted including all of its file share snapshots. If the file share contains leased-snapshots, the deletion fails. For 'leased-snapshots', the file share is deleted included all of its file share snapshots (leased/unleased). For 'none', the file share is deleted if it has no share snapshots. If the file share contains any snapshots (leased or unleased), the deletion fails. Default value is None", + args: { name: "include" }, + }, + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--snapshot", + description: + "The DateTime value that specifies the share snapshot to retrieve", + args: { name: "snapshot" }, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "exists", + description: "Check for the existence of an Azure file share", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "List the Azure file shares under the specified storage account", + options: [ + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: "--include-deleted", + description: "Include soft deleted file shares when specified", + args: { name: "include-deleted" }, + }, + { + name: "--include-snapshot", + description: "Include file share snapshots when specified", + args: { name: "include-snapshot" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "restore", + description: + "Restore a file share within a valid retention days if share soft delete is enabled", + options: [ + { + name: "--deleted-version", + description: + "Identify the version of the deleted share that will be restored", + args: { name: "deleted-version" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The file share name. Identify the name of the deleted share that will be restored", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--restored-name", + description: + "A new file share name to be restored. If not specified, deleted share name will be used", + args: { name: "restored-name" }, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show the properties for a specified Azure file share or share snapshot", + options: [ + { + name: "--expand", + description: + "Optional, used to expand the properties within share's properties. Valid values are: stats. Should be passed as a string with delimiter ','. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--snapshot", + description: + "The DateTime value that specifies the share snapshot to retrieve", + args: { name: "snapshot" }, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "snapshot", + description: + "Create a snapshot of an existing share under the specified account", + options: [ + { + name: "--access-tier", + description: + "Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium", + args: { + name: "access-tier", + suggestions: ["Cool", "Hot", "Premium", "TransactionOptimized"], + }, + }, + { + name: "--enabled-protocols", + description: + "Immutable property for file shares protocol. NFS protocol will be only available for premium file shares (file shares in the FileStorage account type)", + args: { name: "enabled-protocols", suggestions: ["NFS", "SMB"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs that is associated with the share. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + }, + { + name: ["--quota", "-q"], + description: + "The maximum size of the share in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400", + args: { name: "quota" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--root-squash", + description: + "Reduction of the access rights for the remote superuser", + args: { + name: "root-squash", + suggestions: ["AllSquash", "NoRootSquash", "RootSquash"], + }, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stats", + description: "Get the usage bytes of the data stored on the share", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the properties for an Azure file share", + options: [ + { + name: "--access-tier", + description: + "Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium", + args: { + name: "access-tier", + suggestions: ["Cool", "Hot", "Premium", "TransactionOptimized"], + }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--metadata", + description: + "Metadata in space-separated key=value pairs that is associated with the share. This overwrites any existing metadata", + args: { name: "metadata" }, + }, + { + name: ["--name", "-n"], + description: "The file share name", + args: { name: "name" }, + }, + { + name: ["--quota", "-q"], + description: + "The maximum size of the share in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400", + args: { name: "quota" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--root-squash", + description: + "Reduction of the access rights for the remote superuser", + args: { + name: "root-squash", + suggestions: ["AllSquash", "NoRootSquash", "RootSquash"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "table", + description: "Manage NoSQL key-value storage", + subcommands: [ + { + name: "create", + description: "Create a new table in the storage account", + options: [ + { + name: ["--name", "-n"], + description: "The table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--fail-on-exist", + description: "Throw an exception if the table already exists", + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified table and any data it contains", + options: [ + { + name: ["--name", "-n"], + description: "The table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--fail-not-exist", + description: "Throw an exception if the table does not exist", + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "exists", + description: "Return a boolean indicating whether the table exists", + options: [ + { + name: ["--name", "-n"], + description: "The table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "generate-sas", + description: "Generate a shared access signature for the table", + options: [ + { + name: ["--name", "-n"], + description: "The table name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--end-pk", + description: + "The maximum partition key accessible with this shared access signature. endpk must accompany endrk. Key values are inclusive. If omitted, there is no upper bound on the table entities that can be accessed", + args: { name: "end-pk" }, + }, + { + name: "--end-rk", + description: + "The maximum row key accessible with this shared access signature. endpk must accompany endrk. Key values are inclusive. If omitted, there is no upper bound on the table entities that can be accessed", + args: { name: "end-rk" }, + }, + { + name: "--expiry", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes invalid. Do not use if a stored access policy is referenced with --policy-name that specifies this value", + args: { name: "expiry" }, + }, + { + name: "--https-only", + description: + "Only permit requests made with the HTTPS protocol. If omitted, requests from both the HTTP and HTTPS protocol are permitted", + args: { name: "https-only" }, + }, + { + name: "--ip", + description: + "Specifies the IP address or range of IP addresses from which to accept requests. Supports only IPv4 style addresses", + args: { name: "ip" }, + }, + { + name: "--permissions", + description: + "The permissions the SAS grants. Allowed values: (r)ead/query (a)dd (u)pdate (d)elete. Do not use if a stored access policy is referenced with --id that specifies this value. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--policy-name", + description: + "The name of a stored access policy within the table's ACL", + args: { name: "policy-name" }, + }, + { + name: "--start", + description: + "Specifies the UTC datetime (Y-m-d'T'H:M'Z') at which the SAS becomes valid. Do not use if a stored access policy is referenced with --policy-name that specifies this value. Defaults to the time of the request", + args: { name: "start" }, + }, + { + name: "--start-pk", + description: + "The minimum partition key accessible with this shared access signature. startpk must accompany startrk. Key values are inclusive. If omitted, there is no lower bound on the table entities that can be accessed", + args: { name: "start-pk" }, + }, + { + name: "--start-rk", + description: + "The minimum row key accessible with this shared access signature. startpk must accompany startrk. Key values are inclusive. If omitted, there is no lower bound on the table entities that can be accessed", + args: { name: "start-rk" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "list", + description: "List tables in a storage account", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--marker", + description: + "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. If specified, this generator will begin returning results from the point where the previous generator stopped", + args: { name: "marker" }, + }, + { + name: "--num-results", + description: "The maximum number of tables to return", + args: { name: "num-results" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--show-next-marker", + description: "Show nextMarker in result when specified", + args: { name: "show-next-marker" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "stats", + description: + "Retrieves statistics related to replication for the Table service", + options: [ + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--auth-mode", + description: + 'The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE', + args: { name: "auth-mode", suggestions: ["key", "login"] }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "policy", + description: "Manage shared access policies of a storage table", + subcommands: [ + { + name: "create", + description: + "Create a stored access policy on the containing object", + options: [ + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--table-name", "-t"], + description: "The table name", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--expiry", + description: "Expiration UTC datetime in (Y-m-d'T'H:M:S'Z')", + args: { name: "expiry" }, + }, + { + name: "--permissions", + description: + "Allowed values: (r)ead/query (a)dd (u)pdate (d)elete. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--start", + description: + "Start UTC datetime (Y-m-d'T'H:M:S'Z'). Defaults to time of request", + args: { name: "start" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a stored access policy on a containing object", + options: [ + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--table-name", "-t"], + description: "The table name", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "list", + description: "List stored access policies on a containing object", + options: [ + { + name: ["--table-name", "-t"], + description: "The table name", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "show", + description: "Show a stored access policy on a containing object", + options: [ + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--table-name", "-t"], + description: "The table name", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + { + name: "update", + description: "Set a stored access policy on a containing object", + options: [ + { + name: ["--name", "-n"], + description: "The stored access policy name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--table-name", "-t"], + description: "The table name", + args: { name: "table-name" }, + isRequired: true, + }, + { + name: "--account-key", + description: + "Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY", + args: { name: "account-key" }, + }, + { + name: "--account-name", + description: + "Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit", + args: { name: "account-name" }, + }, + { + name: "--connection-string", + description: + "Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING", + args: { name: "connection-string" }, + }, + { + name: "--expiry", + description: "Expiration UTC datetime in (Y-m-d'T'H:M:S'Z')", + args: { name: "expiry" }, + }, + { + name: "--permissions", + description: + "Allowed values: (r)ead/query (a)dd (u)pdate (d)elete. Can be combined", + args: { name: "permissions" }, + }, + { + name: "--sas-token", + description: + "A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN", + args: { name: "sas-token" }, + }, + { + name: "--start", + description: + "Start UTC datetime (Y-m-d'T'H:M:S'Z'). Defaults to time of request", + args: { name: "start" }, + }, + { + name: "--table-endpoint", + description: + "Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT", + args: { name: "table-endpoint" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/storagesync.ts b/src/az/2.53.0/storagesync.ts new file mode 100644 index 000000000000..e4ee99d546f2 --- /dev/null +++ b/src/az/2.53.0/storagesync.ts @@ -0,0 +1,875 @@ +const completion: Fig.Spec = { + name: "storagesync", + description: "Manage Azure File Sync", + subcommands: [ + { + name: "create", + description: "Create a new storage sync service", + options: [ + { + name: ["--name", "-n"], + description: "The name of storage sync service", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a given storage sync service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of storage sync service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all storage sync services in a resource group or a subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the properties for a given storage sync service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of storage sync service", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "registered-server", + description: "Manage registered server", + subcommands: [ + { + name: "delete", + description: + "Unregister an on-premises server from it's storage sync service", + options: [ + { + name: "--server-id", + description: "GUID identifying the on-premises server", + args: { name: "server-id" }, + isRequired: true, + }, + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all registered servers for a given storage sync service", + options: [ + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the properties for a given registered server", + options: [ + { + name: "--server-id", + description: "GUID identifying the on-premises server", + args: { name: "server-id" }, + isRequired: true, + }, + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a registered server is met", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--server-id", + description: "GUID identifying the on-premises server", + args: { name: "server-id" }, + isRequired: true, + }, + { + name: "--storage-sync-service-name", + description: "Name of Storage Sync Service resource", + args: { name: "storage-sync-service-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sync-group", + description: "Manage sync group", + subcommands: [ + { + name: "create", + description: "Create a new sync group", + options: [ + { + name: ["--name", "-n"], + description: "The name of sync group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "delete", + description: "Delete a given sync group", + options: [ + { + name: ["--name", "-n"], + description: "The name of sync group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all sync groups in a storage sync service", + options: [ + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the properties for a given sync group", + options: [ + { + name: ["--name", "-n"], + description: "The name of sync group", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "cloud-endpoint", + description: "Manage cloud endpoint", + subcommands: [ + { + name: "create", + description: "Create a new cloud endpoint", + options: [ + { + name: ["--name", "-n"], + description: "The name of cloud endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: "--sync-group-name", + description: "The name of sync group", + args: { name: "sync-group-name" }, + isRequired: true, + }, + { + name: "--azure-file-share-name", + description: "The name of Azure file share", + args: { name: "azure-file-share-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-account", + description: "The name or ID of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--storage-account-tenant-id", + description: + "The id of the tenant that the storage account is in", + args: { name: "storage-account-tenant-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete a given cloud endpoint", + options: [ + { + name: ["--name", "-n"], + description: "The name of cloud endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: "--sync-group-name", + description: "The name of sync group", + args: { name: "sync-group-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all cloud endpoints in a sync group", + options: [ + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: "--sync-group-name", + description: "The name of sync group", + args: { name: "sync-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the properties for a given cloud endpoint", + options: [ + { + name: ["--name", "-n"], + description: "The name of cloud endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: "--sync-group-name", + description: "The name of sync group", + args: { name: "sync-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a cloud endpoint is met", + options: [ + { + name: ["--name", "-n"], + description: "The name of cloud endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-sync-service-name", + description: "Name of Storage Sync Service resource", + args: { name: "storage-sync-service-name" }, + isRequired: true, + }, + { + name: "--sync-group-name", + description: "Name of Sync Group resource", + args: { name: "sync-group-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "server-endpoint", + description: "Manage server endpoint", + subcommands: [ + { + name: "create", + description: "Create a new server endpoint", + options: [ + { + name: ["--name", "-n"], + description: "The name of server endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--registered-server-id", "--server-id"], + description: + "The resource id or GUID of the registered server", + args: { name: "registered-server-id" }, + isRequired: true, + }, + { + name: "--server-local-path", + description: "The local path of the registered server", + args: { name: "server-local-path" }, + isRequired: true, + }, + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: "--sync-group-name", + description: "The name of sync group", + args: { name: "sync-group-name" }, + isRequired: true, + }, + { + name: "--cloud-tiering", + description: + "A switch to enable or disable cloud tiering. With cloud tiering, infrequently used or accessed files can be tiered to Azure Files", + args: { name: "cloud-tiering", suggestions: ["off", "on"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--offline-data-transfer", + description: + "A switch to enable or disable offline data transfer. With offline data transfer, you can use alternative means, like Azure Data Box, to transport large amounts of files into Azure without network", + args: { + name: "offline-data-transfer", + suggestions: ["off", "on"], + }, + }, + { + name: "--offline-data-transfer-share-name", + description: + "The name of Azure file share that is used to transfer data offline", + args: { name: "offline-data-transfer-share-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--tier-files-older-than-days", + description: + "The days that the files are older than will be tiered", + args: { name: "tier-files-older-than-days" }, + }, + { + name: "--volume-free-space-percent", + description: + "The amount of free space to reserve on the volume on which the server endpoint is located. For example, if volume free space is set to 50% on a volume that has a single server endpoint, roughly half the amount of data is tiered to Azure Files. Regardless of whether cloud tiering is enabled, your Azure file share always has a complete copy of the data in the sync group", + args: { name: "volume-free-space-percent" }, + }, + ], + }, + { + name: "delete", + description: "Delete a given server endpoint", + options: [ + { + name: ["--name", "-n"], + description: "The name of server endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: "--sync-group-name", + description: "The name of sync group", + args: { name: "sync-group-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all server endpoints in a sync group", + options: [ + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: "--sync-group-name", + description: "The name of sync group", + args: { name: "sync-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show the properties for a given server endpoint", + options: [ + { + name: ["--name", "-n"], + description: "The name of server endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: "--sync-group-name", + description: "The name of sync group", + args: { name: "sync-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "update", + description: "Update the properties for a given server endpoint", + options: [ + { + name: ["--name", "-n"], + description: "The name of server endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--storage-sync-service", + description: "The name or ID of storage sync service", + args: { name: "storage-sync-service" }, + isRequired: true, + }, + { + name: "--sync-group-name", + description: "The name of sync group", + args: { name: "sync-group-name" }, + isRequired: true, + }, + { + name: "--cloud-tiering", + description: + "A switch to enable or disable cloud tiering. With cloud tiering, infrequently used or accessed files can be tiered to Azure Files", + args: { name: "cloud-tiering", suggestions: ["off", "on"] }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--offline-data-transfer", + description: + "A switch to enable or disable offline data transfer. With offline data transfer, you can use alternative means, like Azure Data Box, to transport large amounts of files into Azure without network", + args: { + name: "offline-data-transfer", + suggestions: ["off", "on"], + }, + }, + { + name: "--offline-data-transfer-share-name", + description: + "The name of Azure file share that is used to transfer data offline", + args: { name: "offline-data-transfer-share-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--tier-files-older-than-days", + description: + "The days that the files are older than will be tiered", + args: { name: "tier-files-older-than-days" }, + }, + { + name: "--volume-free-space-percent", + description: + "The amount of free space to reserve on the volume on which the server endpoint is located. For example, if volume free space is set to 50% on a volume that has a single server endpoint, roughly half the amount of data is tiered to Azure Files. Regardless of whether cloud tiering is enabled, your Azure file share always has a complete copy of the data in the sync group", + args: { name: "volume-free-space-percent" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a server endpoint is met", + options: [ + { + name: ["--name", "-n"], + description: "The name of server endpoint", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--storage-sync-service-name", + description: "Name of Storage Sync Service resource", + args: { name: "storage-sync-service-name" }, + isRequired: true, + }, + { + name: "--sync-group-name", + description: "Name of Sync Group resource", + args: { name: "sync-group-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/stream-analytics.ts b/src/az/2.53.0/stream-analytics.ts new file mode 100644 index 000000000000..b2b724cb2f3f --- /dev/null +++ b/src/az/2.53.0/stream-analytics.ts @@ -0,0 +1,2083 @@ +const completion: Fig.Spec = { + name: "stream-analytics", + description: "Manage Stream Analytics", + subcommands: [ + { + name: "cluster", + description: "Manage cluster with stream analytics", + subcommands: [ + { + name: "create", + description: + "Create a Stream Analytics Cluster or replaces an already existing cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The ETag of the resource. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new resource to be created, but to prevent updating an existing record set. Other values will result in a 412 Pre-condition Failed response", + args: { name: "if-none-match" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--sku", + description: + "The SKU of the cluster. This determines the size/capacity of the cluster. Required on PUT (CreateOrUpdate) requests", + args: { name: "sku" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all of the clusters in the given resource group. And Lists all of the clusters in the given subscription", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-streaming-job", + description: "List all of the streaming jobs in the given cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get information about the specified cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update an existing cluster. This can be used to partially update (ie. update one or two properties) a cluster without affecting the rest of the cluster definition", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "The ETag of the resource. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: + "The SKU of the cluster. This determines the size/capacity of the cluster. Required on PUT (CreateOrUpdate) requests", + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the stream-analytics cluster is met", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "function", + description: "Manage function with stream analytics", + subcommands: [ + { + name: "create", + description: + "Create a function or replaces an already existing function under an existing streaming job", + options: [ + { + name: ["--function-name", "--name", "-n"], + description: "The name of the function", + args: { name: "function-name" }, + isRequired: true, + }, + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The ETag of the function. Omit this value to always overwrite the current function. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new function to be created, but to prevent updating an existing function. Other values will result in a 412 Pre-condition Failed response", + args: { name: "if-none-match" }, + }, + { + name: "--properties", + description: + "The properties that are associated with a function. Expected value: json-string/json-file/@json-file", + args: { name: "properties" }, + }, + ], + }, + { + name: "delete", + description: "Delete a function from the streaming job", + options: [ + { + name: ["--function-name", "--name", "-n"], + description: "The name of the function", + args: { name: "function-name" }, + isRequired: true, + }, + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "inspect", + description: + "Retrieve the default definition of a function based on the parameters specified", + options: [ + { + name: ["--function-name", "--name", "-n"], + description: "The name of the function", + args: { name: "function-name" }, + isRequired: true, + }, + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--ml-properties", + description: + "The parameters needed to retrieve the default function definition for an Azure Machine Learning web service function", + args: { name: "ml-properties" }, + }, + ], + }, + { + name: "list", + description: + "List all of the functions under the specified streaming job", + options: [ + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--select", + description: + "The $select OData query parameter. This is a comma-separated list of structural properties to include in the response, or \"\" to include all properties. By default, all properties are returned except diagnostics. Currently only accepts '' as a valid value", + args: { name: "select" }, + }, + ], + }, + { + name: "show", + description: "Get details about the specified function", + options: [ + { + name: ["--function-name", "--name", "-n"], + description: "The name of the function", + args: { name: "function-name" }, + isRequired: true, + }, + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "test", + description: + "Test if the information provided for a function is valid. This can range from testing the connection to the underlying web service behind the function or making sure the function code provided is syntactically correct", + options: [ + { + name: ["--function-name", "--name", "-n"], + description: "The name of the function", + args: { name: "function-name" }, + isRequired: true, + }, + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--properties", + description: + "The properties that are associated with a function. Expected value: json-string/json-file/@json-file", + args: { name: "properties" }, + }, + ], + }, + { + name: "update", + description: + "Update an existing function under an existing streaming job. This can be used to partially update (ie. update one or two properties) a function without affecting the rest the job or function definition", + options: [ + { + name: ["--function-name", "--name", "-n"], + description: "The name of the function", + args: { name: "function-name" }, + isRequired: true, + }, + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The ETag of the function. Omit this value to always overwrite the current function. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--properties", + description: + "The properties that are associated with a function. Expected value: json-string/json-file/@json-file", + args: { name: "properties" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the stream-analytics function is met", + options: [ + { + name: ["--function-name", "--name", "-n"], + description: "The name of the function", + args: { name: "function-name" }, + isRequired: true, + }, + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "input", + description: "Manage input with stream analytics", + subcommands: [ + { + name: "create", + description: + "Create an input or replaces an already existing input under an existing streaming job", + options: [ + { + name: ["--input-name", "--name", "-n"], + description: "The name of the input", + args: { name: "input-name" }, + isRequired: true, + }, + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The ETag of the input. Omit this value to always overwrite the current input. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new input to be created, but to prevent updating an existing input. Other values will result in a 412 Pre-condition Failed response", + args: { name: "if-none-match" }, + }, + { + name: "--properties", + description: + "The properties that are associated with an input. Required on PUT (CreateOrReplace) requests. Expected value: json-string/json-file/@json-file", + args: { name: "properties" }, + }, + ], + }, + { + name: "delete", + description: "Delete an input from the streaming job", + options: [ + { + name: ["--input-name", "--name", "-n"], + description: "The name of the input", + args: { name: "input-name" }, + isRequired: true, + }, + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all of the inputs under the specified streaming job", + options: [ + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--select", + description: + "The $select OData query parameter. This is a comma-separated list of structural properties to include in the response, or \"\" to include all properties. By default, all properties are returned except diagnostics. Currently only accepts '' as a valid value", + args: { name: "select" }, + }, + ], + }, + { + name: "show", + description: "Get details about the specified input", + options: [ + { + name: ["--input-name", "--name", "-n"], + description: "The name of the input", + args: { name: "input-name" }, + isRequired: true, + }, + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "test", + description: + "Test whether an input’s datasource is reachable and usable by the Azure Stream Analytics service", + options: [ + { + name: ["--input-name", "--name", "-n"], + description: "The name of the input", + args: { name: "input-name" }, + isRequired: true, + }, + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--properties", + description: + "The properties that are associated with an input. Required on PUT (CreateOrReplace) requests. Expected value: json-string/json-file/@json-file", + args: { name: "properties" }, + }, + ], + }, + { + name: "update", + description: + "Update an existing input under an existing streaming job. This can be used to partially update (ie. update one or two properties) an input without affecting the rest the job or input definition", + options: [ + { + name: ["--input-name", "--name", "-n"], + description: "The name of the input", + args: { name: "input-name" }, + isRequired: true, + }, + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The ETag of the input. Omit this value to always overwrite the current input. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--properties", + description: + "The properties that are associated with an input. Required on PUT (CreateOrReplace) requests. Expected value: json-string/json-file/@json-file", + args: { name: "properties" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the stream-analytics input is met", + options: [ + { + name: ["--input-name", "--name", "-n"], + description: "The name of the input", + args: { name: "input-name" }, + isRequired: true, + }, + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "job", + description: "Manage streaming job with stream analytics", + subcommands: [ + { + name: "create", + description: + "Create a streaming job or replaces an already existing streaming job", + options: [ + { + name: ["--job-name", "--name", "-n"], + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--arrival-max-delay", + description: + "The maximum tolerable delay in seconds where events arriving late could be included. Supported range is -1 to 1814399 (20.23:59:59 days) and -1 is used to specify wait indefinitely. If the property is absent, it is interpreted to have a value of -1", + args: { name: "arrival-max-delay" }, + }, + { + name: "--compatibility-level", + description: + "Controls certain runtime behaviors of the streaming job", + args: { + name: "compatibility-level", + suggestions: ["1.0", "1.2"], + }, + }, + { + name: "--content-storage-policy", + description: + "Valid values are JobStorageAccount and SystemAccount. If set to JobStorageAccount, this requires the user to also specify jobStorageAccount property", + args: { + name: "content-storage-policy", + suggestions: ["JobStorageAccount", "SystemAccount"], + }, + }, + { + name: "--data-locale", + description: + "The data locale of the stream analytics job. Value should be the name of a supported .NET Culture from the set https://msdn.microsoft.com/en-us/library/system.globalization.culturetypes(v=vs.110).aspx. Defaults to 'en-US' if none specified", + args: { name: "data-locale" }, + }, + { + name: "--functions", + description: + "A list of one or more functions for the streaming job. The name property for each function is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual transformation. Expected value: json-string/json-file/@json-file", + args: { name: "functions" }, + }, + { + name: "--id", + description: "The resource id of cluster", + args: { name: "id" }, + }, + { + name: "--identity", + description: + "Describe the system-assigned managed identity assigned to this job that can be used to authenticate with inputs and outputs", + args: { name: "identity" }, + }, + { + name: "--if-match", + description: + "The ETag of the streaming job. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new streaming job to be created, but to prevent updating an existing record set. Other values will result in a 412 Pre-condition Failed response", + args: { name: "if-none-match" }, + }, + { + name: "--inputs", + description: + "A list of one or more inputs to the streaming job. The name property for each input is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual input. Expected value: json-string/json-file/@json-file", + args: { name: "inputs" }, + }, + { + name: "--job-storage-account", + description: + "The properties that are associated with an Azure Storage account with MSI", + args: { name: "job-storage-account" }, + }, + { + name: "--job-type", + description: + "Describes the type of the job. Valid modes are Cloud and 'Edge'", + args: { name: "job-type", suggestions: ["Cloud", "Edge"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--order-max-delay", + description: + "The maximum tolerable delay in seconds where out-of-order events can be adjusted to be back in order", + args: { name: "order-max-delay" }, + }, + { + name: "--out-of-order-policy", + description: + "Indicates the policy to apply to events that arrive out of order in the input event stream", + args: { + name: "out-of-order-policy", + suggestions: ["Adjust", "Drop"], + }, + }, + { + name: "--output-error-policy", + description: + "Indicates the policy to apply to events that arrive at the output and cannot be written to the external storage due to being malformed (missing column values, column values of wrong type or size)", + args: { + name: "output-error-policy", + suggestions: ["Drop", "Stop"], + }, + }, + { + name: "--output-start-mode", + description: + "This property should only be utilized when it is desired that the job be started immediately upon creation. Value may be JobStartTime, CustomTime, or LastOutputEventTime to indicate whether the starting point of the output event stream should start whenever the job is started, start at a custom user time stamp specified via the outputStartTime property, or start from the last event output time", + args: { + name: "output-start-mode", + suggestions: [ + "CustomTime", + "JobStartTime", + "LastOutputEventTime", + ], + }, + }, + { + name: "--output-start-time", + description: + "Value is either an ISO-8601 formatted time stamp that indicates the starting point of the output event stream, or null to indicate that the output event stream will start whenever the streaming job is started. This property must have a value if outputStartMode is set to CustomTime", + args: { name: "output-start-time" }, + }, + { + name: "--outputs", + description: + "A list of one or more outputs for the streaming job. The name property for each output is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual output. Expected value: json-string/json-file/@json-file", + args: { name: "outputs" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--transformation", + description: + "Indicate the query and the number of streaming units to use for the streaming job. The name property of the transformation is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual transformation", + args: { name: "transformation" }, + }, + ], + }, + { + name: "delete", + description: "Delete a streaming job", + options: [ + { + name: ["--job-name", "--name", "-n"], + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all of the streaming jobs in the specified resource group. And Lists all of the streaming jobs in the given subscription", + options: [ + { + name: "--expand", + description: + "The $expand OData query parameter. This is a comma-separated list of additional streaming job properties to include in the response, beyond the default set returned when this parameter is absent. The default set is all streaming job properties other than 'inputs', 'transformation', 'outputs', and 'functions'", + args: { name: "expand" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "scale", + description: "Scale a streaming job when the job is running", + options: [ + { + name: ["--job-name", "--name", "-n"], + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--streaming-units", + description: + "Specifies the number of streaming units that the streaming job will scale to", + args: { name: "streaming-units" }, + }, + ], + }, + { + name: "show", + description: "Get details about the specified streaming job", + options: [ + { + name: ["--job-name", "--name", "-n"], + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "The $expand OData query parameter. This is a comma-separated list of additional streaming job properties to include in the response, beyond the default set returned when this parameter is absent. The default set is all streaming job properties other than 'inputs', 'transformation', 'outputs', and 'functions'", + args: { name: "expand" }, + }, + ], + }, + { + name: "start", + description: + "Start a streaming job. Once a job is started it will start processing input events and produce output", + options: [ + { + name: ["--job-name", "--name", "-n"], + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--output-start-mode", + description: + "Value may be JobStartTime, CustomTime, or LastOutputEventTime to indicate whether the starting point of the output event stream should start whenever the job is started, start at a custom user time stamp specified via the outputStartTime property, or start from the last event output time", + args: { + name: "output-start-mode", + suggestions: [ + "CustomTime", + "JobStartTime", + "LastOutputEventTime", + ], + }, + }, + { + name: "--output-start-time", + description: + "Value is either an ISO-8601 formatted time stamp that indicates the starting point of the output event stream, or null to indicate that the output event stream will start whenever the streaming job is started. This property must have a value if outputStartMode is set to CustomTime", + args: { name: "output-start-time" }, + }, + ], + }, + { + name: "stop", + description: + "Stop a running streaming job. This will cause a running streaming job to stop processing input events and producing output", + options: [ + { + name: ["--job-name", "--name", "-n"], + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "update", + description: + "Update an existing streaming job. This can be used to partially update (ie. update one or two properties) a streaming job without affecting the rest the job definition", + options: [ + { + name: ["--job-name", "--name", "-n"], + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--arrival-max-delay", + description: + "The maximum tolerable delay in seconds where events arriving late could be included. Supported range is -1 to 1814399 (20.23:59:59 days) and -1 is used to specify wait indefinitely. If the property is absent, it is interpreted to have a value of -1", + args: { name: "arrival-max-delay" }, + }, + { + name: "--compatibility-level", + description: + "Controls certain runtime behaviors of the streaming job", + args: { + name: "compatibility-level", + suggestions: ["1.0", "1.2"], + }, + }, + { + name: "--content-storage-policy", + description: + "Valid values are JobStorageAccount and SystemAccount. If set to JobStorageAccount, this requires the user to also specify jobStorageAccount property", + args: { + name: "content-storage-policy", + suggestions: ["JobStorageAccount", "SystemAccount"], + }, + }, + { + name: "--data-locale", + description: + "The data locale of the stream analytics job. Value should be the name of a supported .NET Culture from the set https://msdn.microsoft.com/en-us/library/system.globalization.culturetypes(v=vs.110).aspx. Defaults to 'en-US' if none specified", + args: { name: "data-locale" }, + }, + { + name: "--functions", + description: + "A list of one or more functions for the streaming job. The name property for each function is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual transformation. Expected value: json-string/json-file/@json-file", + args: { name: "functions" }, + }, + { + name: "--id", + description: "The resource id of cluster", + args: { name: "id" }, + }, + { + name: "--identity", + description: + "Describe the system-assigned managed identity assigned to this job that can be used to authenticate with inputs and outputs", + args: { name: "identity" }, + }, + { + name: "--if-match", + description: + "The ETag of the streaming job. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--inputs", + description: + "A list of one or more inputs to the streaming job. The name property for each input is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual input. Expected value: json-string/json-file/@json-file", + args: { name: "inputs" }, + }, + { + name: "--job-storage-account", + description: + "The properties that are associated with an Azure Storage account with MSI", + args: { name: "job-storage-account" }, + }, + { + name: "--job-type", + description: + "Describes the type of the job. Valid modes are Cloud and 'Edge'", + args: { name: "job-type", suggestions: ["Cloud", "Edge"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--order-max-delay", + description: + "The maximum tolerable delay in seconds where out-of-order events can be adjusted to be back in order", + args: { name: "order-max-delay" }, + }, + { + name: "--out-of-order-policy", + description: + "Indicates the policy to apply to events that arrive out of order in the input event stream", + args: { + name: "out-of-order-policy", + suggestions: ["Adjust", "Drop"], + }, + }, + { + name: "--output-error-policy", + description: + "Indicates the policy to apply to events that arrive at the output and cannot be written to the external storage due to being malformed (missing column values, column values of wrong type or size)", + args: { + name: "output-error-policy", + suggestions: ["Drop", "Stop"], + }, + }, + { + name: "--output-start-mode", + description: + "This property should only be utilized when it is desired that the job be started immediately upon creation. Value may be JobStartTime, CustomTime, or LastOutputEventTime to indicate whether the starting point of the output event stream should start whenever the job is started, start at a custom user time stamp specified via the outputStartTime property, or start from the last event output time", + args: { + name: "output-start-mode", + suggestions: [ + "CustomTime", + "JobStartTime", + "LastOutputEventTime", + ], + }, + }, + { + name: "--output-start-time", + description: + "Value is either an ISO-8601 formatted time stamp that indicates the starting point of the output event stream, or null to indicate that the output event stream will start whenever the streaming job is started. This property must have a value if outputStartMode is set to CustomTime", + args: { name: "output-start-time" }, + }, + { + name: "--outputs", + description: + "A list of one or more outputs for the streaming job. The name property for each output is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual output. Expected value: json-string/json-file/@json-file", + args: { name: "outputs" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--transformation", + description: + "Indicate the query and the number of streaming units to use for the streaming job. The name property of the transformation is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual transformation", + args: { name: "transformation" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the stream-analytics job is met", + options: [ + { + name: ["--job-name", "--name", "-n"], + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "The $expand OData query parameter. This is a comma-separated list of additional streaming job properties to include in the response, beyond the default set returned when this parameter is absent. The default set is all streaming job properties other than 'inputs', 'transformation', 'outputs', and 'functions'", + args: { name: "expand" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "output", + description: "Manage output with stream analytics", + subcommands: [ + { + name: "create", + description: + "Create an output or replaces an already existing output under an existing streaming job", + options: [ + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--output-name", "--name", "-n"], + description: "The name of the output", + args: { name: "output-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--datasource", + description: + "Describes the data source that output will be written to. Required on PUT (CreateOrReplace) requests. Expected value: json-string/json-file/@json-file", + args: { name: "datasource" }, + }, + { + name: "--if-match", + description: + "The ETag of the output. Omit this value to always overwrite the current output. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new output to be created, but to prevent updating an existing output. Other values will result in a 412 Pre-condition Failed response", + args: { name: "if-none-match" }, + }, + { + name: "--serialization", + description: + "Describes how data from an input is serialized or how data is serialized when written to an output. Required on PUT (CreateOrReplace) requests. Expected value: json-string/json-file/@json-file", + args: { name: "serialization" }, + }, + { + name: "--size-window", + description: + "The size window to constrain a Stream Analytics output to", + args: { name: "size-window" }, + }, + { + name: "--time-window", + description: + "The time frame for filtering Stream Analytics job outputs", + args: { name: "time-window" }, + }, + ], + }, + { + name: "delete", + description: "Delete an output from the streaming job", + options: [ + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--output-name", "--name", "-n"], + description: "The name of the output", + args: { name: "output-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all of the outputs under the specified streaming job", + options: [ + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--select", + description: + "The $select OData query parameter. This is a comma-separated list of structural properties to include in the response, or \"\" to include all properties. By default, all properties are returned except diagnostics. Currently only accepts '' as a valid value", + args: { name: "select" }, + }, + ], + }, + { + name: "show", + description: "Get details about the specified output", + options: [ + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--output-name", "--name", "-n"], + description: "The name of the output", + args: { name: "output-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "test", + description: + "Test whether an output’s datasource is reachable and usable by the Azure Stream Analytics service", + options: [ + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--output-name", "--name", "-n"], + description: "The name of the output", + args: { name: "output-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--datasource", + description: + "Describes the data source that output will be written to. Required on PUT (CreateOrReplace) requests. Expected value: json-string/json-file/@json-file", + args: { name: "datasource" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--serialization", + description: + "Describes how data from an input is serialized or how data is serialized when written to an output. Required on PUT (CreateOrReplace) requests. Expected value: json-string/json-file/@json-file", + args: { name: "serialization" }, + }, + { + name: "--size-window", + description: + "The size window to constrain a Stream Analytics output to", + args: { name: "size-window" }, + }, + { + name: "--time-window", + description: + "The time frame for filtering Stream Analytics job outputs", + args: { name: "time-window" }, + }, + ], + }, + { + name: "update", + description: + "Update an existing output under an existing streaming job. This can be used to partially update (ie. update one or two properties) an output without affecting the rest the job or output definition", + options: [ + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--output-name", "--name", "-n"], + description: "The name of the output", + args: { name: "output-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--datasource", + description: + "Describes the data source that output will be written to. Required on PUT (CreateOrReplace) requests. Expected value: json-string/json-file/@json-file", + args: { name: "datasource" }, + }, + { + name: "--if-match", + description: + "The ETag of the output. Omit this value to always overwrite the current output. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--serialization", + description: + "Describes how data from an input is serialized or how data is serialized when written to an output. Required on PUT (CreateOrReplace) requests. Expected value: json-string/json-file/@json-file", + args: { name: "serialization" }, + }, + { + name: "--size-window", + description: + "The size window to constrain a Stream Analytics output to", + args: { name: "size-window" }, + }, + { + name: "--time-window", + description: + "The time frame for filtering Stream Analytics job outputs", + args: { name: "time-window" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the stream-analytics output is met", + options: [ + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--output-name", "--name", "-n"], + description: "The name of the output", + args: { name: "output-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "private-endpoint", + description: "Manage private endpoint with stream analytics", + subcommands: [ + { + name: "create", + description: + "Create a Stream Analytics Private Endpoint or replaces an already existing Private Endpoint", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--private-endpoint-name", "--name", "-n"], + description: "The name of the private endpoint", + args: { name: "private-endpoint-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--connections", + description: + "A list of connections to the remote resource. Immutable after it is set. Expected value: json-string/json-file/@json-file", + args: { name: "connections" }, + }, + { + name: "--if-match", + description: + "The ETag of the resource. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new resource to be created, but to prevent updating an existing record set. Other values will result in a 412 Pre-condition Failed response", + args: { name: "if-none-match" }, + }, + ], + }, + { + name: "delete", + description: "Delete the specified private endpoint", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-name", "--name", "-n"], + description: "The name of the private endpoint", + args: { name: "private-endpoint-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the private endpoints in the cluster", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get information about the specified Private Endpoint", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-endpoint-name", "--name", "-n"], + description: "The name of the private endpoint", + args: { name: "private-endpoint-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the stream-analytics private-endpoint is met", + options: [ + { + name: "--cluster-name", + description: "The name of the cluster", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-endpoint-name", "--name", "-n"], + description: "The name of the private endpoint", + args: { name: "private-endpoint-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "subscription", + description: "Manage subscription with stream analytics", + subcommands: [ + { + name: "inspect", + description: + "Retrieve the subscription's current quota information in a particular region", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "transformation", + description: "Manage transformation with stream analytics", + subcommands: [ + { + name: "create", + description: + "Create a transformation or replaces an already existing transformation under an existing streaming job", + options: [ + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--transformation-name", "--name", "-n"], + description: "The name of the transformation", + args: { name: "transformation-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The ETag of the transformation. Omit this value to always overwrite the current transformation. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new transformation to be created, but to prevent updating an existing transformation. Other values will result in a 412 Pre-condition Failed response", + args: { name: "if-none-match" }, + }, + { + name: "--saql", + description: + "Specifies the query that will be run in the streaming job. You can learn more about the Stream Analytics Query Language (SAQL) here: https://msdn.microsoft.com/library/azure/dn834998 . Required on PUT (CreateOrReplace) requests", + args: { name: "saql" }, + }, + { + name: "--streaming-units", + description: + "Specifies the number of streaming units that the streaming job uses", + args: { name: "streaming-units" }, + }, + { + name: "--valid-streaming-units", + description: + "Specifies the valid streaming units a streaming job can scale to", + args: { name: "valid-streaming-units" }, + }, + ], + }, + { + name: "show", + description: "Get details about the specified transformation", + options: [ + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--transformation-name", "--name", "-n"], + description: "The name of the transformation", + args: { name: "transformation-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update an existing transformation under an existing streaming job. This can be used to partially update (ie. update one or two properties) a transformation without affecting the rest the job or transformation definition", + options: [ + { + name: "--job-name", + description: "The name of the streaming job", + args: { name: "job-name" }, + isRequired: true, + }, + { + name: ["--transformation-name", "--name", "-n"], + description: "The name of the transformation", + args: { name: "transformation-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--if-match", + description: + "The ETag of the transformation. Omit this value to always overwrite the current transformation. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--saql", + description: + "Specifies the query that will be run in the streaming job. You can learn more about the Stream Analytics Query Language (SAQL) here: https://msdn.microsoft.com/library/azure/dn834998 . Required on PUT (CreateOrReplace) requests", + args: { name: "saql" }, + }, + { + name: "--streaming-units", + description: + "Specifies the number of streaming units that the streaming job uses", + args: { name: "streaming-units" }, + }, + { + name: "--valid-streaming-units", + description: + "Specifies the valid streaming units a streaming job can scale to", + args: { name: "valid-streaming-units" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/support.ts b/src/az/2.53.0/support.ts new file mode 100644 index 000000000000..9c8f8127a1f8 --- /dev/null +++ b/src/az/2.53.0/support.ts @@ -0,0 +1,414 @@ +const completion: Fig.Spec = { + name: "support", + description: "Manage Azure support resource", + subcommands: [ + { + name: "services", + description: "Azure services and related problem categories", + subcommands: [ + { + name: "list", + description: + "Lists all the Azure services available for support ticket creation. Always use the service and it's corresponding problem classification(s) obtained programmatically for support ticket creation. This practice ensures that you always have the most recent set of service and problem classification Ids", + }, + { + name: "show", + description: + "Gets a specific Azure service for support ticket creation", + options: [ + { + name: "--service-name", + description: "Name of Azure service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "problem-classifications", + description: "Problem classifications for an Azure service", + subcommands: [ + { + name: "list", + description: + "Lists all the problem classifications (categories) available for an Azure service. Always use the service and it's corresponding problem classification(s) obtained programmatically for support ticket creation. This practice ensures that you always have the most recent set of service and problem classification Ids", + options: [ + { + name: "--service-name", + description: "Name of Azure service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Gets the problem classification details for an Azure service", + options: [ + { + name: "--problem-classification-name", + description: "Name of problem classification", + args: { name: "problem-classification-name" }, + isRequired: true, + }, + { + name: "--service-name", + description: "Name of Azure service", + args: { name: "service-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "tickets", + description: "Create and manage Azure support ticket", + subcommands: [ + { + name: "create", + description: + "Creates a new support ticket for Quota increase, Technical, Billing, and Subscription Management issues for the specified subscription", + options: [ + { + name: "--contact-country", + description: "Country of the user. This is the ISO Alpha-3 code", + args: { name: "contact-country" }, + isRequired: true, + }, + { + name: "--contact-email", + description: "Primary email address", + args: { name: "contact-email" }, + isRequired: true, + }, + { + name: "--contact-first-name", + description: "First Name", + args: { name: "contact-first-name" }, + isRequired: true, + }, + { + name: "--contact-language", + description: + "Preferred language of support from Azure. Support languages vary based on the severity you choose for your support ticket. This is the standard country-language code", + args: { name: "contact-language" }, + isRequired: true, + }, + { + name: "--contact-last-name", + description: "Last Name", + args: { name: "contact-last-name" }, + isRequired: true, + }, + { + name: "--contact-method", + description: "Preferred contact method", + args: { name: "contact-method", suggestions: ["email", "phone"] }, + isRequired: true, + }, + { + name: "--contact-timezone", + description: + "Time zone of the user. This is the name of the time zone from Microsoft Time Zone Index Values", + args: { name: "contact-timezone" }, + isRequired: true, + }, + { + name: "--description", + description: "Detailed description of the question or issue", + args: { name: "description" }, + isRequired: true, + }, + { + name: "--problem-classification", + description: + "Each Azure service has its own set of issue category called problem classification that corresponds to the type of problem you are experiencing. This parameter is the resource id of ProblemClassification resource", + args: { name: "problem-classification" }, + isRequired: true, + }, + { + name: "--severity", + description: + "A value that indicates the urgency of the case, which in turn determines the response time according to the service level agreement of the technical support plan you have with Azure", + args: { + name: "severity", + suggestions: [ + "critical", + "highestcriticalimpact", + "minimal", + "moderate", + ], + }, + isRequired: true, + }, + { + name: "--ticket-name", + description: "Support ticket name", + args: { name: "ticket-name" }, + isRequired: true, + }, + { + name: "--title", + description: "Title of the support ticket", + args: { name: "title" }, + isRequired: true, + }, + { + name: "--contact-additional-emails", + description: + "Space-separated list of additional email addresses. Additional email addresses will be copied on any correspondence about the support ticket", + args: { name: "contact-additional-emails" }, + }, + { + name: "--contact-phone-number", + description: + "Phone number. This is required if preferred contact method is phone", + args: { name: "contact-phone-number" }, + }, + { + name: "--partner-tenant-id", + description: + 'Partner tenant id for Admin On Behalf of (AOBO) scenario. In addition to logging in to the customer tenant, logging in to the partner tenant (PT) using "az login -t PT --allow-no-subscriptions" is required', + args: { name: "partner-tenant-id" }, + }, + { + name: "--quota-change-payload", + description: + "Space -separated list of serialized payload of the quota increase request corresponding to regions. Visit https://aka.ms/supportrpquotarequestpayload for details", + args: { name: "quota-change-payload" }, + }, + { + name: "--quota-change-regions", + description: + "Space-separated list of region for which the quota increase request is being made", + args: { name: "quota-change-regions" }, + }, + { + name: "--quota-change-subtype", + description: + "Required for certain quota types when there is a sub type that you are requesting quota increase for. Example: Batch", + args: { name: "quota-change-subtype" }, + }, + { + name: "--quota-change-version", + description: "Quota change request version", + args: { name: "quota-change-version" }, + }, + { + name: "--require-24-by-7-response", + description: + "Indicates if this requires a 24x7 response from Azure. Default is false", + args: { + name: "require-24-by-7-response", + suggestions: ["false", "true"], + }, + }, + { + name: "--start-time", + description: + "Time in UTC datetime (Y-m-d'T'H:M:S'Z') when the problem started. Default is today", + args: { name: "start-time" }, + }, + { + name: "--technical-resource", + description: + "This is the resource id of the Azure service resource for which the support ticket is created", + args: { name: "technical-resource" }, + }, + ], + }, + { + name: "list", + description: + "Lists all the support tickets for an Azure subscription", + options: [ + { + name: "--filters", + description: + 'The filter to apply on the operation. We support OData v4.0 semtantics. Filter can be specified on "Status" property using eq operator or on "CreatedDate" using gt/ge. To combine both filters, use the logical and operator. Default is CreatedDate >= one week', + args: { name: "filters" }, + }, + ], + }, + { + name: "show", + description: "Gets support ticket details for an Azure subscription", + options: [ + { + name: "--ticket-name", + description: "Support ticket name", + args: { name: "ticket-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Updates severity level, status and customer contact information for a support ticket", + options: [ + { + name: "--ticket-name", + description: "Support ticket name", + args: { name: "ticket-name" }, + isRequired: true, + }, + { + name: "--contact-additional-emails", + description: + "Space-separated list of additional email addresses. Additional email addresses will be copied on any correspondence about the support ticket", + args: { name: "contact-additional-emails" }, + }, + { + name: "--contact-country", + description: "Country of the user. This is the ISO Alpha-3 code", + args: { name: "contact-country" }, + }, + { + name: "--contact-email", + description: "Primary email address", + args: { name: "contact-email" }, + }, + { + name: "--contact-first-name", + description: "First Name", + args: { name: "contact-first-name" }, + }, + { + name: "--contact-language", + description: + "Preferred language of support from Azure. Support languages vary based on the severity you choose for your support ticket. This is the standard country-language code", + args: { name: "contact-language" }, + }, + { + name: "--contact-last-name", + description: "Last Name", + args: { name: "contact-last-name" }, + }, + { + name: "--contact-method", + description: "Preferred contact method", + args: { name: "contact-method", suggestions: ["email", "phone"] }, + }, + { + name: "--contact-phone-number", + description: + "Phone number. This is required if preferred contact method is phone", + args: { name: "contact-phone-number" }, + }, + { + name: "--contact-timezone", + description: + "Time zone of the user. This is the name of the time zone from Microsoft Time Zone Index Values", + args: { name: "contact-timezone" }, + }, + { + name: "--severity", + description: + "A value that indicates the urgency of the case, which in turn determines the response time according to the service level agreement of the technical support plan you have with Azure", + args: { + name: "severity", + suggestions: [ + "critical", + "highestcriticalimpact", + "minimal", + "moderate", + ], + }, + }, + { + name: "--status", + description: "Status to be updated on the ticket", + args: { name: "status", suggestions: ["closed", "open"] }, + }, + ], + }, + { + name: "communications", + description: "Manage support ticket communications", + subcommands: [ + { + name: "create", + description: + "Adds a new customer communication to an Azure support ticket", + options: [ + { + name: "--communication-body", + description: "Text of the communication", + args: { name: "communication-body" }, + isRequired: true, + }, + { + name: "--communication-name", + description: "Communication name", + args: { name: "communication-name" }, + isRequired: true, + }, + { + name: "--communication-subject", + description: "Subject of the communication", + args: { name: "communication-subject" }, + isRequired: true, + }, + { + name: "--ticket-name", + description: "Support ticket name", + args: { name: "ticket-name" }, + isRequired: true, + }, + { + name: "--communication-sender", + description: "Email address of the sender", + args: { name: "communication-sender" }, + }, + ], + }, + { + name: "list", + description: + "Lists all communications (attachments not included) for a support ticket", + options: [ + { + name: "--ticket-name", + description: "Support ticket name", + args: { name: "ticket-name" }, + isRequired: true, + }, + { + name: "--filters", + description: + 'The filter to apply on the operation. We support OData v4.0 semtantics. Filter can be specified on "CommunicationType" using eq operator or on "CreatedDate" using gt/ge. To combine both filters, use the logical and operator', + args: { name: "filters" }, + }, + ], + }, + { + name: "show", + description: "Gets communication details for a support ticket", + options: [ + { + name: "--communication-name", + description: "Communication name", + args: { name: "communication-name" }, + isRequired: true, + }, + { + name: "--ticket-name", + description: "Support ticket name", + args: { name: "ticket-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/survey.ts b/src/az/2.53.0/survey.ts new file mode 100644 index 000000000000..cd307cea0350 --- /dev/null +++ b/src/az/2.53.0/survey.ts @@ -0,0 +1,6 @@ +const completion: Fig.Spec = { + name: "survey", + description: "Take Azure CLI survey", +}; + +export default completion; diff --git a/src/az/2.53.0/synapse.ts b/src/az/2.53.0/synapse.ts new file mode 100644 index 000000000000..ce1acdc53981 --- /dev/null +++ b/src/az/2.53.0/synapse.ts @@ -0,0 +1,10719 @@ +const completion: Fig.Spec = { + name: "synapse", + description: "Manage and operate Synapse Workspace, Spark Pool, SQL Pool", + subcommands: [ + { + name: "activity-run", + description: "Synapse activity-run", + subcommands: [ + { + name: "query-by-pipeline-run", + description: "Query activity runs based on input filter conditions", + options: [ + { + name: "--last-updated-after", + description: + "The time at or after which the run event was updated in 'ISO 8601' format", + args: { name: "last-updated-after" }, + isRequired: true, + }, + { + name: "--last-updated-before", + description: + "The time at or before which the run event was updated in 'ISO 8601' format", + args: { name: "last-updated-before" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The pipeline name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--run-id", + description: "The pipeline run identifier", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--continuation-token", + description: + "The continuation token for getting the next page of results. Null for first page", + args: { name: "continuation-token" }, + }, + { + name: "--filters", + description: "List of filters", + args: { name: "filters" }, + }, + { + name: "--order-by", + description: "List of OrderBy option", + args: { name: "order-by" }, + }, + ], + }, + ], + }, + { + name: "ad-only-auth", + description: + "Manage Azure Active Directly only Authentication settings for this Synapse workspace", + subcommands: [ + { + name: "disable", + description: + "Disable Azure Active Directly only Authentication for this Synapse workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "enable", + description: + "Enable Azure Active Directly only Authentication for this Synapse workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "get", + description: + "Get a specific Azure Active Directly only Authentication property", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "data-flow", + description: "Manage Synapse's data flows", + subcommands: [ + { + name: "create", + description: "Create a data flow", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The data flow name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a data flow", + options: [ + { + name: ["--name", "-n"], + description: "The data flow name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List data flows", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Set an exist data flow", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The data flow name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: "Get a data flow", + options: [ + { + name: ["--name", "-n"], + description: "The data flow name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "dataset", + description: "Manage Synapse's datasets", + subcommands: [ + { + name: "create", + description: "Create a dataset", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The dataset name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a dataset", + options: [ + { + name: ["--name", "-n"], + description: "The dataset name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List datasets", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Update an exist dataset", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The dataset name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: "Get a dataset", + options: [ + { + name: ["--name", "-n"], + description: "The dataset name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an exist dataset", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The dataset name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + ], + }, + { + name: "integration-runtime", + description: "Manage Synapse's integration runtimes", + subcommands: [ + { + name: "create", + description: "Create an integration runtime", + options: [ + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--type", + description: "The integration runtime type", + args: { name: "type", suggestions: ["Managed", "SelfHosted"] }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--compute-type", + description: + "Compute type of the data flow cluster which will execute data flow job", + args: { + name: "compute-type", + suggestions: ["ComputeOptimized", "General", "MemoryOptimized"], + }, + }, + { + name: "--core-count", + description: + "Core count of the data flow cluster which will execute data flow job", + args: { name: "core-count" }, + }, + { + name: "--description", + description: "The integration runtime description", + args: { name: "description" }, + }, + { + name: "--if-match", + description: + "ETag of the integration runtime entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + { + name: ["--location", "-l"], + description: "The integration runtime location", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--time-to-live", + description: + "Time to live (in minutes) setting of the data flow cluster which will execute data flow job", + args: { name: "time-to-live" }, + }, + ], + }, + { + name: "delete", + description: "Delete an integration runtime", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-connection-info", + description: "Get the integration runtime connection infomation", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "get-monitoring-data", + description: "Get metric data for a self-hosted integration runtime", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "get-status", + description: + "Gets detailed status information for an integration runtime", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list", + description: "List integration runtimes", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list-auth-key", + description: "Get keys for a self-hosted integration runtime", + options: [ + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "regenerate-auth-key", + description: "Regenerate self-hosted integration runtime key", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-name", + description: "The name of the authentication key to regenerate", + args: { name: "key-name", suggestions: ["authKey1", "authKey2"] }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show", + description: "Get an integration runtime", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-none-match", + description: + "ETag of the integration runtime entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. Default value is None", + args: { name: "if-none-match" }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "start", + description: "Start an SSIS integration runtime", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "stop", + description: "Stop an SSIS integration runtime", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "sync-credentials", + description: + "Synchronize credentials among integration runtime nodes", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update an integration runtime", + options: [ + { + name: "--auto-update", + description: + "Enable or disable the self-hosted integration runtime auto-update", + args: { name: "auto-update", suggestions: ["Off", "On"] }, + isRequired: true, + }, + { + name: "--update-delay-offset", + description: + "The time of the day for the self-hosted integration runtime auto-update", + args: { name: "update-delay-offset" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "upgrade", + description: "Upgrade self-hosted integration runtime", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a integration runtime is met", + options: [ + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--if-none-match", + description: + "ETag of the integration runtime entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. Default value is None", + args: { name: "if-none-match" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "managed", + description: + "Manage integration runtime with synapse sub group managed", + subcommands: [ + { + name: "create", + description: "Create an managed integration runtime", + options: [ + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--compute-type", + description: + "Compute type of the data flow cluster which will execute data flow job", + args: { + name: "compute-type", + suggestions: [ + "ComputeOptimized", + "General", + "MemoryOptimized", + ], + }, + }, + { + name: "--core-count", + description: + "Core count of the data flow cluster which will execute data flow job", + args: { name: "core-count" }, + }, + { + name: "--description", + description: "The integration runtime description", + args: { name: "description" }, + }, + { + name: "--if-match", + description: + "ETag of the integration runtime entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + { + name: ["--location", "-l"], + description: "The integration runtime location", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--time-to-live", + description: + "Time to live (in minutes) setting of the data flow cluster which will execute data flow job", + args: { name: "time-to-live" }, + }, + ], + }, + ], + }, + { + name: "self-hosted", + description: + "Manage integration runtime with synapse sub group self-hosted", + subcommands: [ + { + name: "create", + description: "Create an self-hosted integration runtime", + options: [ + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--description", + description: "The integration runtime description", + args: { name: "description" }, + }, + { + name: "--if-match", + description: + "ETag of the integration runtime entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update", + args: { name: "if-match" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + ], + }, + ], + }, + { + name: "integration-runtime-node", + description: "Manage Synapse's self-hosted integration runtime nodes", + subcommands: [ + { + name: "delete", + description: "Remove a self-hosted integration runtime node", + options: [ + { + name: "--node-name", + description: "The integration runtime node name", + args: { name: "node-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-ip-address", + description: "Get self-hosted integration runtime node ip", + options: [ + { + name: "--node-name", + description: "The integration runtime node name", + args: { name: "node-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show", + description: "Get self-hosted integration runtime node information", + options: [ + { + name: "--node-name", + description: "The integration runtime node name", + args: { name: "node-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update self-hosted integration runtime node", + options: [ + { + name: "--auto-update", + description: + "Enable or disable the self-hosted integration runtime auto-update", + args: { name: "auto-update", suggestions: ["Off", "On"] }, + isRequired: true, + }, + { + name: "--node-name", + description: "The integration runtime node name", + args: { name: "node-name" }, + isRequired: true, + }, + { + name: "--update-delay-offset", + description: + "The time of the day for the self-hosted integration runtime auto-update", + args: { name: "update-delay-offset" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The integration runtime name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "kql-script", + description: "Manage script with kusto", + subcommands: [ + { + name: "create", + description: "Creates a KQL script", + options: [ + { + name: ["--file", "-f"], + description: "The KQL query file path", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the KQL script", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--kusto-database-name", + description: "The name of the Kusto database", + args: { name: "kusto-database-name" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Deletes a KQL script", + options: [ + { + name: ["--name", "-n"], + description: "The name of the KQL script", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "export", + description: "Export KQL scripts", + options: [ + { + name: "--output-folder", + description: "The name of the output folder", + args: { name: "output-folder" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the KQL script", + args: { name: "name" }, + }, + ], + }, + { + name: "import", + description: "Creates a KQL script", + options: [ + { + name: ["--file", "-f"], + description: "The KQL query file path", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the KQL script", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--kusto-database-name", + description: "The name of the Kusto database", + args: { name: "kusto-database-name" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: "List KQL scripts", + options: [ + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a KQL script", + options: [ + { + name: ["--name", "-n"], + description: "The name of the KQL script", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a KQL script is met", + options: [ + { + name: ["--name", "-n"], + description: "The name of the KQL script", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "kusto", + description: "Manage synapse kusto", + subcommands: [ + { + name: "attached-database-configuration", + description: + "Manage kusto pool attached database configuration with synapse", + subcommands: [ + { + name: "create", + description: "Create an attached database configuration", + options: [ + { + name: "--attached-database-configuration-name", + description: + "The name of the attached database configuration", + args: { name: "attached-database-configuration-name" }, + isRequired: true, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: + "The name of the database which you would like to attach, use * if you want to follow all current and future databases", + args: { name: "database-name" }, + }, + { + name: "--default-principals-modification-kind", + description: "The default principals modification kind", + args: { + name: "default-principals-modification-kind", + suggestions: ["None", "Replace", "Union"], + }, + }, + { + name: "--kusto-pool-resource-id", + description: + "The resource id of the kusto pool where the databases you would like to attach reside", + args: { name: "kusto-pool-resource-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--table-level-sharing-properties", + description: "Table level sharing specifications", + args: { name: "table-level-sharing-properties" }, + }, + ], + }, + { + name: "delete", + description: + "Deletes the attached database configuration with the given name", + options: [ + { + name: "--attached-database-configuration-name", + description: + "The name of the attached database configuration", + args: { name: "attached-database-configuration-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Returns the list of attached database configurations of the given Kusto Pool", + options: [ + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Returns an attached database configuration", + options: [ + { + name: "--attached-database-configuration-name", + description: + "The name of the attached database configuration", + args: { name: "attached-database-configuration-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update an attached database configuration", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--attached-database-configuration-name", + description: + "The name of the attached database configuration", + args: { name: "attached-database-configuration-name" }, + }, + { + name: "--database-name", + description: + "The name of the database which you would like to attach, use * if you want to follow all current and future databases", + args: { name: "database-name" }, + }, + { + name: "--default-principals-modification-kind", + description: "The default principals modification kind", + args: { + name: "default-principals-modification-kind", + suggestions: ["None", "Replace", "Union"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--kusto-pool-resource-id", + description: + "The resource id of the kusto pool where the databases you would like to attach reside", + args: { name: "kusto-pool-resource-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--table-level-sharing-properties", + description: "Table level sharing specifications", + args: { name: "table-level-sharing-properties" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the synapse kusto attached-database-configuration is met", + options: [ + { + name: "--attached-database-configuration-name", + description: + "The name of the attached database configuration", + args: { name: "attached-database-configuration-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "data-connection", + description: "Manage kusto pool data connection with synapse", + subcommands: [ + { + name: "delete", + description: "Deletes the data connection with the given name", + options: [ + { + name: "--data-connection-name", + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Returns the list of data connections of the given Kusto pool database", + options: [ + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Returns a data connection", + options: [ + { + name: "--data-connection-name", + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the synapse kusto data-connection is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { + name: "--data-connection-name", + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "event-grid", + description: + "Manage kusto pool data connection with synapse sub group event-grid", + subcommands: [ + { + name: "create", + description: "Create a data connection", + options: [ + { + name: "--data-connection-name", + description: "The name of the data connection", + args: { name: "data-connection-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--blob-storage-event-type", + description: + "The name of blob storage event type to process", + args: { + name: "blob-storage-event-type", + suggestions: [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobRenamed", + ], + }, + }, + { + name: "--consumer-group", + description: "The event hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--event-hub-resource-id", + description: + "The resource ID where the event grid is configured to send events", + args: { name: "event-hub-resource-id" }, + }, + { + name: "--ignore-first-record", + description: + "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file", + args: { + name: "ignore-first-record", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--storage-account-resource-id", + description: + "The resource ID of the storage account where the data resides", + args: { name: "storage-account-resource-id" }, + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + ], + }, + { + name: "update", + description: "Updates a data connection", + options: [ + { + name: "--blob-storage-event-type", + description: + "The name of blob storage event type to process", + args: { + name: "blob-storage-event-type", + suggestions: [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobRenamed", + ], + }, + }, + { + name: "--consumer-group", + description: "The event hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: "--data-connection-name", + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + }, + { + name: "--event-hub-resource-id", + description: + "The resource ID where the event grid is configured to send events", + args: { name: "event-hub-resource-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ignore-first-record", + description: + "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file", + args: { + name: "ignore-first-record", + suggestions: ["false", "true"], + }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-account-resource-id", + description: + "The resource ID of the storage account where the data resides", + args: { name: "storage-account-resource-id" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "event-hub", + description: + "Manage kusto pool data connection with synapse sub group event-hub", + subcommands: [ + { + name: "create", + description: "Create a data connection", + options: [ + { + name: "--data-connection-name", + description: "The name of the data connection", + args: { name: "data-connection-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--compression", + description: "The event hub messages compression type", + args: { + name: "compression", + suggestions: ["GZip", "None"], + }, + }, + { + name: "--consumer-group", + description: "The event hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--event-hub-resource-id", + description: + "The resource ID of the event hub to be used to create a data connection", + args: { name: "event-hub-resource-id" }, + }, + { + name: "--event-system-properties", + description: "System properties of the event hub", + args: { name: "event-system-properties" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--managed-identity-resource-id", + description: + "The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub", + args: { name: "managed-identity-resource-id" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + ], + }, + { + name: "update", + description: "Updates a data connection", + options: [ + { + name: "--compression", + description: "The event hub messages compression type", + args: { + name: "compression", + suggestions: ["GZip", "None"], + }, + }, + { + name: "--consumer-group", + description: "The event hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: "--data-connection-name", + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + }, + { + name: "--event-hub-resource-id", + description: + "The resource ID of the event hub to be used to create a data connection", + args: { name: "event-hub-resource-id" }, + }, + { + name: "--event-system-properties", + description: "System properties of the event hub", + args: { name: "event-system-properties" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--managed-identity-resource-id", + description: + "The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub", + args: { name: "managed-identity-resource-id" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "iot-hub", + description: + "Manage kusto pool data connection with synapse sub group iot-hub", + subcommands: [ + { + name: "create", + description: "Create a data connection", + options: [ + { + name: "--data-connection-name", + description: "The name of the data connection", + args: { name: "data-connection-name" }, + isRequired: true, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--consumer-group", + description: "The iot hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--event-system-properties", + description: "System properties of the iot hub", + args: { name: "event-system-properties" }, + }, + { + name: "--iot-hub-resource-id", + description: + "The resource ID of the Iot hub to be used to create a data connection", + args: { name: "iot-hub-resource-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--shared-access-policy-name", + description: "The name of the share access policy", + args: { name: "shared-access-policy-name" }, + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + ], + }, + { + name: "update", + description: "Updates a data connection", + options: [ + { + name: "--consumer-group", + description: "The iot hub consumer group", + args: { name: "consumer-group" }, + }, + { + name: "--data-connection-name", + description: "The name of the data connection", + args: { name: "data-connection-name" }, + }, + { + name: "--data-format", + description: + "The data format of the message. Optionally the data format can be added to each message", + args: { + name: "data-format", + suggestions: [ + "APACHEAVRO", + "AVRO", + "CSV", + "JSON", + "MULTIJSON", + "ORC", + "PARQUET", + "PSV", + "RAW", + "SCSV", + "SINGLEJSON", + "SOHSV", + "TSV", + "TSVE", + "TXT", + "W3CLOGFILE", + ], + }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + }, + { + name: "--event-system-properties", + description: "System properties of the iot hub", + args: { name: "event-system-properties" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--iot-hub-resource-id", + description: + "The resource ID of the Iot hub to be used to create a data connection", + args: { name: "iot-hub-resource-id" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--mapping-rule-name", + description: + "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message", + args: { name: "mapping-rule-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--shared-access-policy-name", + description: "The name of the share access policy", + args: { name: "shared-access-policy-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--table-name", + description: + "The table where the data should be ingested. Optionally the table information can be added to each message", + args: { name: "table-name" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "database", + description: "Manage kusto pool database with synapse", + subcommands: [ + { + name: "create", + description: "Create a database", + options: [ + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--read-write-database", + description: "Class representing a read write database", + args: { name: "read-write-database" }, + }, + ], + }, + { + name: "delete", + description: "Deletes the database with the given name", + options: [ + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "Returns the list of databases of the given Kusto pool", + options: [ + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Returns a database", + options: [ + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Updates a database", + options: [ + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--read-write-database", + description: "Class representing a read write database", + args: { name: "read-write-database" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the synapse kusto database is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "database-principal-assignment", + description: + "Manage kusto pool database principal assignment with synapse", + subcommands: [ + { + name: "create", + description: "Creates a Kusto pool database principalAssignment", + options: [ + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--principal-id", + description: + "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name", + args: { name: "principal-id" }, + }, + { + name: "--principal-type", + description: "Principal type", + args: { + name: "principal-type", + suggestions: ["App", "Group", "User"], + }, + }, + { + name: "--role", + description: "Database principal role", + args: { + name: "role", + suggestions: [ + "Admin", + "Ingestor", + "Monitor", + "UnrestrictedViewer", + "User", + "Viewer", + ], + }, + }, + { + name: "--tenant-id", + description: "The tenant id of the principal", + args: { name: "tenant-id" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Kusto pool principalAssignment", + options: [ + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all Kusto pool database principalAssignments", + options: [ + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + isRequired: true, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a Kusto pool database principalAssignment", + options: [ + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update a Kusto pool database principalAssignment", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: "--principal-id", + description: + "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name", + args: { name: "principal-id" }, + }, + { + name: "--principal-type", + description: "Principal type", + args: { + name: "principal-type", + suggestions: ["App", "Group", "User"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: "Database principal role", + args: { + name: "role", + suggestions: [ + "Admin", + "Ingestor", + "Monitor", + "UnrestrictedViewer", + "User", + "Viewer", + ], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tenant-id", + description: "The tenant id of the principal", + args: { name: "tenant-id" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the synapse kusto database-principal-assignment is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { + name: "--database-name", + description: "The name of the database in the Kusto pool", + args: { name: "database-name" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "pool", + description: "Manage kusto pool with synapse", + subcommands: [ + { + name: "add-language-extension", + description: + "Add a list of language extensions that can run within KQL queries", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--kusto-pool-name", "--name", "-n"], + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--value", + description: "The list of language extensions", + args: { name: "value" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "create", + description: "Create a Kusto pool", + options: [ + { + name: ["--kusto-pool-name", "--name", "-n"], + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: "The SKU of the kusto pool", + args: { name: "sku" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--enable-purge", + description: + "A boolean value that indicates if the purge operations are enabled", + args: { + name: "enable-purge", + suggestions: ["false", "true"], + }, + }, + { + name: ["--enable-streaming-ingest", "--esig"], + description: + "A boolean value that indicates if the streaming ingest is enabled", + args: { + name: "enable-streaming-ingest", + suggestions: ["false", "true"], + }, + }, + { + name: "--if-match", + description: + "The ETag of the Kusto Pool. Omit this value to always overwrite the current Kusto Pool. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: "--if-none-match", + description: + "Set to '*' to allow a new Kusto Pool to be created, but to prevent updating an existing Kusto Pool. Other values will result in a 412 Pre-condition Failed response", + args: { name: "if-none-match" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--optimized-autoscale", + description: "Optimized auto scale definition", + args: { name: "optimized-autoscale" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--workspace-uid", + description: "The workspace unique identifier", + args: { name: "workspace-uid" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Kusto pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--kusto-pool-name", "--name", "-n"], + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "detach-follower-database", + description: + "Detaches all followers of a database owned by this Kusto Pool", + options: [ + { + name: ["--attached-database-configuration-name", "--adcn"], + description: + "Resource name of the attached database configuration in the follower cluster", + args: { name: "attached-database-configuration-name" }, + isRequired: true, + }, + { + name: "--kusto-pool-resource-id", + description: + "Resource id of the cluster that follows a database owned by this cluster", + args: { name: "kusto-pool-resource-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--kusto-pool-name", "--name", "-n"], + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list", + description: "List all Kusto pools", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list-follower-database", + description: + "Returns a list of databases that are owned by this Kusto Pool and were followed by another Kusto Pool", + options: [ + { + name: ["--kusto-pool-name", "--name", "-n"], + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list-language-extension", + description: + "Returns a list of language extensions that can run within KQL queries", + options: [ + { + name: ["--kusto-pool-name", "--name", "-n"], + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list-sku", + description: + "Returns the SKUs available for the provided resource", + options: [ + { + name: ["--kusto-pool-name", "--name", "-n"], + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "remove-language-extension", + description: + "Remove a list of language extensions that can run within KQL queries", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--kusto-pool-name", "--name", "-n"], + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--value", + description: "The list of language extensions", + args: { name: "value" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show", + description: "Gets a Kusto pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--kusto-pool-name", "--name", "-n"], + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "start", + description: "Starts a Kusto pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--kusto-pool-name", "--name", "-n"], + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "stop", + description: "Stops a Kusto pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--kusto-pool-name", "--name", "-n"], + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update a Kusto Kusto Pool", + options: [ + { + name: "--enable-purge", + description: + "A boolean value that indicates if the purge operations are enabled", + args: { + name: "enable-purge", + suggestions: ["false", "true"], + }, + }, + { + name: ["--enable-streaming-ingest", "--esig"], + description: + "A boolean value that indicates if the streaming ingest is enabled", + args: { + name: "enable-streaming-ingest", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--if-match", + description: + "The ETag of the Kusto Pool. Omit this value to always overwrite the current Kusto Pool. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes", + args: { name: "if-match" }, + }, + { + name: ["--kusto-pool-name", "--name", "-n"], + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--optimized-autoscale", + description: "Optimized auto scale definition", + args: { name: "optimized-autoscale" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: "The SKU of the kusto pool", + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: "--workspace-uid", + description: "The workspace unique identifier", + args: { name: "workspace-uid" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the synapse kusto pool is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--kusto-pool-name", "--name", "-n"], + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "pool-principal-assignment", + description: "Manage kusto pool principal assignment with synapse", + subcommands: [ + { + name: "create", + description: "Create a Kusto pool principalAssignment", + options: [ + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--principal-id", + description: + "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name", + args: { name: "principal-id" }, + }, + { + name: "--principal-type", + description: "Principal type", + args: { + name: "principal-type", + suggestions: ["App", "Group", "User"], + }, + }, + { + name: "--role", + description: "Cluster principal role", + args: { + name: "role", + suggestions: ["AllDatabasesAdmin", "AllDatabasesViewer"], + }, + }, + { + name: "--tenant-id", + description: "The tenant id of the principal", + args: { name: "tenant-id" }, + }, + ], + }, + { + name: "delete", + description: "Deletes a Kusto pool principalAssignment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "Lists all Kusto pool principalAssignments", + options: [ + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Gets a Kusto pool principalAssignment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update a Kusto pool principalAssignment", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: "--principal-id", + description: + "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name", + args: { name: "principal-id" }, + }, + { + name: "--principal-type", + description: "Principal type", + args: { + name: "principal-type", + suggestions: ["App", "Group", "User"], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: "Cluster principal role", + args: { + name: "role", + suggestions: ["AllDatabasesAdmin", "AllDatabasesViewer"], + }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tenant-id", + description: "The tenant id of the principal", + args: { name: "tenant-id" }, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the synapse kusto pool-principal-assignment is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--kusto-pool-name", + description: "The name of the Kusto pool", + args: { name: "kusto-pool-name" }, + }, + { + name: "--principal-assignment-name", + description: "The name of the Kusto principalAssignment", + args: { name: "principal-assignment-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "kusto-operation", + description: "Manage kusto operation with synapse", + subcommands: [ + { + name: "list", + description: + "Lists available operations for the Kusto sub-resources inside Microsoft.Synapse provider", + }, + ], + }, + { + name: "link-connection", + description: "Manage Synapse's link connection", + subcommands: [ + { + name: "create", + description: "Create a link connection", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The link connection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete a link connection", + options: [ + { + name: ["--name", "-n"], + description: "The link connection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "edit-link-tables", + description: "Edit tables for a link connection", + options: [ + { + name: ["--file", "-f"], + description: + "The Edit link-tables file path, The file format can be viewed using --help", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The link connection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "get-link-tables-status", + description: "Query the link table status of a link connection", + options: [ + { + name: ["--name", "-n"], + description: "The link connection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--continuation-token", + description: "Continuation token to query table status", + args: { name: "continuation-token" }, + }, + { + name: "--max-segment-count", + description: "Max segment count to query table status", + args: { name: "max-segment-count" }, + }, + ], + }, + { + name: "get-status", + description: + "Check a link connection status after start/stop a link connection", + options: [ + { + name: ["--name", "-n"], + description: "The link connection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List link connections in a synapse workspace", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list-link-tables", + description: "List the link tables of a link connection", + options: [ + { + name: ["--name", "-n"], + description: "The link connection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a link connection", + options: [ + { + name: ["--name", "-n"], + description: "The link connection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "start", + description: "Start a link connnection", + options: [ + { + name: ["--name", "-n"], + description: "The link connection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "stop", + description: "Stop a link connection", + options: [ + { + name: ["--name", "-n"], + description: "The link connection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a link connection", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The link connection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "update-landing-zone-credential", + description: "Update landing zone credetial of a link connection", + options: [ + { + name: ["--name", "-n"], + description: "The link connection name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--sas-token", + description: "Value of secure string", + args: { name: "sas-token" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "linked-service", + description: "Manage Synapse's linked services", + subcommands: [ + { + name: "create", + description: "Create a linked service", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The linked service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a linked service", + options: [ + { + name: ["--name", "-n"], + description: "The linked service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List linked services", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Update an exist linked service", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The linked service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: "Get a linked service", + options: [ + { + name: ["--name", "-n"], + description: "The linked service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an exist linked service", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The linked service name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + ], + }, + { + name: "managed-private-endpoints", + description: "Manage synapse managed private endpoints", + subcommands: [ + { + name: "create", + description: "Create a synapse managed private endpoints", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: "--pe-name", + description: "The managed private endpoint name", + args: { name: "pe-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Delete synapse managed private endpoints in a workspace", + options: [ + { + name: "--pe-name", + description: "The managed private endpoint name", + args: { name: "pe-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List synapse managed private endpoints in a workspace", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a synapse managed private endpoints", + options: [ + { + name: "--pe-name", + description: "The managed private endpoint name", + args: { name: "pe-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "notebook", + description: "Manage Synapse's notebooks", + subcommands: [ + { + name: "create", + description: "Create a notebook", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The notebook name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--executor-count", + description: + "Number of executors to be allocated in the specified Spark pool for the job", + args: { name: "executor-count" }, + }, + { + name: "--executor-size", + description: + "Number of core and memory to be used for executors allocated in the specified Spark pool for the job", + args: { + name: "executor-size", + suggestions: ["Large", "Medium", "Small"], + }, + }, + { + name: "--folder-path", + description: + "The folder that this notebook is in. If not specified, this notebook will appear at the root level. Eg: folder/subfolder1", + args: { name: "folder-path" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a notebook", + options: [ + { + name: ["--name", "-n"], + description: "The notebook name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "export", + description: "Export notebooks", + options: [ + { + name: "--output-folder", + description: "The folder where the notebook should be placed", + args: { name: "output-folder" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The notebook name", + args: { name: "name" }, + }, + ], + }, + { + name: "import", + description: "Import a notebook", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The notebook name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--executor-count", + description: + "Number of executors to be allocated in the specified Spark pool for the job", + args: { name: "executor-count" }, + }, + { + name: "--executor-size", + description: + "Number of core and memory to be used for executors allocated in the specified Spark pool for the job", + args: { + name: "executor-size", + suggestions: ["Large", "Medium", "Small"], + }, + }, + { + name: "--folder-path", + description: + "The folder that this notebook is in. If not specified, this notebook will appear at the root level. Eg: folder/subfolder1", + args: { name: "folder-path" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + }, + ], + }, + { + name: "list", + description: "List notebooks", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Set an exist notebook", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The notebook name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--executor-count", + description: + "Number of executors to be allocated in the specified Spark pool for the job", + args: { name: "executor-count" }, + }, + { + name: "--executor-size", + description: + "Number of core and memory to be used for executors allocated in the specified Spark pool for the job", + args: { + name: "executor-size", + suggestions: ["Large", "Medium", "Small"], + }, + }, + { + name: "--folder-path", + description: + "The folder that this notebook is in. If not specified, this notebook will appear at the root level. Eg: folder/subfolder1", + args: { name: "folder-path" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + }, + ], + }, + { + name: "show", + description: "Get a notebook", + options: [ + { + name: ["--name", "-n"], + description: "The notebook name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "pipeline", + description: "Manage Synapse's pipelines", + subcommands: [ + { + name: "create", + description: "Create a pipeline", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The pipeline name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "create-run", + description: "Creates a run of a pipeline", + options: [ + { + name: ["--name", "-n"], + description: "The pipeline name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--is-recovery", + description: + "Recovery mode flag. If recovery mode is set to true, the specified referenced pipeline run and the new run will be grouped under the same groupId", + args: { name: "is-recovery", suggestions: ["false", "true"] }, + }, + { + name: "--parameters", + description: + "Parameters for pipeline run. Can be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "parameters" }, + }, + { + name: ["--reference-pipeline-run-id", "--run-id"], + description: + "The pipeline run ID for rerun. If run ID is specified, the parameters of the specified run will be used to create a new run", + args: { name: "reference-pipeline-run-id" }, + }, + { + name: "--start-activity-name", + description: + "In recovery mode, the rerun will start from this activity. If not specified, all activities will run", + args: { name: "start-activity-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a pipeline", + options: [ + { + name: ["--name", "-n"], + description: "The pipeline name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List pipelines", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Update an exist pipeline", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The pipeline name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: "Get a pipeline", + options: [ + { + name: ["--name", "-n"], + description: "The pipeline name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update an exist pipeline", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The pipeline name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + ], + }, + { + name: "pipeline-run", + description: "Manage Synapse's pipeline run", + subcommands: [ + { + name: "cancel", + description: "Cancel a pipeline run by its run ID", + options: [ + { + name: "--run-id", + description: "The pipeline run identifier", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--is-recursive", + description: + "If true, cancel all the Child pipelines that are triggered by the current pipeline", + args: { name: "is-recursive", suggestions: ["false", "true"] }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "query-by-workspace", + description: + "Query pipeline runs in the workspace based on input filter conditions", + options: [ + { + name: "--last-updated-after", + description: + "The time at or after which the run event was updated in 'ISO 8601' format", + args: { name: "last-updated-after" }, + isRequired: true, + }, + { + name: "--last-updated-before", + description: + "The time at or before which the run event was updated in 'ISO 8601' format", + args: { name: "last-updated-before" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--continuation-token", + description: + "The continuation token for getting the next page of results. Null for first page", + args: { name: "continuation-token" }, + }, + { + name: "--filters", + description: "List of filters", + args: { name: "filters" }, + }, + { + name: "--order-by", + description: "List of OrderBy option", + args: { name: "order-by" }, + }, + ], + }, + { + name: "show", + description: "Get a pipeline run by its run ID", + options: [ + { + name: "--run-id", + description: "The pipeline run identifier", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "role", + description: "Manage Synapse's role assignments and definitions", + subcommands: [ + { + name: "assignment", + description: "Manage Synapse's role assignments", + subcommands: [ + { + name: "create", + description: "Create a role assignment", + options: [ + { + name: "--role", + description: + "The role name/id that is assigned to the principal", + args: { name: "role" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--assignee", + description: + "Represent a user or service principal. Supported format: object id, user sign-in name, or service principal name", + args: { name: "assignee" }, + }, + { + name: "--assignee-object-id", + description: + "Use this parameter instead of '--assignee' to bypass Graph API invocation in case of insufficient privileges. This parameter only works with object ids for users, groups, service principals, and managed identities. For managed identities use the principal id. For service principals, use the object id and not the app id", + args: { name: "assignee-object-id" }, + }, + { + name: ["--assignee-principal-type", "--assignee-type"], + description: + "Use with --assignee-object-id to avoid errors caused by propagation latency in AAD Graph", + args: { + name: "assignee-principal-type", + suggestions: ["Group", "ServicePrincipal", "User"], + }, + }, + { + name: "--assignment-id", + description: + "Custom role assignment id in guid format, if not specified, assignment id will be randomly generated", + args: { name: "assignment-id" }, + }, + { + name: "--item", + description: + "Item granted access in the workspace. Using with --item-type to combine the scope of assignment", + args: { name: "item" }, + }, + { + name: "--item-type", + description: + "Item type granted access in the workspace. Using with --item to combine the scope of assignment", + args: { + name: "item-type", + suggestions: [ + "bigDataPools", + "credentials", + "integrationRuntimes", + "linkedServices", + ], + }, + }, + { + name: "--scope", + description: + "A scope defines the resources or artifacts that the access applies to. Synapse supports hierarchical scopes. Permissions granted at a higher-level scope are inherited by objects at a lower level. In Synapse RBAC, the top-level scope is a workspace. Assigning a role with workspace scope grants permissions to all applicable objects in the workspace", + args: { name: "scope" }, + }, + ], + }, + { + name: "delete", + description: "Delete role assignments of workspace", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--assignee", + description: + "Represent a user or service principal. Supported format: object id, user sign-in name, or service principal name", + args: { name: "assignee" }, + }, + { + name: "--assignee-object-id", + description: + "Use this parameter instead of '--assignee' to bypass Graph API invocation in case of insufficient privileges. This parameter only works with object ids for users, groups, service principals, and managed identities. For managed identities use the principal id. For service principals, use the object id and not the app id", + args: { name: "assignee-object-id" }, + }, + { + name: "--ids", + description: + "Space-separated role assignment ids. You should not provide --role or --assignee when --ids is provided", + args: { name: "ids" }, + }, + { + name: "--item", + description: + "Item granted access in the workspace. Using with --item-type to combine the scope of assignment.Using az role assignment with filter condition before executing delete operation to be clearly aware of which assignments will be deleted", + args: { name: "item" }, + }, + { + name: "--item-type", + description: + "Item type granted access in the workspace. Using with --item to combine the scope of assignment.Using az role assignment with filter condition before executing delete operation to be clearly aware of which assignments will be deleted", + args: { + name: "item-type", + suggestions: [ + "bigDataPools", + "credentials", + "integrationRuntimes", + "linkedServices", + ], + }, + }, + { + name: "--role", + description: + "The role name/id that is assigned to the principal", + args: { name: "role" }, + }, + { + name: "--scope", + description: + "A scope defines the resources or artifacts that the access applies to. Synapse supports hierarchical scopes. Permissions granted at a higher-level scope are inherited by objects at a lower level. In Synapse RBAC, the top-level scope is a workspace. Using az role assignment with filter condition before executing delete operation to be clearly aware of which assignments will be deleted", + args: { name: "scope" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List role assignments", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--assignee", + description: + "Represent a user or service principal. Supported format: object id, user sign-in name, or service principal name", + args: { name: "assignee" }, + }, + { + name: "--assignee-object-id", + description: + "Use this parameter instead of '--assignee' to bypass Graph API invocation in case of insufficient privileges. This parameter only works with object ids for users, groups, service principals, and managed identities. For managed identities use the principal id. For service principals, use the object id and not the app id", + args: { name: "assignee-object-id" }, + }, + { + name: "--item", + description: + "Item granted access in the workspace. Using with --item-type to combine the scope of assignment", + args: { name: "item" }, + }, + { + name: "--item-type", + description: + "Item type granted access in the workspace. Using with --item to combine the scope of assignment", + args: { + name: "item-type", + suggestions: [ + "bigDataPools", + "credentials", + "integrationRuntimes", + "linkedServices", + ], + }, + }, + { + name: "--role", + description: + "The role name/id that is assigned to the principal", + args: { name: "role" }, + }, + { + name: "--scope", + description: + "A scope defines the resources or artifacts that the access applies to. Synapse supports hierarchical scopes. Permissions granted at a higher-level scope are inherited by objects at a lower level. In Synapse RBAC, the top-level scope is a workspace. Assigning a role with workspace scope grants permissions to all applicable objects in the workspace", + args: { name: "scope" }, + }, + ], + }, + { + name: "show", + description: "Get a role assignment by id", + options: [ + { + name: "--id", + description: + "Id of the role that is assigned to the principal", + args: { name: "id" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "definition", + description: "Manage Synapse's role definitions", + subcommands: [ + { + name: "list", + description: "List role definitions", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--is-built-in", + description: "Is a Synapse Built-In Role or not", + args: { name: "is-built-in", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "show", + description: "Get role definition by role id/name", + options: [ + { + name: "--role", + description: + "The role name/id that is assigned to the principal", + args: { name: "role" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "scope", + description: "Manage Synapse's role scopes", + subcommands: [ + { + name: "list", + description: "List role scopes", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "spark", + description: "Manage Spark pools and Spark jobs", + subcommands: [ + { + name: "job", + description: "Manage Synapse Spark batch jobs", + subcommands: [ + { + name: "cancel", + description: "Cancel a Spark job", + options: [ + { + name: "--livy-id", + description: "The id of the Spark job", + args: { name: "livy-id" }, + isRequired: true, + }, + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all Spark jobs", + options: [ + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--from-index", + description: + "Optional parameter specifying which index the list should begin from", + args: { name: "from-index" }, + }, + { + name: "--size", + description: + "The size of the returned list.By default it is 20 and that is the maximum", + args: { name: "size" }, + }, + ], + }, + { + name: "show", + description: "Get a Spark job", + options: [ + { + name: "--livy-id", + description: "The id of the Spark job", + args: { name: "livy-id" }, + isRequired: true, + }, + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "submit", + description: "Submit a Spark job", + options: [ + { + name: "--executor-size", + description: "The executor size", + args: { + name: "executor-size", + suggestions: ["Large", "Medium", "Small"], + }, + isRequired: true, + }, + { + name: "--executors", + description: "The number of executors", + args: { name: "executors" }, + isRequired: true, + }, + { + name: "--main-definition-file", + description: "The main file used for the job", + args: { name: "main-definition-file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The Spark job name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--archives", + description: "The array of archives", + args: { name: "archives" }, + }, + { + name: "--arguments", + description: + "Optional arguments to the job (Note: please use storage URIs for file arguments)", + args: { name: "arguments" }, + }, + { + name: "--configuration", + description: "The configuration of Spark job", + args: { name: "configuration" }, + }, + { + name: "--language", + description: "The Spark job language", + args: { + name: "language", + suggestions: [ + "CSharp", + "PySpark", + "Python", + "Scala", + "Spark", + "SparkDotNet", + ], + }, + }, + { + name: "--main-class-name", + description: + "The fully-qualified identifier or the main class that is in the main definition file", + args: { name: "main-class-name" }, + }, + { + name: "--reference-files", + description: + "Additional files used for reference in the main definition file", + args: { name: "reference-files" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "pool", + description: "Manage Spark pools", + subcommands: [ + { + name: "create", + description: "Create a Spark pool", + options: [ + { + name: ["--name", "-n"], + description: "The name of the Spark pool", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--node-count", + description: "The number of node", + args: { name: "node-count" }, + isRequired: true, + }, + { + name: "--node-size", + description: + "The level of compute power that each node in the Big Data pool has", + args: { + name: "node-size", + suggestions: [ + "Large", + "Medium", + "None", + "Small", + "XLarge", + "XXLarge", + "XXXLarge", + ], + }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--spark-version", + description: "The supported Spark version is 2.4 now", + args: { name: "spark-version" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--delay", + description: "The delay time whose unit is minute", + args: { name: "delay" }, + }, + { + name: "--enable-auto-pause", + description: "The flag of enabling auto pause", + args: { + name: "enable-auto-pause", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-auto-scale", + description: "The flag of enabling auto scale", + args: { + name: "enable-auto-scale", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-dynamic-exec", + description: + "Indicates whether Dynamic Executor Allocation is enabled or not", + args: { + name: "enable-dynamic-exec", + suggestions: ["false", "true"], + }, + }, + { + name: "--max-executors", + description: "The maximum number of executors alloted", + args: { name: "max-executors" }, + }, + { + name: "--max-node-count", + description: "The max node count", + args: { name: "max-node-count" }, + }, + { + name: "--min-executors", + description: "The minimum number of executors alloted", + args: { name: "min-executors" }, + }, + { + name: "--min-node-count", + description: "The min node count", + args: { name: "min-node-count" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--node-size-family", + description: + "The kind of nodes that the Big Data pool provides", + args: { + name: "node-size-family", + suggestions: [ + "HardwareAcceleratedFPGA", + "HardwareAcceleratedGPU", + "MemoryOptimized", + "None", + ], + }, + }, + { + name: "--spark-config-file-path", + description: + "Absolute path of Spark pool properties configuration file", + args: { name: "spark-config-file-path" }, + }, + { + name: "--spark-events-folder", + description: "The Spark events folder", + args: { name: "spark-events-folder" }, + }, + { + name: "--spark-log-folder", + description: "The default Spark log folder", + args: { name: "spark-log-folder" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Spark pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Spark pool", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all Spark pools", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a Spark pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Spark pool", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update the Spark pool", + options: [ + { + name: "--delay", + description: "The delay time whose unit is minute", + args: { name: "delay" }, + }, + { + name: "--enable-auto-pause", + description: "The flag of enabling auto pause", + args: { + name: "enable-auto-pause", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-auto-scale", + description: "The flag of enabling auto scale", + args: { + name: "enable-auto-scale", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-dynamic-exec", + description: + "Indicates whether Dynamic Executor Allocation is enabled or not", + args: { + name: "enable-dynamic-exec", + suggestions: ["false", "true"], + }, + }, + { name: "--force", description: "The flag of force operation" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--library-requirements", + description: "The library requirements file", + args: { name: "library-requirements" }, + }, + { + name: "--max-executors", + description: "The maximum number of executors alloted", + args: { name: "max-executors" }, + }, + { + name: "--max-node-count", + description: "The max node count", + args: { name: "max-node-count" }, + }, + { + name: "--min-executors", + description: "The minimum number of executors alloted", + args: { name: "min-executors" }, + }, + { + name: "--min-node-count", + description: "The min node count", + args: { name: "min-node-count" }, + }, + { + name: ["--name", "-n"], + description: "The name of the Spark pool", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--node-count", + description: "The number of node", + args: { name: "node-count" }, + }, + { + name: "--node-size", + description: + "The level of compute power that each node in the Big Data pool has", + args: { + name: "node-size", + suggestions: [ + "Large", + "Medium", + "None", + "Small", + "XLarge", + "XXLarge", + "XXXLarge", + ], + }, + }, + { + name: "--package", + description: "List of workspace packages name", + args: { name: "package" }, + }, + { + name: "--package-action", + description: + "Package action must be specified when you add or remove a workspace package from a Apache Spark pool", + args: { + name: "package-action", + suggestions: ["Add", "Remove"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--spark-config-file-path", + description: + "Absolute path of Spark pool properties configuration file", + args: { name: "spark-config-file-path" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a Spark pool is met", + options: [ + { + name: "--big-data-pool-name", + description: "Big Data pool name", + args: { name: "big-data-pool-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "session", + description: "Manage Synapse Spark sessions", + subcommands: [ + { + name: "cancel", + description: "Cancel a Spark session", + options: [ + { + name: "--livy-id", + description: "The id of the Spark session job", + args: { name: "livy-id" }, + isRequired: true, + }, + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "create", + description: "Create a Spark session", + options: [ + { + name: "--executor-size", + description: "The executor size", + args: { + name: "executor-size", + suggestions: ["Large", "Medium", "Small"], + }, + isRequired: true, + }, + { + name: "--executors", + description: "The number of executors", + args: { name: "executors" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The Spark session name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--configuration", + description: "The configuration of Spark session", + args: { name: "configuration" }, + }, + { + name: "--reference-files", + description: + "Additional files used for reference in the main definition file", + args: { name: "reference-files" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "list", + description: "List all Spark sessions", + options: [ + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--from-index", + description: + "Optional parameter specifying which index the list should begin from", + args: { name: "from-index" }, + }, + { + name: "--size", + description: + "The size of the returned list.By default it is 20 and that is the maximum", + args: { name: "size" }, + }, + ], + }, + { + name: "reset-timeout", + description: "Reset a Spark session timeout time", + options: [ + { + name: "--livy-id", + description: "The id of the Spark session job", + args: { name: "livy-id" }, + isRequired: true, + }, + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a Spark session", + options: [ + { + name: "--livy-id", + description: "The id of the Spark session job", + args: { name: "livy-id" }, + isRequired: true, + }, + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "statement", + description: "Manage Synapse Spark statements", + subcommands: [ + { + name: "cancel", + description: "Cancel a Spark statement", + options: [ + { + name: "--livy-id", + description: "The id of the statement", + args: { name: "livy-id" }, + isRequired: true, + }, + { + name: "--session-id", + description: "The id of Spark session", + args: { name: "session-id" }, + isRequired: true, + }, + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "invoke", + description: "Invoke a Spark statement", + options: [ + { + name: "--code", + description: + "The code of Spark statement. This is either the code contents or use @ to load the content from a file", + args: { name: "code" }, + isRequired: true, + }, + { + name: "--language", + description: "The language of Spark statement", + args: { + name: "language", + suggestions: [ + "CSharp", + "PySpark", + "Python", + "SQL", + "Scala", + "Spark", + "SparkDotNet", + ], + }, + isRequired: true, + }, + { + name: "--session-id", + description: "The id of Spark session", + args: { name: "session-id" }, + isRequired: true, + }, + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List all Spark statements", + options: [ + { + name: "--session-id", + description: "The id of Spark session", + args: { name: "session-id" }, + isRequired: true, + }, + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a Spark statement", + options: [ + { + name: "--livy-id", + description: "The id of the statement", + args: { name: "livy-id" }, + isRequired: true, + }, + { + name: "--session-id", + description: "The id of Spark session", + args: { name: "session-id" }, + isRequired: true, + }, + { + name: "--spark-pool-name", + description: "The name of the Spark pool", + args: { name: "spark-pool-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + ], + }, + ], + }, + { + name: "spark-job-definition", + description: "Manage spark job definitions in a synapse workspace", + subcommands: [ + { + name: "create", + description: "Create a spark job definition", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The spark job definition name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--folder-path", + description: + "The folder that this spark job definition is in. If not specified, it will appear at the root level. Eg: folder/subfolder1", + args: { name: "folder-path" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a spark job definition", + options: [ + { + name: ["--name", "-n"], + description: "The spark job definition name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: "List spark job definitions", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a spark job definition", + options: [ + { + name: ["--name", "-n"], + description: "The spark job definition name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a spark job definition", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The spark job definition name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--folder-path", + description: + "The folder that this spark job definition is in. If not specified, it will appear at the root level. Eg: folder/subfolder1", + args: { name: "folder-path" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a spark job definition is met", + options: [ + { + name: ["--name", "-n"], + description: "The spark job definition name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sql", + description: "Manage SQL pools", + subcommands: [ + { + name: "ad-admin", + description: "Manage SQL Active Directory administrator", + subcommands: [ + { + name: "create", + description: + "Create the SQL Azure Active Directory administrator", + options: [ + { + name: ["--display-name", "-u"], + description: + "Display name of the Azure AD administrator user or group", + args: { name: "display-name" }, + isRequired: true, + }, + { + name: ["--object-id", "-i"], + description: "The unique ID of the Azure AD administrator", + args: { name: "object-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: + "Delete the SQL Azure Active Directory administrator", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Get the SQL Azure Active Directory administrator", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update the SQL Azure Active Directory administrator", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--display-name", "-u"], + description: + "Display name of the Azure AD administrator user or group", + args: { name: "display-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--object-id", "-i"], + description: "The unique ID of the Azure AD administrator", + args: { name: "object-id" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "audit-policy", + description: "Manage SQL auditing policy", + subcommands: [ + { + name: "show", + description: "Get a SQL's auditing policy", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Update a SQL's auditing policy", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--actions", + description: "List of actions and action groups to audit", + args: { name: "actions" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--blob-auditing-policy-name", + description: "", + args: { name: "blob-auditing-policy-name" }, + }, + { + name: ["--blob-storage-target-state", "--bsts"], + description: + "Indicate whether blob storage is a destination for audit records", + args: { + name: "blob-storage-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--event-hub", "--eh"], + description: + "The name of the event hub. If none is specified when providing event_hub_authorization_rule_id, the default event hub will be selected", + args: { name: "event-hub" }, + }, + { + name: ["--event-hub-authorization-rule-id", "--ehari"], + description: + "The resource Id for the event hub authorization rule", + args: { name: "event-hub-authorization-rule-id" }, + }, + { + name: ["--event-hub-target-state", "--ehts"], + description: + "Indicate whether event hub is a destination for audit records", + args: { + name: "event-hub-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--enable-azure-monitor", + description: "Whether enabling azure monitor target or not", + args: { + name: "enable-azure-monitor", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: ["--log-analytics-target-state", "--lats"], + description: + "Indicate whether log analytics is a destination for audit records", + args: { + name: "log-analytics-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--log-analytics-workspace-resource-id", "--lawri"], + description: + "The workspace ID (resource ID of a Log Analytics workspace) for a Log Analytics workspace to which you would like to send Audit Logs", + args: { name: "log-analytics-workspace-resource-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--queue-delay-milliseconds", "--queue-delay-time"], + description: + "The amount of time in milliseconds that can elapse before audit actions are forced to be processed", + args: { name: "queue-delay-milliseconds" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--retention-days", + description: "The number of days to retain audit logs", + args: { name: "retention-days" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: "Auditing policy state", + args: { name: "state", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--storage-account", + description: "Name of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--storage-endpoint", + description: "The storage account endpoint", + args: { name: "storage-endpoint" }, + }, + { + name: "--storage-key", + description: "Access key for the storage account", + args: { name: "storage-key" }, + }, + { + name: "--storage-subscription", + description: "The subscription id of storage account", + args: { name: "storage-subscription" }, + }, + { + name: "--use-secondary-key", + description: + "Indicates whether using the secondary storeage key or not", + args: { + name: "use-secondary-key", + suggestions: ["false", "true"], + }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--blob-auditing-policy-name", + description: "The name of the blob auditing policy", + args: { name: "blob-auditing-policy-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "pool", + description: "Manage SQL pools", + subcommands: [ + { + name: "create", + description: "Create a SQL pool", + options: [ + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--performance-level", + description: "The performance level", + args: { name: "performance-level" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--collation", + description: + 'Collation defines the rules that sort and compare data, and cannot be changed after SQL pool creation. The default collation is "SQL_Latin1_General_CP1_CI_AS"', + args: { name: "collation" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--storage-type", + description: "The Storage Account Type", + args: { name: "storage-type", suggestions: ["GRS", "LRS"] }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a SQL pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all SQL pools", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list-deleted", + description: "List all deleted SQL pools", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "pause", + description: "Pause a SQL pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "restore", + description: "Create a new SQL pool by restoring from a backup", + options: [ + { + name: ["--destination-name", "--dest-name"], + description: + "Name of the sql pool that will be created as the restore destination", + args: { name: "destination-name" }, + isRequired: true, + }, + { + name: "--deleted-time", + description: + 'If specified, restore from a deleted database instead of from an existing database. Must match the deleted time of a deleted database in the same server. Either --time or --deleted-time (or both) must be specified. Time should be in following format: "YYYY-MM-DDTHH:MM:SS"', + args: { name: "deleted-time" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: "--performance-level", + description: "The performance level", + args: { name: "performance-level" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-type", + description: "The Storage Account Type", + args: { name: "storage-type", suggestions: ["GRS", "LRS"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--time", "-t"], + description: + 'The point in time of the source database that will be restored to create the new database. Must be greater than or equal to the source database\'s earliestRestoreDate value. Either --time or --deleted-time (or both) must be specified. Time should be in following format: "YYYY-MM-DDTHH:MM:SS"', + args: { name: "time" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "resume", + description: "Resume a SQL pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show", + description: "Get a SQL pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show-connection-string", + description: "Generate a connection string to a SQL pool", + options: [ + { + name: ["--client", "-c"], + description: "Type of client connection provider", + args: { + name: "client", + suggestions: ["ado.net", "jdbc", "odbc", "php", "php_pdo"], + }, + isRequired: true, + }, + { + name: ["--auth-type", "-a"], + description: "Type of authentication", + args: { + name: "auth-type", + suggestions: ["ADIntegrated", "ADPassword", "SqlPassword"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update a SQL pool", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: "--performance-level", + description: "The performance level", + args: { name: "performance-level" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a SQL pool is met", + options: [ + { + name: "--sql-pool-name", + description: "SQL pool name", + args: { name: "sql-pool-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "audit-policy", + description: "Manage a SQL pool's auditing policy", + subcommands: [ + { + name: "show", + description: "Get a SQL pool's auditing policy", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update a SQL pool's auditing policy", + options: [ + { + name: "--actions", + description: "List of actions and action groups to audit", + args: { name: "actions" }, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--blob-storage-target-state", "--bsts"], + description: + "Indicate whether blob storage is a destination for audit records", + args: { + name: "blob-storage-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: ["--event-hub", "--eh"], + description: + "The name of the event hub. If none is specified when providing event_hub_authorization_rule_id, the default event hub will be selected", + args: { name: "event-hub" }, + }, + { + name: ["--event-hub-authorization-rule-id", "--ehari"], + description: + "The resource Id for the event hub authorization rule", + args: { name: "event-hub-authorization-rule-id" }, + }, + { + name: ["--event-hub-target-state", "--ehts"], + description: + "Indicate whether event hub is a destination for audit records", + args: { + name: "event-hub-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--enable-azure-monitor", + description: + "Whether enabling azure monitor target or not", + args: { + name: "enable-azure-monitor", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--log-analytics-target-state", "--lats"], + description: + "Indicate whether log analytics is a destination for audit records", + args: { + name: "log-analytics-target-state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: [ + "--log-analytics-workspace-resource-id", + "--lawri", + ], + description: + "The workspace ID (resource ID of a Log Analytics workspace) for a Log Analytics workspace to which you would like to send Audit Logs", + args: { name: "log-analytics-workspace-resource-id" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--retention-days", + description: "The number of days to retain audit logs", + args: { name: "retention-days" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: "Auditing policy state", + args: { + name: "state", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--storage-account", + description: "Name of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--storage-endpoint", + description: "The storage account endpoint", + args: { name: "storage-endpoint" }, + }, + { + name: "--storage-key", + description: "Access key for the storage account", + args: { name: "storage-key" }, + }, + { + name: "--storage-subscription", + description: "The subscription id of storage account", + args: { name: "storage-subscription" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--use-secondary-key", + description: + "Indicates whether using the secondary storeage key or not", + args: { + name: "use-secondary-key", + suggestions: ["false", "true"], + }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "classification", + description: "Manage sensitivity classifications", + subcommands: [ + { + name: "create", + description: "Create a column's sensitivity classification", + options: [ + { + name: "--column", + description: "The name of column", + args: { name: "column" }, + isRequired: true, + }, + { + name: "--information-type", + description: "The information type", + args: { name: "information-type" }, + isRequired: true, + }, + { + name: "--label", + description: "The label name", + args: { name: "label" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--schema", + description: "The name of schema", + args: { name: "schema" }, + isRequired: true, + }, + { + name: "--table", + description: "The name of table", + args: { name: "table" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: + "Delete the sensitivity classification of a given column", + options: [ + { + name: "--column", + description: "The name of column", + args: { name: "column" }, + isRequired: true, + }, + { + name: "--schema", + description: "The name of schema", + args: { name: "schema" }, + isRequired: true, + }, + { + name: "--table", + description: "The name of table", + args: { name: "table" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list", + description: + "Get the sensitivity classifications of a given SQL pool", + options: [ + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--filter", + description: + "An OData filter expression that filters elements in the collection. Default value is None", + args: { name: "filter" }, + }, + ], + }, + { + name: "show", + description: + "Get the sensitivity classification of a given column", + options: [ + { + name: "--column", + description: "The name of column", + args: { name: "column" }, + isRequired: true, + }, + { + name: "--schema", + description: "The name of schema", + args: { name: "schema" }, + isRequired: true, + }, + { + name: "--table", + description: "The name of table", + args: { name: "table" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update a column's sensitivity classification", + options: [ + { + name: "--column", + description: "The name of column", + args: { name: "column" }, + isRequired: true, + }, + { + name: "--schema", + description: "The name of schema", + args: { name: "schema" }, + isRequired: true, + }, + { + name: "--table", + description: "The name of table", + args: { name: "table" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--information-type", + description: "The information type", + args: { name: "information-type" }, + }, + { + name: "--label", + description: "The label name", + args: { name: "label" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "recommendation", + description: + "Manage sensitivity classification recommendations", + subcommands: [ + { + name: "disable", + description: + "Disable sensitivity recommendations for a given column(recommendations are enabled by default on all columns)", + options: [ + { + name: "--column", + description: "The name of column", + args: { name: "column" }, + isRequired: true, + }, + { + name: "--schema", + description: "The name of schema", + args: { name: "schema" }, + isRequired: true, + }, + { + name: "--table", + description: "The name of table", + args: { name: "table" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "enable", + description: + "Enable sensitivity recommendations for a given column(recommendations are enabled by default on all columns)", + options: [ + { + name: "--column", + description: "The name of column", + args: { name: "column" }, + isRequired: true, + }, + { + name: "--schema", + description: "The name of schema", + args: { name: "schema" }, + isRequired: true, + }, + { + name: "--table", + description: "The name of table", + args: { name: "table" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "list", + description: + "List the recommended sensitivity classifications of a given SQL pool", + options: [ + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--filter", + description: + "An OData filter expression that filters elements in the collection. Default value is None", + args: { name: "filter" }, + }, + { + name: "--included-disabled", + description: + "Indicates whether the result should include disabled recommendations", + args: { + name: "included-disabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--skip-token", + description: + "An OData query option to indicate how many elements to skip in the collection. Default value is None", + args: { name: "skip-token" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "tde", + description: "Manage a SQL pool's transparent data encryption", + subcommands: [ + { + name: "set", + description: + "Set a SQL pool's transparent data encryption configuration", + options: [ + { + name: "--status", + description: "Status of the transparent data encryption", + args: { + name: "status", + suggestions: ["Disabled", "Enabled"], + }, + isRequired: true, + }, + { + name: ["--transparent-data-encryption-name", "-d"], + description: "Name of the transparent data encryption", + args: { name: "transparent-data-encryption-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show", + description: + "Get a SQL pool's transparent data encryption configuration", + options: [ + { + name: ["--transparent-data-encryption-name", "-d"], + description: "Name of the transparent data encryption", + args: { name: "transparent-data-encryption-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "threat-policy", + description: "Manage a SQL pool's threat detection policies", + subcommands: [ + { + name: "show", + description: "Get a SQL pool's threat detection policy", + options: [ + { + name: ["--security-alert-policy-name", "-s"], + description: "Name of the security alert policy", + args: { name: "security-alert-policy-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update a SQL pool's threat detection policy", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--disabled-alerts", + description: "List of disabled alerts", + args: { name: "disabled-alerts" }, + }, + { + name: "--email-account-admins", + description: + "Whether the alert is sent to the account administrators", + args: { + name: "email-account-admins", + suggestions: ["false", "true"], + }, + }, + { + name: "--email-addresses", + description: + "List of email addresses that alerts are sent to", + args: { name: "email-addresses" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The SQL pool name", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--retention-days", + description: + "The number of days to retain threat detection logs", + args: { name: "retention-days" }, + }, + { + name: ["--security-alert-policy-name", "-s"], + description: "Name of the security alert policy", + args: { name: "security-alert-policy-name" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: "Threat detection policy state", + args: { + name: "state", + suggestions: ["Disabled", "Enabled", "New"], + }, + }, + { + name: "--storage-account", + description: "Name of the storage account", + args: { name: "storage-account" }, + }, + { + name: "--storage-endpoint", + description: "The storage account endpoint", + args: { name: "storage-endpoint" }, + }, + { + name: "--storage-key", + description: "Access key for the storage account", + args: { name: "storage-key" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + name: "sql-script", + description: "Manage SQL scripts in a synapse workspace", + subcommands: [ + { + name: "create", + description: "Create or update a SQL script", + options: [ + { + name: ["--file", "-f"], + description: "The SQL query file path", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The SQL script name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--additional-properties", + description: "The SQL script additional properties", + args: { name: "additional-properties" }, + }, + { + name: "--description", + description: "The SQL script description", + args: { name: "description" }, + }, + { + name: "--folder-name", + description: + "The folder that this SQL script is in. If not specified, this SQL script will appear at the root level. Eg: folder/subfolder1", + args: { name: "folder-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--result-limit", + description: + "The SQL query results limit. Default is 5000. '-1' is no limit", + args: { name: "result-limit", suggestions: ["-1", "5000"] }, + }, + { + name: "--sql-database-name", + description: "The SQL database name", + args: { name: "sql-database-name" }, + }, + { + name: "--sql-pool-name", + description: "The SQL pool name", + args: { name: "sql-pool-name" }, + }, + ], + }, + { + name: "delete", + description: "Delete a SQL script", + options: [ + { + name: ["--name", "-n"], + description: "The SQL script name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "export", + description: "Export a SQL script", + options: [ + { + name: "--output-folder", + description: "The SQL script export path", + args: { name: "output-folder" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The SQL script name", + args: { name: "name" }, + }, + ], + }, + { + name: "import", + description: "Import a SQL script", + options: [ + { + name: ["--file", "-f"], + description: "The SQL query file path", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The SQL script name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--additional-properties", + description: "The SQL script additional properties", + args: { name: "additional-properties" }, + }, + { + name: "--description", + description: "The SQL script description", + args: { name: "description" }, + }, + { + name: "--folder-name", + description: + "The folder that this SQL script is in. If not specified, this SQL script will appear at the root level. Eg: folder/subfolder1", + args: { name: "folder-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--result-limit", + description: + "The SQL query results limit. Default is 5000. '-1' is no limit", + args: { name: "result-limit", suggestions: ["-1", "5000"] }, + }, + { + name: "--sql-database-name", + description: "The SQL database name", + args: { name: "sql-database-name" }, + }, + { + name: "--sql-pool-name", + description: "The SQL pool name", + args: { name: "sql-pool-name" }, + }, + ], + }, + { + name: "list", + description: "List SQL scripts in a synapse workspace", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a SQL script", + options: [ + { + name: ["--name", "-n"], + description: "The SQL script name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a sql script is met", + options: [ + { + name: ["--name", "-n"], + description: "The SQL script name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "trigger", + description: "Manage Synapse's triggers", + subcommands: [ + { + name: "create", + description: "Create a trigger", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a trigger", + options: [ + { + name: ["--name", "-n"], + description: "The trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-event-subscription-status", + description: "Get a trigger's event subscription status", + options: [ + { + name: ["--name", "-n"], + description: "The trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List triggers", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Update an exist trigger", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "show", + description: "Get a trigger", + options: [ + { + name: ["--name", "-n"], + description: "The trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "start", + description: "Starts a trigger", + options: [ + { + name: ["--name", "-n"], + description: "The trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "stop", + description: "Stops a trigger", + options: [ + { + name: ["--name", "-n"], + description: "The trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "subscribe-to-event", + description: "Subscribe event trigger to events", + options: [ + { + name: ["--name", "-n"], + description: "The trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "unsubscribe-from-event", + description: "Unsubscribe event trigger from events", + options: [ + { + name: ["--name", "-n"], + description: "The trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "update", + description: "Update an exist trigger", + options: [ + { + name: "--file", + description: + "Properties may be supplied from a JSON file using the @{path} syntax or a JSON string", + args: { name: "file" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a trigger is met", + options: [ + { + name: ["--name", "-n"], + description: "The trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "trigger-run", + description: "Synapse trigger-run", + subcommands: [ + { + name: "cancel", + description: "Cancel a single trigger instance by runId", + options: [ + { + name: ["--name", "-n"], + description: "The trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--run-id", + description: "The trigger run identifier", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "query-by-workspace", + description: + "Query trigger runs in the workspace based on input filter conditions", + options: [ + { + name: "--last-updated-after", + description: + "The time at or after which the run event was updated in 'ISO 8601' format", + args: { name: "last-updated-after" }, + isRequired: true, + }, + { + name: "--last-updated-before", + description: + "The time at or before which the run event was updated in 'ISO 8601' format", + args: { name: "last-updated-before" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--continuation-token", + description: + "The continuation token for getting the next page of results. Null for first page", + args: { name: "continuation-token" }, + }, + { + name: "--filters", + description: "List of filters", + args: { name: "filters" }, + }, + { + name: "--order-by", + description: "List of OrderBy option", + args: { name: "order-by" }, + }, + ], + }, + { + name: "rerun", + description: "Rerun single trigger instance by runId", + options: [ + { + name: ["--name", "-n"], + description: "The trigger name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--run-id", + description: "The trigger run identifier", + args: { name: "run-id" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "workspace", + description: "Manage Synapse workspaces", + subcommands: [ + { + name: "activate", + description: + "Activates a workspace and change it's state from pending to success state when the workspace is first being provisioned and double encryption is enabled", + options: [ + { + name: "--key-identifier", + description: + "The Key Vault Url of the workspace encryption key. should be in the format of: https://{keyvaultname}.vault.azure.net/keys/{keyname}", + args: { name: "key-identifier" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + 'The workspace customer-managed key display name. All existing keys can be found using /"az synapse workspace key list/" cmdlet', + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "check-name", + description: "Check if a Synapse workspace name is available or not", + options: [ + { + name: ["--name", "-n"], + description: "The name you wanted to check", + args: { name: "name" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create a Synapse workspace", + options: [ + { + name: "--file-system", + description: "The file system of the data lake storage account", + args: { name: "file-system" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The workspace name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--sql-admin-login-password", "-p"], + description: "The sql administrator login password", + args: { name: "sql-admin-login-password" }, + isRequired: true, + }, + { + name: ["--sql-admin-login-user", "-u"], + description: "The sql administrator login user name", + args: { name: "sql-admin-login-user" }, + isRequired: true, + }, + { + name: "--storage-account", + description: "The data lake storage account name or resource id", + args: { name: "storage-account" }, + isRequired: true, + }, + { + name: "--account-name", + description: + "GitHub account name used for the repository or Azure devops organization name", + args: { name: "account-name" }, + }, + { + name: "--allowed-tenant-ids", + description: + "The approved Azure AD tenants which outbound data traffic allowed to. The Azure AD tenant of the current user will be included by default. Use ('' in PowerShell) to disable all allowed tenant ids", + args: { name: "allowed-tenant-ids" }, + }, + { + name: ["--key-identifier", "--cmk"], + description: + "The customer-managed key used to encrypt all data at rest in the workspace. Key identifier should be in the format of: https://{keyvaultname}.vault.azure.net/keys/{keyname}", + args: { name: "key-identifier" }, + }, + { + name: "--collaboration-branch", + description: + "The branch name where you will collaborate with others and from which you will publish", + args: { name: "collaboration-branch" }, + }, + { + name: [ + "--enable-managed-virtual-network", + "--enable-managed-vnet", + ], + description: + "The flag indicates whether enable managed virtual network", + args: { + name: "enable-managed-virtual-network", + suggestions: ["false", "true"], + }, + }, + { + name: "--host-name", + description: + "If using github Enterprise Server, provide sever URL like https://github.mydomain.com.Do not use this option with GitHub Enterprise Cloud", + args: { name: "host-name" }, + }, + { + name: "--key-name", + description: + 'The workspace customer-managed key display name. All existing keys can be found using "az synapse workspace key list" cmdlet', + args: { name: "key-name" }, + }, + { + name: "--last-commit-id", + description: "The last commit ID", + args: { name: "last-commit-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--managed-rg-name", + description: + "Workspace managed resource group. The resource group name uniquely identifies the resource group within the user subscriptionId", + args: { name: "managed-rg-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--prevent-data-exfiltration", "--prevent-exfiltration"], + description: + "The flag indicates whether enable data exfiltration", + args: { + name: "prevent-data-exfiltration", + suggestions: ["false", "true"], + }, + }, + { + name: "--project-name", + description: "The project name to which you are connecting", + args: { name: "project-name" }, + }, + { + name: "--repository-name", + description: + "The name of the repository to which you are connecting", + args: { name: "repository-name" }, + }, + { + name: "--repository-type", + description: "The repository configuration type", + args: { + name: "repository-type", + suggestions: ["AzureDevOpsGit", "GitHub"], + }, + }, + { + name: "--root-folder", + description: + "The name of the folder to the location of your Azure synapse JSON resources are imported. Default is /", + args: { name: "root-folder" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tenant-id", + description: "The tenant id used to connect Azure devops", + args: { name: "tenant-id" }, + }, + { + name: "--uami-id", + description: + "The list of User-assigned Managed Identity Id for workspace", + args: { name: "uami-id" }, + }, + { + name: "--uami-id-in-encrypt", + description: + "User assigned identity resource Id used in Workspace Encryption", + args: { name: "uami-id-in-encrypt" }, + }, + { + name: "--use-sami-in-encrypt", + description: + "Whether use System assigned identity in Workspace Encryption. If use uami, please set True.If not, set False", + args: { name: "use-sami-in-encrypt" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Synapse workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The workspace name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all Synapse workspaces", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get a Synapse workspace", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The workspace name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Synapse workspace", + options: [ + { + name: "--account-name", + description: + "GitHub account name used for the repository or Azure devops organization name", + args: { name: "account-name" }, + }, + { + name: "--allowed-tenant-ids", + description: + "The approved Azure AD tenants which outbound data traffic allowed to. The Azure AD tenant of the current user will be included by default. Use ('' in PowerShell) to disable all allowed tenant ids", + args: { name: "allowed-tenant-ids" }, + }, + { + name: "--collaboration-branch", + description: + "The branch name where you will collaborate with others and from which you will publish", + args: { name: "collaboration-branch" }, + }, + { + name: "--host-name", + description: + "If using github Enterprise Server, provide sever URL like https://github.mydomain.com.Do not use this option with GitHub Enterprise Cloud", + args: { name: "host-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-name", + description: + 'The workspace customer-managed key display name. All existing keys can be found using "az synapse workspace key list" cmdlet', + args: { name: "key-name" }, + }, + { + name: "--last-commit-id", + description: "The last commit ID", + args: { name: "last-commit-id" }, + }, + { + name: ["--name", "-n"], + description: "The workspace name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--project-name", + description: "The project name to which you are connecting", + args: { name: "project-name" }, + }, + { + name: "--repository-name", + description: + "The name of the repository to which you are connecting", + args: { name: "repository-name" }, + }, + { + name: "--repository-type", + description: "The repository configuration type", + args: { + name: "repository-type", + suggestions: ["AzureDevOpsGit", "GitHub"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--root-folder", + description: + "The name of the folder to the location of your Azure synapse JSON resources are imported. Default is /", + args: { name: "root-folder" }, + }, + { + name: ["--sql-admin-login-password", "-p"], + description: "The sql administrator login password", + args: { name: "sql-admin-login-password" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--tenant-id", + description: "The tenant id used to connect Azure devops", + args: { name: "tenant-id" }, + }, + { + name: "--uami-action", + description: + "Action must be specified when you add/remove/set user assigned managed identities for workspace.The supported actions are:Add,Remove,Set.Add means to add user assigned managed identities for workspace, Remove means to remove user assigned managed identities from workspace, Set can be used when you want to add and remove user assigned managed identities at the same time, current identities will be coverd by specified ones", + args: { + name: "uami-action", + suggestions: ["Add", "Remove", "Set"], + }, + }, + { + name: "--uami-id", + description: + "The list of User-assigned Managed Identity Id for workspace", + args: { name: "uami-id" }, + }, + { + name: "--uami-id-in-encrypt", + description: + "User assigned identity resource Id used in Workspace Encryption", + args: { name: "uami-id-in-encrypt" }, + }, + { + name: "--use-sami-in-encrypt", + description: + "Whether use System assigned identity in Workspace Encryption. If use uami, please set True.If not, set False", + args: { name: "use-sami-in-encrypt" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the workspace is met", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The name of the workspace", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "firewall-rule", + description: "Manage a workspace's firewall rules", + subcommands: [ + { + name: "create", + description: "Create a firewall rule", + options: [ + { + name: "--end-ip-address", + description: + "The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress", + args: { name: "end-ip-address" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The IP firewall rule name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the firewall rule. Must be IPv4 format", + args: { name: "start-ip-address" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The IP firewall rule name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List all firewall rules", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a firewall rule", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The IP firewall rule name", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "update", + description: "Update a firewall rule", + options: [ + { + name: "--end-ip-address", + description: + "The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress", + args: { name: "end-ip-address" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "The IP firewall rule name", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--start-ip-address", + description: + "The start IP address of the firewall rule. Must be IPv4 format", + args: { name: "start-ip-address" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a firewall rule is met", + options: [ + { + name: "--rule-name", + description: "The IP firewall rule name", + args: { name: "rule-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "key", + description: "Manage workspace's keys", + subcommands: [ + { + name: "create", + description: "Create a workspace's key", + options: [ + { + name: "--key-identifier", + description: + "The Key Vault Url of the workspace encryption key. should be in the format of: https://{keyvaultname}.vault.azure.net/keys/{keyname}", + args: { name: "key-identifier" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + 'The workspace customer-managed key display name. All existing keys can be found using /"az synapse workspace key list/" cmdlet', + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: + "Delete a workspace's key. The key at active status can't be deleted", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + 'The workspace customer-managed key display name. All existing keys can be found using /"az synapse workspace key list/" cmdlet', + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List keys under specified workspace", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show a workspace's key by name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + 'The workspace customer-managed key display name. All existing keys can be found using /"az synapse workspace key list/" cmdlet', + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a workspace key is met", + options: [ + { + name: "--key-name", + description: "The name of the workspace key", + args: { name: "key-name" }, + isRequired: true, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + { + name: "managed-identity", + description: "Manage workspace's managed-identity", + subcommands: [ + { + name: "grant-sql-access", + description: "Grant workspace's sql-access to managed-identity", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "revoke-sql-access", + description: "Revoke workspace's sql-access to managed-identity", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "show-sql-access", + description: + "Show workspace's sql-access state to managed-identity", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of sql-access state to managed-identity is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "workspace-package", + description: "Manage Synapse's workspace packages", + subcommands: [ + { + name: "delete", + description: "Delete a workspace package", + options: [ + { + name: ["--package-name", "--package", "--name", "-n"], + description: "The workspace package name", + args: { name: "package-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List workspace packages", + options: [ + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get a workspace package", + options: [ + { + name: ["--package-name", "--package", "--name", "-n"], + description: "The workspace package name", + args: { name: "package-name" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + ], + }, + { + name: "upload", + description: + "Upload a local workspace package file to an Azure Synapse workspace", + options: [ + { + name: ["--package", "--file", "-f"], + description: + "Specifies a local file path for a file to upload as workspace package", + args: { name: "package" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-progress", + description: + "Include this flag to disable progress reporting for the command", + }, + ], + }, + { + name: "upload-batch", + description: + "Upload workspace package files from a local directory to an Azure Synapse workspace", + options: [ + { + name: ["--source", "-s"], + description: + "The directory where the files to be uploaded are located", + args: { name: "source" }, + isRequired: true, + }, + { + name: "--workspace-name", + description: "The workspace name", + args: { name: "workspace-name" }, + isRequired: true, + }, + { + name: "--no-progress", + description: + "Include this flag to disable progress reporting for the command", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/tag.ts b/src/az/2.53.0/tag.ts new file mode 100644 index 000000000000..504fc91d63f4 --- /dev/null +++ b/src/az/2.53.0/tag.ts @@ -0,0 +1,128 @@ +const completion: Fig.Spec = { + name: "tag", + description: "Tag Management on a resource", + subcommands: [ + { + name: "add-value", + description: "Create a tag value", + options: [ + { + name: ["--name", "-n"], + description: "The tag name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--value", + description: "The tag value", + args: { name: "value" }, + isRequired: true, + }, + ], + }, + { + name: "create", + description: "Create tags on a specific resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the tag to create", + args: { name: "name" }, + }, + { + name: "--resource-id", + description: + "The resource identifier for the entity being tagged. A resource, a resource group or a subscription may be tagged", + args: { name: "resource-id" }, + }, + { + name: "--tags", + description: "The tags to be applied on the resource", + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete tags on a specific resource", + options: [ + { + name: ["--name", "-n"], + description: "The name of the tag to be deleted", + args: { name: "name" }, + }, + { + name: "--resource-id", + description: + "The resource identifier for the entity being tagged. A resource, a resource group or a subscription may be tagged", + args: { name: "resource-id" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List the entire set of tags on a specific resource", + options: [ + { + name: "--resource-id", + description: + "The resource identifier for the entity being tagged. A resource, a resource group or a subscription may be tagged", + args: { name: "resource-id" }, + }, + ], + }, + { + name: "remove-value", + description: "Deletes a predefined tag value for a predefined tag name", + options: [ + { + name: ["--name", "-n"], + description: "The tag name", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--value", + description: "The tag value", + args: { name: "value" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: "Selectively update the set of tags on a specific resource", + options: [ + { + name: "--operation", + description: + "The update operation. Options are Merge, Replace and Delete", + args: { + name: "operation", + suggestions: ["Delete", "Merge", "Replace"], + }, + isRequired: true, + }, + { + name: "--resource-id", + description: + "The resource identifier for the entity being tagged. A resource, a resource group or a subscription may be tagged", + args: { name: "resource-id" }, + isRequired: true, + }, + { + name: "--tags", + description: "The tags to be updated on the resource", + args: { name: "tags" }, + isRequired: true, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/term.ts b/src/az/2.53.0/term.ts new file mode 100644 index 000000000000..0e0fc4ff537f --- /dev/null +++ b/src/az/2.53.0/term.ts @@ -0,0 +1,56 @@ +const completion: Fig.Spec = { + name: "term", + description: "Manage marketplace agreement with marketplaceordering", + subcommands: [ + { + name: "accept", + description: "Accept marketplace terms", + options: [ + { + name: "--plan", + description: "Plan identifier string of image being deployed", + args: { name: "plan" }, + isRequired: true, + }, + { + name: "--product", + description: "Offer identifier string of image being deployed", + args: { name: "product" }, + isRequired: true, + }, + { + name: "--publisher", + description: "Publisher identifier string of image being deployed", + args: { name: "publisher" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Get marketplace terms", + options: [ + { + name: "--plan", + description: "Plan identifier string of image being deployed", + args: { name: "plan" }, + isRequired: true, + }, + { + name: "--product", + description: "Offeridentifier string of image being deployed", + args: { name: "product" }, + isRequired: true, + }, + { + name: "--publisher", + description: "Publisher identifier string of image being deployed", + args: { name: "publisher" }, + isRequired: true, + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/ts.ts b/src/az/2.53.0/ts.ts new file mode 100644 index 000000000000..83a376f7efd5 --- /dev/null +++ b/src/az/2.53.0/ts.ts @@ -0,0 +1,249 @@ +const completion: Fig.Spec = { + name: "ts", + description: "Manage template specs at subscription or resource group scope", + subcommands: [ + { + name: "create", + description: "Create a template spec and or template spec version", + options: [ + { + name: ["--name", "-n"], + description: "The name of the template spec", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "The description of the parent template spec", + args: { name: "description" }, + }, + { + name: ["--display-name", "-d"], + description: "The display name of the template spec", + args: { name: "display-name" }, + }, + { + name: ["--location", "-l"], + description: + "The location to store the template-spec and template-spec version(s). Cannot be changed after creation", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--template-file", "-f"], + description: + "A path to a template file or Bicep file in the file system", + args: { name: "template-file" }, + }, + { + name: "--ui-form-definition", + description: + "The uiFormDefinition file path in the file system for the template spec version", + args: { name: "ui-form-definition" }, + }, + { + name: ["--version", "-v"], + description: "The template spec version", + args: { name: "version" }, + }, + { + name: "--version-description", + description: "The description of the template spec version", + args: { name: "version-description" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "delete", + description: + "Delete a specified template spec or template spec version by name or resource ID", + options: [ + { + name: ["--name", "-n"], + description: "The name of the template spec", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--version", "-v"], + description: "The template spec version", + args: { name: "version" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "export", + description: + "Export the specified template spec version and artifacts (if any) to the specified output folder", + options: [ + { + name: "--output-folder", + description: "Existing folder to output export(s)", + args: { name: "output-folder" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the template spec", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--version", "-v"], + description: "The template spec version", + args: { name: "version" }, + }, + ], + }, + { + name: "list", + description: "List template specs or template spec versions", + options: [ + { + name: ["--name", "-n"], + description: "The name of the template spec", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the specified template spec or template spec version", + options: [ + { + name: ["--name", "-n"], + description: "The name of the template spec", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: ["--version", "-v"], + description: "The template spec version", + args: { name: "version" }, + }, + ], + }, + { + name: "update", + description: "Update a template spec version", + options: [ + { + name: "--description", + description: "The description of the parent template spec", + args: { name: "description" }, + }, + { + name: ["--display-name", "-d"], + description: "The display name of the template spec", + args: { name: "display-name" }, + }, + { + name: ["--name", "-n"], + description: "The name of the template spec", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--template-file", "-f"], + description: + "A path to a template file or Bicep file in the file system", + args: { name: "template-file" }, + }, + { + name: ["--template-spec", "-s"], + description: "The template spec resource id", + args: { name: "template-spec" }, + }, + { + name: "--ui-form-definition", + description: + "The uiFormDefinition file path in the file system for the template spec version", + args: { name: "ui-form-definition" }, + }, + { + name: ["--version", "-v"], + description: "The template spec version", + args: { name: "version" }, + }, + { + name: "--version-description", + description: "The description of the template spec version", + args: { name: "version-description" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/tsi.ts b/src/az/2.53.0/tsi.ts new file mode 100644 index 000000000000..00631b78d840 --- /dev/null +++ b/src/az/2.53.0/tsi.ts @@ -0,0 +1,1191 @@ +const completion: Fig.Spec = { + name: "tsi", + description: "Manage Azure Time Series Insights", + subcommands: [ + { + name: "access-policy", + description: "Manage access policy with timeseriesinsights", + subcommands: [ + { + name: "create", + description: "Create an access policy in the specified environment", + options: [ + { + name: ["--access-policy-name", "--name", "-n"], + description: "Name of the access policy", + args: { name: "access-policy-name" }, + isRequired: true, + }, + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--description", + description: "An description of the access policy", + args: { name: "description" }, + }, + { + name: "--principal-object-id", + description: + "The objectId of the principal in Azure Active Directory. Values from: az ad user, az ad sp", + args: { name: "principal-object-id" }, + }, + { + name: "--roles", + description: + 'The list of roles the principal is assigned on the environment. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "roles" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the access policy with the specified name in the specified subscription, resource group, and environment", + options: [ + { + name: ["--access-policy-name", "--name", "-n"], + description: + "The name of the Time Series Insights access policy associated with the specified environment", + args: { name: "access-policy-name" }, + }, + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the available access policies associated with the environment", + options: [ + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the access policy with the specified name in the specified environment", + options: [ + { + name: ["--access-policy-name", "--name", "-n"], + description: + "The name of the Time Series Insights access policy associated with the specified environment", + args: { name: "access-policy-name" }, + }, + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the access policy with the specified name in the specified subscription, resource group, and environment", + options: [ + { + name: ["--access-policy-name", "--name", "-n"], + description: + "The name of the Time Series Insights access policy associated with the specified environment", + args: { name: "access-policy-name" }, + }, + { + name: "--description", + description: "An description of the access policy", + args: { name: "description" }, + }, + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--roles", + description: + 'The list of roles the principal is assigned on the environment. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "roles" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "environment", + description: "Manage environment with Azure Time Series Insights", + subcommands: [ + { + name: "delete", + description: + "Delete the environment with the specified name in the specified subscription and resource group", + options: [ + { + name: ["--environment-name", "--name", "-n"], + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the available environments within a subscription, irrespective of the resource groups", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Get the environment with the specified name in the specified subscription and resource group", + options: [ + { + name: ["--environment-name", "--name", "-n"], + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + }, + { + name: "--expand", + description: + "Setting $expand=status will include the status of the internal services of the environment in the Time Series Insights service", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "gen1", + description: + "Manage a gen1 environment in the specified subscription and resource group", + subcommands: [ + { + name: "create", + description: + "Create a gen1 environment in the specified subscription and resource group", + options: [ + { + name: "--data-retention-time", + description: + "ISO8601 timespan specifying the minimum number of days the environment's events will be available for query", + args: { name: "data-retention-time" }, + isRequired: true, + }, + { + name: ["--environment-name", "--name", "-n"], + description: "Name of the environment", + args: { name: "environment-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: + "The sku determines the type of environment, either S1 or S2. For Gen1 environments the sku determines the capacity of the environment, the ingress rate, and the billing rate", + args: { name: "sku" }, + isRequired: true, + }, + { + name: [ + "--storage-limit-exceeded-behavior", + "--exceeded-behavior", + ], + description: + 'The behavior the Time Series Insights service should take when the environment\'s capacity has been exceeded. If "PauseIngress" is specified, new events will not be read from the event source. If "PurgeOldData" is specified, new events will continue to be read and old events will be deleted from the environment. The default behavior is PurgeOldData', + args: { + name: "storage-limit-exceeded-behavior", + suggestions: ["PauseIngress", "PurgeOldData"], + }, + }, + { + name: ["--partition-key-properties", "--key-properties"], + description: + "The list of event properties which will be used to partition data in the environment. Currently, only a single partition key property is supported", + args: { name: "partition-key-properties" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "update", + description: + "Update a gen1 environment in the specified subscription and resource group", + options: [ + { + name: "--data-retention-time", + description: + "ISO8601 timespan specifying the minimum number of days the environment's events will be available for query", + args: { name: "data-retention-time" }, + }, + { + name: ["--environment-name", "--name", "-n"], + description: "Name of the environment", + args: { name: "environment-name" }, + }, + { + name: [ + "--storage-limit-exceeded-behavior", + "--exceeded-behavior", + ], + description: + 'The behavior the Time Series Insights service should take when the environment\'s capacity has been exceeded. If "PauseIngress" is specified, new events will not be read from the event source. If "PurgeOldData" is specified, new events will continue to be read and old events will be deleted from the environment. The default behavior is PurgeOldData', + args: { + name: "storage-limit-exceeded-behavior", + suggestions: ["PauseIngress", "PurgeOldData"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: + "The sku determines the type of environment, either S1 or S2. For Gen1 environments the sku determines the capacity of the environment, the ingress rate, and the billing rate", + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + ], + }, + { + name: "gen2", + description: + "Manage a gen2 environment in the specified subscription and resource group", + subcommands: [ + { + name: "create", + description: + "Create a gen2 environment in the specified subscription and resource group", + options: [ + { + name: ["--environment-name", "--name", "-n"], + description: "Name of the environment", + args: { name: "environment-name" }, + isRequired: true, + }, + { + name: ["--time-series-id-properties", "--id-properties"], + description: + "The list of event properties which will be used to define the environment's time series id", + args: { name: "time-series-id-properties" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: "The sku determines the type of environment, L1", + args: { name: "sku" }, + isRequired: true, + }, + { + name: ["--storage-configuration", "--storage-config"], + description: + "The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data", + args: { name: "storage-configuration" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--warm-store-configuration", "--warm-store-config"], + description: + "The warm store configuration provides the details to create a warm store cache that will retain a copy of the environment's data available for faster query", + args: { name: "warm-store-configuration" }, + }, + ], + }, + { + name: "update", + description: + "Update a gen2 environment in the specified subscription and resource group", + options: [ + { + name: ["--environment-name", "--name", "-n"], + description: "Name of the environment", + args: { name: "environment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--storage-configuration", "--storage-config"], + description: + "The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data", + args: { name: "storage-configuration" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--warm-store-configuration", "--warm-store-config"], + description: + "The warm store configuration provides the details to create a warm store cache that will retain a copy of the environment's data available for faster query", + args: { name: "warm-store-configuration" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "event-source", + description: "Manage event source with timeseriesinsights", + subcommands: [ + { + name: "delete", + description: + "Delete the event source with the specified name in the specified subscription, resource group, and environment", + options: [ + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + }, + { + name: ["--event-source-name", "--name", "-n"], + description: + "The name of the Time Series Insights event source associated with the specified environment", + args: { name: "event-source-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group of environment. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the available event sources associated with the subscription and within the specified resource group and environment", + options: [ + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group of environment. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the event source with the specified name in the specified environment", + options: [ + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + }, + { + name: ["--event-source-name", "--name", "-n"], + description: + "The name of the Time Series Insights event source associated with the specified environment", + args: { name: "event-source-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group of environment. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "eventhub", + description: + "Manage event source with timeseriesinsights sub group event-hub", + subcommands: [ + { + name: "create", + description: + "Create an event source under the specified environment", + options: [ + { + name: "--consumer-group-name", + description: + "The name of the event hub's consumer group that holds the partitions from which events will be read", + args: { name: "consumer-group-name" }, + isRequired: true, + }, + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + isRequired: true, + }, + { + name: "--event-hub-name", + description: "The name of the event hub", + args: { name: "event-hub-name" }, + isRequired: true, + }, + { + name: ["--event-source-name", "--name", "-n"], + description: + "The name of the Time Series Insights event source associated with the specified environment", + args: { name: "event-source-name" }, + isRequired: true, + }, + { + name: ["--event-source-resource-id", "--resource-id"], + description: + "The resource id of the event source in Azure Resource Manager", + args: { name: "event-source-resource-id" }, + isRequired: true, + }, + { + name: ["--shared-access-policy-name", "--key-name"], + description: + "The name of the SAS key that grants the Time Series Insights service access to the event hub. The shared access policies for this key must grant 'Listen' permissions to the event hub", + args: { name: "shared-access-policy-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--service-bus-namespace", "--namespace"], + description: + "The name of the service bus that contains the event hub", + args: { name: "service-bus-namespace" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group of environment. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--shared-access-key", + description: + "The value of the shared access key that grants the Time Series Insights service read access to the event hub. This property is not shown in event source responses", + args: { name: "shared-access-key" }, + isRequired: true, + }, + { + name: "--local-timestamp", + description: + "An object that represents the local timestamp property. It contains the format of local timestamp that needs to be used and the corresponding timezone offset information. If a value isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed with the events. Expected value: json-string/@json-file", + args: { name: "local-timestamp" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--timestamp-property-name", "--ts-property-name"], + description: + "The event property that will be used as the event source's timestamp. If a value isn't specified for timestampPropertyName, or if null or empty-string is specified, the event creation time will be used", + args: { name: "timestamp-property-name" }, + }, + ], + }, + { + name: "update", + description: + "Update an event source under the specified environment", + options: [ + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + }, + { + name: ["--event-source-name", "--name", "-n"], + description: + "The name of the Time Series Insights event source associated with the specified environment", + args: { name: "event-source-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-timestamp", + description: + "An object that represents the local timestamp property. It contains the format of local timestamp that needs to be used and the corresponding timezone offset information. If a value isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed with the events. Expected value: json-string/@json-file", + args: { name: "local-timestamp" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group of environment. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--shared-access-key", + description: + "The value of the shared access key that grants the Time Series Insights service read access to the event hub. This property is not shown in event source responses", + args: { name: "shared-access-key" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--timestamp-property-name", "--ts-property-name"], + description: + "The event property that will be used as the event source's timestamp. If a value isn't specified for timestampPropertyName, or if null or empty-string is specified, the event creation time will be used", + args: { name: "timestamp-property-name" }, + }, + ], + }, + ], + }, + { + name: "iothub", + description: + "Manage event source with timeseriesinsights sub group iot-hub", + subcommands: [ + { + name: "create", + description: + "Create an event source under the specified environment", + options: [ + { + name: "--consumer-group-name", + description: + "The name of the iot hub's consumer group that holds the partitions from which events will be read", + args: { name: "consumer-group-name" }, + isRequired: true, + }, + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + isRequired: true, + }, + { + name: ["--event-source-name", "--name", "-n"], + description: + "The name of the Time Series Insights event source associated with the specified environment", + args: { name: "event-source-name" }, + isRequired: true, + }, + { + name: ["--event-source-resource-id", "--resource-id"], + description: + "The resource id of the event source in Azure Resource Manager", + args: { name: "event-source-resource-id" }, + isRequired: true, + }, + { + name: "--iot-hub-name", + description: "The name of the iot hub", + args: { name: "iot-hub-name" }, + isRequired: true, + }, + { + name: ["--shared-access-policy-name", "--key-name"], + description: + "The name of the Shared Access Policy key that grants the Time Series Insights service access to the iot hub. This shared access policy key must grant 'service connect' permissions to the iot hub", + args: { name: "shared-access-policy-name" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group of environment. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--shared-access-key", + description: + "The value of the Shared Access Policy key that grants the Time Series Insights service read access to the iot hub. This property is not shown in event source responses", + args: { name: "shared-access-key" }, + isRequired: true, + }, + { + name: "--local-timestamp", + description: + "An object that represents the local timestamp property. It contains the format of local timestamp that needs to be used and the corresponding timezone offset information. If a value isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed with the events. Expected value: json-string/@json-file", + args: { name: "local-timestamp" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--timestamp-property-name", "--ts-property-name"], + description: + "The event property that will be used as the event source's timestamp. If a value isn't specified for timestampPropertyName, or if null or empty-string is specified, the event creation time will be used", + args: { name: "timestamp-property-name" }, + }, + ], + }, + { + name: "update", + description: + "Update an event source under the specified environment", + options: [ + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + }, + { + name: ["--event-source-name", "--name", "-n"], + description: + "The name of the Time Series Insights event source associated with the specified environment", + args: { name: "event-source-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--local-timestamp", + description: + "An object that represents the local timestamp property. It contains the format of local timestamp that needs to be used and the corresponding timezone offset information. If a value isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed with the events. Expected value: json-string/@json-file", + args: { name: "local-timestamp" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group of environment. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--shared-access-key", + description: + "The value of the Shared Access Policy key that grants the Time Series Insights service read access to the iot hub. This property is not shown in event source responses", + args: { name: "shared-access-key" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: ["--timestamp-property-name", "--ts-property-name"], + description: + "The event property that will be used as the event source's timestamp. If a value isn't specified for timestampPropertyName, or if null or empty-string is specified, the event creation time will be used", + args: { name: "timestamp-property-name" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "reference-data-set", + description: "Manage reference data set with timeseriesinsights", + subcommands: [ + { + name: "create", + description: + "Create a reference data set in the specified environment", + options: [ + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + isRequired: true, + }, + { + name: "--key-properties", + description: + "The list of key properties for the reference data set", + args: { name: "key-properties" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--reference-data-set-name", "--name", "-n"], + description: + "The name of the Time Series Insights reference data set associated with the specified environment", + args: { name: "reference-data-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: [ + "--data-string-comparison-behavior", + "--comparison-behavior", + ], + description: + "The reference data set key comparison behavior can be set using this property. By default, the value is 'Ordinal' - which means case sensitive key comparison will be performed while joining reference data with events or while adding new reference data. When 'OrdinalIgnoreCase' is set, case insensitive comparison will be used", + args: { + name: "data-string-comparison-behavior", + suggestions: ["Ordinal", "OrdinalIgnoreCase"], + }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete the reference data set with the specified name in the specified subscription, resource group, and environment", + options: [ + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--reference-data-set-name", "--name", "-n"], + description: + "The name of the Time Series Insights reference data set associated with the specified environment", + args: { name: "reference-data-set-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all the available reference data sets associated with the subscription and within the specified resource group and environment", + options: [ + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the reference data set with the specified name in the specified environment", + options: [ + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--reference-data-set-name", "--name", "-n"], + description: + "The name of the Time Series Insights reference data set associated with the specified environment", + args: { name: "reference-data-set-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the reference data set with the specified name in the specified subscription, resource group, and environment", + options: [ + { + name: "--environment-name", + description: + "The name of the Time Series Insights environment associated with the specified resource group", + args: { name: "environment-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--reference-data-set-name", "--name", "-n"], + description: + "The name of the Time Series Insights reference data set associated with the specified environment", + args: { name: "reference-data-set-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Key-value pairs of additional properties for the reference data set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/upgrade.ts b/src/az/2.53.0/upgrade.ts new file mode 100644 index 000000000000..14836ede7d2f --- /dev/null +++ b/src/az/2.53.0/upgrade.ts @@ -0,0 +1,17 @@ +const completion: Fig.Spec = { + name: "upgrade", + description: "Upgrade Azure CLI and extensions", + options: [ + { + name: "--all", + description: "Enable updating extensions as well", + args: { name: "all", suggestions: ["false", "true"] }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for checking release notes", + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/version.ts b/src/az/2.53.0/version.ts new file mode 100644 index 000000000000..959c0d43c7c9 --- /dev/null +++ b/src/az/2.53.0/version.ts @@ -0,0 +1,7 @@ +const completion: Fig.Spec = { + name: "version", + description: + "Show the versions of Azure CLI modules and extensions in JSON format by default or format configured by --output", +}; + +export default completion; diff --git a/src/az/2.53.0/vm.ts b/src/az/2.53.0/vm.ts new file mode 100644 index 000000000000..c4310c0c4a68 --- /dev/null +++ b/src/az/2.53.0/vm.ts @@ -0,0 +1,6069 @@ +const completion: Fig.Spec = { + name: "vm", + description: "Manage Linux or Windows virtual machines", + subcommands: [ + { + name: "aem", + description: "Manage Azure Enhanced Monitoring Extension for SAP", + subcommands: [ + { + name: "delete", + description: "Remove Azure Enhanced Monitoring Extension", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set", + description: "Configure Azure Enhanced Monitoring Extension", + options: [ + { + name: "--debug-extension", + description: "Enable debug mode on the VM Extension for SAP", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--install-new-extension", "-i"], + description: "Install the new VM Extension for SAP", + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--proxy-uri", "-p"], + description: + "Set the proxy URI that should be used to access external resources e.g. the Azure API. Example: http://proxyhost:8080", + args: { name: "proxy-uri" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--set-access-to-individual-resources", "-s"], + description: + "Set the access of the VM identity to the individual resources, e.g. data disks instead of the complete resource group", + }, + { + name: "--skip-storage-analytics", + description: "Skip enabling analytics on storage accounts", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "verify", + description: + "Verify Azure Enhanced Monitoring Extensions configured correctly", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-storage-check", + description: "Disables the test for table content", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--wait-time-in-minutes", + description: + "Maximum minutes to wait for the storage metrics to be available", + args: { name: "wait-time-in-minutes" }, + }, + ], + }, + ], + }, + { + name: "application", + description: "Manage applications for VM", + subcommands: [ + { + name: "list", + description: "List applications for VM", + options: [ + { + name: ["--vm-name", "--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Set applications for VM", + options: [ + { + name: "--app-version-ids", + description: + "Space-separated application version ids to set to VM", + args: { name: "app-version-ids" }, + isRequired: true, + }, + { + name: "--app-config-overrides", + description: + "Space-separated application configuration overrides for each application version ids. It should have the same number of items as the application version ids. Null is available for a application which does not have a configuration override", + args: { name: "app-config-overrides" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--order-applications", + description: + "Whether to set order index at each gallery application. If specified, the first app version id gets specified an order = 1, then the next one 2, and so on. This parameter is meant to be used when the VMApplications specified by app version ids must be installed in a particular order; the lowest order is installed first", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--treat-deployment-as-failure", + description: + "Space-separated list of true or false corresponding to the application version ids. If set to true, failure to install or update gallery application version operation will fail this operation", + args: { name: "treat-deployment-as-failure" }, + }, + ], + }, + ], + }, + { + name: "assess-patches", + description: "Assess patches on a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-name", "--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "auto-shutdown", + description: "Manage auto-shutdown for VM", + options: [ + { + name: "--email", + description: + "The email recipient to send notifications to (can be a list of semi-colon separated email addresses)", + args: { name: "email" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--off", + description: + "Turn off auto-shutdown for VM. Configuration will be cleared", + args: { name: "off" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--time", + description: + "The UTC time of day the schedule will occur every day. Format: hhmm. Example: 1730", + args: { name: "time" }, + }, + { + name: "--webhook", + description: "The webhook URL to which the notification will be sent", + args: { name: "webhook" }, + }, + ], + }, + { + name: "capture", + description: "Capture information for a stopped VM", + options: [ + { + name: "--vhd-name-prefix", + description: "The VHD name prefix specify for the VM disks", + args: { name: "vhd-name-prefix" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--overwrite", + description: "Overwrite the existing disk file", + args: { name: "overwrite" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage-container", + description: + "The storage account container name in which to save the disks", + args: { name: "storage-container" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "convert", + description: "Convert a VM with unmanaged disks to use managed disks", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-name", "--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create an Azure Virtual Machine", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--accelerated-networking", + description: + "Enable accelerated networking. Unless specified, CLI will enable it based on machine image and size", + args: { + name: "accelerated-networking", + suggestions: ["false", "true"], + }, + }, + { + name: "--accept-term", + description: "Accept the license agreement and privacy statement", + args: { name: "accept-term" }, + }, + { + name: "--admin-password", + description: + "Password for the VM if authentication type is 'Password'", + args: { name: "admin-password" }, + }, + { + name: "--admin-username", + description: + "Username for the VM. Default value is current username of OS. If the default value is system reserved, then default value will be set to azureuser. Please refer to https://docs.microsoft.com/rest/api/compute/virtualmachines/createorupdate#osprofile to get a full list of reserved values", + args: { name: "admin-username" }, + }, + { + name: "--asgs", + description: + "Space-separated list of existing application security groups to associate with the VM", + args: { name: "asgs" }, + }, + { + name: "--assign-identity", + description: + "Accept system or user assigned identities separated by spaces. Use '[system]' to refer system assigned identity, or a resource id to refer user assigned identity. Check out help for more examples", + args: { name: "assign-identity" }, + }, + { + name: "--attach-data-disks", + description: + "Attach existing data disks to the VM. Can use the name or ID of a managed disk or the URI to an unmanaged disk VHD", + args: { name: "attach-data-disks" }, + }, + { + name: "--attach-os-disk", + description: + "Attach an existing OS disk to the VM. Can use the name or ID of a managed disk or the URI to an unmanaged disk VHD", + args: { name: "attach-os-disk" }, + }, + { + name: "--authentication-type", + description: + 'Type of authentication to use with the VM. Defaults to password for Windows and SSH public key for Linux. "all" enables both ssh and password authentication', + args: { + name: "authentication-type", + suggestions: ["all", "password", "ssh"], + }, + }, + { + name: "--availability-set", + description: + "Name or ID of an existing availability set to add the VM to. None by default", + args: { name: "availability-set" }, + }, + { + name: "--boot-diagnostics-storage", + description: + "Pre-existing storage account name or its blob uri to capture boot diagnostics. Its sku should be one of Standard_GRS, Standard_LRS and Standard_RAGRS", + args: { name: "boot-diagnostics-storage" }, + }, + { + name: ["--capacity-reservation-group", "--crg"], + description: + 'The ID or name of the capacity reservation group that is used to allocate. Pass in "None" to disassociate the capacity reservation group. Please note that if you want to delete a VM/VMSS that has been associated with capacity reservation group, you need to disassociate the capacity reservation group first', + args: { name: "capacity-reservation-group" }, + }, + { + name: "--computer-name", + description: + "The host OS name of the virtual machine. Defaults to the name of the VM", + args: { name: "computer-name" }, + }, + { + name: "--count", + description: + "Number of virtual machines to create. Value range is [2, 250], inclusive. Don't specify this parameter if you want to create a normal single VM. The VMs are created in parallel. The output of this command is an array of VMs instead of one single VM. Each VM has its own public IP, NIC. VNET and NSG are shared. It is recommended that no existing public IP, NIC, VNET and NSG are in resource group. When --count is specified, --attach-data-disks, --attach-os-disk, --boot-diagnostics-storage, --computer-name, --host, --host-group, --nics, --os-disk-name, --private-ip-address, --public-ip-address, --public-ip-address-dns-name, --storage-account, --storage-container-name, --subnet, --use-unmanaged-disk, --vnet-name are not allowed", + args: { name: "count" }, + }, + { + name: "--custom-data", + description: + "Custom init script file or text (cloud-init, cloud-config, etc..)", + args: { name: "custom-data" }, + }, + { + name: "--data-disk-caching", + description: + "Storage caching type for data disk(s), including 'None', 'ReadOnly', 'ReadWrite', etc. Use a singular value to apply on all disks, or use = = to configure individual disk", + args: { name: "data-disk-caching" }, + }, + { + name: "--data-disk-delete-option", + description: + 'Specify whether data disk should be deleted or detached upon VM deletion. If a single data disk is attached, the allowed values are Delete and Detach. For multiple data disks are attached, please use "=Delete =Detach" to configure each disk', + args: { name: "data-disk-delete-option" }, + }, + { + name: "--data-disk-encryption-sets", + description: + "Names or IDs (space delimited) of disk encryption sets for data disks", + args: { name: "data-disk-encryption-sets" }, + }, + { + name: "--data-disk-sizes-gb", + description: + "Space-separated empty managed data disk sizes in GB to create", + args: { name: "data-disk-sizes-gb" }, + }, + { + name: "--disable-integrity-monitoring", + description: + "Disable the default behavior of installing guest attestation extension and enabling System Assigned Identity for Trusted Launch enabled VMs and VMSS", + }, + { + name: "--disable-integrity-monitoring-autoupgrade", + description: + "Disable auto upgrade of guest attestation extension for Trusted Launch enabled VMs and VMSS", + }, + { + name: "--disk-controller-type", + description: + "Specify the disk controller type configured for the VM or VMSS", + args: { name: "disk-controller-type", suggestions: ["NVMe", "SCSI"] }, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: "--enable-agent", + description: + "Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later", + args: { name: "enable-agent", suggestions: ["false", "true"] }, + }, + { + name: "--enable-auto-update", + description: + "Indicate whether Automatic Updates is enabled for the Windows virtual machine", + args: { name: "enable-auto-update", suggestions: ["false", "true"] }, + }, + { + name: "--enable-hibernation", + description: + "The flag that enable or disable hibernation capability on the VM", + args: { name: "enable-hibernation", suggestions: ["false", "true"] }, + }, + { + name: "--enable-hotpatching", + description: + "Patch VMs without requiring a reboot. --enable-agent must be set and --patch-mode must be set to AutomaticByPlatform", + args: { name: "enable-hotpatching", suggestions: ["false", "true"] }, + }, + { + name: "--enable-secure-boot", + description: "Enable secure boot", + args: { name: "enable-secure-boot", suggestions: ["false", "true"] }, + }, + { + name: "--enable-vtpm", + description: "Enable vTPM", + args: { name: "enable-vtpm", suggestions: ["false", "true"] }, + }, + { + name: "--encryption-at-host", + description: + "Enable Host Encryption for the VM or VMSS. This will enable the encryption for all the disks including Resource/Temp disk at host itself", + args: { name: "encryption-at-host", suggestions: ["false", "true"] }, + }, + { + name: "--ephemeral-os-disk", + description: + "Allows you to create an OS disk directly on the host node, providing local disk performance and faster VM/VMSS reimage time", + args: { name: "ephemeral-os-disk", suggestions: ["false", "true"] }, + }, + { + name: ["--ephemeral-os-disk-placement", "--ephemeral-placement"], + description: + "Only applicable when used with --ephemeral-os-disk. Allows you to choose the Ephemeral OS disk provisioning location", + args: { + name: "ephemeral-os-disk-placement", + suggestions: ["CacheDisk", "ResourceDisk"], + }, + }, + { + name: "--eviction-policy", + description: + "The eviction policy for the Spot priority virtual machine. Default eviction policy is Deallocate for a Spot priority virtual machine", + args: { + name: "eviction-policy", + suggestions: ["Deallocate", "Delete"], + }, + }, + { + name: "--generate-ssh-keys", + description: + "Generate SSH public and private key files if missing. The keys will be stored in the ~/.ssh directory", + }, + { + name: "--host", + description: + "Resource ID of the dedicated host that the VM will reside in. --host and --host-group can't be used together", + args: { name: "host" }, + }, + { + name: "--host-group", + description: + "Name or resource ID of the dedicated host group that the VM will reside in. --host and --host-group can't be used together", + args: { name: "host-group" }, + }, + { + name: "--image", + description: + 'The name of the operating system image as a URN alias, URN, custom image name or ID, custom image version ID, or VHD blob URI. In addition, it also supports shared gallery image. Please use the image alias including the version of the distribution you want to use. For example: please use Debian11 instead of Debian.\' This parameter is required unless using --attach-os-disk. Valid URN format: "Publisher:Offer:Sku:Version". For more information, see https://docs.microsoft.com/azure/virtual-machines/linux/cli-ps-findimage. value from: az sig image-version show-shared, az vm image list, az vm image show', + args: { name: "image" }, + }, + { + name: "--license-type", + description: + "Specifies that the Windows image or disk was licensed on-premises. To enable Azure Hybrid Benefit for Windows Server, use 'Windows_Server'. To enable Multi-tenant Hosting Rights for Windows 10, use 'Windows_Client'. For more information see the Azure Windows VM online docs", + args: { + name: "license-type", + suggestions: [ + "None", + "RHEL_BASE", + "RHEL_BASESAPAPPS", + "RHEL_BASESAPHA", + "RHEL_BYOS", + "RHEL_ELS_6", + "RHEL_EUS", + "RHEL_SAPAPPS", + "RHEL_SAPHA", + "SLES", + "SLES_BYOS", + "SLES_HPC", + "SLES_SAP", + "SLES_STANDARD", + "UBUNTU", + "UBUNTU_PRO", + "Windows_Client", + "Windows_Server", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "Location in which to create VM and related resources. If default location is not configured, will default to the resource group's location", + args: { name: "location" }, + }, + { + name: "--max-price", + description: + "The maximum price (in US Dollars) you are willing to pay for a Spot VM/VMSS. -1 indicates that the Spot VM/VMSS should not be evicted for price reasons", + args: { name: "max-price" }, + }, + { + name: "--nic-delete-option", + description: + "Specify what happens to the network interface when the VM is deleted. Use a singular value to apply on all resources, or use = to configure the delete behavior for individual resources. Possible options are Delete and Detach", + args: { name: "nic-delete-option" }, + }, + { + name: "--nics", + description: + "Names or IDs of existing NICs to attach to the VM. The first NIC will be designated as primary. If omitted, a new NIC will be created. If an existing NIC is specified, do not specify subnet, VNet, public IP or NSG", + args: { name: "nics" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--nsg", + description: + 'The name to use when creating a new Network Security Group (default) or referencing an existing one. Can also reference an existing NSG by ID or specify "" for none (\'""\' in Azure CLI using PowerShell or --% operator)', + args: { name: "nsg" }, + }, + { + name: "--nsg-rule", + description: + "NSG rule to create when creating a new NSG. Defaults to open ports for allowing RDP on Windows and allowing SSH on Linux. NONE represents no NSG rule", + args: { name: "nsg-rule", suggestions: ["NONE", "RDP", "SSH"] }, + }, + { + name: "--os-disk-caching", + description: + "Storage caching type for the VM OS disk. Default: ReadWrite", + args: { + name: "os-disk-caching", + suggestions: ["None", "ReadOnly", "ReadWrite"], + }, + }, + { + name: "--os-disk-delete-option", + description: + "Specify the behavior of the managed disk when the VM gets deleted i.e whether the managed disk is deleted or detached", + args: { + name: "os-disk-delete-option", + suggestions: ["Delete", "Detach"], + }, + }, + { + name: "--os-disk-encryption-set", + description: "Name or ID of disk encryption set for OS disk", + args: { name: "os-disk-encryption-set" }, + }, + { + name: "--os-disk-name", + description: "The name of the new VM OS disk", + args: { name: "os-disk-name" }, + }, + { + name: "--os-disk-secure-vm-disk-encryption-set", + description: + "Specify the customer managed disk encryption set resource ID or name for the managed disk that is used for customer managed key encrypted Confidential VM OS disk and VM guest blob", + args: { name: "os-disk-secure-vm-disk-encryption-set" }, + }, + { + name: "--os-disk-security-encryption-type", + description: "Specify the encryption type of the OS managed disk", + args: { + name: "os-disk-security-encryption-type", + suggestions: ["DiskWithVMGuestState", "VMGuestStateOnly"], + }, + }, + { + name: "--os-disk-size-gb", + description: "OS disk size in GB to create", + args: { name: "os-disk-size-gb" }, + }, + { + name: "--os-type", + description: + "Type of OS installed on a custom VHD. Do not use when specifying an URN or URN alias", + args: { name: "os-type", suggestions: ["linux", "windows"] }, + }, + { + name: "--patch-mode", + description: + "Mode of in-guest patching to IaaS virtual machine. Allowed values for Windows VM: AutomaticByOS, AutomaticByPlatform, Manual. Allowed values for Linux VM: AutomaticByPlatform, ImageDefault. Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the paramater --enable-auto-update must be false. AutomaticByOS - The virtual machine will automatically be updated by the OS. The parameter --enable-auto-update must be true. AutomaticByPlatform - the virtual machine will automatically updated by the OS. ImageDefault - The virtual machine's default patching configuration is used. The parameter --enable-agent and --enable-auto-update must be true", + args: { + name: "patch-mode", + suggestions: [ + "AutomaticByOS", + "AutomaticByPlatform", + "ImageDefault", + "Manual", + ], + }, + }, + { + name: "--plan-name", + description: "Plan name", + args: { name: "plan-name" }, + }, + { + name: "--plan-product", + description: "Plan product", + args: { name: "plan-product" }, + }, + { + name: "--plan-promotion-code", + description: "Plan promotion code", + args: { name: "plan-promotion-code" }, + }, + { + name: "--plan-publisher", + description: "Plan publisher", + args: { name: "plan-publisher" }, + }, + { + name: "--platform-fault-domain", + description: + "Specify the scale set logical fault domain into which the virtual machine will be created. By default, the virtual machine will be automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the virtualMachineScaleSet property of this virtual machine is set. The virtual machine scale set that is referenced, must have platform fault domain count. This property cannot be updated once the virtual machine is created. Fault domain assignment can be viewed in the virtual machine instance view", + args: { name: "platform-fault-domain" }, + }, + { + name: "--ppg", + description: + "The name or ID of the proximity placement group the VM should be associated with", + args: { name: "ppg" }, + }, + { + name: "--priority", + description: + "Priority. Use 'Spot' to run short-lived workloads in a cost-effective way. 'Low' enum will be deprecated in the future. Please use 'Spot' to deploy Azure spot VM and/or VMSS. Default to Regular", + args: { name: "priority", suggestions: ["Low", "Regular", "Spot"] }, + }, + { + name: "--private-ip-address", + description: "Static private IP address (e.g. 10.0.0.5)", + args: { name: "private-ip-address" }, + }, + { + name: "--public-ip-address", + description: + 'Name of the public IP address when creating one (default) or referencing an existing one. Can also reference an existing public IP by ID or specify "" for None (\'""\' in Azure CLI using PowerShell or --% operator). For Azure CLI using powershell core edition 7.3.4, specify or "" (--public-ip-address or --public-ip-address "")', + args: { name: "public-ip-address" }, + }, + { + name: "--public-ip-address-allocation", + description: "", + args: { + name: "public-ip-address-allocation", + suggestions: ["dynamic", "static"], + }, + }, + { + name: "--public-ip-address-dns-name", + description: "Globally unique DNS name for a newly created public IP", + args: { name: "public-ip-address-dns-name" }, + }, + { + name: "--public-ip-sku", + description: + "Public IP SKU. It is set to Basic by default. The public IP is supported to be created on edge zone only when it is 'Standard'", + args: { name: "public-ip-sku", suggestions: ["Basic", "Standard"] }, + }, + { + name: "--role", + description: "Role name or id the system assigned identity will have", + args: { name: "role" }, + }, + { + name: "--scope", + description: "Scope that the system assigned identity can access", + args: { name: "scope" }, + }, + { + name: "--secrets", + description: + 'One or many Key Vault secrets as JSON strings or files via @{path} containing [{ "sourceVault": { "id": "value" }, "vaultCertificates": [{ "certificateUrl": "value", "certificateStore": "cert store name (only on windows)"}] }]', + args: { name: "secrets" }, + }, + { + name: "--security-type", + description: "Specify the security type of the virtual machine", + args: { + name: "security-type", + suggestions: ["ConfidentialVM", "Standard", "TrustedLaunch"], + }, + }, + { + name: "--size", + description: + "The VM size to be created. See https://azure.microsoft.com/pricing/details/virtual-machines/ for size info. value from: az vm list-sizes", + args: { name: "size" }, + }, + { + name: "--specialized", + description: "Indicate whether the source image is specialized", + args: { name: "specialized", suggestions: ["false", "true"] }, + }, + { + name: "--ssh-dest-key-path", + description: + 'Destination file path on the VM for the SSH key. If the file already exists, the specified key(s) are appended to the file. Destination path for SSH public keys is currently limited to its default value "/home/username/.ssh/authorized_keys" due to a known issue in Linux provisioning agent', + args: { name: "ssh-dest-key-path" }, + }, + { + name: "--ssh-key-name", + description: + "Use it as public key in virtual machine. It should be an existing SSH key resource in Azure", + args: { name: "ssh-key-name" }, + }, + { + name: "--ssh-key-values", + description: + "Space-separated list of SSH public keys or public key file paths", + args: { name: "ssh-key-values" }, + }, + { + name: "--storage-account", + description: + "Only applicable when used with --use-unmanaged-disk. The name to use when creating a new storage account or referencing an existing one. If omitted, an appropriate storage account in the same resource group and location will be used, or a new one will be created", + args: { name: "storage-account" }, + }, + { + name: "--storage-container-name", + description: + "Only applicable when used with --use-unmanaged-disk. Name of the storage container for the VM OS disk. Default: vhds", + args: { name: "storage-container-name" }, + }, + { + name: "--storage-sku", + description: + 'The SKU of the storage account with which to persist VM. Use a singular sku that would be applied across all disks, or specify individual disks. Usage: [--storage-sku SKU | --storage-sku ID=SKU ID=SKU ID=SKU...], where each ID is "os" or a 0-indexed lun. Allowed values: Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, PremiumV2_LRS', + args: { name: "storage-sku" }, + }, + { + name: "--subnet", + description: + "The name of the subnet when creating a new VNet or referencing an existing one. Can also reference an existing subnet by ID. If both vnet-name and subnet are omitted, an appropriate VNet and subnet will be selected automatically, or a new one will be created", + args: { name: "subnet" }, + }, + { + name: "--subnet-address-prefix", + description: + "The subnet IP address prefix to use when creating a new VNet in CIDR format", + args: { name: "subnet-address-prefix" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--ultra-ssd-enabled", + description: + "Enables or disables the capability to have 1 or more managed data disks with UltraSSD_LRS storage account", + args: { name: "ultra-ssd-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--use-unmanaged-disk", + description: "Do not use managed disk to persist VM", + }, + { + name: "--user-data", + description: + "UserData for the VM. It can be passed in as file or string", + args: { name: "user-data" }, + }, + { + name: "--v-cpus-available", + description: "Specify the number of vCPUs available", + args: { name: "v-cpus-available" }, + }, + { + name: "--v-cpus-per-core", + description: + "Specify the ratio of vCPU to physical core. Setting this property to 1 also means that hyper-threading is disabled", + args: { name: "v-cpus-per-core" }, + }, + { + name: "--validate", + description: + "Generate and validate the ARM template without creating any resources", + }, + { + name: "--vmss", + description: + "Name or ID of an existing virtual machine scale set that the virtual machine should be assigned to. None by default", + args: { name: "vmss" }, + }, + { + name: "--vnet-address-prefix", + description: + "The IP address prefix to use when creating a new VNet in CIDR format", + args: { name: "vnet-address-prefix" }, + }, + { + name: "--vnet-name", + description: + "Name of the virtual network when creating a new one or referencing an existing one", + args: { name: "vnet-name" }, + }, + { + name: "--workspace", + description: + "Name or ID of Log Analytics Workspace. If you specify the workspace through its name, the workspace should be in the same resource group with the vm, otherwise a new workspace will be created", + args: { name: "workspace" }, + }, + { + name: ["--zone", "-z"], + description: "Availability zone into which to provision the resource", + args: { name: "zone", suggestions: ["1", "2", "3"] }, + }, + ], + }, + { + name: "deallocate", + description: + "Deallocate a VM so that computing resources are no longer allocated (charges no longer apply). The status will change from 'Stopped' to 'Stopped (Deallocated)'", + options: [ + { + name: "--hibernate", + description: + "Optional parameter to hibernate a virtual machine. (Feature in Preview)", + args: { + name: "hibernate", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-name", "--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: "Delete a VM", + options: [ + { + name: "--force-deletion", + description: + "Optional parameter to force delete virtual machines. Default value is None", + args: { name: "force-deletion" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "generalize", + description: + "Mark a VM as generalized, allowing it to be imaged for multiple deployments", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-name", "--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-instance-view", + description: "Get instance information about a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "install-patches", + description: "Install patches on a VM", + options: [ + { + name: "--maximum-duration", + description: + "Specify the maximum amount of time that the operation will run. It must be an ISO 8601-compliant duration string such as PT4H (4 hours)", + args: { name: "maximum-duration" }, + isRequired: true, + }, + { + name: "--reboot-setting", + description: + "Define when it is acceptable to reboot a VM during a software update operation", + args: { + name: "reboot-setting", + suggestions: ["Always", "IfRequired", "Never"], + }, + isRequired: true, + }, + { + name: "--classifications-to-include-linux", + description: + "Space-separated list of classifications to include for Linux VM", + args: { + name: "classifications-to-include-linux", + suggestions: ["Critical", "Other", "Security"], + }, + }, + { + name: "--classifications-to-include-win", + description: + "Space-separated list of classifications to include for Windows VM", + args: { + name: "classifications-to-include-win", + suggestions: [ + "Critical", + "Definition", + "FeaturePack", + "Security", + "ServicePack", + "Tools", + "UpdateRollUp", + "Updates", + ], + }, + }, + { + name: "--exclude-kbs-requiring-reboot", + description: + "Filter out KBs that don't have a reboot behavior of 'NeverReboots' when this is set. Applicable to Windows VM only", + args: { + name: "exclude-kbs-requiring-reboot", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--kb-numbers-to-exclude", + description: + "Space-separated list of KBs to exclude in the patch operation. Applicable to Windows VM only", + args: { name: "kb-numbers-to-exclude" }, + }, + { + name: "--kb-numbers-to-include", + description: + "Space-separated list of KBs to include in the patch operation. Applicable to Windows VM only", + args: { name: "kb-numbers-to-include" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--package-name-masks-to-exclude", + description: + "Space-separated list of packages to exclude in the patch operation. Format: packageName_packageVersion. Applicable to Linux VM only", + args: { name: "package-name-masks-to-exclude" }, + }, + { + name: "--package-name-masks-to-include", + description: + "Space-separated list of packages to include in the patch operation. Format: packageName_packageVersion. Applicable to Linux VM only", + args: { name: "package-name-masks-to-include" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List details of Virtual Machines", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--show-details", "-d"], + description: + "Show public ip address, FQDN, and power states. command will run slow", + }, + { + name: "--vmss", + description: + "List VM instances in a specific VMSS. Please specify the VMSS id or VMSS name", + args: { name: "vmss" }, + }, + ], + }, + { + name: "list-ip-addresses", + description: "List IP addresses associated with a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-sizes", + description: "List available sizes for VMs", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-skus", + description: "Get details for compute-related resource SKUs", + options: [ + { + name: "--all", + description: + "Show all information including vm sizes not available under the current subscription", + args: { name: "all", suggestions: ["false", "true"] }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--resource-type", "-r"], + description: + 'Resource types e.g. "availabilitySets", "snapshots", "disks", etc', + args: { name: "resource-type" }, + }, + { + name: ["--size", "-s"], + description: "Size name, partial name is accepted", + args: { name: "size" }, + }, + { + name: ["--zone", "-z"], + description: "Show skus supporting availability zones", + args: { name: "zone", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "list-usage", + description: "List available usage resources for VMs", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "list-vm-resize-options", + description: "List available resizing options for VMs", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-name", "--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "open-port", + description: "Opens a VM to inbound traffic on specified ports", + options: [ + { + name: "--port", + description: + "The port or port range (ex: 80-100) to open inbound traffic to. Use '*' to allow traffic to all ports. Use comma separated values to specify more than one port or port range", + args: { name: "port" }, + isRequired: true, + }, + { + name: "--apply-to-subnet", + description: "Allow inbound traffic on the subnet instead of the NIC", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the virtual machine to open inbound traffic on", + args: { name: "name" }, + }, + { + name: "--nsg-name", + description: + "The name of the network security group to create if one does not exist. Ignored if an NSG already exists", + args: { name: "nsg-name" }, + }, + { + name: "--priority", + description: + "Rule priority, between 100 (highest priority) and 4096 (lowest priority). Must be unique for each rule in the collection", + args: { name: "priority" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "perform-maintenance", + description: "The operation to perform maintenance on a virtual machine", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-name", "--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reapply", + description: "Reapply VMs", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-name", "--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "redeploy", + description: "Redeploy an existing VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-name", "--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reimage", + description: "Reimage (upgrade the operating system) a virtual machine", + options: [ + { + name: "--admin-password", + description: "Specifies the password of the administrator account", + args: { name: "admin-password" }, + }, + { + name: "--custom-data", + description: "Specifies a base-64 encoded string of custom data", + args: { name: "custom-data" }, + }, + { + name: "--exact-version", + description: + "Specifies in decimal number, the version the OS disk should be reimaged to. If exact version is not provided, the OS disk is reimaged to the existing version of OS Disk", + args: { name: "exact-version" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-name", "--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--temp-disk", + description: + "Specifies whether to reimage temp disk. Default value: false. Note: This temp disk reimage parameter is only supported for VM/VMSS with Ephemeral OS disk", + }, + ], + }, + { + name: "resize", + description: "Update a VM's size", + options: [ + { + name: "--size", + description: "The VM size. value from: az vm list-vm-resize-options", + args: { name: "size" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restart", + description: "Restart VMs", + options: [ + { + name: "--force", + description: + "Force the VM to restart by redeploying it. Use if the VM is unresponsive", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--include-user-data", "-u"], + description: "Include the user data properties in the query result", + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--show-details", "-d"], + description: + "Show public ip address, FQDN, and power states. command will run slow", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "simulate-eviction", + description: "Simulate the eviction of a Spot VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-name", "--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start a stopped VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-name", "--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Power off (stop) a running VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--skip-shutdown", + description: "Skip shutdown and power-off immediately", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the properties of a VM", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--capacity-reservation-group", "--crg"], + description: + 'The ID or name of the capacity reservation group that is used to allocate. Pass in "None" to disassociate the capacity reservation group. Please note that if you want to delete a VM/VMSS that has been associated with capacity reservation group, you need to disassociate the capacity reservation group first', + args: { name: "capacity-reservation-group" }, + }, + { + name: "--disk-caching", + description: + "Use singular value to apply across, or specify individual disks, e.g. 'os=ReadWrite 0=None 1=ReadOnly' should enable update os disk and 2 data disks", + args: { name: "disk-caching" }, + }, + { + name: "--disk-controller-type", + description: + "Specify the disk controller type configured for the VM or VMSS", + args: { name: "disk-controller-type", suggestions: ["NVMe", "SCSI"] }, + }, + { + name: "--enable-hibernation", + description: + "The flag that enable or disable hibernation capability on the VM", + args: { name: "enable-hibernation", suggestions: ["false", "true"] }, + }, + { + name: "--enable-secure-boot", + description: "Enable secure boot", + args: { name: "enable-secure-boot", suggestions: ["false", "true"] }, + }, + { + name: "--enable-vtpm", + description: "Enable vTPM", + args: { name: "enable-vtpm", suggestions: ["false", "true"] }, + }, + { + name: ["--ephemeral-os-disk-placement", "--ephemeral-placement"], + description: + "Only applicable when used with --size. Allows you to choose the Ephemeral OS disk provisioning location", + args: { + name: "ephemeral-os-disk-placement", + suggestions: ["CacheDisk", "ResourceDisk"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--host", + description: + "Resource ID of the dedicated host that the VM will reside in. --host and --host-group can't be used together. You should deallocate the VM before update, and start the VM after update. Please check out help for more examples", + args: { name: "host" }, + }, + { + name: "--host-group", + description: + "Name or resource ID of the dedicated host group that the VM will reside in. --host and --host-group can't be used together. You should deallocate the VM before update, and start the VM after update. Please check out help for more examples", + args: { name: "host-group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--license-type", + description: + "Specifies that the Windows image or disk was licensed on-premises. To enable Azure Hybrid Benefit for Windows Server, use 'Windows_Server'. To enable Multi-tenant Hosting Rights for Windows 10, use 'Windows_Client'. For more information see the Azure Windows VM online docs", + args: { + name: "license-type", + suggestions: [ + "None", + "RHEL_BASE", + "RHEL_BASESAPAPPS", + "RHEL_BASESAPHA", + "RHEL_BYOS", + "RHEL_ELS_6", + "RHEL_EUS", + "RHEL_SAPAPPS", + "RHEL_SAPHA", + "SLES", + "SLES_BYOS", + "SLES_HPC", + "SLES_SAP", + "SLES_STANDARD", + "UBUNTU", + "UBUNTU_PRO", + "Windows_Client", + "Windows_Server", + ], + }, + }, + { + name: "--max-price", + description: + "The maximum price (in US Dollars) you are willing to pay for a Spot VM/VMSS. -1 indicates that the Spot VM/VMSS should not be evicted for price reasons", + args: { name: "max-price" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--os-disk", + description: "Managed OS disk ID or name to swap to", + args: { name: "os-disk" }, + }, + { + name: "--ppg", + description: + "The name or ID of the proximity placement group the VM should be associated with", + args: { name: "ppg" }, + }, + { + name: "--priority", + description: + "Priority. Use 'Spot' to run short-lived workloads in a cost-effective way. 'Low' enum will be deprecated in the future. Please use 'Spot' to deploy Azure spot VM and/or VMSS. Default to Regular", + args: { name: "priority", suggestions: ["Low", "Regular", "Spot"] }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--security-type", + description: "Specify the security type of the virtual machine", + args: { name: "security-type", suggestions: ["TrustedLaunch"] }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--size", + description: + "The new size of the virtual machine. See https://azure.microsoft.com/pricing/details/virtual-machines/ for size info", + args: { name: "size" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--ultra-ssd-enabled", + description: + "Enables or disables the capability to have 1 or more managed data disks with UltraSSD_LRS storage account", + args: { name: "ultra-ssd-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--user-data", + description: + "UserData for the VM. It can be passed in as file or string. If empty string is passed in, the existing value will be deleted", + args: { name: "user-data" }, + }, + { + name: "--v-cpus-available", + description: "Specify the number of vCPUs available", + args: { name: "v-cpus-available" }, + }, + { + name: "--v-cpus-per-core", + description: + "Specify the ratio of vCPU to physical core. Setting this property to 1 also means that hyper-threading is disabled", + args: { name: "v-cpus-per-core" }, + }, + { + name: "--workspace", + description: + "Name or ID of Log Analytics Workspace. If you specify the workspace through its name, the workspace should be in the same resource group with the vm, otherwise a new workspace will be created", + args: { name: "workspace" }, + }, + { + name: "--write-accelerator", + description: + "Enable/disable disk write accelerator. Use singular value 'true/false' to apply across, or specify individual disks, e.g.'os=true 1=true 2=true' for os disk and data disks with lun of 1 & 2", + args: { name: "write-accelerator" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the VM is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "availability-set", + description: + "Group resources into availability sets.\n\n\t\tTo provide redundancy to an application, it is recommended to group two or more virtual machines in an availability set. This configuration ensures that during either a planned or unplanned maintenance event, at least one virtual machine will be available", + subcommands: [ + { + name: "convert", + description: + "Convert an Azure Availability Set to contain VMs with managed disks", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the availability set", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create an Azure Availability Set", + options: [ + { + name: ["--name", "-n"], + description: "Name of the availability set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--platform-fault-domain-count", + description: "Fault Domain count", + args: { name: "platform-fault-domain-count" }, + }, + { + name: "--platform-update-domain-count", + description: + "Update Domain count. If unspecified, the server will pick the most optimal number like 5", + args: { name: "platform-update-domain-count" }, + }, + { + name: "--ppg", + description: + "The name or ID of the proximity placement group the availability set should be associated with", + args: { name: "ppg" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--unmanaged", + description: "Contained VMs should use unmanaged disks", + }, + { + name: "--validate", + description: + "Generate and validate the ARM template without creating any resources", + }, + ], + }, + { + name: "delete", + description: "Delete an availability set", + options: [ + { + name: ["--availability-set-name", "--name", "-n"], + description: "The name of the availability set", + args: { name: "availability-set-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List availability sets", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-sizes", + description: + "List all available virtual machine sizes that can be used to create a new virtual machine in an existing availability set", + options: [ + { + name: ["--availability-set-name", "--name", "-n"], + description: "The name of the availability set", + args: { name: "availability-set-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get information about an availability set", + options: [ + { + name: ["--availability-set-name", "--name", "-n"], + description: "The name of the availability set", + args: { name: "availability-set-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Azure Availability Set", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the availability set", + args: { name: "name" }, + }, + { + name: "--ppg", + description: + "The name or ID of the proximity placement group the availability set should be associated with", + args: { name: "ppg" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "boot-diagnostics", + description: + "Troubleshoot the startup of an Azure Virtual Machine.\n\n\t\tUse this feature to troubleshoot boot failures for custom or platform images", + subcommands: [ + { + name: "disable", + description: "Disable the boot diagnostics on a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "enable", + description: "Enable the boot diagnostics on a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--storage", + description: + "Name or URI of a storage account (e.g. https://your_storage_account_name.blob.core.windows.net/). If it's not specified, managed storage will be used", + args: { name: "storage" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-boot-log", + description: "Get the boot diagnostics log from a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-boot-log-uris", + description: + "Get SAS URIs for a virtual machine's boot diagnostic logs", + options: [ + { + name: "--expire", + description: + "Expiration duration in minutes for the SAS URIs with a value between 1 to 1440 minutes. If not specified, SAS URIs will be generated with a default expiration duration of 120 minutes", + args: { name: "expire" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "diagnostics", + description: "Configure the Azure Virtual Machine diagnostics extension", + subcommands: [ + { + name: "get-default-config", + description: "Get the default configuration settings for a VM", + options: [ + { name: "--is-windows-os", description: "For Windows VMs" }, + ], + }, + { + name: "set", + description: "Configure the Azure VM diagnostics extension", + options: [ + { + name: "--settings", + description: + "Json string or a file path, which defines data to be collected", + args: { name: "settings" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-auto-upgrade", + description: + "Option '--no-auto-upgrade' has been deprecated and will be removed in a future release. Use '--no-auto-upgrade-minor-version' instead. If set, the extension service will not automatically pick or upgrade to the latest minor version, even if the extension is redeployed", + }, + { + name: "--no-auto-upgrade-minor-version", + description: + "If set, the extension service will not automatically pick or upgrade to the latest minor version, even if the extension is redeployed", + }, + { + name: "--protected-settings", + description: + "Json string or a file path containing private configurations such as storage account keys, etc", + args: { name: "protected-settings" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--version", + description: + "Version of the diagnostics extension. Will use the latest if not specfied", + args: { name: "version" }, + }, + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + ], + }, + ], + }, + { + name: "disk", + description: + "Manage the managed data disks attached to a VM.\n\n\t\tAzure Virtual Machines use disks as a place to store an operating system, applications, and data. All Azure virtual machines have at least two disks: An operating system disk, and a temporary disk. The operating system disk is created from an image, and both the operating system disk and the image are actually virtual hard disks (VHDs) stored in an Azure storage account. Virtual machines also can have one or more data disks, that are also stored as VHDs.\nAzure Managed and Unmanaged Data Disks have a maximum size of 4095 GB (with the exception of larger disks in preview). Azure Unmanaged Disks also have a maximum capacity of 4095 GB.\nFor more information, see:\n\nAzure Disks - https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview.\nLarger Managed Disks in Public Preview - https://azure.microsoft.com/blog/introducing-the-public-preview-of-larger-managed-disks-sizes/\nUltra SSD Managed Disks in Public Preview - https://docs.microsoft.com/azure/virtual-machines/disks-types", + subcommands: [ + { + name: "attach", + description: "Attach a managed persistent disk to a VM", + options: [ + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--caching", + description: "Disk caching policy", + args: { + name: "caching", + suggestions: ["None", "ReadOnly", "ReadWrite"], + }, + }, + { + name: "--disks", + description: + "One or more names or IDs of the managed disk (space-delimited)", + args: { name: "disks" }, + }, + { + name: "--enable-write-accelerator", + description: "Enable write accelerator", + }, + { + name: "--lun", + description: + "0-based logical unit number (LUN). Max value depends on the Virtual Machine size", + args: { name: "lun" }, + }, + { + name: ["--name", "-n"], + description: "The name or ID of the managed disk", + args: { name: "name" }, + }, + { name: "--new", description: "Create a new disk" }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--size-gb", "-z"], + description: + "Size in GB. Max size: 4095 GB (certain preview disks can be larger)", + args: { name: "size-gb" }, + }, + { + name: "--sku", + description: "Underlying storage SKU", + args: { + name: "sku", + suggestions: [ + "PremiumV2_LRS", + "Premium_LRS", + "Premium_ZRS", + "StandardSSD_LRS", + "StandardSSD_ZRS", + "Standard_LRS", + "UltraSSD_LRS", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "detach", + description: "Detach a managed disk from a VM", + options: [ + { + name: ["--name", "-n"], + description: "The data disk name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--force-detach", + description: "Force detach managed data disks from a VM", + args: { name: "force-detach" }, + }, + ], + }, + ], + }, + { + name: "encryption", + description: + "Manage encryption of VM disks.\n\n\t\tFor more information, see:\nhttps://docs.microsoft.com/azure/security/fundamentals/azure-disk-encryption-vms-vmss", + subcommands: [ + { + name: "disable", + description: + "Disable disk encryption on the OS disk and/or data disks. Decrypt mounted disks", + options: [ + { + name: "--force", + description: "Continue by ignoring client side validation errors", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--volume-type", + description: + "Type of volume that the encryption operation is performed on", + args: { name: "volume-type", suggestions: ["ALL", "DATA", "OS"] }, + }, + ], + }, + { + name: "enable", + description: + "Enable disk encryption on the OS disk and/or data disks. Encrypt mounted disks", + options: [ + { + name: "--disk-encryption-keyvault", + description: + "Name or ID of the key vault where the generated encryption key will be placed", + args: { name: "disk-encryption-keyvault" }, + isRequired: true, + }, + { + name: "--aad-client-cert-thumbprint", + description: + "Thumbprint of the AAD app certificate with permissions to write secrets to the key vault", + args: { name: "aad-client-cert-thumbprint" }, + }, + { + name: "--aad-client-id", + description: + "Client ID of an AAD app with permissions to write secrets to the key vault", + args: { name: "aad-client-id" }, + }, + { + name: "--aad-client-secret", + description: + "Client secret of the AAD app with permissions to write secrets to the key vault", + args: { name: "aad-client-secret" }, + }, + { + name: "--encrypt-format-all", + description: + "Encrypts-formats data disks instead of encrypting them. Encrypt-formatting is a lot faster than in-place encryption but wipes out the partition getting encrypt-formatted. (Only supported for Linux virtual machines.)", + }, + { + name: "--force", + description: "Continue by ignoring client side validation errors", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-encryption-algorithm", + description: "", + args: { name: "key-encryption-algorithm" }, + }, + { + name: "--key-encryption-key", + description: + "Key vault key name or URL used to encrypt the disk encryption key", + args: { name: "key-encryption-key" }, + }, + { + name: "--key-encryption-keyvault", + description: + "Name or ID of the key vault containing the key encryption key used to encrypt the disk encryption key. If missing, CLI will use --disk-encryption-keyvault", + args: { name: "key-encryption-keyvault" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--volume-type", + description: + "Type of volume that the encryption operation is performed on", + args: { name: "volume-type", suggestions: ["ALL", "DATA", "OS"] }, + }, + ], + }, + { + name: "show", + description: "Show encryption status", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "extension", + description: + "Manage extensions on VMs.\n\n\t\tExtensions are small applications that provide post-deployment configuration and automation tasks on Azure virtual machines. For example, if a virtual machine requires software installation, anti-virus protection, or Docker configuration, a VM extension can be used to complete these tasks. Extensions can be bundled with a new virtual machine deployment or run against any existing system", + subcommands: [ + { + name: "delete", + description: "Delete operation to delete the extension", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-extension-name", "--name", "-n"], + description: "The name of the virtual machine extension", + args: { name: "vm-extension-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "list", + description: "List the extensions attached to a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "set", + description: "Set extensions for a VM", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the extension. value from: az vm extension image list", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--publisher", + description: "The name of the extension publisher", + args: { name: "publisher" }, + isRequired: true, + }, + { + name: "--enable-auto-upgrade", + description: + "Indicate the extension should be automatically upgraded by the platform if there is a newer version of the extension available", + args: { + name: "enable-auto-upgrade", + suggestions: ["false", "true"], + }, + }, + { + name: "--extension-instance-name", + description: + "Name of extension instance, which can be customized. Default: name of the extension", + args: { name: "extension-instance-name" }, + }, + { + name: "--force-update", + description: + "Force to update even if the extension configuration has not changed", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-auto-upgrade", + description: + "Option '--no-auto-upgrade' has been deprecated and will be removed in a future release. Use '--no-auto-upgrade-minor-version' instead. If set, the extension service will not automatically pick or upgrade to the latest minor version, even if the extension is redeployed", + }, + { + name: "--no-auto-upgrade-minor-version", + description: + "If set, the extension service will not automatically pick or upgrade to the latest minor version, even if the extension is redeployed", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--protected-settings", + description: + "Protected settings in JSON format for sensitive information like credentials. A JSON file path is also accepted", + args: { name: "protected-settings" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--settings", + description: + "Extension settings in JSON format. A JSON file path is also accepted", + args: { name: "settings" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--version", + description: + "The version of the extension. To pin extension version to this value, please specify --no-auto-upgrade-minor-version", + args: { name: "version" }, + }, + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "show", + description: "Display information about extensions attached to a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-view", + description: "The instance view of a virtual machine extension", + }, + { + name: ["--name", "-n"], + description: "Name of the extension", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a virtual machine extension is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: "Name of the extension", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "image", + description: + "Find the available VM extensions for a subscription and region", + subcommands: [ + { + name: "list", + description: "List the information on available extensions", + options: [ + { + name: "--latest", + description: "Show the latest version only", + }, + { + name: ["--location", "-l"], + description: "Image location", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Image name", + args: { name: "name" }, + }, + { + name: ["--publisher", "-p"], + description: "Image publisher name", + args: { name: "publisher" }, + }, + { + name: "--version", + description: "Extension version", + args: { name: "version" }, + }, + ], + }, + { + name: "list-names", + description: "List the names of available extensions", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--publisher-name", "--publisher", "-p"], + description: "Image publisher name", + args: { name: "publisher-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-versions", + description: "List the versions for available extensions", + options: [ + { + name: "--filter", + description: + "The filter to apply on the operation. Default value is None", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "--type", "-n"], + description: "Name of the extension", + args: { name: "name" }, + }, + { + name: "--orderby", + description: "The $orderby odata query option", + args: { name: "orderby" }, + }, + { + name: ["--publisher-name", "--publisher", "-p"], + description: "Image publisher name", + args: { name: "publisher-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "The $top odata query option", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Display information for an extension", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "--type", "-n"], + description: "Name of the extension", + args: { name: "name" }, + }, + { + name: ["--publisher-name", "--publisher", "-p"], + description: "Image publisher name", + args: { name: "publisher-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--version", + description: "Extension version", + args: { name: "version" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "host", + description: "Manage Dedicated Hosts for Virtual Machines", + subcommands: [ + { + name: "create", + description: "Create a dedicated host", + options: [ + { + name: "--host-group", + description: "Name of the Dedicated Host Group", + args: { name: "host-group" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Dedicated Host", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: + "SKU of the dedicated host. Available SKUs: https://azure.microsoft.com/pricing/details/virtual-machines/dedicated-host/", + args: { name: "sku" }, + isRequired: true, + }, + { + name: "--auto-replace", + description: "Replace the host automatically if a failure occurs", + args: { name: "auto-replace", suggestions: ["false", "true"] }, + }, + { + name: "--license-type", + description: + "The software license type that will be applied to the VMs deployed on the dedicated host", + args: { + name: "license-type", + suggestions: [ + "None", + "Windows_Server_Hybrid", + "Windows_Server_Perpetual", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. Otherwise, location will default to the resource group's location", + args: { name: "location" }, + }, + { + name: ["--platform-fault-domain", "-d"], + description: + "Fault domain of the host within a group. Allowed values: 0, 1, 2", + args: { name: "platform-fault-domain" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: "Delete a dedicated host", + options: [ + { + name: ["--host-group-name", "--host-group"], + description: "The name of the dedicated host group", + args: { name: "host-group-name" }, + }, + { + name: ["--host-name", "--name", "-n"], + description: "The name of the dedicated host", + args: { name: "host-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-instance-view", + description: "Get instance information about a dedicated host", + options: [ + { + name: "--host-group", + description: "Name of the Dedicated Host Group", + args: { name: "host-group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Dedicated Host", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List dedicated hosts", + options: [ + { + name: ["--host-group-name", "--host-group"], + description: "The name of the dedicated host group", + args: { name: "host-group-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-resize-options", + description: + "List all available dedicated host sizes to which the specified dedicated host can be resized. NOTE: The dedicated host sizes provided can be used to only scale up the existing dedicated host", + options: [ + { + name: ["--host-group-name", "--host-group"], + description: "The name of the dedicated host group", + args: { name: "host-group-name" }, + }, + { + name: ["--host-name", "--name", "-n"], + description: "The name of the dedicated host", + args: { name: "host-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "resize", + description: "Resize a dedicated host", + options: [ + { + name: ["--host-group-name", "--host-group"], + description: "The name of the dedicated host group", + args: { name: "host-group-name" }, + }, + { + name: ["--host-name", "--name", "-n"], + description: "The name of the dedicated host", + args: { name: "host-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--sku", + description: + "Dedicated host size for resizing. Available dedicated host sizes for resizing could be listed by running 'az vm host list-resize-options'", + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restart", + description: "Restart the dedicated host", + options: [ + { + name: ["--host-group-name", "--host-group"], + description: "The name of the dedicated host group", + args: { name: "host-group-name" }, + }, + { + name: "--host-name", + description: "The name of the dedicated host", + args: { name: "host-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a dedicated host", + options: [ + { + name: "--expand", + description: + "The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated host. 'UserData' is not supported for dedicated host", + args: { + name: "expand", + suggestions: ["instanceView", "userData"], + }, + }, + { + name: ["--host-group-name", "--host-group"], + description: "The name of the dedicated host group", + args: { name: "host-group-name" }, + }, + { + name: ["--host-name", "--name", "-n"], + description: "The name of the dedicated host", + args: { name: "host-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a dedicated host", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--host-group", + description: "Name of the Dedicated Host Group", + args: { name: "host-group" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Dedicated Host", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--expand", + description: + "The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated host. 'UserData' is not supported for dedicated host", + args: { + name: "expand", + suggestions: ["instanceView", "userData"], + }, + }, + { + name: ["--host-group-name", "--host-group"], + description: "The name of the dedicated host group", + args: { name: "host-group-name" }, + }, + { + name: ["--host-name", "--name", "-n"], + description: "The name of the dedicated host", + args: { name: "host-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "group", + description: "Manage Dedicated Host Groups", + subcommands: [ + { + name: "create", + description: "Create a dedicated host group", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Dedicated Host Group", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--platform-fault-domain-count", "-c"], + description: + "Number of fault domains that the host group can span", + args: { name: "platform-fault-domain-count" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--automatic-placement", + description: + "Specify whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to false when not provided", + args: { + name: "automatic-placement", + suggestions: ["false", "true"], + }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. Otherwise, location will default to the resource group's location", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--ultra-ssd-enabled", + description: + "Enable a capability to have UltraSSD Enabled Virtual Machines on Dedicated Hosts of the Dedicated Host Group", + args: { + name: "ultra-ssd-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: ["--zone", "-z"], + description: + "Availability zone into which to provision the resource", + args: { name: "zone", suggestions: ["1", "2", "3"] }, + }, + ], + }, + { + name: "delete", + description: "Delete a dedicated host group", + options: [ + { + name: ["--host-group-name", "--name", "-n"], + description: "Name of the Dedicated Host Group", + args: { name: "host-group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "get-instance-view", + description: "Get instance view of a dedicated host group", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Dedicated Host Group", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List dedicated host groups", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a dedicated host group", + options: [ + { + name: ["--host-group-name", "--name", "-n"], + description: "Name of the Dedicated Host Group", + args: { name: "host-group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a dedicated host group", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Dedicated Host Group", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage service identities of a VM", + subcommands: [ + { + name: "assign", + description: "Enable managed service identity on a VM", + options: [ + { + name: "--identities", + description: + "Space-separated identities to assign. Use '[system]' to refer to the system assigned identity. Default: '[system]'", + args: { name: "identities" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: + 'Role name or id the system assigned identity will have. Please note that the default value "Contributor" will be removed in the breaking change release of the fall, so please specify "--role" and "--scope" at the same time when assigning a role to the managed identity', + args: { name: "role" }, + }, + { + name: "--scope", + description: "Scope that the system assigned identity can access", + args: { name: "scope" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: "Remove managed service identities from a VM", + options: [ + { + name: "--identities", + description: + "Space-separated identities to remove. Use '[system]' to refer to the system assigned identity. Default: '[system]'", + args: { name: "identities" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Display VM's managed identity info", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "image", + description: "Information on available virtual machine images", + subcommands: [ + { + name: "accept-terms", + description: + "Accept Azure Marketplace term so that the image can be used to create VMs", + options: [ + { + name: ["--offer", "-f"], + description: "Image offer", + args: { name: "offer" }, + }, + { + name: "--plan", + description: "Image billing plan", + args: { name: "plan" }, + }, + { + name: ["--publisher", "-p"], + description: "Image publisher", + args: { name: "publisher" }, + }, + { + name: "--urn", + description: + "URN, in format of 'publisher:offer:sku:version' or 'publisher:offer:sku:edge_zone:version'. If specified, other argument values can be omitted", + args: { name: "urn" }, + }, + ], + }, + { + name: "list", + description: + "List the VM/VMSS images available in the Azure Marketplace", + options: [ + { + name: "--all", + description: + "Retrieve image list from live Azure service rather using an offline image list", + }, + { + name: "--architecture", + description: "The name of architecture", + args: { name: "architecture", suggestions: ["Arm64", "x64"] }, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--offer", "-f"], + description: "Image offer name, partial name is accepted", + args: { name: "offer" }, + }, + { + name: ["--publisher", "-p"], + description: "Image publisher name, partial name is accepted", + args: { name: "publisher" }, + }, + { + name: ["--sku", "-s"], + description: "Image sku name, partial name is accepted", + args: { name: "sku" }, + }, + ], + }, + { + name: "list-offers", + description: + "List the VM image offers available in the Azure Marketplace", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--publisher", "-p"], + description: + "Image publisher. value from: az vm image list-publishers", + args: { name: "publisher" }, + isRequired: true, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + ], + }, + { + name: "list-publishers", + description: + "List the VM image publishers available in the Azure Marketplace", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + ], + }, + { + name: "list-skus", + description: + "List the VM image SKUs available in the Azure Marketplace", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: ["--offer", "-f"], + description: "Image offer", + args: { name: "offer" }, + isRequired: true, + }, + { + name: ["--publisher", "-p"], + description: + "Image publisher. value from: az vm image list-publishers", + args: { name: "publisher" }, + isRequired: true, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + ], + }, + { + name: "show", + description: + "Get the details for a VM image available in the Azure Marketplace", + options: [ + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--offer", "-f"], + description: "Image offer", + args: { name: "offer" }, + }, + { + name: ["--publisher", "-p"], + description: "Image publisher", + args: { name: "publisher" }, + }, + { + name: ["--sku", "-s"], + description: "Image sku", + args: { name: "sku" }, + }, + { + name: "--urn", + description: + "URN, in format of 'publisher:offer:sku:version' or 'publisher:offer:sku:edge_zone:version'. If specified, other argument values can be omitted", + args: { name: "urn" }, + }, + { + name: "--version", + description: "Image sku's version", + args: { name: "version" }, + }, + ], + }, + { + name: "terms", + description: "Manage Azure Marketplace image terms", + subcommands: [ + { + name: "accept", + description: + "Accept Azure Marketplace image terms so that the image can be used to create VMs", + options: [ + { + name: ["--offer", "-f"], + description: "Image offer", + args: { name: "offer" }, + }, + { + name: "--plan", + description: "Image billing plan", + args: { name: "plan" }, + }, + { + name: ["--publisher", "-p"], + description: "Image publisher", + args: { name: "publisher" }, + }, + { + name: "--urn", + description: + "URN, in the format of 'publisher:offer:sku:version'. If specified, other argument values can be omitted", + args: { name: "urn" }, + }, + ], + }, + { + name: "cancel", + description: "Cancel Azure Marketplace image terms", + options: [ + { + name: ["--offer", "-f"], + description: "Image offer", + args: { name: "offer" }, + }, + { + name: "--plan", + description: "Image billing plan", + args: { name: "plan" }, + }, + { + name: ["--publisher", "-p"], + description: "Image publisher", + args: { name: "publisher" }, + }, + { + name: "--urn", + description: + "URN, in the format of 'publisher:offer:sku:version'. If specified, other argument values can be omitted", + args: { name: "urn" }, + }, + ], + }, + { + name: "show", + description: "Get the details of Azure Marketplace image terms", + options: [ + { + name: ["--offer", "-f"], + description: "Image offer", + args: { name: "offer" }, + }, + { + name: "--plan", + description: "Image billing plan", + args: { name: "plan" }, + }, + { + name: ["--publisher", "-p"], + description: "Image publisher", + args: { name: "publisher" }, + }, + { + name: "--urn", + description: + "URN, in the format of 'publisher:offer:sku:version'. If specified, other argument values can be omitted", + args: { name: "urn" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "monitor", + description: "Manage monitor aspect for a vm", + subcommands: [ + { + name: "log", + description: "Manage log analytics workspace for a vm", + subcommands: [ + { + name: "show", + description: + "Execute a query against the Log Analytics workspace linked with a VM", + options: [ + { + name: ["--analytics-query", "-q"], + description: "Query to execute over Log Analytics data", + args: { name: "analytics-query" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timespan", + description: + "Timespan over which to query. Defaults to querying all available data", + args: { name: "timespan" }, + }, + ], + }, + ], + }, + { + name: "metrics", + description: "Manage metrics for a vm", + subcommands: [ + { + name: "list-definitions", + description: "List the metric definitions for a VM", + options: [ + { + name: ["--name", "-n"], + description: "Name or ID of a virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--namespace", + description: "Namespace to query metric definitions for", + args: { name: "namespace" }, + }, + ], + }, + { + name: "tail", + description: "List the metric values for a VM", + options: [ + { + name: ["--name", "-n"], + description: "Name or ID of a virtual machine", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--aggregation", + description: + 'The list of aggregation types (space-separated) to retrieve. value from: az vm monitor metrics list-definitions -n MyVM -g MyRG --query "@[*].supportedAggregationTypes"', + args: { + name: "aggregation", + suggestions: [ + "Average", + "Count", + "Maximum", + "Minimum", + "None", + "Total", + ], + }, + }, + { + name: "--dimension", + description: + 'The list of dimensions (space-separated) the metrics are queried into. value from: az vm monitor metrics list-definitions -n MyVM -g MyRG --query "@[*].dimensions"', + args: { name: "dimension" }, + }, + { + name: "--end-time", + description: + "End time of the query. Defaults to the current time. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "end-time" }, + }, + { + name: "--filter", + description: + "A string used to reduce the set of metric data returned. eg. \"LUN eq '*'\"", + args: { name: "filter" }, + }, + { + name: "--interval", + description: + "The interval over which to aggregate metrics, in ##h##m format", + args: { name: "interval" }, + }, + { + name: "--metadata", + description: + "Return the metadata values instead of metric data", + args: { name: "metadata" }, + }, + { + name: "--metrics", + description: + 'Space-separated list of metric names to retrieve. value from: az vm monitor metrics list-definitions -n MyVM -g MyRG --query "@[*].name.value"', + args: { name: "metrics" }, + }, + { + name: "--namespace", + description: "Namespace to query metric definitions for", + args: { name: "namespace" }, + }, + { + name: "--offset", + description: + "Time offset of the query range, in ##d##h format", + args: { name: "offset" }, + }, + { + name: "--orderby", + description: + "Aggregation to use for sorting results and the direction of the sort. Only one order can be specificed. Examples: sum asc", + args: { name: "orderby" }, + }, + { + name: "--start-time", + description: + "Start time of the query. Format: date (yyyy-mm-dd) time (hh:mm:ss.xxxxx) timezone (+/-hh:mm)", + args: { name: "start-time" }, + }, + { + name: "--top", + description: + "Max number of records to retrieve. Valid only if --filter used", + args: { name: "top" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "nic", + description: + "Manage network interfaces. See also az network nic.\n\n\t\tA network interface (NIC) is the interconnection between a VM and the underlying software network. For more information, see https://docs.microsoft.com/azure/virtual-network/virtual-network-network-interface-overview", + subcommands: [ + { + name: "add", + description: "Add existing NICs to a VM", + options: [ + { + name: "--nics", + description: "Names or IDs of NICs", + args: { name: "nics" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--primary-nic", + description: + "Name or ID of the primary NIC. If missing, the first NIC in the list will be the primary", + args: { name: "primary-nic" }, + }, + ], + }, + { + name: "list", + description: "List the NICs available on a VM", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove NICs from a VM", + options: [ + { + name: "--nics", + description: "Names or IDs of NICs", + args: { name: "nics" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--primary-nic", + description: + "Name or ID of the primary NIC. If missing, the first NIC in the list will be the primary", + args: { name: "primary-nic" }, + }, + ], + }, + { + name: "set", + description: "Configure settings of a NIC attached to a VM", + options: [ + { + name: "--nics", + description: "Names or IDs of NICs", + args: { name: "nics" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--primary-nic", + description: + "Name or ID of the primary NIC. If missing, the first NIC in the list will be the primary", + args: { name: "primary-nic" }, + }, + ], + }, + { + name: "show", + description: "Display information for a NIC attached to a VM", + options: [ + { + name: "--nic", + description: "NIC name or ID", + args: { name: "nic" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "repair", + description: + "Auto repair commands to fix VMs.\n\n\t\tVM repair command will enable Azure users to self-repair non-bootable VMs by copying the source VM's OS disk and attaching it to a newly created repair VM", + subcommands: [ + { + name: "create", + description: + "Create a new repair VM and attach the source VM's copied OS disk as a data disk", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--associate-public-ip", + description: "Option to create repair vm with public ip", + }, + { + name: "--copy-disk-name", + description: "Name of OS disk copy", + args: { name: "copy-disk-name" }, + }, + { + name: "--distro", + description: + "Option to create repair vm from a specific linux distro (rhel7|rhel8|suse12|ubuntu20|centos7|oracle7)", + args: { name: "distro" }, + }, + { name: "--enable-nested", description: "Enable nested hyperv" }, + { + name: "--repair-group-name", + description: + "Name for new or existing resource group that will contain repair VM", + args: { name: "repair-group-name" }, + }, + { + name: "--repair-password", + description: "Admin password for the repair VM", + args: { name: "repair-password" }, + }, + { + name: "--repair-username", + description: "Admin username for repair VM", + args: { name: "repair-username" }, + }, + { + name: "--repair-vm-name", + description: "Name of repair VM", + args: { name: "repair-vm-name" }, + }, + { + name: "--unlock-encrypted-vm", + description: + "Option to auto-unlock encrypted VMs using current subscription auth", + }, + { + name: "--yes", + description: + "Option to skip prompt for associating public ip and confirm yes to it in no Tty mode", + }, + ], + }, + { + name: "list-scripts", + description: + "List available scripts. Located https://github.com/Azure/repair-script-library", + options: [ + { + name: "--preview", + description: + "URL of forked repair script library's map.json https://github.com/{user}/repair-script-library/blob/master/map.json", + args: { name: "preview" }, + }, + ], + }, + { + name: "repair-and-restore", + description: "Repair and restore the VM", + options: [ + { + name: "--copy-disk-name", + description: "Name of OS disk copy", + args: { name: "copy-disk-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--repair-group-name", + description: + "Name for new or existing resource group that will contain repair VM", + args: { name: "repair-group-name" }, + }, + { + name: "--repair-password", + description: "Admin password for the repair VM", + args: { name: "repair-password" }, + }, + { + name: "--repair-username", + description: "Admin username for repair VM", + args: { name: "repair-username" }, + }, + { + name: "--repair-vm-name", + description: "Name of repair VM", + args: { name: "repair-vm-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reset-nic", + description: + "Reset the network interface stack on the VM guest OS. https://docs.microsoft.com/en-us/troubleshoot/azure/virtual-machines/reset-network-interface", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--yes", + description: + "Do not prompt for confirmation to start VM if it is not running", + }, + ], + }, + { + name: "restore", + description: + "Replace source VM's OS disk with data disk from repair VM", + options: [ + { + name: "--disk-name", + description: + "Name of fixed data disk. Defaults to the first data disk in the repair VM", + args: { name: "disk-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--repair-vm-id", + description: "Repair VM resource id", + args: { name: "repair-vm-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--yes", + description: "Deletes the repair resources without confirmation", + }, + ], + }, + { + name: "run", + description: + "Run verified scripts from GitHub on a VM. 'az vm repair list-scripts' to view available scripts", + options: [ + { + name: "--custom-script-file", + description: + "Custom script file to run on VM. Script should be PowerShell for windows, Bash for Linux", + args: { name: "custom-script-file" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--parameters", + description: + "Space-separated parameters in the format of '[name=]value'. Positional for bash scripts", + args: { name: "parameters" }, + }, + { + name: "--preview", + description: + "URL of forked repair script library's map.json https://github.com/{user}/repair-script-library/blob/master/map.json", + args: { name: "preview" }, + }, + { + name: "--repair-vm-id", + description: "Repair VM resource id", + args: { name: "repair-vm-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--run-id", + description: "Unique run id for run scripts", + args: { name: "run-id" }, + }, + { + name: "--run-on-repair", + description: "Script will be run on the linked repair VM", + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "run-command", + description: + "Manage run commands on a Virtual Machine.\n\n\t\tFor more information, see https://docs.microsoft.com/azure/virtual-machines/windows/run-command or https://docs.microsoft.com/azure/virtual-machines/linux/run-command", + subcommands: [ + { + name: "create", + description: "The operation to create the run command", + options: [ + { + name: ["--run-command-name", "--name"], + description: "The name of the virtual machine run command", + args: { name: "run-command-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--async-execution", + description: + "Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete", + args: { name: "async-execution", suggestions: ["false", "true"] }, + }, + { + name: "--command-id", + description: "Specify a commandId of predefined built-in script", + args: { name: "command-id" }, + }, + { + name: "--error-blob-uri", + description: + "Specify the Azure storage blob where script error stream will be uploaded", + args: { name: "error-blob-uri" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--output-blob-uri", + description: + "Specify the Azure storage blob (SAS URI) where script output stream will be uploaded", + args: { name: "output-blob-uri" }, + }, + { + name: "--parameters", + description: "The parameters used by the script", + args: { name: "parameters" }, + }, + { + name: "--protected-parameters", + description: "The parameters used by the script", + args: { name: "protected-parameters" }, + }, + { + name: "--run-as-password", + description: + "Password if needed for using run-as-user parameter. It will be encrypted and not logged", + args: { name: "run-as-password" }, + }, + { + name: "--run-as-user", + description: + "By default script process runs under system/root user. Specify custom user to host the process", + args: { name: "run-as-user" }, + }, + { + name: "--script", + description: + "Specify the script content to be executed on the VM", + args: { name: "script" }, + }, + { + name: "--script-uri", + description: "Specify the script download location", + args: { name: "script-uri" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--timeout-in-seconds", + description: "The timeout in seconds to execute the run command", + args: { name: "timeout-in-seconds" }, + }, + ], + }, + { + name: "delete", + description: "The operation to delete the run command", + options: [ + { + name: ["--run-command-name", "--name"], + description: "The name of the virtual machine run command", + args: { name: "run-command-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "invoke", + description: "Execute a specific run command on a vm", + options: [ + { + name: "--command-id", + description: "The command id. value from: az vm run-command list", + args: { name: "command-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--parameters", + description: + "Space-separated parameters in the format of '[name=]value'", + args: { name: "parameters" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scripts", + description: + "Space-separated script lines. Use @{file} to load script from a file", + args: { name: "scripts" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List run commands from a VM or a location", + options: [ + { + name: "--expand", + description: "The expand expression to apply on the operation", + args: { name: "expand" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "show", + description: "Get specific run command", + options: [ + { + name: "--command-id", + description: "The command id", + args: { name: "command-id" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-view", + description: "The instance view of a run command", + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--run-command-name", "--name"], + description: "The name of the virtual machine run command", + args: { name: "run-command-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "update", + description: "The operation to update the run command", + options: [ + { + name: ["--run-command-name", "--name"], + description: "The name of the virtual machine run command", + args: { name: "run-command-name" }, + isRequired: true, + }, + { + name: "--async-execution", + description: + "Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete", + args: { name: "async-execution", suggestions: ["false", "true"] }, + }, + { + name: "--command-id", + description: "Specify a commandId of predefined built-in script", + args: { name: "command-id" }, + }, + { + name: "--error-blob-uri", + description: + "Specify the Azure storage blob where script error stream will be uploaded", + args: { name: "error-blob-uri" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--output-blob-uri", + description: + "Specify the Azure storage blob (SAS URI) where script output stream will be uploaded", + args: { name: "output-blob-uri" }, + }, + { + name: "--parameters", + description: "The parameters used by the script", + args: { name: "parameters" }, + }, + { + name: "--protected-parameters", + description: "The parameters used by the script", + args: { name: "protected-parameters" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--run-as-password", + description: + "Password if needed for using run-as-user parameter. It will be encrypted and not logged", + args: { name: "run-as-password" }, + }, + { + name: "--run-as-user", + description: + "By default script process runs under system/root user. Specify custom user to host the process", + args: { name: "run-as-user" }, + }, + { + name: "--script", + description: + "Specify the script content to be executed on the VM", + args: { name: "script" }, + }, + { + name: "--script-uri", + description: "Specify the script download location", + args: { name: "script-uri" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--timeout-in-seconds", + description: "The timeout in seconds to execute the run command", + args: { name: "timeout-in-seconds" }, + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the res virtual-machine-run-command is met", + options: [ + { + name: "--command-id", + description: "The command id", + args: { name: "command-id" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-view", + description: "The instance view of a run command", + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--run-command-name", "--name"], + description: "The name of the virtual machine run command", + args: { name: "run-command-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + { + name: "--vm-name", + description: "The name of the virtual machine", + args: { name: "vm-name" }, + }, + ], + }, + ], + }, + { + name: "secret", + description: "Manage VM secrets", + subcommands: [ + { + name: "add", + description: "Add a secret to a VM", + options: [ + { + name: "--certificate", + description: "Key vault certificate name or its full secret URL", + args: { name: "certificate" }, + isRequired: true, + }, + { + name: "--keyvault", + description: "Name or ID of the key vault", + args: { name: "keyvault" }, + isRequired: true, + }, + { + name: "--certificate-store", + description: "Windows certificate store names. Default: My", + args: { name: "certificate-store" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "format", + description: + "Transform secrets into a form that can be used by VMs and VMSSes", + options: [ + { + name: ["--secrets", "-s"], + description: + "Space-separated list of key vault secret URIs. Perhaps, produced by 'az keyvault secret list-versions --vault-name vaultname -n cert1 --query \"[?attributes.enabled].id\" -o tsv'", + args: { name: "secrets" }, + isRequired: true, + }, + { + name: "--certificate-store", + description: "Windows certificate store names. Default: My", + args: { name: "certificate-store" }, + }, + { + name: "--keyvault", + description: "Name or ID of the key vault", + args: { name: "keyvault" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list", + description: "List secrets on a VM", + options: [ + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "remove", + description: "Remove a secret from a VM", + options: [ + { + name: "--keyvault", + description: "Name or ID of the key vault", + args: { name: "keyvault" }, + isRequired: true, + }, + { + name: "--certificate", + description: "Key vault certificate name or its full secret URL", + args: { name: "certificate" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "unmanaged-disk", + description: + "Manage the unmanaged data disks attached to a VM.\n\n\t\tAzure Virtual Machines use disks as a place to store an operating system, applications, and data. All Azure virtual machines have at least two disks: An operating system disk, and a temporary disk. The operating system disk is created from an image, and both the operating system disk and the image are actually virtual hard disks (VHDs) stored in an Azure storage account. Virtual machines also can have one or more data disks, that are also stored as VHDs.\nAzure Managed and Unmanaged Data Disks have a maximum size of 4095 GB (with the exception of larger disks in preview). Azure Unmanaged Disks also have a maximum capacity of 4095 GB.\nFor more information, see:\n\nAzure Disks - https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview.\nLarger Managed Disks in Public Preview - https://azure.microsoft.com/blog/introducing-the-public-preview-of-larger-managed-disks-sizes/\nUltra SSD Managed Disks in Public Preview - https://docs.microsoft.com/azure/virtual-machines/disks-types", + subcommands: [ + { + name: "attach", + description: "Attach an unmanaged persistent disk to a VM", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: "--caching", + description: "Disk caching policy", + args: { + name: "caching", + suggestions: ["None", "ReadOnly", "ReadWrite"], + }, + }, + { + name: "--lun", + description: + "0-based logical unit number (LUN). Max value depends on the Virtual Machine size", + args: { name: "lun" }, + }, + { + name: ["--name", "-n"], + description: "The data disk name", + args: { name: "name" }, + }, + { name: "--new", description: "Create a new disk" }, + { + name: ["--size-gb", "-z"], + description: + "Size in GB. Max size: 4095 GB (certain preview disks can be larger)", + args: { name: "size-gb" }, + }, + { + name: "--vhd-uri", + description: + "Virtual hard disk URI. For example: https://mystorage.blob.core.windows.net/vhds/d1.vhd", + args: { name: "vhd-uri" }, + }, + ], + }, + { + name: "detach", + description: "Detach an unmanaged disk from a VM", + options: [ + { + name: ["--name", "-n"], + description: "The data disk name", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-name", + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + isRequired: true, + }, + ], + }, + { + name: "list", + description: "List unmanaged disks of a VM", + options: [ + { + name: ["--vm-name", "--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "vm-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "user", + description: "Manage user accounts for a VM", + subcommands: [ + { + name: "delete", + description: "Delete a user account from a VM", + options: [ + { + name: ["--username", "-u"], + description: "The user name", + args: { name: "username" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reset-ssh", + description: "Reset the SSH configuration on a VM", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a user account", + options: [ + { + name: ["--username", "-u"], + description: "The user name", + args: { name: "username" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--password", "-p"], + description: "The user password", + args: { name: "password" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--ssh-key-value", + description: + "SSH public key file value or public key file path. This command appends the new public key text to the ~/.ssh/authorized_keys file for the admin user on the VM. This does not replace or remove any existing SSH keys", + args: { name: "ssh-key-value" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/vmss.ts b/src/az/2.53.0/vmss.ts new file mode 100644 index 000000000000..4741a37cbfa7 --- /dev/null +++ b/src/az/2.53.0/vmss.ts @@ -0,0 +1,3463 @@ +const completion: Fig.Spec = { + name: "vmss", + description: + "Manage groupings of virtual machines in an Azure Virtual Machine Scale Set (VMSS)", + subcommands: [ + { + name: "application", + description: "Manage applications for VM scale set", + subcommands: [ + { + name: "list", + description: "List applications for VMSS", + options: [ + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: "Set applications for VMSS", + options: [ + { + name: "--app-version-ids", + description: + "Space-separated application version ids to set to VM", + args: { name: "app-version-ids" }, + isRequired: true, + }, + { + name: "--app-config-overrides", + description: + "Space-separated application configuration overrides for each application version ids. It should have the same number of items as the application version ids. Null is available for a application which does not have a configuration override", + args: { name: "app-config-overrides" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: "--order-applications", + description: + "Whether to set order index at each gallery application. If specified, the first app version id gets specified an order = 1, then the next one 2, and so on. This parameter is meant to be used when the VMApplications specified by app version ids must be installed in a particular order; the lowest order is installed first", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--treat-deployment-as-failure", + description: + "Space-separated list of true or false corresponding to the application version ids. If set to true, failure to install or update gallery application version operation will fail this operation", + args: { name: "treat-deployment-as-failure" }, + }, + ], + }, + ], + }, + { + name: "create", + description: "Create an Azure Virtual Machine Scale Set", + options: [ + { + name: ["--name", "-n"], + description: "Name of the virtual machine scale set", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--accelerated-networking", + description: + "Enable accelerated networking. Unless specified, CLI will enable it based on machine image and size", + args: { + name: "accelerated-networking", + suggestions: ["false", "true"], + }, + }, + { + name: "--accept-term", + description: "Accept the license agreement and privacy statement", + args: { name: "accept-term" }, + }, + { + name: "--admin-password", + description: + "Password for the VM if authentication type is 'Password'", + args: { name: "admin-password" }, + }, + { + name: "--admin-username", + description: + "Username for the VM. Default value is current username of OS. If the default value is system reserved, then default value will be set to azureuser. Please refer to https://docs.microsoft.com/rest/api/compute/virtualmachines/createorupdate#osprofile to get a full list of reserved values", + args: { name: "admin-username" }, + }, + { + name: "--app-gateway", + description: + 'Name to use when creating a new application gateway (default) or referencing an existing one. Can also reference an existing application gateway by ID or specify "" for none', + args: { name: "app-gateway" }, + }, + { + name: "--app-gateway-capacity", + description: + "The number of instances to use when creating a new application gateway", + args: { name: "app-gateway-capacity" }, + }, + { + name: "--app-gateway-sku", + description: "SKU when creating a new application gateway", + args: { name: "app-gateway-sku" }, + }, + { + name: "--app-gateway-subnet-address-prefix", + description: + "The subnet IP address prefix to use when creating a new application gateway in CIDR format", + args: { name: "app-gateway-subnet-address-prefix" }, + }, + { + name: "--asgs", + description: + "Space-separated list of existing application security groups to associate with the VM", + args: { name: "asgs" }, + }, + { + name: "--assign-identity", + description: + "Accept system or user assigned identities separated by spaces. Use '[system]' to refer system assigned identity, or a resource id to refer user assigned identity. Check out help for more examples", + args: { name: "assign-identity" }, + }, + { + name: "--authentication-type", + description: + 'Type of authentication to use with the VM. Defaults to password for Windows and SSH public key for Linux. "all" enables both ssh and password authentication', + args: { + name: "authentication-type", + suggestions: ["all", "password", "ssh"], + }, + }, + { + name: "--automatic-repairs-action", + description: + "Type of repair action that will be used for repairing unhealthy virtual machines in the scale set", + args: { + name: "automatic-repairs-action", + suggestions: ["Reimage", "Replace", "Restart"], + }, + }, + { + name: "--automatic-repairs-grace-period", + description: + "The amount of time (in minutes, between 30 and 90) for which automatic repairs are suspended due to a state change on VM", + args: { name: "automatic-repairs-grace-period" }, + }, + { + name: "--backend-pool-name", + description: + "Name to use for the backend pool when creating a new load balancer or application gateway", + args: { name: "backend-pool-name" }, + }, + { + name: "--backend-port", + description: + "When creating a new load balancer, backend port to open with NAT rules (Defaults to 22 on Linux and 3389 on Windows). When creating an application gateway, the backend port to use for the backend HTTP settings", + args: { name: "backend-port" }, + }, + { + name: ["--capacity-reservation-group", "--crg"], + description: + 'The ID or name of the capacity reservation group that is used to allocate. Pass in "None" to disassociate the capacity reservation group. Please note that if you want to delete a VM/VMSS that has been associated with capacity reservation group, you need to disassociate the capacity reservation group first', + args: { name: "capacity-reservation-group" }, + }, + { + name: "--computer-name-prefix", + description: + "Computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long", + args: { name: "computer-name-prefix" }, + }, + { + name: "--custom-data", + description: + "Custom init script file or text (cloud-init, cloud-config, etc..)", + args: { name: "custom-data" }, + }, + { + name: "--data-disk-caching", + description: + "Storage caching type for data disk(s), including 'None', 'ReadOnly', 'ReadWrite', etc. Use a singular value to apply on all disks, or use = = to configure individual disk", + args: { name: "data-disk-caching" }, + }, + { + name: "--data-disk-delete-option", + description: + "Specify whether data disk should be deleted or detached upon VMSS Flex deletion (This feature is only for VMSS with flexible orchestration mode)", + args: { + name: "data-disk-delete-option", + suggestions: ["Delete", "Detach"], + }, + }, + { + name: "--data-disk-encryption-sets", + description: + "Names or IDs (space delimited) of disk encryption sets for data disks", + args: { name: "data-disk-encryption-sets" }, + }, + { + name: "--data-disk-iops", + description: + "Specify the Read-Write IOPS (space delimited) for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB", + args: { name: "data-disk-iops" }, + }, + { + name: "--data-disk-mbps", + description: + "Specify the bandwidth in MB per second (space delimited) for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB", + args: { name: "data-disk-mbps" }, + }, + { + name: "--data-disk-sizes-gb", + description: + "Space-separated empty managed data disk sizes in GB to create", + args: { name: "data-disk-sizes-gb" }, + }, + { + name: "--disable-integrity-monitoring", + description: + "Disable the default behavior of installing guest attestation extension and enabling System Assigned Identity for Trusted Launch enabled VMs and VMSS", + }, + { + name: "--disable-integrity-monitoring-autoupgrade", + description: + "Disable auto upgrade of guest attestation extension for Trusted Launch enabled VMs and VMSS", + }, + { + name: "--disable-overprovision", + description: + "Overprovision option (see https://azure.microsoft.com/documentation/articles/virtual-machine-scale-sets-overview/ for details)", + args: { name: "disable-overprovision" }, + }, + { + name: "--disk-controller-type", + description: + "Specify the disk controller type configured for the VM or VMSS", + args: { name: "disk-controller-type", suggestions: ["NVMe", "SCSI"] }, + }, + { + name: "--dns-servers", + description: + "Space-separated IP addresses of DNS servers, e.g. 10.0.0.5 10.0.0.6", + args: { name: "dns-servers" }, + }, + { + name: "--edge-zone", + description: "The name of edge zone", + args: { name: "edge-zone" }, + }, + { + name: "--enable-agent", + description: + "Indicate whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later", + args: { name: "enable-agent", suggestions: ["false", "true"] }, + }, + { + name: "--enable-auto-update", + description: + "Indicate whether Automatic Updates is enabled for the Windows virtual machine", + args: { name: "enable-auto-update", suggestions: ["false", "true"] }, + }, + { + name: "--enable-cross-zone-upgrade", + description: + "Set this Boolean property will allow VMSS to ignore AZ boundaries when constructing upgrade batches, and only consider Update Domain and maxBatchInstancePercent to determine the batch size", + args: { + name: "enable-cross-zone-upgrade", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-hibernation", + description: + "The flag that enable or disable hibernation capability on the VMSS", + args: { name: "enable-hibernation", suggestions: ["false", "true"] }, + }, + { + name: "--enable-osimage-notification", + description: + "Specify whether the OS Image Scheduled event is enabled or disabled", + args: { + name: "enable-osimage-notification", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-secure-boot", + description: "Enable secure boot", + args: { name: "enable-secure-boot", suggestions: ["false", "true"] }, + }, + { + name: "--enable-spot-restore", + description: + "Enable the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints", + args: { name: "enable-spot-restore", suggestions: ["false", "true"] }, + }, + { + name: "--enable-vtpm", + description: "Enable vTPM", + args: { name: "enable-vtpm", suggestions: ["false", "true"] }, + }, + { + name: "--encryption-at-host", + description: + "Enable Host Encryption for the VM or VMSS. This will enable the encryption for all the disks including Resource/Temp disk at host itself", + args: { name: "encryption-at-host", suggestions: ["false", "true"] }, + }, + { + name: "--ephemeral-os-disk", + description: + "Allows you to create an OS disk directly on the host node, providing local disk performance and faster VM/VMSS reimage time", + args: { name: "ephemeral-os-disk", suggestions: ["false", "true"] }, + }, + { + name: ["--ephemeral-os-disk-placement", "--ephemeral-placement"], + description: + "Only applicable when used with --ephemeral-os-disk. Allows you to choose the Ephemeral OS disk provisioning location", + args: { + name: "ephemeral-os-disk-placement", + suggestions: ["CacheDisk", "ResourceDisk"], + }, + }, + { + name: "--eviction-policy", + description: + "The eviction policy for virtual machines in a Spot priority scale set. Default eviction policy is Deallocate for a Spot priority scale set", + args: { + name: "eviction-policy", + suggestions: ["Deallocate", "Delete"], + }, + }, + { + name: "--generate-ssh-keys", + description: + "Generate SSH public and private key files if missing. The keys will be stored in the ~/.ssh directory", + }, + { + name: "--health-probe", + description: + "Probe name from the existing load balancer, mainly used for rolling upgrade or automatic repairs", + args: { name: "health-probe" }, + }, + { + name: "--host-group", + description: + "Name or ID of dedicated host group that the virtual machine scale set resides in", + args: { name: "host-group" }, + }, + { + name: "--image", + description: + 'The name of the operating system image as a URN alias, URN, custom image name or ID, or VHD blob URI. In addition, it also supports shared gallery image. Please use the image alias including the version of the distribution you want to use. For example: please use Debian11 instead of Debian.\' This parameter is required unless using --attach-os-disk. Valid URN format: "Publisher:Offer:Sku:Version". For more information, see https://docs.microsoft.com/azure/virtual-machines/linux/cli-ps-findimage. value from: az sig image-version show-shared, az vm image list, az vm image show', + args: { name: "image" }, + }, + { + name: "--instance-count", + description: "Number of VMs in the scale set", + args: { name: "instance-count" }, + }, + { + name: ["--load-balancer", "--lb"], + description: + 'Name to use when creating a new load balancer (default) or referencing an existing one. Can also reference an existing load balancer by ID or specify "" for none', + args: { name: "load-balancer" }, + }, + { + name: ["--lb-nat-rule-name", "--nat-rule-name"], + description: + "Name to use for the NAT rule v2 when creating a new load balancer. (NAT rule V2 is used to replace NAT pool)", + args: { name: "lb-nat-rule-name" }, + }, + { + name: "--lb-sku", + description: + "Sku of the Load Balancer to create. Default to 'Standard' when single placement group is turned off; otherwise, default to 'Basic'. The public IP is supported to be created on edge zone only when it is 'Standard'", + args: { + name: "lb-sku", + suggestions: ["Basic", "Gateway", "Standard"], + }, + }, + { + name: "--license-type", + description: + "Specifies that the Windows image or disk was licensed on-premises. To enable Azure Hybrid Benefit for Windows Server, use 'Windows_Server'. To enable Multi-tenant Hosting Rights for Windows 10, use 'Windows_Client'. For more information see the Azure Windows VM online docs", + args: { + name: "license-type", + suggestions: [ + "None", + "RHEL_BASE", + "RHEL_BASESAPAPPS", + "RHEL_BASESAPHA", + "RHEL_BYOS", + "RHEL_ELS_6", + "RHEL_EUS", + "RHEL_SAPAPPS", + "RHEL_SAPHA", + "SLES", + "SLES_BYOS", + "SLES_HPC", + "SLES_SAP", + "SLES_STANDARD", + "UBUNTU", + "UBUNTU_PRO", + "Windows_Client", + "Windows_Server", + ], + }, + }, + { + name: ["--location", "-l"], + description: + "Location in which to create VM and related resources. If default location is not configured, will default to the resource group's location", + args: { name: "location" }, + }, + { + name: "--max-batch-instance-percent", + description: + "The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. Default: 20%", + args: { name: "max-batch-instance-percent" }, + }, + { + name: "--max-price", + description: + "The maximum price (in US Dollars) you are willing to pay for a Spot VM/VMSS. -1 indicates that the Spot VM/VMSS should not be evicted for price reasons", + args: { name: "max-price" }, + }, + { + name: "--max-surge", + description: + "Specify it to create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines", + args: { name: "max-surge", suggestions: ["false", "true"] }, + }, + { + name: "--max-unhealthy-instance-percent", + description: + "The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy. Default: 20%", + args: { name: "max-unhealthy-instance-percent" }, + }, + { + name: "--max-unhealthy-upgraded-instance-percent", + description: + "The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. Default: 20%", + args: { name: "max-unhealthy-upgraded-instance-percent" }, + }, + { + name: "--network-api-version", + description: + "Specify the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'. Default value is 2020-11-01", + args: { name: "network-api-version" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--nsg", + description: "Name or ID of an existing Network Security Group", + args: { name: "nsg" }, + }, + { + name: "--orchestration-mode", + description: + "Choose how virtual machines are managed by the scale set. In Uniform mode, you define a virtual machine model and Azure will generate identical instances based on that model. In Flexible mode, you manually create and add a virtual machine of any configuration to the scale set or generate identical instances based on virtual machine model defined for the scale set", + args: { + name: "orchestration-mode", + suggestions: ["Flexible", "Uniform"], + }, + }, + { + name: "--os-disk-caching", + description: + "Storage caching type for the VM OS disk. Default: ReadWrite", + args: { + name: "os-disk-caching", + suggestions: ["None", "ReadOnly", "ReadWrite"], + }, + }, + { + name: "--os-disk-delete-option", + description: + "Specify whether OS disk should be deleted or detached upon VMSS Flex deletion (This feature is only for VMSS with flexible orchestration mode)", + args: { + name: "os-disk-delete-option", + suggestions: ["Delete", "Detach"], + }, + }, + { + name: "--os-disk-encryption-set", + description: "Name or ID of disk encryption set for OS disk", + args: { name: "os-disk-encryption-set" }, + }, + { + name: "--os-disk-name", + description: "The name of the new VM OS disk", + args: { name: "os-disk-name" }, + }, + { + name: "--os-disk-secure-vm-disk-encryption-set", + description: + "Specify the customer managed disk encryption set resource ID or name for the managed disk that is used for customer managed key encrypted Confidential VM OS disk and VM guest blob", + args: { name: "os-disk-secure-vm-disk-encryption-set" }, + }, + { + name: "--os-disk-security-encryption-type", + description: "Specify the encryption type of the OS managed disk", + args: { + name: "os-disk-security-encryption-type", + suggestions: ["DiskWithVMGuestState", "VMGuestStateOnly"], + }, + }, + { + name: "--os-disk-size-gb", + description: "OS disk size in GB to create", + args: { name: "os-disk-size-gb" }, + }, + { + name: "--os-type", + description: + "Type of OS installed on a custom VHD. Do not use when specifying an URN or URN alias", + args: { name: "os-type", suggestions: ["linux", "windows"] }, + }, + { + name: "--patch-mode", + description: + "Mode of in-guest patching to IaaS virtual machine. Allowed values for Windows VM: AutomaticByOS, AutomaticByPlatform, Manual. Allowed values for Linux VM: AutomaticByPlatform, ImageDefault. Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the paramater --enable-auto-update must be false. AutomaticByOS - The virtual machine will automatically be updated by the OS. The parameter --enable-auto-update must be true. AutomaticByPlatform - the virtual machine will automatically updated by the OS. ImageDefault - The virtual machine's default patching configuration is used. The parameter --enable-agent and --enable-auto-update must be true", + args: { + name: "patch-mode", + suggestions: [ + "AutomaticByOS", + "AutomaticByPlatform", + "ImageDefault", + "Manual", + ], + }, + }, + { + name: "--pause-time-between-batches", + description: + "The wait time between completing the update for all virtual machines in one batch and starting the next batch. Default: 0 seconds", + args: { name: "pause-time-between-batches" }, + }, + { + name: "--plan-name", + description: "Plan name", + args: { name: "plan-name" }, + }, + { + name: "--plan-product", + description: "Plan product", + args: { name: "plan-product" }, + }, + { + name: "--plan-promotion-code", + description: "Plan promotion code", + args: { name: "plan-promotion-code" }, + }, + { + name: "--plan-publisher", + description: "Plan publisher", + args: { name: "plan-publisher" }, + }, + { + name: "--platform-fault-domain-count", + description: + "Fault Domain count for each placement group in the availability zone", + args: { name: "platform-fault-domain-count" }, + }, + { + name: "--ppg", + description: + "The name or ID of the proximity placement group the VMSS should be associated with", + args: { name: "ppg" }, + }, + { + name: "--prioritize-unhealthy-instances", + description: + "Set this Boolean property will lead to all unhealthy instances in a scale set getting upgraded before any healthy instances", + args: { + name: "prioritize-unhealthy-instances", + suggestions: ["false", "true"], + }, + }, + { + name: "--priority", + description: + "Priority. Use 'Spot' to run short-lived workloads in a cost-effective way. 'Low' enum will be deprecated in the future. Please use 'Spot' to deploy Azure spot VM and/or VMSS. Default to Regular", + args: { name: "priority", suggestions: ["Low", "Regular", "Spot"] }, + }, + { + name: "--public-ip-address", + description: + 'Name of the public IP address when creating one (default) or referencing an existing one. Can also reference an existing public IP by ID or specify "" for None (\'""\' in Azure CLI using PowerShell or --% operator). For Azure CLI using powershell core edition 7.3.4, specify or "" (--public-ip-address or --public-ip-address "")', + args: { name: "public-ip-address" }, + }, + { + name: "--public-ip-address-allocation", + description: "", + args: { + name: "public-ip-address-allocation", + suggestions: ["dynamic", "static"], + }, + }, + { + name: "--public-ip-address-dns-name", + description: "Globally unique DNS name for a newly created public IP", + args: { name: "public-ip-address-dns-name" }, + }, + { + name: "--public-ip-per-vm", + description: + "Each VM instance will have a public ip. For security, you can use '--nsg' to apply appropriate rules", + }, + { + name: "--regular-priority-count", + description: + "The base number of regular priority VMs that will be created in this scale set as it scales out. Must be greater than 0", + args: { name: "regular-priority-count" }, + }, + { + name: "--regular-priority-percentage", + description: + "The percentage of VM instances, after the base regular priority count has been reached, that are expected to use regular priority. Must be between 0 and 100", + args: { name: "regular-priority-percentage" }, + }, + { + name: "--role", + description: "Role name or id the system assigned identity will have", + args: { name: "role" }, + }, + { + name: "--scale-in-policy", + description: + "Specify the scale-in policy (space delimited) that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in", + args: { + name: "scale-in-policy", + suggestions: ["Default", "NewestVM", "OldestVM"], + }, + }, + { + name: "--scope", + description: "Scope that the system assigned identity can access", + args: { name: "scope" }, + }, + { + name: "--secrets", + description: + 'One or many Key Vault secrets as JSON strings or files via @{path} containing [{ "sourceVault": { "id": "value" }, "vaultCertificates": [{ "certificateUrl": "value", "certificateStore": "cert store name (only on windows)"}] }]', + args: { name: "secrets" }, + }, + { + name: "--security-type", + description: "Specify the security type of the virtual machine", + args: { + name: "security-type", + suggestions: ["ConfidentialVM", "Standard", "TrustedLaunch"], + }, + }, + { + name: "--single-placement-group", + description: + "Limit the scale set to a single placement group. See https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-placement-groups for details", + args: { + name: "single-placement-group", + suggestions: ["false", "true"], + }, + }, + { + name: "--specialized", + description: "Indicate whether the source image is specialized", + args: { name: "specialized", suggestions: ["false", "true"] }, + }, + { + name: "--spot-restore-timeout", + description: + "Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances", + args: { name: "spot-restore-timeout" }, + }, + { + name: "--ssh-dest-key-path", + description: + 'Destination file path on the VM for the SSH key. If the file already exists, the specified key(s) are appended to the file. Destination path for SSH public keys is currently limited to its default value "/home/username/.ssh/authorized_keys" due to a known issue in Linux provisioning agent', + args: { name: "ssh-dest-key-path" }, + }, + { + name: "--ssh-key-values", + description: + "Space-separated list of SSH public keys or public key file paths", + args: { name: "ssh-key-values" }, + }, + { + name: "--storage-container-name", + description: + "Only applicable when used with --use-unmanaged-disk. Name of the storage container for the VM OS disk. Default: vhds", + args: { name: "storage-container-name" }, + }, + { + name: "--storage-sku", + description: + 'The SKU of the storage account with which to persist VM. Use a singular sku that would be applied across all disks, or specify individual disks. Usage: [--storage-sku SKU | --storage-sku ID=SKU ID=SKU ID=SKU...], where each ID is "os" or a 0-indexed lun. Allowed values: Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, PremiumV2_LRS', + args: { name: "storage-sku" }, + }, + { + name: "--subnet", + description: + "The name of the subnet when creating a new VNet or referencing an existing one. Can also reference an existing subnet by ID. If both vnet-name and subnet are omitted, an appropriate VNet and subnet will be selected automatically, or a new one will be created", + args: { name: "subnet" }, + }, + { + name: "--subnet-address-prefix", + description: + "The subnet IP address prefix to use when creating a new VNet in CIDR format", + args: { name: "subnet-address-prefix" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--terminate-notification-time", + description: + "Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted", + args: { name: "terminate-notification-time" }, + }, + { + name: "--ultra-ssd-enabled", + description: + "Enables or disables the capability to have 1 or more managed data disks with UltraSSD_LRS storage account", + args: { name: "ultra-ssd-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--upgrade-policy-mode", + description: "", + args: { + name: "upgrade-policy-mode", + suggestions: ["Automatic", "Manual", "Rolling"], + }, + }, + { + name: "--use-unmanaged-disk", + description: "Do not use managed disk to persist VM", + }, + { + name: "--user-data", + description: + "UserData for the virtual machines in the scale set. It can be passed in as file or string", + args: { name: "user-data" }, + }, + { + name: "--v-cpus-available", + description: "Specify the number of vCPUs available", + args: { name: "v-cpus-available" }, + }, + { + name: "--v-cpus-per-core", + description: + "Specify the ratio of vCPU to physical core. Setting this property to 1 also means that hyper-threading is disabled", + args: { name: "v-cpus-per-core" }, + }, + { + name: "--validate", + description: + "Generate and validate the ARM template without creating any resources", + }, + { + name: "--vm-domain-name", + description: + "Domain name of VM instances, once configured, the FQDN is vm..<..rest..>", + args: { name: "vm-domain-name" }, + }, + { + name: "--vm-sku", + description: + 'Size of VMs in the scale set. Default to "Standard_DS1_v2". See https://azure.microsoft.com/pricing/details/virtual-machines/ for size info', + args: { name: "vm-sku" }, + }, + { + name: "--vnet-address-prefix", + description: + "The IP address prefix to use when creating a new VNet in CIDR format", + args: { name: "vnet-address-prefix" }, + }, + { + name: "--vnet-name", + description: + "Name of the virtual network when creating a new one or referencing an existing one", + args: { name: "vnet-name" }, + }, + { + name: ["--zones", "-z"], + description: + "Space-separated list of availability zones into which to provision the resource", + args: { name: "zones", suggestions: ["1", "2", "3"] }, + }, + ], + }, + { + name: "deallocate", + description: "Deallocate VMs within a VMSS", + options: [ + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--hibernate", + description: + "Hibernate a virtual machine from the VM scale set. Available for VMSS with Flexible OrchestrationMode only", + args: { name: "hibernate", suggestions: ["false", "true"] }, + }, + { + name: "--instance-ids", + description: + "Space-separated list of IDs (ex: 1 2 3 ...) or * for all instances. If not provided, the action will be applied on the scaleset itself", + args: { name: "instance-ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "delete", + description: "Delete a VM scale set", + options: [ + { + name: "--force-deletion", + description: + "Optional parameter to force delete a VM scale set. (Feature in Preview)", + args: { + name: "force-deletion", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-scale-set-name", "--name", "-n"], + description: "The name of the VM scale set", + args: { name: "vm-scale-set-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete-instances", + description: "Delete VMs within a VMSS", + options: [ + { + name: "--instance-ids", + description: + "Space-separated list of IDs (ex: 1 2 3 ...) or * for all instances", + args: { name: "instance-ids" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "get-instance-view", + description: "View an instance of a VMSS", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-id", + description: + 'A VM instance ID or "*" to list instance view for all VMs in a scale set', + args: { name: "instance-id" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-os-upgrade-history", + description: "List the OS upgrades on a VM scale set instance", + options: [ + { + name: ["--vm-scale-set-name", "--name", "-n"], + description: "The name of the VM scale set", + args: { name: "vm-scale-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list", + description: "List all VM scale sets under a resource group", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-instance-connection-info", + description: + "Get the IP address and port number used to connect to individual VM instances within a set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-instance-public-ips", + description: "List public IP addresses of VM instances within a set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-instances", + description: "List all virtual machines in a VM scale sets", + options: [ + { + name: ["--virtual-machine-scale-set-name", "--name", "-n"], + description: "The name of the VM scale set", + args: { name: "virtual-machine-scale-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--expand", + description: + "The expand expression to apply to the operation. Allowed values are 'instanceView'", + args: { name: "expand" }, + }, + { + name: "--filter", + description: + "The filter to apply to the operation. Allowed values are 'startswith(instanceView/statuses/code, 'PowerState') eq true', 'properties/latestModelApplied eq true', 'properties/latestModelApplied eq false'", + args: { name: "filter" }, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: "--select", + description: + "The list parameters. Allowed values are 'instanceView', 'instanceView/statuses'", + args: { name: "select" }, + }, + ], + }, + { + name: "list-skus", + description: + "List SKUs available for your VM scale set, including the minimum and maximum VM instances allowed for each SKU", + options: [ + { + name: ["--vm-scale-set-name", "--name", "-n"], + description: "The name of the VM scale set", + args: { name: "vm-scale-set-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "perform-maintenance", + description: + "Perform maintenance on one or more virtual machines in a VM scale set. Operation on instances which are not eligible for perform maintenance will be failed. Please refer to best practices for more details: https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-maintenance-notifications", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-ids", + description: + 'The virtual machine scale set instance ids. Omitting the virtual machine scale set instance ids will result in the operation being performed on all virtual machines in the virtual machine scale set. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "instance-ids" }, + }, + { + name: ["--vm-scale-set-name", "--name", "-n"], + description: "The name of the VM scale set", + args: { name: "vm-scale-set-name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "reimage", + description: "Reimage VMs within a VMSS", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-ids", + description: + "Space-separated list of VM instance ID. If missing, reimage all instances", + args: { name: "instance-ids" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "restart", + description: "Restart VMs within a VMSS", + options: [ + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--instance-ids", + description: + "Space-separated list of IDs (ex: 1 2 3 ...) or * for all instances. If not provided, the action will be applied on the scaleset itself", + args: { name: "instance-ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "scale", + description: "Change the number of VMs within a VMSS", + options: [ + { + name: "--new-capacity", + description: "Number of VMs in the VMSS", + args: { name: "new-capacity" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set-orchestration-service-state", + description: + "Change ServiceState property for a given service within a VMSS", + options: [ + { + name: "--action", + description: "The action to be performed", + args: { name: "action", suggestions: ["Resume", "Suspend"] }, + isRequired: true, + }, + { + name: "--service-name", + description: "The name of the orchestration service", + args: { + name: "service-name", + suggestions: ["AutomaticRepairs", "DummyOrchestrationServiceName"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get details on VMs within a VMSS", + options: [ + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--include-user-data", "-u"], + description: "Include the user data properties in the query result", + }, + { + name: "--instance-id", + description: "VM instance ID. If missing, show the VMSS", + args: { name: "instance-id" }, + }, + ], + }, + { + name: "simulate-eviction", + description: + "Simulate the eviction of a Spot virtual machine in a VM scale set", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-id", + description: "The instance ID of the virtual machine", + args: { name: "instance-id" }, + }, + { + name: ["--vm-scale-set-name", "--name", "-n"], + description: "The name of the VM scale set", + args: { name: "vm-scale-set-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Start VMs within a VMSS", + options: [ + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--instance-ids", + description: + "Space-separated list of IDs (ex: 1 2 3 ...) or * for all instances. If not provided, the action will be applied on the scaleset itself", + args: { name: "instance-ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "stop", + description: "Power off (stop) VMs within a VMSS", + options: [ + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--instance-ids", + description: + "Space-separated list of IDs (ex: 1 2 3 ...) or * for all instances. If not provided, the action will be applied on the scaleset itself", + args: { name: "instance-ids" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--skip-shutdown", + description: "Skip shutdown and power-off immediately", + }, + ], + }, + { + name: "update", + description: + "Update a VMSS. Run 'az vmss update-instances' command to roll out the changes to VMs if you have not configured upgrade policy", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--automatic-repairs-action", + description: + "Type of repair action that will be used for repairing unhealthy virtual machines in the scale set", + args: { + name: "automatic-repairs-action", + suggestions: ["Reimage", "Replace", "Restart"], + }, + }, + { + name: "--automatic-repairs-grace-period", + description: + "The amount of time (in minutes, between 30 and 90) for which automatic repairs are suspended due to a state change on VM", + args: { name: "automatic-repairs-grace-period" }, + }, + { + name: ["--capacity-reservation-group", "--crg"], + description: + 'The ID or name of the capacity reservation group that is used to allocate. Pass in "None" to disassociate the capacity reservation group. Please note that if you want to delete a VM/VMSS that has been associated with capacity reservation group, you need to disassociate the capacity reservation group first', + args: { name: "capacity-reservation-group" }, + }, + { + name: "--custom-data", + description: + "Custom init script file or text (cloud-init, cloud-config, etc..)", + args: { name: "custom-data" }, + }, + { + name: "--disk-controller-type", + description: + "Specify the disk controller type configured for the VM or VMSS", + args: { name: "disk-controller-type", suggestions: ["NVMe", "SCSI"] }, + }, + { + name: "--enable-automatic-repairs", + description: "Enable automatic repairs", + args: { + name: "enable-automatic-repairs", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-cross-zone-upgrade", + description: + "Set this Boolean property will allow VMSS to ignore AZ boundaries when constructing upgrade batches, and only consider Update Domain and maxBatchInstancePercent to determine the batch size", + args: { + name: "enable-cross-zone-upgrade", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-hibernation", + description: + "The flag that enable or disable hibernation capability on the VMSS", + args: { name: "enable-hibernation", suggestions: ["false", "true"] }, + }, + { + name: "--enable-osimage-notification", + description: + "Specify whether the OS Image Scheduled event is enabled or disabled", + args: { + name: "enable-osimage-notification", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-secure-boot", + description: "Enable secure boot", + args: { name: "enable-secure-boot", suggestions: ["false", "true"] }, + }, + { + name: "--enable-spot-restore", + description: + "Enable the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints", + args: { name: "enable-spot-restore", suggestions: ["false", "true"] }, + }, + { + name: "--enable-terminate-notification", + description: "Enable terminate notification", + args: { + name: "enable-terminate-notification", + suggestions: ["false", "true"], + }, + }, + { + name: "--enable-vtpm", + description: "Enable vTPM", + args: { name: "enable-vtpm", suggestions: ["false", "true"] }, + }, + { + name: ["--ephemeral-os-disk-placement", "--ephemeral-placement"], + description: + "Only applicable when used with --vm-sku. Allows you to choose the Ephemeral OS disk provisioning location", + args: { + name: "ephemeral-os-disk-placement", + suggestions: ["CacheDisk", "ResourceDisk"], + }, + }, + { + name: "--force-deletion", + description: + "This property allow you to specify if virtual machines chosen for removal have to be force deleted when a virtual machine scale set is being scaled-in", + args: { name: "force-deletion" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-id", + description: + "Update the VM instance with this ID. If missing, Update the VMSS", + args: { name: "instance-id" }, + }, + { + name: "--license-type", + description: + "Specifies that the Windows image or disk was licensed on-premises. To enable Azure Hybrid Benefit for Windows Server, use 'Windows_Server'. To enable Multi-tenant Hosting Rights for Windows 10, use 'Windows_Client'. For more information see the Azure Windows VM online docs", + args: { + name: "license-type", + suggestions: [ + "None", + "RHEL_BASE", + "RHEL_BASESAPAPPS", + "RHEL_BASESAPHA", + "RHEL_BYOS", + "RHEL_ELS_6", + "RHEL_EUS", + "RHEL_SAPAPPS", + "RHEL_SAPHA", + "SLES", + "SLES_BYOS", + "SLES_HPC", + "SLES_SAP", + "SLES_STANDARD", + "UBUNTU", + "UBUNTU_PRO", + "Windows_Client", + "Windows_Server", + ], + }, + }, + { + name: "--max-batch-instance-percent", + description: + "The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. Default: 20%", + args: { name: "max-batch-instance-percent" }, + }, + { + name: "--max-price", + description: + "The maximum price (in US Dollars) you are willing to pay for a Spot VM/VMSS. -1 indicates that the Spot VM/VMSS should not be evicted for price reasons", + args: { name: "max-price" }, + }, + { + name: "--max-unhealthy-instance-percent", + description: + "The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy. Default: 20%", + args: { name: "max-unhealthy-instance-percent" }, + }, + { + name: "--max-unhealthy-upgraded-instance-percent", + description: + "The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. Default: 20%", + args: { name: "max-unhealthy-upgraded-instance-percent" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + { + name: "--pause-time-between-batches", + description: + "The wait time between completing the update for all virtual machines in one batch and starting the next batch. Default: 0 seconds", + args: { name: "pause-time-between-batches" }, + }, + { + name: "--ppg", + description: + "The name or ID of the proximity placement group the VMSS should be associated with", + args: { name: "ppg" }, + }, + { + name: "--prioritize-unhealthy-instances", + description: + "Set this Boolean property will lead to all unhealthy instances in a scale set getting upgraded before any healthy instances", + args: { + name: "prioritize-unhealthy-instances", + suggestions: ["false", "true"], + }, + }, + { + name: "--priority", + description: + "Priority. Use 'Spot' to run short-lived workloads in a cost-effective way. 'Low' enum will be deprecated in the future. Please use 'Spot' to deploy Azure spot VM and/or VMSS. Default to Regular", + args: { name: "priority", suggestions: ["Low", "Regular", "Spot"] }, + }, + { + name: "--protect-from-scale-in", + description: "Protect the VM instance from scale-in operations", + args: { + name: "protect-from-scale-in", + suggestions: ["false", "true"], + }, + }, + { + name: "--protect-from-scale-set-actions", + description: + "Protect the VM instance from scale set actions (including scale-in)", + args: { + name: "protect-from-scale-set-actions", + suggestions: ["false", "true"], + }, + }, + { + name: "--regular-priority-count", + description: + "The base number of regular priority VMs that will be created in this scale set as it scales out. Must be greater than 0", + args: { name: "regular-priority-count" }, + }, + { + name: "--regular-priority-percentage", + description: + "The percentage of VM instances, after the base regular priority count has been reached, that are expected to use regular priority. Must be between 0 and 100", + args: { name: "regular-priority-percentage" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scale-in-policy", + description: + "Specify the scale-in policy (space delimited) that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in", + args: { + name: "scale-in-policy", + suggestions: ["Default", "NewestVM", "OldestVM"], + }, + }, + { + name: "--security-type", + description: + "Specify the security type of the virtual machine scale set", + args: { name: "security-type", suggestions: ["TrustedLaunch"] }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--spot-restore-timeout", + description: + "Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances", + args: { name: "spot-restore-timeout" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--terminate-notification-time", + description: + "Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted", + args: { name: "terminate-notification-time" }, + }, + { + name: "--ultra-ssd-enabled", + description: + "Enables or disables the capability to have 1 or more managed data disks with UltraSSD_LRS storage account", + args: { name: "ultra-ssd-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--user-data", + description: + "UserData for the virtual machines in the scale set. It can be passed in as file or string. If empty string is passed in, the existing value will be deleted", + args: { name: "user-data" }, + }, + { + name: "--v-cpus-available", + description: "Specify the number of vCPUs available", + args: { name: "v-cpus-available" }, + }, + { + name: "--v-cpus-per-core", + description: + "Specify the ratio of vCPU to physical core. Setting this property to 1 also means that hyper-threading is disabled", + args: { name: "v-cpus-per-core" }, + }, + { + name: "--vm-sku", + description: + 'The new size of the virtual machine instances in the scale set. Default to "Standard_DS1_v2". See https://azure.microsoft.com/pricing/details/virtual-machines/ for size info', + args: { name: "vm-sku" }, + }, + ], + }, + { + name: "update-instances", + description: "Upgrade VMs within a VMSS", + options: [ + { + name: "--instance-ids", + description: + "Space-separated list of IDs (ex: 1 2 3 ...) or * for all instances", + args: { name: "instance-ids" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of a scale set is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-id", + description: + "Wait on the VM instance with this ID. If missing, Wait on the VMSS", + args: { name: "instance-id" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "diagnostics", + description: + "Configure the Azure Virtual Machine Scale Set diagnostics extension", + subcommands: [ + { + name: "get-default-config", + description: + "Show the default config file which defines data to be collected", + options: [ + { name: "--is-windows-os", description: "For Windows VMs" }, + ], + }, + { + name: "set", + description: "Enable diagnostics on a VMSS", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--settings", + description: + "Json string or a file path, which defines data to be collected", + args: { name: "settings" }, + isRequired: true, + }, + { + name: "--vmss-name", + description: "Scale set name", + args: { name: "vmss-name" }, + isRequired: true, + }, + { + name: "--no-auto-upgrade", + description: + "Option '--no-auto-upgrade' has been deprecated and will be removed in a future release. Use '--no-auto-upgrade-minor-version' instead. If set, the extension service will not automatically pick or upgrade to the latest minor version, even if the extension is redeployed", + }, + { + name: "--no-auto-upgrade-minor-version", + description: + "If set, the extension service will not automatically pick or upgrade to the latest minor version, even if the extension is redeployed", + }, + { + name: "--protected-settings", + description: + "Json string or a file path containing private configurations such as storage account keys, etc", + args: { name: "protected-settings" }, + }, + { + name: "--version", + description: + "Version of the diagnostics extension. Will use the latest if not specfied", + args: { name: "version" }, + }, + ], + }, + ], + }, + { + name: "disk", + description: "Manage data disks of a VMSS", + subcommands: [ + { + name: "attach", + description: + "Attach managed data disks to a scale set or its instances", + options: [ + { + name: "--caching", + description: "Disk caching policy", + args: { + name: "caching", + suggestions: ["None", "ReadOnly", "ReadWrite"], + }, + }, + { + name: "--disk", + description: + "Existing disk name or ID to attach or detach from VM instances", + args: { name: "disk" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-id", + description: "Scale set VM instance id", + args: { name: "instance-id" }, + }, + { + name: "--lun", + description: + "0-based logical unit number (LUN). Max value depends on the Virtual Machine instance size", + args: { name: "lun" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--size-gb", "-z"], + description: + "Size in GB. Max size: 4095 GB (certain preview disks can be larger)", + args: { name: "size-gb" }, + }, + { + name: "--sku", + description: "Underlying storage SKU", + args: { + name: "sku", + suggestions: [ + "PremiumV2_LRS", + "Premium_LRS", + "Premium_ZRS", + "StandardSSD_LRS", + "StandardSSD_ZRS", + "Standard_LRS", + "UltraSSD_LRS", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vmss-name", + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "vmss-name" }, + }, + ], + }, + { + name: "detach", + description: + "Detach managed data disks from a scale set or its instances", + options: [ + { + name: "--lun", + description: + "0-based logical unit number (LUN). Max value depends on the Virtual Machine instance size", + args: { name: "lun" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-id", + description: "Scale set VM instance id", + args: { name: "instance-id" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vmss-name", + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "vmss-name" }, + }, + ], + }, + ], + }, + { + name: "encryption", + description: + "Manage encryption of VMSS.\n\n\t\tFor more information, see: ttps://docs.microsoft.com/azure/security/fundamentals/azure-disk-encryption-vms-vmss", + subcommands: [ + { + name: "disable", + description: "Disable the encryption on a VMSS with managed disks", + options: [ + { + name: "--force", + description: "Continue by ignoring client side validation errors", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--volume-type", + description: + "Type of volume that the encryption operation is performed on", + args: { name: "volume-type", suggestions: ["ALL", "DATA", "OS"] }, + }, + ], + }, + { + name: "enable", + description: "Encrypt a VMSS with managed disks", + options: [ + { + name: "--disk-encryption-keyvault", + description: + "Name or ID of the key vault where the generated encryption key will be placed", + args: { name: "disk-encryption-keyvault" }, + isRequired: true, + }, + { + name: "--force", + description: "Continue by ignoring client side validation errors", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--key-encryption-algorithm", + description: "", + args: { name: "key-encryption-algorithm" }, + }, + { + name: "--key-encryption-key", + description: + "Key vault key name or URL used to encrypt the disk encryption key", + args: { name: "key-encryption-key" }, + }, + { + name: "--key-encryption-keyvault", + description: + "Name or ID of the key vault containing the key encryption key used to encrypt the disk encryption key. If missing, CLI will use --disk-encryption-keyvault", + args: { name: "key-encryption-keyvault" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--volume-type", + description: + "Type of volume that the encryption operation is performed on", + args: { name: "volume-type", suggestions: ["ALL", "DATA", "OS"] }, + }, + ], + }, + { + name: "show", + description: "Show encryption status", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "extension", + description: "Manage extensions on a VM scale set", + subcommands: [ + { + name: "delete", + description: "Delete an extension from a VMSS", + options: [ + { + name: ["--name", "-n"], + description: "Name of the extension", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vmss-name", + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "vmss-name" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + ], + }, + { + name: "list", + description: "List extensions associated with a VMSS", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vmss-name", + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "vmss-name" }, + isRequired: true, + }, + ], + }, + { + name: "set", + description: + "Add an extension to a VMSS or update an existing extension", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the extension. value from: az vm extension image list", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--publisher", + description: "The name of the extension publisher", + args: { name: "publisher" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vmss-name", + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "vmss-name" }, + isRequired: true, + }, + { + name: "--enable-auto-upgrade", + description: + "Indicate the extension should be automatically upgraded by the platform if there is a newer version of the extension available", + args: { + name: "enable-auto-upgrade", + suggestions: ["false", "true"], + }, + }, + { + name: "--extension-instance-name", + description: + "Name of extension instance, which can be customized. Default: name of the extension", + args: { name: "extension-instance-name" }, + }, + { + name: "--force-update", + description: + "Force to update even if the extension configuration has not changed", + }, + { + name: "--no-auto-upgrade", + description: + "Option '--no-auto-upgrade' has been deprecated and will be removed in a future release. Use '--no-auto-upgrade-minor-version' instead. If set, the extension service will not automatically pick or upgrade to the latest minor version, even if the extension is redeployed", + }, + { + name: "--no-auto-upgrade-minor-version", + description: + "If set, the extension service will not automatically pick or upgrade to the latest minor version, even if the extension is redeployed", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--protected-settings", + description: + "Protected settings in JSON format for sensitive information like credentials. A JSON file path is also accepted", + args: { name: "protected-settings" }, + }, + { + name: "--provision-after-extensions", + description: + "Space-separated list of extension names after which this extension should be provisioned. These extensions must already be set on the vm", + args: { name: "provision-after-extensions" }, + }, + { + name: "--settings", + description: + "Extension settings in JSON format. A JSON file path is also accepted", + args: { name: "settings" }, + }, + { + name: "--version", + description: + "The version of the extension. To pin extension version to this value, please specify --no-auto-upgrade-minor-version", + args: { name: "version" }, + }, + ], + }, + { + name: "show", + description: "Show details on a VMSS extension", + options: [ + { + name: ["--name", "-n"], + description: "Name of the extension", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vmss-name", + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "vmss-name" }, + isRequired: true, + }, + ], + }, + { + name: "upgrade", + description: + "Upgrade all extensions for all VMSS instances to the latest version", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "image", + description: + "Find the available VM extensions for a subscription and region", + subcommands: [ + { + name: "list", + description: "List the information on available extensions", + options: [ + { + name: "--latest", + description: "Show the latest version only", + }, + { + name: ["--location", "-l"], + description: "Image location", + args: { name: "location" }, + }, + { + name: ["--name", "-n"], + description: "Image name", + args: { name: "name" }, + }, + { + name: ["--publisher", "-p"], + description: "Image publisher name", + args: { name: "publisher" }, + }, + { + name: "--version", + description: "Extension version", + args: { name: "version" }, + }, + ], + }, + { + name: "list-names", + description: "List virtual machine extension image types", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--publisher-name", "--publisher", "-p"], + description: "Image publisher name", + args: { name: "publisher-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-versions", + description: "List virtual machine extension image versions", + options: [ + { + name: "--filter", + description: + "The filter to apply on the operation. Default value is None", + args: { name: "filter" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "--type", "-n"], + description: "Name of the extension", + args: { name: "name" }, + }, + { + name: "--orderby", + description: "The $orderby odata query option", + args: { name: "orderby" }, + }, + { + name: ["--publisher-name", "--publisher", "-p"], + description: "Image publisher name", + args: { name: "publisher-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top", + description: "The $top odata query option", + args: { name: "top" }, + }, + ], + }, + { + name: "show", + description: "Get a virtual machine extension image", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: ["--name", "--type", "-n"], + description: "Name of the extension", + args: { name: "name" }, + }, + { + name: ["--publisher-name", "--publisher", "-p"], + description: "Image publisher name", + args: { name: "publisher-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--version", + description: "Extension version", + args: { name: "version" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage service identities of a VM scaleset", + subcommands: [ + { + name: "assign", + description: "Enable managed service identity on a VMSS", + options: [ + { + name: "--identities", + description: + "Space-separated identities to assign. Use '[system]' to refer to the system assigned identity. Default: '[system]'", + args: { name: "identities" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: + 'Role name or id the system assigned identity will have. Please note that the default value "Contributor" will be removed in the breaking change release of the fall, so please specify "--role" and "--scope" at the same time when assigning a role to the managed identity', + args: { name: "role" }, + }, + { + name: "--scope", + description: "Scope that the system assigned identity can access", + args: { name: "scope" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: "Remove user assigned identities from a VM scaleset", + options: [ + { + name: "--identities", + description: + "Space-separated identities to remove. Use '[system]' to refer to the system assigned identity. Default: '[system]'", + args: { name: "identities" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Display VM scaleset's managed identity info", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "The name of the Virtual Machine. You can configure the default using az configure --defaults vm=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "nic", + description: "Manage network interfaces of a VMSS", + subcommands: [ + { + name: "list", + description: + "Get all network interfaces in a virtual machine scale set", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--virtual-machine-scale-set-name", "--vmss-name"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "virtual-machine-scale-set-name" }, + isRequired: true, + }, + ], + }, + { + name: "list-vm-nics", + description: + "Get information about all network interfaces in a virtual machine in a virtual machine scale set", + options: [ + { + name: ["--virtualmachine-index", "--instance-id"], + description: "The virtual machine index", + args: { name: "virtualmachine-index" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--virtual-machine-scale-set-name", "--vmss-name"], + description: "Scale set name", + args: { name: "virtual-machine-scale-set-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Get the specified network interface in a virtual machine scale set", + options: [ + { + name: "--expand", + description: + "Expands referenced resources. Default value is None", + args: { name: "expand" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--virtualmachine-index", "--instance-id"], + description: "The virtual machine index", + args: { name: "virtualmachine-index" }, + }, + { + name: ["--network-interface-name", "--name", "-n"], + description: "The network interface (NIC)", + args: { name: "network-interface-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--virtual-machine-scale-set-name", "--vmss-name"], + description: "Scale set name", + args: { name: "virtual-machine-scale-set-name" }, + }, + ], + }, + ], + }, + { + name: "rolling-upgrade", + description: "Manage rolling upgrades", + subcommands: [ + { + name: "cancel", + description: + "Cancel the current virtual machine scale set rolling upgrade", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: [ + "--virtual-machine-scale-set-name", + "--vm-scale-set-name", + "--name", + "-n", + ], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "virtual-machine-scale-set-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "get-latest", + description: + "Get the status of the latest virtual machine scale set rolling upgrade", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: [ + "--virtual-machine-scale-set-name", + "--vm-scale-set-name", + "--name", + "-n", + ], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "virtual-machine-scale-set-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: + "Start a rolling upgrade to move all virtual machine scale set instances to the latest available Platform Image OS version. Instances which are already running the latest available OS version are not affected", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: [ + "--virtual-machine-scale-set-name", + "--vm-scale-set-name", + "--name", + "-n", + ], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "virtual-machine-scale-set-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "run-command", + description: + "Manage run commands on a Virtual Machine Scale Set.\n\n\t\tFor more information, see https://docs.microsoft.com/azure/virtual-machines/windows/run-command or https://docs.microsoft.com/azure/virtual-machines/linux/run-command", + subcommands: [ + { + name: "create", + description: "The operation to Create the VMSS VM run command", + options: [ + { + name: "--instance-id", + description: "The instance ID of the virtual machine", + args: { name: "instance-id" }, + isRequired: true, + }, + { + name: ["--run-command-name", "--name"], + description: "The name of the virtual machine run command", + args: { name: "run-command-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vmss-name", + description: "The name of the VM scale set", + args: { name: "vmss-name" }, + isRequired: true, + }, + { + name: "--async-execution", + description: + "Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete", + args: { name: "async-execution", suggestions: ["false", "true"] }, + }, + { + name: "--command-id", + description: "Specify a commandId of predefined built-in script", + args: { name: "command-id" }, + }, + { + name: "--error-blob-uri", + description: + "Uri (without SAS) to an append blob where the script error stream will be uploaded", + args: { name: "error-blob-uri" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--output-blob-uri", + description: + "Uri (without SAS) to an append blob where the script output will be uploaded", + args: { name: "output-blob-uri" }, + }, + { + name: "--parameters", + description: "The parameters used by the script", + args: { name: "parameters" }, + }, + { + name: "--protected-parameters", + description: "The parameters used by the script", + args: { name: "protected-parameters" }, + }, + { + name: "--run-as-password", + description: + "Password if needed for using run-as-user parameter. It will be encrypted and not logged", + args: { name: "run-as-password" }, + }, + { + name: "--run-as-user", + description: + "By default script process runs under system/root user. Specify custom user to host the process", + args: { name: "run-as-user" }, + }, + { + name: "--script", + description: + "Specify the script content to be executed on the VM", + args: { name: "script" }, + }, + { + name: "--script-uri", + description: "Specify the script download location", + args: { name: "script-uri" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--timeout-in-seconds", + description: "The timeout in seconds to execute the run command", + args: { name: "timeout-in-seconds" }, + }, + ], + }, + { + name: "delete", + description: "The operation to delete the run command", + options: [ + { + name: ["--run-command-name", "--name"], + description: "The name of the virtual machine run command", + args: { name: "run-command-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-id", + description: "The instance ID of the virtual machine", + args: { name: "instance-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vmss-name", + description: "The name of the VM scale set", + args: { name: "vmss-name" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "invoke", + description: + "Execute a specific run command on a Virtual Machine Scale Set instance", + options: [ + { + name: "--command-id", + description: + "The command id. value from: az vmss run-command list", + args: { name: "command-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-id", + description: "Scale set VM instance id", + args: { name: "instance-id" }, + }, + { + name: ["--name", "-n"], + description: + "Scale set name. You can configure the default using az configure --defaults vmss=", + args: { name: "name" }, + }, + { + name: "--parameters", + description: + "Space-separated parameters in the format of '[name=]value'", + args: { name: "parameters" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scripts", + description: + "Space-separated script lines. Use @{file} to load script from a file", + args: { name: "scripts" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "The operation to get all run commands of an instance in Virtual Machine Scaleset", + options: [ + { + name: "--instance-id", + description: "The instance ID of the virtual machine", + args: { name: "instance-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vmss-name", + description: "The name of the VM scale set", + args: { name: "vmss-name" }, + isRequired: true, + }, + { + name: "--expand", + description: "The expand expression to apply on the operation", + args: { name: "expand" }, + }, + ], + }, + { + name: "show", + description: "The operation to get the VMSS run command", + options: [ + { + name: ["--run-command-name", "--name"], + description: "The name of the virtual machine run command", + args: { name: "run-command-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-id", + description: "The instance ID of the virtual machine", + args: { name: "instance-id" }, + }, + { + name: "--instance-view", + description: "The instance view of a run command", + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vmss-name", + description: "The name of the VM scale set", + args: { name: "vmss-name" }, + }, + ], + }, + { + name: "update", + description: "The operation to update the VMSS run command", + options: [ + { + name: ["--run-command-name", "--name"], + description: "The name of the virtual machine run command", + args: { name: "run-command-name" }, + isRequired: true, + }, + { + name: "--async-execution", + description: + "Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete", + args: { name: "async-execution", suggestions: ["false", "true"] }, + }, + { + name: "--command-id", + description: "Specify a commandId of predefined built-in script", + args: { name: "command-id" }, + }, + { + name: "--error-blob-uri", + description: + "Uri (without SAS) to an append blob where the script error stream will be uploaded", + args: { name: "error-blob-uri" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--instance-id", + description: "The instance ID of the virtual machine", + args: { name: "instance-id" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--output-blob-uri", + description: + "Uri (without SAS) to an append blob where the script output will be uploaded", + args: { name: "output-blob-uri" }, + }, + { + name: "--parameters", + description: "The parameters used by the script", + args: { name: "parameters" }, + }, + { + name: "--protected-parameters", + description: "The parameters used by the script", + args: { name: "protected-parameters" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--run-as-password", + description: + "Password if needed for using run-as-user parameter. It will be encrypted and not logged", + args: { name: "run-as-password" }, + }, + { + name: "--run-as-user", + description: + "By default script process runs under system/root user. Specify custom user to host the process", + args: { name: "run-as-user" }, + }, + { + name: "--script", + description: + "Specify the script content to be executed on the VM", + args: { name: "script" }, + }, + { + name: "--script-uri", + description: "Specify the script download location", + args: { name: "script-uri" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--timeout-in-seconds", + description: "The timeout in seconds to execute the run command", + args: { name: "timeout-in-seconds" }, + }, + { + name: "--vmss-name", + description: "The name of the VM scale set", + args: { name: "vmss-name" }, + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/vmware.ts b/src/az/2.53.0/vmware.ts new file mode 100644 index 000000000000..730eb0950b4e --- /dev/null +++ b/src/az/2.53.0/vmware.ts @@ -0,0 +1,8291 @@ +const completion: Fig.Spec = { + name: "vmware", + description: "Commands to manage Azure VMware Solution", + subcommands: [ + { + name: "addon", + description: "Commands to manage addons for a private cloud", + subcommands: [ + { + name: "list", + description: "List addons in a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "arc", + description: "Commands to manage a Arc addon", + subcommands: [ + { + name: "create", + description: "Create an Arc addon for a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vcenter", + description: "The VMware vCenter resource ID", + args: { name: "vcenter" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete an Arc addon for a private cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show details of an Arc addon for a private cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an Arc addon for a private cloud", + options: [ + { + name: "--vcenter", + description: "The VMware vCenter resource ID", + args: { name: "vcenter" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "hcx", + description: "Commands to manage a HCX addon", + subcommands: [ + { + name: "create", + description: "Create a HCX addon for a private cloud", + options: [ + { + name: "--offer", + description: + "The HCX offer, example VMware MaaS Cloud Provider (Enterprise)", + args: { name: "offer" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a HCX addon for a private cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Show details of a HCX addon for a private cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a HCX addon for a private cloud", + options: [ + { + name: "--offer", + description: + "The HCX offer, example VMware MaaS Cloud Provider (Enterprise)", + args: { name: "offer" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "srm", + description: "Commands to manage a Site Recovery Manager (SRM) addon", + subcommands: [ + { + name: "create", + description: + "Create a Site Recovery Manager (SRM) addon for a private cloud", + options: [ + { + name: "--license-key", + description: "The Site Recovery Manager (SRM) license", + args: { name: "license-key" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete a Site Recovery Manager (SRM) addon for a private cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Show details of a Site Recovery Manager (SRM) addon", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a Site Recovery Manager (SRM) addon for a private cloud", + options: [ + { + name: "--license-key", + description: "The Site Recovery Manager (SRM) license", + args: { name: "license-key" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "vr", + description: "Commands to manage a vSphere Replication (VR) addon", + subcommands: [ + { + name: "create", + description: + "Create a vSphere Replication (VR) addon for a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vrs-count", + description: "The vSphere Replication Server (VRS) count", + args: { name: "vrs-count" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete a vSphere Replication (VR) addon for a private cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: + "Show details of a vSphere Replication (VR) addon for a private cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a vSphere Replication (VR) addon for a private cloud", + options: [ + { + name: "--vrs-count", + description: "The vSphere Replication Server (VRS) count", + args: { name: "vrs-count" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "authorization", + description: + "Commands to manage the authorizations of an ExpressRoute Circuit for a private cloud", + subcommands: [ + { + name: "create", + description: + "Create an ExpressRoute Circuit Authorization in a private cloud", + options: [ + { + name: ["--authorization-name", "--name", "-n"], + description: + "Name of the ExpressRoute Circuit Authorization in the private cloud", + args: { name: "authorization-name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--express-route-id", + description: "The ID of the ExpressRoute Circuit", + args: { name: "express-route-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete an ExpressRoute Circuit Authorization in a private cloud", + options: [ + { + name: ["--authorization-name", "--name", "-n"], + description: + "Name of the ExpressRoute Circuit Authorization in the private cloud", + args: { name: "authorization-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List ExpressRoute Circuit Authorizations in a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get an ExpressRoute Circuit Authorization by name in a private cloud", + options: [ + { + name: ["--authorization-name", "--name", "-n"], + description: + "Name of the ExpressRoute Circuit Authorization in the private cloud", + args: { name: "authorization-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--authorization-name", "--name", "-n"], + description: + "Name of the ExpressRoute Circuit Authorization in the private cloud", + args: { name: "authorization-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "cloud-link", + description: "Commands to manage cloud links in a private cloud", + subcommands: [ + { + name: "create", + description: "Create a cloud link in a private cloud", + options: [ + { + name: ["--cloud-link-name", "--name", "-n"], + description: "Name of the cloud link resource", + args: { name: "cloud-link-name" }, + isRequired: true, + }, + { + name: "--linked-cloud", + description: + "Identifier of the other private cloud participating in the link", + args: { name: "linked-cloud" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: "Delete a cloud link in a private cloud", + options: [ + { + name: ["--cloud-link-name", "--name", "-n"], + description: "Name of the cloud link resource", + args: { name: "cloud-link-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List cloud link in a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Show details of a cloud link in a private cloud", + options: [ + { + name: ["--cloud-link-name", "--name", "-n"], + description: "Name of the cloud link resource", + args: { name: "cloud-link-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a cloud link in a private cloud", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--cloud-link-name", "--name", "-n"], + description: "Name of the cloud link resource", + args: { name: "cloud-link-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--linked-cloud", + description: + "Identifier of the other private cloud participating in the link", + args: { name: "linked-cloud" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "cluster", + description: + "Commands to manage all the clusters in a private cloud, excluding the first cluster which is the default management cluster.\n\n\t\tThe default management cluster is created and managed as part of the private cloud. To view details of the management cluster, use az vmware private-cloud show", + subcommands: [ + { + name: "create", + description: "Create a cluster in a private cloud", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: "The name of the SKU", + args: { name: "sku" }, + isRequired: true, + }, + { + name: ["--cluster-size", "--size"], + description: "The cluster size", + args: { name: "cluster-size" }, + }, + { + name: "--hosts", + description: + 'The hosts Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "hosts" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + { + name: "delete", + description: + "Delete a cluster in a private cloud, excluding the first cluster which is the default management cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List clusters in a private cloud, excluding the first cluster which is the default management cluster", + options: [ + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "list-zones", + description: + "List hosts by zone in a cluster in a private cloud, including the first cluster which is the default management cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get a cluster by name in a private cloud, excluding the first cluster which is the default management cluster", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a cluster in a private cloud, excluding the first cluster which is the default management cluster", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--cluster-name", "--name", "-n"], + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: ["--cluster-size", "--size"], + description: "The cluster size", + args: { name: "cluster-size" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--hosts", + description: + 'The hosts Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "hosts" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: "The name of the SKU", + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--cluster-name", "--name", "-n"], + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "datastore", + description: "Commands to manage a datastore in a private cloud cluster", + subcommands: [ + { + name: "create", + description: + 'Please use "netapp-volume create" or "disk-pool-volume create" instead', + }, + { + name: "delete", + description: "Delete a datastore in a private cloud cluster", + options: [ + { + name: ["--cluster-name", "--cluster"], + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: ["--datastore-name", "--name", "-n"], + description: "Name of the datastore in the private cloud cluster", + args: { name: "datastore-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List datastores in a private cloud cluster", + options: [ + { + name: ["--cluster-name", "--cluster"], + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Show details of a datastore in a private cloud cluster", + options: [ + { + name: ["--cluster-name", "--cluster"], + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: ["--datastore-name", "--name", "-n"], + description: "Name of the datastore in the private cloud cluster", + args: { name: "datastore-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--cluster-name", "--cluster"], + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { + name: ["--datastore-name", "--name", "-n"], + description: "Name of the datastore in the private cloud cluster", + args: { name: "datastore-name" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "disk-pool-volume", + description: + "Create a VMFS datastore in a private cloud cluster using Microsoft.StoragePool provided iSCSI target", + subcommands: [ + { + name: "create", + description: + "Create a VMFS datastore in a private cloud cluster using Microsoft.StoragePool provided iSCSI target", + options: [ + { + name: ["--cluster-name", "--cluster"], + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--datastore-name", "--name", "-n"], + description: + "Name of the datastore in the private cloud cluster", + args: { name: "datastore-name" }, + isRequired: true, + }, + { + name: "--lun-name", + description: "Name of the LUN to be used for datastore", + args: { name: "lun-name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--target-id", + description: "Azure resource ID of the iSCSI target", + args: { name: "target-id" }, + isRequired: true, + }, + { + name: "--mount-option", + description: + "Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN", + args: { + name: "mount-option", + suggestions: ["ATTACH", "MOUNT"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + ], + }, + { + name: "netapp-volume", + description: + "Create a new Microsoft.NetApp provided NetApp volume in a private cloud cluster", + subcommands: [ + { + name: "create", + description: + "Create a new Microsoft.NetApp provided NetApp volume in a private cloud cluster", + options: [ + { + name: ["--cluster-name", "--cluster"], + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--datastore-name", "--name", "-n"], + description: + "Name of the datastore in the private cloud cluster", + args: { name: "datastore-name" }, + isRequired: true, + }, + { + name: ["--net-app-volumn", "--volume-id"], + description: "Azure resource ID of the NetApp volume", + args: { name: "net-app-volumn" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + ], + }, + ], + }, + ], + }, + { + name: "global-reach-connection", + description: + "Commands to manage global reach connections in a private cloud", + subcommands: [ + { + name: "create", + description: "Create a global reach connection in a private cloud", + options: [ + { + name: ["--global-reach-connection-name", "--name", "-n"], + description: + "Name of the global reach connection in the private cloud", + args: { name: "global-reach-connection-name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--authorization-key", + description: + "Authorization key from the peer express route used for the global reach connection", + args: { name: "authorization-key" }, + }, + { + name: "--express-route-id", + description: + "The ID of the Private Cloud's ExpressRoute Circuit that is participating in the global reach connection", + args: { name: "express-route-id" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--peer-express-route-circuit", + description: + "Identifier of the ExpressRoute Circuit to peer with in the global reach connection", + args: { name: "peer-express-route-circuit" }, + }, + ], + }, + { + name: "delete", + description: "Delete a global reach connection in a private cloud", + options: [ + { + name: ["--global-reach-connection-name", "--name", "-n"], + description: + "Name of the global reach connection in the private cloud", + args: { name: "global-reach-connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List global reach connections in a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get a global reach connection by name in a private cloud", + options: [ + { + name: ["--global-reach-connection-name", "--name", "-n"], + description: + "Name of the global reach connection in the private cloud", + args: { name: "global-reach-connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: ["--global-reach-connection-name", "--name", "-n"], + description: + "Name of the global reach connection in the private cloud", + args: { name: "global-reach-connection-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "hcx-enterprise-site", + description: "Commands to manage HCX Enterprise Sites in a private cloud", + subcommands: [ + { + name: "create", + description: "Create an HCX Enterprise Site in a private cloud", + options: [ + { + name: ["--hcx-enterprise-site-name", "--name", "-n"], + description: + "Name of the HCX Enterprise Site in the private cloud", + args: { name: "hcx-enterprise-site-name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "delete", + description: "Delete an HCX Enterprise Site in a private cloud", + options: [ + { + name: ["--hcx-enterprise-site-name", "--name", "-n"], + description: + "Name of the HCX Enterprise Site in the private cloud", + args: { name: "hcx-enterprise-site-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List HCX Enterprise Sites in a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get an HCX Enterprise Site by name in a private cloud", + options: [ + { + name: ["--hcx-enterprise-site-name", "--name", "-n"], + description: + "Name of the HCX Enterprise Site in the private cloud", + args: { name: "hcx-enterprise-site-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "The name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "location", + description: "Commands to check availability by location", + subcommands: [ + { + name: "check-quota-availability", + description: "Return quota for subscription by region", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "check-trial-availability", + description: "Return trial status for subscription by region", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--sku", + description: "The name of the SKU", + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "checkquotaavailability", + description: "Return quota for subscription by region", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "checktrialavailability", + description: "Return trial status for subscription by region", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + { + name: "--sku", + description: "The name of the SKU", + args: { name: "sku" }, + }, + ], + }, + ], + }, + { + name: "placement-policy", + description: "Commands to manage placement policies", + subcommands: [ + { + name: "list", + description: "List placement policies in a private cloud cluster", + options: [ + { + name: "--cluster-name", + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get a placement policy by name in a private cloud cluster", + options: [ + { + name: "--cluster-name", + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--placement-policy-name", "--name", "-n"], + description: + "Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy", + args: { name: "placement-policy-name" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "vm", + description: "Commands to manage VM placement policies", + subcommands: [ + { + name: "create", + description: + "Create a VM placement policy in a private cloud cluster", + options: [ + { + name: "--affinity-type", + description: "Placement policy affinity type", + args: { + name: "affinity-type", + suggestions: ["Affinity", "AntiAffinity"], + }, + isRequired: true, + }, + { + name: "--cluster-name", + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--placement-policy-name", "--name", "-n"], + description: + "Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy", + args: { name: "placement-policy-name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-members", + description: + 'Virtual machine members list Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "vm-members" }, + isRequired: true, + }, + { + name: "--display-name", + description: "Display name of the placement policy", + args: { name: "display-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--state", + description: + "Whether the placement policy is enabled or disabled", + args: { name: "state", suggestions: ["Disabled", "Enabled"] }, + }, + ], + }, + { + name: "delete", + description: + "Delete a VM placement policy in a private cloud cluster", + options: [ + { + name: "--cluster-name", + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--placement-policy-name", "--name", "-n"], + description: + "Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy", + args: { name: "placement-policy-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "update", + description: + "Update a VM placement policy in a private cloud cluster", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--cluster-name", + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: "--display-name", + description: "Display name of the placement policy", + args: { name: "display-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--placement-policy-name", "--name", "-n"], + description: + "Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy", + args: { name: "placement-policy-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: + "Whether the placement policy is enabled or disabled", + args: { name: "state", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-members", + description: + 'Virtual machine members list Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "vm-members" }, + }, + ], + }, + ], + }, + { + name: "vm-host", + description: "Commands to manage VM Host placement policies", + subcommands: [ + { + name: "create", + description: + "Create a VM Host placement policy in a private cloud cluster", + options: [ + { + name: "--affinity-type", + description: "Placement policy affinity type", + args: { + name: "affinity-type", + suggestions: ["Affinity", "AntiAffinity"], + }, + isRequired: true, + }, + { + name: "--cluster-name", + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: "--host-members", + description: + 'Host members list Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "host-members" }, + isRequired: true, + }, + { + name: ["--placement-policy-name", "--name", "-n"], + description: + "Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy", + args: { name: "placement-policy-name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--vm-members", + description: + 'Virtual machine members list Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "vm-members" }, + isRequired: true, + }, + { + name: "--affinity-strength", + description: + "Vm-host placement policy affinity strength (should/must)", + args: { + name: "affinity-strength", + suggestions: ["Must", "Should"], + }, + }, + { + name: "--azure-hybrid-benefit", + description: + "Placement policy azure hybrid benefit opt-in type", + args: { + name: "azure-hybrid-benefit", + suggestions: ["None", "SqlHost"], + }, + }, + { + name: "--display-name", + description: "Display name of the placement policy", + args: { name: "display-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--state", + description: + "Whether the placement policy is enabled or disabled", + args: { name: "state", suggestions: ["Disabled", "Enabled"] }, + }, + ], + }, + { + name: "delete", + description: + "Delete a VM Host placement policy in a private cloud cluster", + options: [ + { + name: "--cluster-name", + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--placement-policy-name", "--name", "-n"], + description: + "Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy", + args: { name: "placement-policy-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "update", + description: + "Update a VM Host placement policy in a private cloud cluster", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--affinity-strength", + description: + "Vm-host placement policy affinity strength (should/must)", + args: { + name: "affinity-strength", + suggestions: ["Must", "Should"], + }, + }, + { + name: "--azure-hybrid-benefit", + description: + "Placement policy azure hybrid benefit opt-in type", + args: { + name: "azure-hybrid-benefit", + suggestions: ["None", "SqlHost"], + }, + }, + { + name: "--cluster-name", + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: "--display-name", + description: "Display name of the placement policy", + args: { name: "display-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--host-members", + description: + 'Host members list Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "host-members" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--placement-policy-name", "--name", "-n"], + description: + "Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy", + args: { name: "placement-policy-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--state", + description: + "Whether the placement policy is enabled or disabled", + args: { name: "state", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vm-members", + description: + 'Virtual machine members list Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "vm-members" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "private-cloud", + description: "Commands to manage private clouds", + subcommands: [ + { + name: "add-cmk-encryption", + description: + "Add a Customer Managed Keys Encryption to a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--enc-kv-key-name", + description: "The name of the encryption key vault key", + args: { name: "enc-kv-key-name" }, + }, + { + name: "--enc-kv-key-version", + description: "The version of the encryption key vault key", + args: { name: "enc-kv-key-version" }, + }, + { + name: "--enc-kv-url", + description: "The URL of the encryption key vault", + args: { name: "enc-kv-url" }, + }, + ], + }, + { + name: "add-identity-source", + description: + "Add a vCenter Single Sign On Identity Source to a private cloud", + options: [ + { + name: "--alias", + description: "The domain's NetBIOS name", + args: { name: "alias" }, + isRequired: true, + }, + { + name: "--base-group-dn", + description: "The base distinguished name for groups", + args: { name: "base-group-dn" }, + isRequired: true, + }, + { + name: "--base-user-dn", + description: "The base distinguished name for users", + args: { name: "base-user-dn" }, + isRequired: true, + }, + { + name: "--domain", + description: "The domain's dns name", + args: { name: "domain" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the identity source", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--password", + description: + "The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups", + args: { name: "password" }, + isRequired: true, + }, + { + name: "--primary-server", + description: "Primary server URL", + args: { name: "primary-server" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--username", + description: + "The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group", + args: { name: "username" }, + isRequired: true, + }, + { + name: "--secondary-server", + description: "Secondary server URL", + args: { name: "secondary-server" }, + }, + { + name: "--ssl", + description: + 'Protect LDAP communication using SSL certificate (LDAPS). Specify "Enabled" or "Disabled"', + args: { name: "ssl" }, + }, + ], + }, + { + name: "addidentitysource", + description: + "Add a vCenter Single Sign On Identity Source to a private cloud", + options: [ + { + name: "--alias", + description: "The domain's NetBIOS name", + args: { name: "alias" }, + isRequired: true, + }, + { + name: "--base-group-dn", + description: "The base distinguished name for groups", + args: { name: "base-group-dn" }, + isRequired: true, + }, + { + name: "--base-user-dn", + description: "The base distinguished name for users", + args: { name: "base-user-dn" }, + isRequired: true, + }, + { + name: "--domain", + description: "The domain's dns name", + args: { name: "domain" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the identity source", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--password", + description: + "The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups", + args: { name: "password" }, + isRequired: true, + }, + { + name: "--primary-server", + description: "Primary server URL", + args: { name: "primary-server" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--username", + description: + "The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group", + args: { name: "username" }, + isRequired: true, + }, + { + name: "--secondary-server", + description: "Secondary server URL", + args: { name: "secondary-server" }, + }, + { + name: "--ssl", + description: + 'Protect LDAP communication using SSL certificate (LDAPS). Specify "Enabled" or "Disabled"', + args: { name: "ssl" }, + }, + ], + }, + { + name: "create", + description: "Create a private cloud", + options: [ + { + name: "--cluster-size", + description: + "Number of hosts for the default management cluster. Minimum of 3 and maximum of 16", + args: { name: "cluster-size" }, + isRequired: true, + }, + { + name: ["--private-cloud-name", "--name", "-n"], + description: "Name of the private cloud", + args: { name: "private-cloud-name" }, + isRequired: true, + }, + { + name: "--network-block", + description: + "The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22", + args: { name: "network-block" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: "The name of the SKU", + args: { name: "sku" }, + isRequired: true, + }, + { + name: ["--accept-eula", "--yes", "-y"], + description: + "Accept the end-user license agreement without prompting", + }, + { + name: ["--extended-network-blocks", "--ext-nw-blocks"], + description: + 'Array of additional networks noncontiguous with networkBlock. Networks must be unique and non-overlapping across VNet in your subscription, on-premise, and this privateCloud networkBlock attribute. Make sure the CIDR format conforms to (A.B.C.D/X). Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-network-blocks" }, + }, + { + name: "--internet", + description: "Connectivity to internet is enabled or disabled", + args: { name: "internet", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: ["--location", "-l"], + description: + "Resource location When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--mi-system-assigned", + description: "Enable a system assigned identity", + args: { + name: "mi-system-assigned", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--nsxt-password", + description: + "NSX-T Manager password when the private cloud is created If value is blank it's asked from the tty", + args: { name: "nsxt-password" }, + }, + { + name: "--secondary-zone", + description: + "The secondary availability zone for the private cloud", + args: { name: "secondary-zone" }, + }, + { + name: "--strategy", + description: "The availability strategy for the private cloud", + args: { + name: "strategy", + suggestions: ["DualZone", "SingleZone"], + }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vcenter-password", + description: + "VCenter admin password when the private cloud is created If value is blank it's asked from the tty", + args: { name: "vcenter-password" }, + }, + { + name: "--zone", + description: + "The primary availability zone for the private cloud", + args: { name: "zone" }, + }, + ], + }, + { + name: "delete", + description: "Delete a private cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud-name", "--name", "-n"], + description: "Name of the private cloud", + args: { name: "private-cloud-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "delete-cmk-encryption", + description: + "Delete a Customer Managed Keys Encryption from a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { name: "--yes", description: "Delete without confirmation" }, + ], + }, + { + name: "delete-identity-source", + description: + "Delete a vCenter Single Sign On Identity Source for a private cloud", + options: [ + { + name: "--alias", + description: "The domain's NetBIOS name", + args: { name: "alias" }, + isRequired: true, + }, + { + name: "--domain", + description: "The domain's dns name", + args: { name: "domain" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the identity source", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { name: "--yes", description: "Delete without confirmation" }, + ], + }, + { + name: "deleteidentitysource", + description: + "Delete a vCenter Single Sign On Identity Source for a private cloud", + options: [ + { + name: "--alias", + description: "The domain's NetBIOS name", + args: { name: "alias" }, + isRequired: true, + }, + { + name: "--domain", + description: "The domain's dns name", + args: { name: "domain" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the identity source", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { name: "--yes", description: "Delete without confirmation" }, + ], + }, + { + name: "disable-cmk-encryption", + description: + "Disable a Customer Managed Keys Encryption from a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { name: "--yes", description: "Delete without confirmation" }, + ], + }, + { + name: "enable-cmk-encryption", + description: + "Enable a Customer Managed Keys Encryption to a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--enc-kv-key-name", + description: "The name of the encryption key vault key", + args: { name: "enc-kv-key-name" }, + }, + { + name: "--enc-kv-key-version", + description: "The version of the encryption key vault key", + args: { name: "enc-kv-key-version" }, + }, + { + name: "--enc-kv-url", + description: "The URL of the encryption key vault", + args: { name: "enc-kv-url" }, + }, + ], + }, + { + name: "list", + description: "List the private clouds", + options: [ + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-admin-credentials", + description: "List the admin credentials for the private cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "listadmincredentials", + description: "List the admin credentials for the private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "rotate-nsxt-password", + description: "Rotate the NSX-T Manager password", + }, + { + name: "rotate-vcenter-password", + description: "Rotate the vCenter password", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "show", + description: "Get a private cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud-name", "--name", "-n"], + description: "Name of the private cloud", + args: { name: "private-cloud-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a private cloud", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--cluster-size", + description: "The cluster size", + args: { name: "cluster-size" }, + }, + { + name: ["--extended-network-blocks", "--ext-nw-blocks"], + description: + 'Array of additional networks noncontiguous with networkBlock. Networks must be unique and non-overlapping across VNet in your subscription, on-premise, and this privateCloud networkBlock attribute. Make sure the CIDR format conforms to (A.B.C.D/X). Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "extended-network-blocks" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--internet", + description: "Connectivity to internet is enabled or disabled", + args: { name: "internet", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: ["--private-cloud-name", "--name", "-n"], + description: "Name of the private cloud", + args: { name: "private-cloud-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--nsxt-password", + description: + "Optionally, set the NSX-T Manager password when the private cloud is created If value is blank it's asked from the tty", + args: { name: "nsxt-password" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--vcenter-password", + description: + "Optionally, set the vCenter admin password when the private cloud is created If value is blank it's asked from the tty", + args: { name: "vcenter-password" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-cloud-name", "--name", "-n"], + description: "Name of the private cloud", + args: { name: "private-cloud-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "identity", + description: "Commands for Managed Identity in a private cloud", + subcommands: [ + { + name: "assign", + description: "Assign a Managed Identity in a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-assigned", + description: "Enable a system assigned identity", + }, + ], + }, + { + name: "remove", + description: "Remove a Managed Identity in a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--system-assigned", + description: "Disable a system assigned identity", + }, + ], + }, + { + name: "show", + description: "Show Managed Identities in a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + ], + }, + { + name: "identity-source", + description: + "Manage a vCenter Single Sign On Identity Source of a private cloud", + subcommands: [ + { + name: "create", + description: + "Create a vCenter Single Sign On Identity Source to a private cloud", + options: [ + { + name: "--alias", + description: "The domain's NetBIOS name", + args: { name: "alias" }, + isRequired: true, + }, + { + name: "--base-group-dn", + description: "The base distinguished name for groups", + args: { name: "base-group-dn" }, + isRequired: true, + }, + { + name: "--base-user-dn", + description: "The base distinguished name for users", + args: { name: "base-user-dn" }, + isRequired: true, + }, + { + name: "--domain", + description: "The domain's dns name", + args: { name: "domain" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "The name of the identity source", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--password", + description: + "The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups", + args: { name: "password" }, + isRequired: true, + }, + { + name: "--primary-server", + description: "Primary server URL", + args: { name: "primary-server" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--username", + description: + "The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group", + args: { name: "username" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--secondary-server", + description: "Secondary server URL", + args: { name: "secondary-server" }, + }, + { + name: "--ssl", + description: + "Protect LDAP communication using SSL certificate (LDAPS)", + args: { name: "ssl", suggestions: ["Disabled", "Enabled"] }, + }, + ], + }, + { + name: "delete", + description: + "Delete a vCenter Single Sign On Identity Source of a private cloud", + options: [ + { + name: ["--name", "-n"], + description: "The name of the identity source", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List vCenter Single Sign On Identity Sources of a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show a vCenter Single Sign On Identity Source of a private cloud", + options: [ + { + name: ["--name", "-n"], + description: "The name of the identity source", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "update", + description: + "Update a vCenter Single Sign On Identity Source of a private cloud", + options: [ + { + name: ["--name", "-n"], + description: "The name of the identity source", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--alias", + description: "The domain's NetBIOS name", + args: { name: "alias" }, + }, + { + name: "--base-group-dn", + description: "The base distinguished name for groups", + args: { name: "base-group-dn" }, + }, + { + name: "--base-user-dn", + description: "The base distinguished name for users", + args: { name: "base-user-dn" }, + }, + { + name: "--domain", + description: "The domain's dns name", + args: { name: "domain" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--password", + description: + "The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups", + args: { name: "password" }, + }, + { + name: "--primary-server", + description: "Primary server URL", + args: { name: "primary-server" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: "--secondary-server", + description: "Secondary server URL", + args: { name: "secondary-server" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--ssl", + description: + "Protect LDAP communication using SSL certificate (LDAPS)", + args: { name: "ssl", suggestions: ["Disabled", "Enabled"] }, + }, + { + name: "--username", + description: + "The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group", + args: { name: "username" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + { + name: "script-cmdlet", + description: "Commands to list and show script cmdlet resources", + subcommands: [ + { + name: "list", + description: + "List script cmdlet resources available for a private cloud to create a script execution resource on a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--script-package", "-p"], + description: "Name of the script package in the private cloud", + args: { name: "script-package" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get information about a script cmdlet resource in a specific package on a private cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--script-cmdlet-name", "--name", "-n"], + description: + "Name of the script cmdlet resource in the script package in the private cloud", + args: { name: "script-cmdlet-name" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--script-package", "-p"], + description: "Name of the script package in the private cloud", + args: { name: "script-package" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "script-execution", + description: "Commands to manage script executions in a private cloud", + subcommands: [ + { + name: "create", + description: "Create or update a script execution in a private cloud", + options: [ + { + name: ["--name", "-n"], + description: "Name of the script execution", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--timeout", + description: "Time limit for execution", + args: { name: "timeout" }, + isRequired: true, + }, + { + name: "--failure-reason", + description: + "Error message if the script was able to run, but if the script itself had errors or powershell threw an exception", + args: { name: "failure-reason" }, + }, + { + name: "--hidden-parameter", + description: + "Parameters that will be hidden/not visible to ARM, such as passwords and credentials", + args: { name: "hidden-parameter" }, + }, + { + name: "--named-outputs", + description: "User-defined dictionary", + args: { name: "named-outputs" }, + }, + { + name: "--out", + description: + "Standard output stream from the powershell execution", + args: { name: "out" }, + }, + { + name: ["--parameter", "-p"], + description: "Parameters the script will accept", + args: { name: "parameter" }, + }, + { + name: "--retention", + description: + "Time to live for the resource. If not provided, will be available for 60 days", + args: { name: "retention" }, + }, + { + name: "--script-cmdlet-id", + description: + "A reference to the script cmdlet resource if user is running a AVS script", + args: { name: "script-cmdlet-id" }, + }, + ], + }, + { + name: "delete", + description: "Delete a ScriptExecution in a private cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--script-execution-name", "--name", "-n"], + description: "Name of the user-invoked script execution resource", + args: { name: "script-execution-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List script executions in a private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get an script execution by name in a private cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--script-execution-name", "--name", "-n"], + description: "Name of the user-invoked script execution resource", + args: { name: "script-execution-name" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--script-execution-name", "--name", "-n"], + description: "Name of the user-invoked script execution resource", + args: { name: "script-execution-name" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "script-package", + description: + "Commands to list and show script packages available to run on the private cloud", + subcommands: [ + { + name: "list", + description: + "List script packages available to run on the private cloud", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get a script package available to run on a private cloud", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--script-package-name", "--name", "-n"], + description: "Name of the script package in the private cloud", + args: { name: "script-package-name" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "vm", + description: "Commands to manage Virtual Machines", + subcommands: [ + { + name: "list", + description: "List of virtual machines in a private cloud cluster", + options: [ + { + name: "--cluster-name", + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "restrict-movement", + description: "Enable or disable DRS-driven VM movement restriction", + options: [ + { + name: "--cluster-name", + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--restrict-movement", + description: + "Whether VM DRS-driven movement is restricted (enabled) or not (disabled)", + args: { + name: "restrict-movement", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--virtual-machine", + description: "Virtual Machine identifier", + args: { name: "virtual-machine" }, + }, + ], + }, + { + name: "show", + description: "Get a virtual machine by id in a private cloud cluster", + options: [ + { + name: "--cluster-name", + description: "Name of the cluster in the private cloud", + args: { name: "cluster-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--virtual-machine", "--name", "-n"], + description: "Virtual Machine identifier", + args: { name: "virtual-machine" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "workload-network", + description: "Commands to manage workload-networks in a private cloud", + subcommands: [ + { + name: "dhcp", + description: + "Commands to manage a DHCP (Data Host Configuration Protocol) workload network", + subcommands: [ + { + name: "list", + description: "List dhcp in a private cloud workload network", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: "Get dhcp by id in a private cloud workload network", + options: [ + { + name: ["--dhcp", "--name", "-n"], + description: + "NSX DHCP identifier. Generally the same as the DHCP display name", + args: { name: "dhcp" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "relay", + description: + "Commands to manage a DHCP (Data Host Configuration Protocol) workload network", + subcommands: [ + { + name: "create", + description: + "Create DHCP by ID in a private cloud workload network", + options: [ + { + name: ["--dhcp", "--name", "-n"], + description: + "NSX DHCP identifier. Generally the same as the DHCP display name", + args: { name: "dhcp" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--display-name", + description: "Display name of the DHCP entity", + args: { name: "display-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--revision", + description: "NSX revision number", + args: { name: "revision" }, + }, + { + name: "--server-addresses", + description: + 'DHCP Relay Addresses. Max 3. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "server-addresses" }, + }, + ], + }, + { + name: "delete", + description: + "Delete DHCP by ID in a private cloud workload network", + options: [ + { + name: ["--dhcp", "--name", "-n"], + description: + "NSX DHCP identifier. Generally the same as the DHCP display name", + args: { name: "dhcp" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "update", + description: + "Create DHCP by ID in a private cloud workload network", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--dhcp", "--name", "-n"], + description: + "NSX DHCP identifier. Generally the same as the DHCP display name", + args: { name: "dhcp" }, + }, + { + name: "--display-name", + description: "Display name of the DHCP entity", + args: { name: "display-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--revision", + description: "NSX revision number", + args: { name: "revision" }, + }, + { + name: "--server-addresses", + description: + 'DHCP Relay Addresses. Max 3. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "server-addresses" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "server", + description: + "Commands to manage a DHCP (Data Host Configuration Protocol) workload network", + subcommands: [ + { + name: "create", + description: + "Create DHCP by ID in a private cloud workload network", + options: [ + { + name: ["--dhcp", "--name", "-n"], + description: + "NSX DHCP identifier. Generally the same as the DHCP display name", + args: { name: "dhcp" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--display-name", + description: "Display name of the DHCP entity", + args: { name: "display-name" }, + }, + { + name: "--lease-time", + description: "DHCP Server Lease Time", + args: { name: "lease-time" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--revision", + description: "NSX revision number", + args: { name: "revision" }, + }, + { + name: "--server-address", + description: "DHCP Server Address", + args: { name: "server-address" }, + }, + ], + }, + { + name: "delete", + description: + "Delete DHCP by ID in a private cloud workload network", + options: [ + { + name: ["--dhcp", "--name", "-n"], + description: + "NSX DHCP identifier. Generally the same as the DHCP display name", + args: { name: "dhcp" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "update", + description: + "Update DHCP by ID in a private cloud workload network", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: ["--dhcp", "--name", "-n"], + description: + "NSX DHCP identifier. Generally the same as the DHCP display name", + args: { name: "dhcp" }, + }, + { + name: "--display-name", + description: "Display name of the DHCP entity", + args: { name: "display-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--lease-time", + description: "DHCP Server Lease Time", + args: { name: "lease-time" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--revision", + description: "NSX revision number", + args: { name: "revision" }, + }, + { + name: "--server-address", + description: "DHCP Server Address", + args: { name: "server-address" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "dns-service", + description: "Commands to manage a DNS Service workload network", + subcommands: [ + { + name: "create", + description: + "Create a DNS service by id in a private cloud workload network", + options: [ + { + name: ["--dns-service", "--name", "-n"], + description: + "NSX DNS Service identifier. Generally the same as the DNS Service's display name", + args: { name: "dns-service" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--default-dns-zone", + description: "Default DNS zone of the DNS Service", + args: { name: "default-dns-zone" }, + }, + { + name: "--display-name", + description: "Display name of the DNS Service", + args: { name: "display-name" }, + }, + { + name: "--dns-service-ip", + description: "DNS service IP of the DNS Service", + args: { name: "dns-service-ip" }, + }, + { + name: "--fqdn-zones", + description: + 'FQDN zones of the DNS Service. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdn-zones" }, + }, + { + name: "--log-level", + description: "DNS Service log level", + args: { + name: "log-level", + suggestions: ["DEBUG", "ERROR", "FATAL", "INFO", "WARNING"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--revision", + description: "NSX revision number", + args: { name: "revision" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a DNS service by id in a private cloud workload network", + options: [ + { + name: ["--dns-service", "--name", "-n"], + description: + "NSX DNS Service identifier. Generally the same as the DNS Service's display name", + args: { name: "dns-service" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List of DNS services in a private cloud workload network", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get a DNS service by id in a private cloud workload network", + options: [ + { + name: ["--dns-service", "--name", "-n"], + description: + "NSX DNS Service identifier. Generally the same as the DNS Service's display name", + args: { name: "dns-service" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a DNS service by id in a private cloud workload network", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--default-dns-zone", + description: "Default DNS zone of the DNS Service", + args: { name: "default-dns-zone" }, + }, + { + name: "--display-name", + description: "Display name of the DNS Service", + args: { name: "display-name" }, + }, + { + name: ["--dns-service", "--name", "-n"], + description: + "NSX DNS Service identifier. Generally the same as the DNS Service's display name", + args: { name: "dns-service" }, + }, + { + name: "--dns-service-ip", + description: "DNS service IP of the DNS Service", + args: { name: "dns-service-ip" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--fqdn-zones", + description: + 'FQDN zones of the DNS Service. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "fqdn-zones" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--log-level", + description: "DNS Service log level", + args: { + name: "log-level", + suggestions: ["DEBUG", "ERROR", "FATAL", "INFO", "WARNING"], + }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--revision", + description: "NSX revision number", + args: { name: "revision" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--dns-service", "--name", "-n"], + description: + "NSX DNS Service identifier. Generally the same as the DNS Service's display name", + args: { name: "dns-service" }, + }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "dns-zone", + description: "Commands to manage a DNS Zone workload network", + subcommands: [ + { + name: "create", + description: + "Create a DNS zone by id in a private cloud workload network", + options: [ + { + name: ["--dns-zone", "--name", "-n"], + description: + "NSX DNS Zone identifier. Generally the same as the DNS Zone's display name", + args: { name: "dns-zone" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--display-name", + description: "Display name of the DNS Zone", + args: { name: "display-name" }, + }, + { + name: "--dns-server-ips", + description: + 'DNS Server IP array of the DNS Zone. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-server-ips" }, + }, + { + name: "--dns-services", + description: "Number of DNS Services using the DNS zone", + args: { name: "dns-services" }, + }, + { + name: "--domain", + description: + 'Domain names of the DNS Zone. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "domain" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--revision", + description: "NSX revision number", + args: { name: "revision" }, + }, + { + name: "--source-ip", + description: "Source IP of the DNS Zone", + args: { name: "source-ip" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a DNS zone by id in a private cloud workload network", + options: [ + { + name: ["--dns-zone", "--name", "-n"], + description: + "NSX DNS Zone identifier. Generally the same as the DNS Zone's display name", + args: { name: "dns-zone" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List of DNS zones in a private cloud workload network", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get a DNS zone by id in a private cloud workload network", + options: [ + { + name: ["--dns-zone", "--name", "-n"], + description: + "NSX DNS Zone identifier. Generally the same as the DNS Zone's display name", + args: { name: "dns-zone" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a DNS zone by id in a private cloud workload network", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--display-name", + description: "Display name of the DNS Zone", + args: { name: "display-name" }, + }, + { + name: "--dns-server-ips", + description: + 'DNS Server IP array of the DNS Zone. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dns-server-ips" }, + }, + { + name: "--dns-services", + description: "Number of DNS Services using the DNS zone", + args: { name: "dns-services" }, + }, + { + name: ["--dns-zone", "--name", "-n"], + description: + "NSX DNS Zone identifier. Generally the same as the DNS Zone's display name", + args: { name: "dns-zone" }, + }, + { + name: "--domain", + description: + 'Domain names of the DNS Zone. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "domain" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--revision", + description: "NSX revision number", + args: { name: "revision" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--source-ip", + description: "Source IP of the DNS Zone", + args: { name: "source-ip" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: ["--dns-zone", "--name", "-n"], + description: + "NSX DNS Zone identifier. Generally the same as the DNS Zone's display name", + args: { name: "dns-zone" }, + }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "gateway", + description: "Commands to manage a Gateway workload network", + subcommands: [ + { + name: "list", + description: + "List of gateways in a private cloud workload network", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get a gateway by id in a private cloud workload network", + options: [ + { + name: ["--gateway", "--name", "-n"], + description: + "NSX Gateway identifier. Generally the same as the Gateway's display name", + args: { name: "gateway" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "port-mirroring", + description: "Commands to manage a Port Mirroring workload network", + subcommands: [ + { + name: "create", + description: + "Create a port mirroring profile by id in a private cloud workload network", + options: [ + { + name: ["--port-mirroring", "--name", "-n"], + description: + "NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name", + args: { name: "port-mirroring" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--destination", + description: "Destination VM Group", + args: { name: "destination" }, + }, + { + name: "--direction", + description: "Direction of port mirroring profile", + args: { + name: "direction", + suggestions: ["BIDIRECTIONAL", "EGRESS", "INGRESS"], + }, + }, + { + name: "--display-name", + description: "Display name of the port mirroring profile", + args: { name: "display-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--revision", + description: "NSX revision number", + args: { name: "revision" }, + }, + { + name: "--source", + description: "Source VM Group", + args: { name: "source" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a port mirroring profile by id in a private cloud workload network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--port-mirroring", "--name", "-n"], + description: + "NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name", + args: { name: "port-mirroring" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List of port mirroring profiles in a private cloud workload network", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get a port mirroring profile by id in a private cloud workload network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--port-mirroring", "--name", "-n"], + description: + "NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name", + args: { name: "port-mirroring" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a port mirroring profile by id in a private cloud workload network", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--destination", + description: "Destination VM Group", + args: { name: "destination" }, + }, + { + name: "--direction", + description: "Direction of port mirroring profile", + args: { + name: "direction", + suggestions: ["BIDIRECTIONAL", "EGRESS", "INGRESS"], + }, + }, + { + name: "--display-name", + description: "Display name of the port mirroring profile", + args: { name: "display-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--port-mirroring", "--name", "-n"], + description: + "NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name", + args: { name: "port-mirroring" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--revision", + description: "NSX revision number", + args: { name: "revision" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--source", + description: "Source VM Group", + args: { name: "source" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--port-mirroring", "--name", "-n"], + description: + "NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name", + args: { name: "port-mirroring" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "public-ip", + description: "Commands to manage a Public-IP workload network", + subcommands: [ + { + name: "create", + description: + "Create a Public IP Block by id in a private cloud workload network", + options: [ + { + name: ["--public-ip", "--name", "-n"], + description: + "NSX Public IP Block identifier. Generally the same as the Public IP Block's display name", + args: { name: "public-ip" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--display-name", + description: "Display name of the Public IP Block", + args: { name: "display-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--number-of-public-ips", + description: "Number of Public IPs requested", + args: { name: "number-of-public-ips" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a Public IP Block by id in a private cloud workload network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--public-ip", "--name", "-n"], + description: + "NSX Public IP Block identifier. Generally the same as the Public IP Block's display name", + args: { name: "public-ip" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List of Public IP Blocks in a private cloud workload network", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get a Public IP Block by id in a private cloud workload network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--public-ip", "--name", "-n"], + description: + "NSX Public IP Block identifier. Generally the same as the Public IP Block's display name", + args: { name: "public-ip" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--public-ip", "--name", "-n"], + description: + "NSX Public IP Block identifier. Generally the same as the Public IP Block's display name", + args: { name: "public-ip" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "segment", + description: "Commands to manage a Segment workload network", + subcommands: [ + { + name: "create", + description: + "Create a segment by id in a private cloud workload network", + options: [ + { + name: ["--segment", "--name", "-n"], + description: + "NSX Segment identifier. Generally the same as the Segment's display name", + args: { name: "segment" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--connected-gateway", + description: "Gateway which to connect segment to", + args: { name: "connected-gateway" }, + }, + { + name: "--dhcp-ranges", + description: + 'DHCP Range assigned for subnet. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dhcp-ranges" }, + }, + { + name: "--display-name", + description: "Display name of the segment", + args: { name: "display-name" }, + }, + { + name: "--gateway-address", + description: "Gateway address", + args: { name: "gateway-address" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--revision", + description: "NSX revision number", + args: { name: "revision" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a segment by id in a private cloud workload network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--segment", "--name", "-n"], + description: + "NSX Segment identifier. Generally the same as the Segment's display name", + args: { name: "segment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List of segments in a private cloud workload network", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get a segment by id in a private cloud workload network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--segment", "--name", "-n"], + description: + "NSX Segment identifier. Generally the same as the Segment's display name", + args: { name: "segment" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a segment by id in a private cloud workload network", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--connected-gateway", + description: "Gateway which to connect segment to", + args: { name: "connected-gateway" }, + }, + { + name: "--dhcp-ranges", + description: + 'DHCP Range assigned for subnet. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "dhcp-ranges" }, + }, + { + name: "--display-name", + description: "Display name of the segment", + args: { name: "display-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--gateway-address", + description: "Gateway address", + args: { name: "gateway-address" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--segment", "--name", "-n"], + description: + "NSX Segment identifier. Generally the same as the Segment's display name", + args: { name: "segment" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--revision", + description: "NSX revision number", + args: { name: "revision" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--segment", "--name", "-n"], + description: + "NSX Segment identifier. Generally the same as the Segment's display name", + args: { name: "segment" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "vm", + description: "Commands to manage a Virtual Machine workload network", + subcommands: [ + { + name: "list", + description: + "List of virtual machines in a private cloud workload network", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get a virtual machine by id in a private cloud workload network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--virtual-machine", "--name", "-n"], + description: "Virtual Machine identifier", + args: { name: "virtual-machine" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "vm-group", + description: "Commands to manage a VM Group workload network", + subcommands: [ + { + name: "create", + description: + "Create a vm group by id in a private cloud workload network", + options: [ + { + name: ["--vm-group", "--name", "-n"], + description: + "NSX VM Group identifier. Generally the same as the VM Group's display name", + args: { name: "vm-group" }, + isRequired: true, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--display-name", + description: "Display name of the VM group", + args: { name: "display-name" }, + }, + { + name: "--members", + description: + 'Virtual machine members of this group. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "members" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--revision", + description: "NSX revision number", + args: { name: "revision" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a vm group by id in a private cloud workload network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-group", "--name", "-n"], + description: + "NSX VM Group identifier. Generally the same as the VM Group's display name", + args: { name: "vm-group" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List of vm groups in a private cloud workload network", + options: [ + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--max-items", + description: + "Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command", + args: { name: "max-items" }, + }, + { + name: "--next-token", + description: + "Token to specify where to start paginating. This is the token value from a previously truncated response", + args: { name: "next-token" }, + }, + ], + }, + { + name: "show", + description: + "Get a vm group by id in a private cloud workload network", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--vm-group", "--name", "-n"], + description: + "NSX VM Group identifier. Generally the same as the VM Group's display name", + args: { name: "vm-group" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a vm group by id in a private cloud workload network", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--display-name", + description: "Display name of the VM group", + args: { name: "display-name" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--members", + description: + 'Virtual machine members of this group. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "members" }, + }, + { + name: ["--vm-group", "--name", "-n"], + description: + "NSX VM Group identifier. Generally the same as the VM Group's display name", + args: { name: "vm-group" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--revision", + description: "NSX revision number", + args: { name: "revision" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--vm-group", "--name", "-n"], + description: + "NSX VM Group identifier. Generally the same as the VM Group's display name", + args: { name: "vm-group" }, + }, + { + name: ["--private-cloud", "-c"], + description: "Name of the private cloud", + args: { name: "private-cloud" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/webapp.ts b/src/az/2.53.0/webapp.ts new file mode 100644 index 000000000000..770306b96509 --- /dev/null +++ b/src/az/2.53.0/webapp.ts @@ -0,0 +1,11994 @@ +const completion: Fig.Spec = { + name: "webapp", + description: "Manage web apps", + subcommands: [ + { + name: "auth", + description: + 'Manage webapp authentication and authorization. To use v2 auth commands, run "az extension add --name authV2" to add the authV2 CLI extension', + subcommands: [ + { + name: "set", + description: + "Sets the authentication settings for the webapp in the v2 format, overwriting any existing settings", + options: [ + { + name: ["--body", "-b"], + description: + "JSON representation of the configuration settings for the Azure App Service Authentication / Authorization V2 feature", + args: { name: "body" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show the authentification settings for the webapp", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the authentication settings for the webapp", + options: [ + { + name: "--aad-allowed-token-audiences", + description: "One or more token audiences (comma-delimited)", + args: { name: "aad-allowed-token-audiences" }, + }, + { + name: "--aad-client-id", + description: + "Application ID to integrate AAD organization account Sign-in into your web app", + args: { name: "aad-client-id" }, + }, + { + name: "--aad-client-secret", + description: "AAD application secret", + args: { name: "aad-client-secret" }, + }, + { + name: [ + "--aad-client-secret-certificate-thumbprint", + "--thumbprint", + ], + description: + "Alternative to AAD Client Secret, thumbprint of a certificate used for signing purposes", + args: { name: "aad-client-secret-certificate-thumbprint" }, + }, + { + name: "--aad-token-issuer-url", + description: + 'This url can be found in the JSON output returned from your active directory endpoint using your tenantID. The endpoint can be queried from az cloud show at "endpoints.activeDirectory". The tenantID can be found using az account show. Get the "issuer" from the JSON at //.well-known/openid-configuration', + args: { name: "aad-token-issuer-url" }, + }, + { + name: "--action", + description: "", + args: { + name: "action", + suggestions: [ + "AllowAnonymous", + "LoginWithAzureActiveDirectory", + "LoginWithFacebook", + "LoginWithGoogle", + "LoginWithMicrosoftAccount", + "LoginWithTwitter", + ], + }, + }, + { + name: "--allowed-external-redirect-urls", + description: "One or more urls (space-delimited)", + args: { name: "allowed-external-redirect-urls" }, + }, + { + name: "--enabled", + description: "", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--facebook-app-id", + description: + "Application ID to integrate Facebook Sign-in into your web app", + args: { name: "facebook-app-id" }, + }, + { + name: "--facebook-app-secret", + description: "Facebook Application client secret", + args: { name: "facebook-app-secret" }, + }, + { + name: "--facebook-oauth-scopes", + description: + "One or more facebook authentication scopes (comma-delimited)", + args: { name: "facebook-oauth-scopes" }, + }, + { + name: "--google-client-id", + description: + "Application ID to integrate Google Sign-in into your web app", + args: { name: "google-client-id" }, + }, + { + name: "--google-client-secret", + description: "Google Application client secret", + args: { name: "google-client-secret" }, + }, + { + name: "--google-oauth-scopes", + description: + "One or more Google authentication scopes (space-delimited)", + args: { name: "google-oauth-scopes" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--microsoft-account-client-id", + description: + "AAD V2 Application ID to integrate Microsoft account Sign-in into your web app", + args: { name: "microsoft-account-client-id" }, + }, + { + name: "--microsoft-account-client-secret", + description: "AAD V2 Application client secret", + args: { name: "microsoft-account-client-secret" }, + }, + { + name: "--microsoft-account-oauth-scopes", + description: + "One or more Microsoft authentification scopes (comma-delimited)", + args: { name: "microsoft-account-oauth-scopes" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--runtime-version", + description: + "Runtime version of the Authentication/Authorization feature in use for the current app", + args: { name: "runtime-version" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--token-refresh-extension-hours", + description: "Hours, must be formattable into a float", + args: { name: "token-refresh-extension-hours" }, + }, + { + name: "--token-store", + description: "Use App Service Token Store", + args: { name: "token-store", suggestions: ["false", "true"] }, + }, + { + name: "--twitter-consumer-key", + description: + "Application ID to integrate Twitter Sign-in into your web app", + args: { name: "twitter-consumer-key" }, + }, + { + name: "--twitter-consumer-secret", + description: "Twitter Application client secret", + args: { name: "twitter-consumer-secret" }, + }, + ], + }, + { + name: "apple", + description: + "Manage webapp authentication and authorization of the Apple identity provider", + subcommands: [ + { + name: "show", + description: + "Show the authentication settings for the Apple identity provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the client id and client secret for the Apple identity provider", + options: [ + { + name: "--client-id", + description: "The Client ID of the app used for login", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "The client secret", + args: { name: "client-secret" }, + }, + { + name: ["--client-secret-setting-name", "--secret-setting"], + description: + "The app setting name that contains the client secret", + args: { name: "client-secret-setting-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scopes", + description: + "A list of the scopes that should be requested while authenticating", + args: { name: "scopes" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "config-version", + description: + "Manage the state of the configuration version for the authentication settings for the webapp. Configuration version v1 refers to the /authSettings endpoints whereas v2 refers to the /authSettingsV2 endpoints", + subcommands: [ + { + name: "revert", + description: + "Reverts the configuration version of the authentication settings for the webapp from v2 to v1 (classic)", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show the configuration version of the authentication settings for the webapp. Configuration version v1 refers to the /authSettings endpoints whereas v2 refers to the /authSettingsV2 endpoints", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "upgrade", + description: + "Upgrades the configuration version of the authentication settings for the webapp from v1 (classic) to v2", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "facebook", + description: + "Manage webapp authentication and authorization of the Facebook identity provider", + subcommands: [ + { + name: "show", + description: + "Show the authentication settings for the Facebook identity provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the app id and app secret for the Facebook identity provider", + options: [ + { + name: "--app-id", + description: "The App ID of the app used for login", + args: { name: "app-id" }, + }, + { + name: "--app-secret", + description: "The app secret", + args: { name: "app-secret" }, + }, + { + name: ["--app-secret-setting-name", "--secret-setting"], + description: + "The app setting name that contains the app secret", + args: { name: "app-secret-setting-name" }, + }, + { + name: "--graph-api-version", + description: + "The version of the Facebook api to be used while logging in", + args: { name: "graph-api-version" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scopes", + description: + "A list of the scopes that should be requested while authenticating", + args: { name: "scopes" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "github", + description: + "Manage webapp authentication and authorization of the GitHub identity provider", + subcommands: [ + { + name: "show", + description: + "Show the authentication settings for the GitHub identity provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the client id and client secret for the GitHub identity provider", + options: [ + { + name: "--client-id", + description: "The Client ID of the app used for login", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "The client secret", + args: { name: "client-secret" }, + }, + { + name: ["--client-secret-setting-name", "--secret-setting"], + description: + "The app setting name that contains the client secret", + args: { name: "client-secret-setting-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scopes", + description: + "A list of the scopes that should be requested while authenticating", + args: { name: "scopes" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "google", + description: + "Manage webapp authentication and authorization of the Google identity provider", + subcommands: [ + { + name: "show", + description: + "Show the authentication settings for the Google identity provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the client id and client secret for the Google identity provider", + options: [ + { + name: ["--allowed-token-audiences", "--allowed-audiences"], + description: + "The configuration settings of the allowed list of audiences from which to validate the JWT token", + args: { name: "allowed-token-audiences" }, + }, + { + name: "--client-id", + description: "The Client ID of the app used for login", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "The client secret", + args: { name: "client-secret" }, + }, + { + name: ["--client-secret-setting-name", "--secret-setting"], + description: + "The app setting name that contains the client secret", + args: { name: "client-secret-setting-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scopes", + description: + "A list of the scopes that should be requested while authenticating", + args: { name: "scopes" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "microsoft", + description: + "Manage webapp authentication and authorization of the Microsoft identity provider", + subcommands: [ + { + name: "show", + description: + "Show the authentication settings for the Azure Active Directory identity provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the client id and client secret for the Azure Active Directory identity provider", + options: [ + { + name: ["--allowed-token-audiences", "--allowed-audiences"], + description: + "The configuration settings of the allowed list of audiences from which to validate the JWT token", + args: { name: "allowed-token-audiences" }, + }, + { + name: [ + "--client-secret-certificate-issuer", + "--certificate-issuer", + ], + description: + "Alternative to AAD Client Secret and thumbprint, issuer of a certificate used for signing purposes", + args: { name: "client-secret-certificate-issuer" }, + }, + { + name: "--client-id", + description: + "The Client ID of this relying party application, known as the client_id", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: "AAD application secret", + args: { name: "client-secret" }, + }, + { + name: ["--client-secret-certificate-san", "--san"], + description: + "Alternative to AAD Client Secret and thumbprint, subject alternative name of a certificate used for signing purposes", + args: { name: "client-secret-certificate-san" }, + }, + { + name: [ + "--client-secret-certificate-thumbprint", + "--thumbprint", + ], + description: + "Alternative to AAD Client Secret, thumbprint of a certificate used for signing purposes", + args: { name: "client-secret-certificate-thumbprint" }, + }, + { + name: ["--client-secret-setting-name", "--secret-setting"], + description: + "The app setting name that contains the client secret of the relying party application", + args: { name: "client-secret-setting-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--issuer", + description: + "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application", + args: { name: "issuer" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tenant-id", + description: "The tenant id of the application", + args: { name: "tenant-id" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "openid-connect", + description: + "Manage webapp authentication and authorization of the custom OpenID Connect identity providers", + subcommands: [ + { + name: "add", + description: + "Configure a new custom OpenID Connect identity provider", + options: [ + { + name: "--provider-name", + description: "The name of the custom OpenID Connect provider", + args: { name: "provider-name" }, + isRequired: true, + }, + { + name: "--client-id", + description: "The Client ID of the app used for login", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: + "The application secret of the app used for login", + args: { name: "client-secret" }, + }, + { + name: ["--client-secret-setting-name", "--secret-setting"], + description: + "The app setting name that contains the client secret", + args: { name: "client-secret-setting-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: "--openid-configuration", + description: + "The endpoint that contains all the configuration endpoints for the provider", + args: { name: "openid-configuration" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scopes", + description: + "A list of the scopes that should be requested while authenticating", + args: { name: "scopes" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "remove", + description: + "Removes an existing custom OpenID Connect identity provider", + options: [ + { + name: "--provider-name", + description: "The name of the custom OpenID Connect provider", + args: { name: "provider-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show the authentication settings for the custom OpenID Connect identity provider", + options: [ + { + name: "--provider-name", + description: "The name of the custom OpenID Connect provider", + args: { name: "provider-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the client id and client secret setting name for an existing custom OpenID Connect identity provider", + options: [ + { + name: "--provider-name", + description: "The name of the custom OpenID Connect provider", + args: { name: "provider-name" }, + isRequired: true, + }, + { + name: "--client-id", + description: "The Client ID of the app used for login", + args: { name: "client-id" }, + }, + { + name: "--client-secret", + description: + "The application secret of the app used for login", + args: { name: "client-secret" }, + }, + { + name: ["--client-secret-setting-name", "--secret-setting"], + description: + "The app setting name that contains the client secret", + args: { name: "client-secret-setting-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: "--openid-configuration", + description: + "The endpoint that contains all the configuration endpoints for the provider", + args: { name: "openid-configuration" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--scopes", + description: + "A list of the scopes that should be requested while authenticating", + args: { name: "scopes" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + { + name: "twitter", + description: + "Manage webapp authentication and authorization of the Twitter identity provider", + subcommands: [ + { + name: "show", + description: + "Show the authentication settings for the Twitter identity provider", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the consumer key and consumer secret for the Twitter identity provider", + options: [ + { + name: "--consumer-key", + description: + "The OAuth 1.0a consumer key of the Twitter application used for sign-in", + args: { name: "consumer-key" }, + }, + { + name: "--consumer-secret", + description: "The consumer secret", + args: { name: "consumer-secret" }, + }, + { + name: ["--consumer-secret-setting-name", "--secret-setting"], + description: + "The app setting name that contains the OAuth 1.0a consumer secret of the Twitter", + args: { name: "consumer-secret-setting-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + ], + }, + ], + }, + { + name: "auth-classic", + description: + "Manage webapp authentication and authorization in the classic format", + subcommands: [ + { + name: "show", + description: + "Show the authentication settings for the webapp in the classic format", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the authentication settings for the webapp in the classic format", + options: [ + { + name: ["--aad-allowed-token-audiences", "--allowed-audiences"], + description: "One or more token audiences (space-delimited)", + args: { name: "aad-allowed-token-audiences" }, + }, + { + name: "--aad-client-id", + description: + "Application ID to integrate AAD organization account Sign-in into your web app", + args: { name: "aad-client-id" }, + }, + { + name: "--aad-client-secret", + description: "AAD application secret", + args: { name: "aad-client-secret" }, + }, + { + name: [ + "--aad-client-secret-certificate-thumbprint", + "--thumbprint", + ], + description: + "Alternative to AAD Client Secret, thumbprint of a certificate used for signing purposes", + args: { name: "aad-client-secret-certificate-thumbprint" }, + }, + { + name: [ + "--aad-client-secret-setting-name", + "--aad-secret-setting", + ], + description: + "The app setting name that contains the client secret of the relying party application", + args: { name: "aad-client-secret-setting-name" }, + }, + { + name: "--aad-token-issuer-url", + description: + 'This url can be found in the JSON output returned from your active directory endpoint using your tenantID. The endpoint can be queried from az cloud show at "endpoints.activeDirectory". The tenantID can be found using az account show. Get the "issuer" from the JSON at //.well-known/openid-configuration', + args: { name: "aad-token-issuer-url" }, + }, + { + name: "--action", + description: + "The action to take when an unauthenticated client attempts to access the app", + args: { + name: "action", + suggestions: [ + "AllowAnonymous", + "LoginWithAzureActiveDirectory", + "LoginWithFacebook", + "LoginWithGoogle", + "LoginWithMicrosoftAccount", + "LoginWithTwitter", + ], + }, + }, + { + name: "--allowed-redirect-urls", + description: "One or more urls (space-delimited)", + args: { name: "allowed-redirect-urls" }, + }, + { + name: "--enabled", + description: + "True if the Authentication / Authorization feature is enabled for the current app; otherwise, false", + args: { name: "enabled", suggestions: ["false", "true"] }, + }, + { + name: "--facebook-app-id", + description: + "Application ID to integrate Facebook Sign-in into your web app", + args: { name: "facebook-app-id" }, + }, + { + name: "--facebook-app-secret", + description: "Facebook Application client secret", + args: { name: "facebook-app-secret" }, + }, + { + name: [ + "--facebook-app-secret-setting-name", + "--fb-secret-setting", + ], + description: + "The app setting name that contains the app secret used for Facebook Login", + args: { name: "facebook-app-secret-setting-name" }, + }, + { + name: "--facebook-oauth-scopes", + description: + "One or more facebook authentication scopes (space-delimited)", + args: { name: "facebook-oauth-scopes" }, + }, + { + name: "--github-client-id", + description: "The Client Id of the GitHub app used for login", + args: { name: "github-client-id" }, + }, + { + name: "--github-client-secret", + description: "The Client Secret of the GitHub app used for login", + args: { name: "github-client-secret" }, + }, + { + name: [ + "--github-client-secret-setting-name", + "--github-secret-setting", + ], + description: + "The app setting name that contains the client secret of the Github app used for GitHub Login", + args: { name: "github-client-secret-setting-name" }, + }, + { + name: ["--github-oauth-scopes", "--github-scopes"], + description: + "The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication", + args: { name: "github-oauth-scopes" }, + }, + { + name: "--google-client-id", + description: + "Application ID to integrate Google Sign-in into your web app", + args: { name: "google-client-id" }, + }, + { + name: "--google-client-secret", + description: "Google Application client secret", + args: { name: "google-client-secret" }, + }, + { + name: [ + "--google-client-secret-setting-name", + "--google-secret-setting", + ], + description: + "The app setting name that contains the client secret associated with the Google web application", + args: { name: "google-client-secret-setting-name" }, + }, + { + name: "--google-oauth-scopes", + description: + "One or more Google authentication scopes (space-delimited)", + args: { name: "google-oauth-scopes" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--microsoft-account-client-id", "--msa-client"], + description: + "AAD V2 Application ID to integrate Microsoft account Sign-in into your web app", + args: { name: "microsoft-account-client-id" }, + }, + { + name: ["--microsoft-account-client-secret", "--msa-secret"], + description: "AAD V2 Application client secret", + args: { name: "microsoft-account-client-secret" }, + }, + { + name: [ + "--microsoft-account-client-secret-setting-name", + "--msa-secret-setting", + ], + description: + "The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication", + args: { name: "microsoft-account-client-secret-setting-name" }, + }, + { + name: ["--microsoft-account-oauth-scopes", "--msa-scopes"], + description: + "One or more Microsoft authentification scopes (space-delimited)", + args: { name: "microsoft-account-oauth-scopes" }, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--runtime-version", + description: + "Runtime version of the Authentication/Authorization feature in use for the current app", + args: { name: "runtime-version" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: [ + "--token-refresh-extension-hours", + "--token-refresh-hours", + ], + description: "Hours, must be formattable into a float", + args: { name: "token-refresh-extension-hours" }, + }, + { + name: "--token-store", + description: "Use App Service Token Store", + args: { name: "token-store", suggestions: ["false", "true"] }, + }, + { + name: "--twitter-consumer-key", + description: + "Application ID to integrate Twitter Sign-in into your web app", + args: { name: "twitter-consumer-key" }, + }, + { + name: ["--twitter-consumer-secret", "--twitter-secret"], + description: "Twitter Application client secret", + args: { name: "twitter-consumer-secret" }, + }, + { + name: [ + "--twitter-consumer-secret-setting-name", + "--twitter-secret-setting", + ], + description: + "The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in", + args: { name: "twitter-consumer-secret-setting-name" }, + }, + ], + }, + ], + }, + { + name: "browse", + description: + "Open a web app in a browser. This is not supported in Azure Cloud Shell", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--logs", "-l"], + description: + "Enable viewing the log stream immediately after launching the web app", + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a web app", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the new web app. Web app name can contain only allow alphanumeric characters and hyphens, it cannot start or end in a hyphen, and must be less than 64 characters", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--plan", "-p"], + description: + "Name or resource id of the app service plan. Use 'appservice plan create' to get one", + args: { name: "plan" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--assign-identity", + description: + "Accept system or user assigned identities separated by spaces. Use '[system]' to refer system assigned identity, or a resource id to refer user assigned identity. Check out help for more examples", + args: { name: "assign-identity" }, + }, + { + name: ["--deployment-container-image-name", "-i"], + description: + "Container image name from Docker Hub, e.g. publisher/image-name:tag", + args: { name: "deployment-container-image-name" }, + }, + { + name: ["--deployment-local-git", "-l"], + description: "Enable local git", + args: { name: "deployment-local-git" }, + }, + { + name: ["--deployment-source-branch", "-b"], + description: "The branch to deploy", + args: { name: "deployment-source-branch" }, + }, + { + name: ["--deployment-source-url", "-u"], + description: "Git repository URL to link with manual integration", + args: { name: "deployment-source-url" }, + }, + { + name: ["--docker-registry-server-password", "-w"], + description: + "The container registry server password. Required for private registries", + args: { name: "docker-registry-server-password" }, + }, + { + name: ["--docker-registry-server-user", "-s"], + description: "The container registry server username", + args: { name: "docker-registry-server-user" }, + }, + { + name: "--https-only", + description: + "Redirect all traffic made to an app using HTTP to HTTPS", + }, + { + name: "--multicontainer-config-file", + description: + "Linux only. Config file for multicontainer apps. (local or remote)", + args: { name: "multicontainer-config-file" }, + }, + { + name: "--multicontainer-config-type", + description: "Linux only", + args: { + name: "multicontainer-config-type", + suggestions: ["COMPOSE", "KUBE"], + }, + }, + { + name: "--public-network-access", + description: "Enable or disable public access to the web app", + args: { + name: "public-network-access", + suggestions: ["Disabled", "Enabled"], + }, + }, + { + name: "--role", + description: "Role name or id the system assigned identity will have", + args: { name: "role" }, + }, + { + name: ["--runtime", "-r"], + description: + 'Canonicalized web runtime in the format of Framework:Version, e.g. "PHP:7.2".Use az webapp list-runtimes for available list', + args: { name: "runtime" }, + }, + { + name: "--scope", + description: "Scope that the system assigned identity can access", + args: { name: "scope" }, + }, + { + name: "--startup-file", + description: "Linux only. The web's startup file", + args: { name: "startup-file" }, + }, + { + name: "--subnet", + description: + "Name or resource ID of the pre-existing subnet to have the webapp join. The --vnet is argument also needed if specifying subnet by name", + args: { name: "subnet" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--vnet", + description: + "Name or resource ID of the regional virtual network. If there are multiple vnets of the same name across different resource groups, use vnet resource id to specify which vnet to use. If vnet name is used, by default, the vnet in the same resource group as the webapp will be used. Must be used with --subnet argument", + args: { name: "vnet" }, + }, + ], + }, + { + name: "create-remote-connection", + description: + "Creates a remote connection using a tcp tunnel to your web app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--instance", "-i"], + description: "Webapp instance to connect to. Defaults to none", + args: { name: "instance" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--port", "-p"], + description: + "Port for the remote connection. Default: Random available port", + args: { name: "port" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--timeout", "-t"], + description: "Timeout in seconds. Defaults to none", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete", + description: "Delete a web app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--keep-dns-registration", + description: + "Argument 'keep_dns_registration' has been deprecated and will be removed in version '3.0.0'. Keep DNS registration", + args: { name: "keep-dns-registration" }, + }, + { + name: "--keep-empty-plan", + description: "Keep empty app service plan", + args: { name: "keep-empty-plan" }, + }, + { + name: "--keep-metrics", + description: "Keep app metrics", + args: { name: "keep-metrics" }, + }, + { + name: ["--name", "-n"], + description: "The name of the webapp", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "deploy", + description: "Deploys a provided artifact to Azure Web Apps", + options: [ + { + name: "--async", + description: + 'If true, the artifact is deployed asynchronously. (The command will exit once the artifact is pushed to the web app.). Synchronous deployments are not yet supported when using "--src-url"', + args: { name: "async", suggestions: ["false", "true"] }, + }, + { + name: "--clean", + description: + "If true, cleans the target directory prior to deploying the file(s). Default value is determined based on artifact type", + args: { name: "clean", suggestions: ["false", "true"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ignore-stack", + description: "If true, any stack-specific defaults are ignored", + args: { name: "ignore-stack", suggestions: ["false", "true"] }, + }, + { + name: ["--name", "-n"], + description: "Name of the webapp to deploy to", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--restart", + description: + "If true, the web app will be restarted following the deployment. Set this to false if you are deploying multiple artifacts and do not want to restart the site on the earlier deployments", + args: { name: "restart", suggestions: ["false", "true"] }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--src-path", + description: + 'Path of the artifact to be deployed. Ex: "myapp.zip" or "/myworkspace/apps/myapp.war"', + args: { name: "src-path" }, + }, + { + name: "--src-url", + description: + 'URL of the artifact. The webapp will pull the artifact from this URL. Ex: "http://mysite.com/files/myapp.war?key=123"', + args: { name: "src-url" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-path", + description: + 'Absolute path that the artifact should be deployed to. Defaults to "home/site/wwwroot/" Ex: "/home/site/deployments/tools/", "/home/site/scripts/startup-script.sh"', + args: { name: "target-path" }, + }, + { + name: "--timeout", + description: + 'Timeout for the deployment operation in milliseconds. Ignored when using "--src-url" since synchronous deployments are not yet supported when using "--src-url"', + args: { name: "timeout" }, + }, + { + name: "--type", + description: "Used to override the type of artifact being deployed", + args: { + name: "type", + suggestions: [ + "ear", + "jar", + "lib", + "startup", + "static", + "war", + "zip", + ], + }, + }, + ], + }, + { + name: "list", + description: "List web apps", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-instances", + description: "List all scaled out instances of a web app or web app slot", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "Name of the web app slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "list-runtimes", + description: + "List available built-in stacks which can be used for web apps", + options: [ + { + name: "--linux", + description: + "Argument 'linux' has been deprecated and will be removed in a future release. Use '--os-type' instead. List runtime stacks for linux based web apps", + }, + { + name: ["--os-type", "--os"], + description: "Limit the output to just windows or linux runtimes", + args: { name: "os-type", suggestions: ["linux", "windows"] }, + }, + ], + }, + { + name: "restart", + description: "Restart a web app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "scale", + description: + "Modify the number of instances of a webapp on Arc enabled Kubernetes workloads", + options: [ + { + name: "--instance-count", + description: "Number of instances", + args: { name: "instance-count" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a web app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "ssh", + description: + "SSH command establishes a ssh session to the web container and developer would get a shell terminal remotely", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--instance", "-i"], + description: "Webapp instance to connect to. Defaults to none", + args: { name: "instance" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--port", "-p"], + description: + "Port for the remote connection. Default: Random available port", + args: { name: "port" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--timeout", "-t"], + description: "Timeout in seconds. Defaults to none", + args: { name: "timeout" }, + }, + ], + }, + { + name: "start", + description: "Start a web app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop a web app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "up", + description: + "Create a webapp and deploy code from a local workspace to the app. The command is required to run from the folder where the code is present. Current support includes Node, Python, .NET Core and ASP.NET. Node, Python apps are created as Linux apps. .Net Core, ASP.NET, and static HTML apps are created as Windows apps. Append the html flag to deploy as a static HTML app. Each time the command is successfully run, default argument values for resource group, sku, location, plan, and name are saved for the current directory. These defaults are then used for any arguments not provided on subsequent runs of the command in the same directory. Use 'az configure' to manage defaults", + options: [ + { + name: ["--app-service-environment", "-e"], + description: + "Name or resource ID of the (pre-existing) App Service Environment to deploy to. Requires an Isolated V2 sku [I1v2, I2v2, I3v2]", + args: { name: "app-service-environment" }, + }, + { + name: "--dryrun", + description: + "Show summary of the create and deploy operation instead of executing it", + }, + { + name: "--html", + description: "Ignore app detection and deploy as an html app", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--launch-browser", "-b"], + description: + "Launch the created app using the default browser. This is not supported in Azure Cloud Shell", + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--logs", + description: + "Configure default logging required to enable viewing log stream immediately after launching the webapp", + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: "--os-type", + description: "Set the OS type for the app to be created", + args: { name: "os-type", suggestions: ["Linux", "Windows"] }, + }, + { + name: ["--plan", "-p"], + description: + "Name of the app service plan associated with the webapp", + args: { name: "plan" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--runtime", "-r"], + description: + 'Canonicalized web runtime in the format of Framework:Version, e.g. "PHP:7.2".Use az webapp list-runtimes for available list', + args: { name: "runtime" }, + }, + { + name: "--sku", + description: + "The pricing tiers, e.g., F1(Free), D1(Shared), B1(Basic Small), B2(Basic Medium), B3(Basic Large), S1(Standard Small), P1V2(Premium V2 Small), P2V2(Premium V2 Medium), P3V2(Premium V2 Large), P0V3(Premium V3 Extra Small), P1V3(Premium V3 Small), P2V3(Premium V3 Medium), P3V3(Premium V3 Large), P1MV3(Premium Memory Optimized V3 Small), P2MV3(Premium Memory Optimized V3 Medium), P3MV3(Premium Memory Optimized V3 Large), P4MV3(Premium Memory Optimized V3 Extra Large), P5MV3(Premium Memory Optimized V3 Extra Extra Large), I1 (Isolated Small), I2 (Isolated Medium), I3 (Isolated Large), I1v2 (Isolated V2 Small), I2v2 (Isolated V2 Medium), I3v2 (Isolated V2 Large), I4v2 (Isolated V2 I4v2), I5v2 (Isolated V2 I5v2), I6v2 (Isolated V2 I6v2), WS1 (Logic Apps Workflow Standard 1), WS2 (Logic Apps Workflow Standard 2), WS3 (Logic Apps Workflow Standard 3)", + args: { + name: "sku", + suggestions: [ + "B1", + "B2", + "B3", + "D1", + "F1", + "FREE", + "I1", + "I1v2", + "I2", + "I2v2", + "I3", + "I3v2", + "I4v2", + "I5v2", + "I6v2", + "P0V3", + "P1MV3", + "P1V2", + "P1V3", + "P2MV3", + "P2V2", + "P2V3", + "P3MV3", + "P3V2", + "P3V3", + "P4MV3", + "P5MV3", + "S1", + "S2", + "S3", + "SHARED", + "WS1", + "WS2", + "WS3", + ], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update an existing web app", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--client-affinity-enabled", + description: "Enables sending session affinity cookies", + args: { + name: "client-affinity-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-dns-registration", + description: + "Argument 'force_dns_registration' has been deprecated and will be removed in version '3.0.0'. If true, web app hostname is force registered with DNS", + args: { + name: "force-dns-registration", + suggestions: ["false", "true"], + }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--https-only", + description: + "Redirect all traffic made to an app using HTTP to HTTPS", + args: { name: "https-only", suggestions: ["false", "true"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--minimum-elastic-instance-count", "-i"], + description: + "Minimum number of instances. App must be in an elastic scale App Service Plan", + args: { name: "minimum-elastic-instance-count" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--prewarmed-instance-count", "-w"], + description: + "Number of preWarmed instances. App must be in an elastic scale App Service Plan", + args: { name: "prewarmed-instance-count" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--skip-custom-domain-verification", + description: + "Argument 'skip_custom_domain_verification' has been deprecated and will be removed in version '3.0.0'. If true, custom (non *.azurewebsites.net) domains associated with web app are not verified", + args: { + name: "skip-custom-domain-verification", + suggestions: ["false", "true"], + }, + }, + { + name: "--skip-dns-registration", + description: + "Argument 'skip_dns_registration' has been deprecated and will be removed in version '3.0.0'. If true web app hostname is not registered with DNS on creation", + args: { + name: "skip-dns-registration", + suggestions: ["false", "true"], + }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--ttl-in-seconds", + description: + "Argument 'ttl_in_seconds' has been deprecated and will be removed in version '3.0.0'. Time to live in seconds for web app's default domain name", + args: { name: "ttl-in-seconds", suggestions: ["false", "true"] }, + }, + ], + }, + { + name: "config", + description: "Configure a web app", + subcommands: [ + { + name: "set", + description: "Set a web app's configuration", + options: [ + { + name: "--always-on", + description: + "Ensure web app gets loaded all the time, rather unloaded after been idle. Recommended when you have continuous web jobs running", + args: { name: "always-on", suggestions: ["false", "true"] }, + }, + { + name: "--auto-heal-enabled", + description: "Enable or disable auto heal", + args: { + name: "auto-heal-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--ftps-state", + description: + "Set the Ftps state value for an app. Default value is 'AllAllowed'", + args: { + name: "ftps-state", + suggestions: ["AllAllowed", "Disabled", "FtpsOnly"], + }, + }, + { + name: "--generic-configurations", + description: + "Provide site configuration list in a format of either key=value pair or @. PowerShell and Windows Command Prompt users should use a JSON file to provide these configurations to avoid compatibility issues with escape characters", + args: { name: "generic-configurations" }, + }, + { + name: "--http20-enabled", + description: + "Configures a web site to allow clients to connect over http2.0", + args: { name: "http20-enabled", suggestions: ["false", "true"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--java-container", + description: "The java container, e.g., Tomcat, Jetty", + args: { name: "java-container" }, + }, + { + name: "--java-container-version", + description: + "The version of the java container, e.g., '8.0.23' for Tomcat", + args: { name: "java-container-version" }, + }, + { + name: "--java-version", + description: + "The version used to run your web app if using Java, e.g., '1.7' for Java 7, '1.8' for Java 8", + args: { name: "java-version" }, + }, + { + name: "--linux-fx-version", + description: + 'The runtime stack used for your linux-based webapp, e.g., "RUBY|2.5.5", "NODE|12LTS", "PHP|7.2", "DOTNETCORE|2.1". See https://aka.ms/linux-stacks for more info', + args: { name: "linux-fx-version" }, + }, + { + name: "--min-tls-version", + description: + "The minimum version of TLS required for SSL requests, e.g., '1.0', '1.1', '1.2'", + args: { name: "min-tls-version" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: "--net-framework-version", + description: + "The version used to run your web app if using .NET Framework, e.g., 'v4.0' for .NET 4.6 and 'v3.0' for .NET 3.5", + args: { name: "net-framework-version" }, + }, + { + name: "--number-of-workers", + description: "The number of workers to be allocated", + args: { name: "number-of-workers" }, + }, + { + name: "--php-version", + description: + "The version used to run your web app if using PHP, e.g., 5.5, 5.6, 7.0", + args: { name: "php-version" }, + }, + { + name: "--powershell-version", + description: + "The version used to run your function app if using PowerShell, e.g., 7.2", + args: { name: "powershell-version" }, + }, + { + name: "--prewarmed-instance-count", + description: "Number of pre-warmed instances a function app has", + args: { name: "prewarmed-instance-count" }, + }, + { + name: "--python-version", + description: + "The version used to run your web app if using Python, e.g., 2.7, 3.4", + args: { name: "python-version" }, + }, + { + name: "--remote-debugging-enabled", + description: "Enable or disable remote debugging", + args: { + name: "remote-debugging-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--startup-file", + description: + "The startup file for linux hosted web apps, e.g. 'process.json' for Node.js web", + args: { name: "startup-file" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--use-32bit-worker-process", + description: "Use 32 bits worker process or not", + args: { + name: "use-32bit-worker-process", + suggestions: ["false", "true"], + }, + }, + { + name: "--vnet-route-all-enabled", + description: + "Configure regional VNet integration to route all traffic to the VNet", + args: { + name: "vnet-route-all-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--web-sockets-enabled", + description: "Enable or disable web sockets", + args: { + name: "web-sockets-enabled", + suggestions: ["false", "true"], + }, + }, + { + name: "--windows-fx-version", + description: + "A docker image name used for your windows container web app, e.g., microsoft/nanoserver:ltsc2016", + args: { name: "windows-fx-version" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a web app's configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "access-restriction", + description: + "Methods that show, set, add, and remove access restrictions on a webapp", + subcommands: [ + { + name: "add", + description: "Adds an Access Restriction to the webapp", + options: [ + { + name: ["--priority", "-p"], + description: "Priority of the access restriction rule", + args: { name: "priority" }, + isRequired: true, + }, + { + name: "--action", + description: "Allow or deny access", + args: { name: "action", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--description", + description: "Description of the access restriction rule", + args: { name: "description" }, + }, + { + name: "--http-headers", + description: + "Space-separated http headers in a format of =", + args: { name: "http-headers" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--ignore-missing-endpoint", "-i"], + description: + "Create access restriction rule with checking if the subnet has Microsoft.Web service endpoint enabled", + }, + { + name: "--ip-address", + description: + "IP address or CIDR range (optional comma separated list of up to 8 ranges)", + args: { name: "ip-address" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rule-name", "-r"], + description: "Name of the access restriction rule to add", + args: { name: "rule-name" }, + }, + { + name: "--scm-site", + description: + "True if access restrictions is added for scm site", + }, + { + name: "--service-tag", + description: + "Service Tag (optional comma separated list of up to 8 tags)", + args: { name: "service-tag" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subnet", + description: + "Subnet name (requires vNet name) or subnet resource id", + args: { name: "subnet" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "VNet name", + args: { name: "vnet-name" }, + }, + { + name: "--vnet-resource-group", + description: + "Resource group of virtual network (default is web app resource group)", + args: { name: "vnet-resource-group" }, + }, + ], + }, + { + name: "remove", + description: "Removes an Access Restriction from the webapp", + options: [ + { + name: "--action", + description: "Allow or deny access", + args: { name: "action", suggestions: ["Allow", "Deny"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--ip-address", + description: + "IP address or CIDR range (optional comma separated list of up to 8 ranges)", + args: { name: "ip-address" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--rule-name", "-r"], + description: "Name of the access restriction to remove", + args: { name: "rule-name" }, + }, + { + name: "--scm-site", + description: + "True if access restriction should be removed from scm site", + }, + { + name: "--service-tag", + description: + "Service Tag (optional comma separated list of up to 8 tags)", + args: { name: "service-tag" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subnet", + description: + "Subnet name (requires vNet name) or subnet resource id", + args: { name: "subnet" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--vnet-name", + description: "VNet name", + args: { name: "vnet-name" }, + }, + ], + }, + { + name: "set", + description: + "Sets if SCM site is using the same restrictions as the main site", + options: [ + { + name: "--use-same-restrictions-for-scm-site", + description: "Use same access restrictions for scm site", + args: { + name: "use-same-restrictions-for-scm-site", + suggestions: ["false", "true"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show Access Restriction settings for webapp", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "appsettings", + description: + "Configure web app settings. Updating or removing application settings will cause an app recycle", + subcommands: [ + { + name: "delete", + description: "Delete web app settings", + options: [ + { + name: "--setting-names", + description: "Space-separated appsettings names", + args: { name: "setting-names" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Get the details of a web app's settings", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "set", + description: "Set a web app's settings", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--settings", + description: + "Space-separated appsettings in KEY=VALUE format. Use @{file} to load from a file. See https://go.microsoft.com/fwlink/?linkid=2219923 for more information on file format and editing app settings in bulk", + args: { name: "settings" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--slot-settings", + description: + "Space-separated appsettings in KEY=VALUE format. Use @{file} to load from a file. Given setting are added to the configuration and marked as Deployment slot setting by default", + args: { name: "slot-settings" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "backup", + description: "Manage backups for web apps", + subcommands: [ + { + name: "create", + description: "Create a backup of a web app", + options: [ + { + name: "--container-url", + description: + "URL with SAS token to the blob storage container", + args: { name: "container-url" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--webapp-name", + description: "The name of the web app", + args: { name: "webapp-name" }, + isRequired: true, + }, + { + name: "--backup-name", + description: + "Name of the backup. If unspecified, the backup will be named with the web app name and a timestamp", + args: { name: "backup-name" }, + }, + { + name: "--db-connection-string", + description: + "Connection string for the database in the backup", + args: { name: "db-connection-string" }, + }, + { + name: "--db-name", + description: "Name of the database in the backup", + args: { name: "db-name" }, + }, + { + name: "--db-type", + description: "Type of database in the backup", + args: { + name: "db-type", + suggestions: [ + "LocalMySql", + "MySql", + "PostgreSql", + "SqlAzure", + ], + }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "delete", + description: "Delete a web app backup", + options: [ + { + name: "--backup-id", + description: "Id of the backup", + args: { name: "backup-id" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--webapp-name", + description: "The name of the web app", + args: { name: "webapp-name" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: "The name of the slot", + args: { name: "slot" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List backups of a web app", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--webapp-name", + description: "The name of the web app", + args: { name: "webapp-name" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "restore", + description: "Restore a web app from a backup", + options: [ + { + name: "--backup-name", + description: "Name of the backup to restore", + args: { name: "backup-name" }, + isRequired: true, + }, + { + name: "--container-url", + description: + "URL with SAS token to the blob storage container", + args: { name: "container-url" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--webapp-name", + description: "The name of the web app", + args: { name: "webapp-name" }, + isRequired: true, + }, + { + name: "--db-connection-string", + description: + "Connection string for the database in the backup", + args: { name: "db-connection-string" }, + }, + { + name: "--db-name", + description: "Name of the database in the backup", + args: { name: "db-name" }, + }, + { + name: "--db-type", + description: "Type of database in the backup", + args: { + name: "db-type", + suggestions: [ + "LocalMySql", + "MySql", + "PostgreSql", + "SqlAzure", + ], + }, + }, + { + name: "--ignore-hostname-conflict", + description: "Ignores custom hostnames stored in the backup", + args: { name: "ignore-hostname-conflict" }, + }, + { + name: "--overwrite", + description: + "Overwrite the source web app, if --target-name is not specified", + args: { name: "overwrite" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--target-name", + description: + "The name to use for the restored web app. If unspecified, will default to the name that was used when the backup was created", + args: { name: "target-name" }, + }, + ], + }, + { + name: "show", + description: "Show the backup schedule for a web app", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--webapp-name", + description: "The name of the web app", + args: { name: "webapp-name" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "update", + description: "Configure a new backup schedule for a web app", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--webapp-name", + description: "The name of the web app", + args: { name: "webapp-name" }, + isRequired: true, + }, + { + name: "--backup-name", + description: + "Name of the backup. If unspecified, the backup will be named with the web app name and a timestamp", + args: { name: "backup-name" }, + }, + { + name: "--container-url", + description: + "URL with SAS token to the blob storage container", + args: { name: "container-url" }, + }, + { + name: "--db-connection-string", + description: + "Connection string for the database in the backup", + args: { name: "db-connection-string" }, + }, + { + name: "--db-name", + description: "Name of the database in the backup", + args: { name: "db-name" }, + }, + { + name: "--db-type", + description: "Type of database in the backup", + args: { + name: "db-type", + suggestions: [ + "LocalMySql", + "MySql", + "PostgreSql", + "SqlAzure", + ], + }, + }, + { + name: "--frequency", + description: + "How often to backup. Use a number followed by d or h, e.g. 5d = 5 days, 2h = 2 hours", + args: { name: "frequency" }, + }, + { + name: "--retain-one", + description: + "Always keep one backup, regardless of how old it is", + args: { name: "retain-one", suggestions: ["false", "true"] }, + }, + { + name: "--retention", + description: + "How many days to keep a backup before automatically deleting it. Set to 0 for indefinite retention", + args: { name: "retention" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + ], + }, + { + name: "connection-string", + description: "Manage a web app's connection strings", + subcommands: [ + { + name: "delete", + description: "Delete a web app's connection strings", + options: [ + { + name: "--setting-names", + description: "Space-separated connection-string names", + args: { name: "setting-names" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. You can configure the default using az configure --defaults web=. If --ids is provided this should NOT be specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "Get a web app's connection strings", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "set", + description: "Update a web app's connection strings", + options: [ + { + name: ["--connection-string-type", "-t"], + description: "Connection string type", + args: { + name: "connection-string-type", + suggestions: [ + "ApiHub", + "Custom", + "DocDb", + "EventHub", + "MySql", + "NotificationHub", + "PostgreSQL", + "RedisCache", + "SQLAzure", + "SQLServer", + "ServiceBus", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. You can configure the default using az configure --defaults web=. If --ids is provided this should NOT be specified", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--settings", + description: + "Space-separated connection-string in a format of =", + args: { name: "settings" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--slot-settings", + description: + "Space-separated slot connection-string in a format of either = or @", + args: { name: "slot-settings" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "container", + description: "Manage an existing web app's container settings", + subcommands: [ + { + name: "delete", + description: "Delete an existing web app's container settings", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set", + description: "Set an existing web app's container settings", + options: [ + { + name: ["--docker-custom-image-name", "-c", "-i"], + description: + "The container custom image name and optionally the tag name (e.g., /:)", + args: { name: "docker-custom-image-name" }, + }, + { + name: ["--docker-registry-server-password", "-p"], + description: "The container registry server password", + args: { name: "docker-registry-server-password" }, + }, + { + name: ["--docker-registry-server-url", "-r"], + description: "The container registry server url", + args: { name: "docker-registry-server-url" }, + }, + { + name: ["--docker-registry-server-user", "-u"], + description: "The container registry server username", + args: { name: "docker-registry-server-user" }, + }, + { + name: ["--enable-app-service-storage", "-t"], + description: + "Enables platform storage (custom container only)", + args: { + name: "enable-app-service-storage", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--multicontainer-config-file", + description: "Config file for multicontainer apps", + args: { name: "multicontainer-config-file" }, + }, + { + name: "--multicontainer-config-type", + description: "Config type", + args: { + name: "multicontainer-config-type", + suggestions: ["COMPOSE", "KUBE"], + }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get details of a web app's container settings", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--show-multicontainer-config", + description: + "Shows decoded config if a multicontainer config is set", + args: { name: "show-multicontainer-config" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "hostname", + description: "Configure hostnames for a web app", + subcommands: [ + { + name: "add", + description: "Bind a hostname to a web app", + options: [ + { + name: "--hostname", + description: + "Hostname assigned to the site, such as custom domains", + args: { name: "hostname" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--webapp-name", + description: + "Webapp name. You can configure the default using az configure --defaults web=", + args: { name: "webapp-name" }, + }, + ], + }, + { + name: "delete", + description: "Unbind a hostname from a web app", + options: [ + { + name: "--hostname", + description: + "Hostname assigned to the site, such as custom domains", + args: { name: "hostname" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--webapp-name", + description: + "Webapp name. You can configure the default using az configure --defaults web=", + args: { name: "webapp-name" }, + }, + ], + }, + { + name: "get-external-ip", + description: "Get the external-facing IP address for a web app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--webapp-name", + description: + "Webapp name. You can configure the default using az configure --defaults web=", + args: { name: "webapp-name" }, + }, + ], + }, + { + name: "list", + description: "List all hostname bindings for a web app", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--webapp-name", + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "webapp-name" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + ], + }, + { + name: "snapshot", + description: "Manage web app snapshots", + subcommands: [ + { + name: "list", + description: "List the restorable snapshots for a web app", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: "The name of the slot", + args: { name: "slot" }, + }, + ], + }, + { + name: "restore", + description: "Restore a web app snapshot", + options: [ + { + name: "--time", + description: "Timestamp of the snapshot to restore", + args: { name: "time" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--restore-content-only", + description: + "Restore the web app files without restoring the settings", + }, + { + name: ["--slot", "-s"], + description: "The name of the slot", + args: { name: "slot" }, + }, + { + name: "--source-name", + description: "Name of the web app to retrieve snapshot from", + args: { name: "source-name" }, + }, + { + name: "--source-resource-group", + description: + "Name of the resource group to retrieve snapshot from", + args: { name: "source-resource-group" }, + }, + { + name: "--source-slot", + description: + "Name of the web app slot to retrieve snapshot from", + args: { name: "source-slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "ssl", + description: "Configure SSL certificates for web apps", + subcommands: [ + { + name: "bind", + description: "Bind an SSL certificate to a web app", + options: [ + { + name: "--certificate-thumbprint", + description: "The ssl cert thumbprint", + args: { name: "certificate-thumbprint" }, + isRequired: true, + }, + { + name: "--ssl-type", + description: "The ssl cert type", + args: { name: "ssl-type", suggestions: ["IP", "SNI"] }, + isRequired: true, + }, + { + name: "--hostname", + description: + "The custom domain name. If empty, hostnames will be selected automatically", + args: { name: "hostname" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: + "Create a Managed Certificate for a hostname in a webapp app", + options: [ + { + name: "--hostname", + description: "The custom domain name", + args: { name: "hostname" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the web app", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--certificate-name", + description: "The name of the certificate", + args: { name: "certificate-name" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "delete", + description: "Delete an SSL certificate from a web app", + options: [ + { + name: "--certificate-thumbprint", + description: "The ssl cert thumbprint", + args: { name: "certificate-thumbprint" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "import", + description: + "Import an SSL or App Service Certificate to a web app from Key Vault", + options: [ + { + name: "--key-vault", + description: "The name or resource ID of the Key Vault", + args: { name: "key-vault" }, + isRequired: true, + }, + { + name: "--key-vault-certificate-name", + description: "The name of the certificate in Key Vault", + args: { name: "key-vault-certificate-name" }, + isRequired: true, + }, + { + name: "--certificate-name", + description: "The name of the certificate", + args: { name: "certificate-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List SSL certificates for a web app", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the details of an SSL certificate for a web app", + options: [ + { + name: "--certificate-name", + description: "The name of the certificate", + args: { name: "certificate-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "unbind", + description: "Unbind an SSL certificate from a web app", + options: [ + { + name: "--certificate-thumbprint", + description: "The ssl cert thumbprint", + args: { name: "certificate-thumbprint" }, + isRequired: true, + }, + { + name: "--hostname", + description: + "The custom domain name. If empty, hostnames will be selected automatically", + args: { name: "hostname" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "upload", + description: "Upload an SSL certificate to a web app", + options: [ + { + name: "--certificate-file", + description: "The filepath for the .pfx file", + args: { name: "certificate-file" }, + isRequired: true, + }, + { + name: "--certificate-password", + description: "The ssl cert password", + args: { name: "certificate-password" }, + isRequired: true, + }, + { + name: "--certificate-name", + description: "The name of the certificate", + args: { name: "certificate-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "storage-account", + description: + "Manage a web app's Azure storage account configurations. (Linux Web Apps and Windows Containers Web Apps Only)", + subcommands: [ + { + name: "add", + description: + "Add an Azure storage account configuration to a web app. (Linux Web Apps and Windows Containers Web Apps Only)", + options: [ + { + name: ["--access-key", "-k"], + description: "Storage account access key", + args: { name: "access-key" }, + isRequired: true, + }, + { + name: ["--account-name", "-a"], + description: "Storage account name", + args: { name: "account-name" }, + isRequired: true, + }, + { + name: ["--custom-id", "-i"], + description: + "Name of the share configured within the web app", + args: { name: "custom-id" }, + isRequired: true, + }, + { + name: ["--share-name", "--sn"], + description: + "Name of the file share as given in the storage account", + args: { name: "share-name" }, + isRequired: true, + }, + { + name: ["--storage-type", "-t"], + description: "Storage type", + args: { + name: "storage-type", + suggestions: ["AzureBlob", "AzureFiles"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--mount-path", "-m"], + description: + "The path which the web app uses to read-write data ex: /share1 or /share2", + args: { name: "mount-path" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { name: "--slot-setting", description: "Slot setting" }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a web app's Azure storage account configuration. (Linux Web Apps and Windows Containers Web Apps Only)", + options: [ + { + name: ["--custom-id", "-i"], + description: + "Name of the share configured within the web app", + args: { name: "custom-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: + "Get a web app's Azure storage account configurations. (Linux Web Apps and Windows Containers Web Apps Only)", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "update", + description: + "Update an existing Azure storage account configuration on a web app. (Linux Web Apps and Windows Containers Web Apps Only)", + options: [ + { + name: ["--custom-id", "-i"], + description: + "Name of the share configured within the web app", + args: { name: "custom-id" }, + isRequired: true, + }, + { + name: ["--access-key", "-k"], + description: "Storage account access key", + args: { name: "access-key" }, + }, + { + name: ["--account-name", "-a"], + description: "Storage account name", + args: { name: "account-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--mount-path", "-m"], + description: + "The path which the web app uses to read-write data ex: /share1 or /share2", + args: { name: "mount-path" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--share-name", "--sn"], + description: + "Name of the file share as given in the storage account", + args: { name: "share-name" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { name: "--slot-setting", description: "Slot setting" }, + { + name: ["--storage-type", "-t"], + description: "Storage type", + args: { + name: "storage-type", + suggestions: ["AzureBlob", "AzureFiles"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "connection", + description: "Commands to manage webapp connections", + subcommands: [ + { + name: "delete", + description: "Delete a webapp connection", + options: [ + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: "List connections of a webapp", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + ], + }, + { + name: "list-configuration", + description: "List source configurations of a webapp connection", + options: [ + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "list-support-types", + description: + "List client types and auth types supported by webapp connections", + options: [ + { + name: ["--target-type", "-t"], + description: "The target resource type", + args: { + name: "target-type", + suggestions: [ + "appconfig", + "confluent-cloud", + "cosmos-cassandra", + "cosmos-gremlin", + "cosmos-mongo", + "cosmos-sql", + "cosmos-table", + "eventhub", + "keyvault", + "mysql", + "mysql-flexible", + "postgres", + "postgres-flexible", + "redis", + "redis-enterprise", + "servicebus", + "signalr", + "sql", + "storage-blob", + "storage-file", + "storage-queue", + "storage-table", + "webpubsub", + ], + }, + }, + ], + }, + { + name: "show", + description: "Get the details of a webapp connection", + options: [ + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "validate", + description: "Validate a webapp connection", + options: [ + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition of the connection is met", + options: [ + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "create", + description: + "Create a connection between a webapp and a target resource", + subcommands: [ + { + name: "appconfig", + description: "Create a webapp connection to appconfig", + options: [ + { + name: "--app-config", + description: + "Name of the app configuration. Required if '--target-id' is not specified", + args: { name: "app-config" }, + }, + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--app-config'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the app configuration. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "confluent-cloud", + description: "Create a webapp connection to confluent-cloud", + options: [ + { + name: "--bootstrap-server", + description: "Kafka bootstrap server url", + args: { name: "bootstrap-server" }, + isRequired: true, + }, + { + name: "--kafka-key", + description: "Kafka API-Key (key)", + args: { name: "kafka-key" }, + isRequired: true, + }, + { + name: "--kafka-secret", + description: "Kafka API-Key (secret)", + args: { name: "kafka-secret" }, + isRequired: true, + }, + { + name: "--schema-key", + description: "Schema registry API-Key (key)", + args: { name: "schema-key" }, + isRequired: true, + }, + { + name: "--schema-registry", + description: "Schema registry url", + args: { name: "schema-registry" }, + isRequired: true, + }, + { + name: "--schema-secret", + description: "Schema registry API-Key (secret)", + args: { name: "schema-secret" }, + isRequired: true, + }, + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-cassandra", + description: "Create a webapp connection to cosmos-cassandra", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--key-space", + description: + "Name of the keyspace. Required if '--target-id' is not specified", + args: { name: "key-space" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--key-space'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-gremlin", + description: "Create a webapp connection to cosmos-gremlin", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: "--graph", + description: + "Name of the graph. Required if '--target-id' is not specified", + args: { name: "graph" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database', '--graph'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-mongo", + description: "Create a webapp connection to cosmos-mongo", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-sql", + description: "Create a webapp connection to cosmos-sql", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-table", + description: "Create a webapp connection to cosmos-table", + options: [ + { + name: "--account", + description: + "Name of the cosmos database account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--table", + description: + "Name of the table. Required if '--target-id' is not specified", + args: { name: "table" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account', '--table'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the cosmos database account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "eventhub", + description: "Create a webapp connection to eventhub", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "kafka-springBoot", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--namespace", + description: + "Name of the eventhub namespace. Required if '--target-id' is not specified", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--namespace'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the eventhub. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "keyvault", + description: "Create a webapp connection to keyvault", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new keyvault when creating the webapp connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--vault'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the keyvault. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault", + description: + "Name of the keyvault. Required if '--target-id' is not specified", + args: { name: "vault" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql", + description: "Create a webapp connection to mysql", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--config-connstr", + description: + "Store configuration into connection strings, only could be used together with dotnet client_type", + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the mysql database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the mysql server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the mysql server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql-flexible", + description: "Create a webapp connection to mysql-flexible", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--config-connstr", + description: + "Store configuration into connection strings, only could be used together with dotnet client_type", + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the mysql flexible database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the mysql flexible server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the mysql flexible server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres", + description: "Create a webapp connection to postgres", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--config-connstr", + description: + "Store configuration into connection strings, only could be used together with dotnet client_type", + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of postgres database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new postgres when creating the webapp connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of postgres server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the postgres service. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres-flexible", + description: "Create a webapp connection to postgres-flexible", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--config-connstr", + description: + "Store configuration into connection strings, only could be used together with dotnet client_type", + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of postgres flexible database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of postgres flexible server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the flexible postgres service. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis", + description: "Create a webapp connection to redis", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the redis database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the redis server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the redis server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis-enterprise", + description: "Create a webapp connection to redis-enterprise", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the redis enterprise database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the redis enterprise server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the redis server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "servicebus", + description: "Create a webapp connection to servicebus", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--namespace", + description: + "Name of the servicebus namespace. Required if '--target-id' is not specified", + args: { name: "namespace" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--namespace'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the servicebus. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "signalr", + description: "Create a webapp connection to signalr", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: ["dotnet", "none"], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--signalr", + description: + "Name of the signalr service. Required if '--target-id' is not specified", + args: { name: "signalr" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--signalr'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the signalr. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "sql", + description: "Create a webapp connection to sql", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--config-connstr", + description: + "Store configuration into connection strings, only could be used together with dotnet client_type", + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--database", + description: + "Name of the sql database. Required if '--target-id' is not specified", + args: { name: "database" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--server", + description: + "Name of the sql server. Required if '--target-id' is not specified", + args: { name: "server" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--server', '--database'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the sql server. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-blob", + description: "Create a webapp connection to storage-blob", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--new", + description: + "Indicates whether to create a new storage-blob when creating the webapp connection", + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-file", + description: "Create a webapp connection to storage-file", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-queue", + description: "Create a webapp connection to storage-queue", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-table", + description: "Create a webapp connection to storage-table", + options: [ + { + name: "--account", + description: + "Name of the storage account. Required if '--target-id' is not specified", + args: { name: "account" }, + }, + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--account'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the storage account. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "webpubsub", + description: "Create a webapp connection to webpubsub", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--target-id", + description: + "The resource id of target service. Required if ['--target-resource-group', '--webpubsub'] are not specified", + args: { name: "target-id" }, + }, + { + name: ["--target-resource-group", "--tg"], + description: + "The resource group which contains the webpubsub. Required if '--target-id' is not specified", + args: { name: "target-resource-group" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + { + name: "--webpubsub", + description: + "Name of the webpubsub service. Required if '--target-id' is not specified", + args: { name: "webpubsub" }, + }, + ], + }, + ], + }, + { + name: "update", + description: "Update a webapp connection", + subcommands: [ + { + name: "appconfig", + description: "Update a webapp to appconfig connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "confluent-cloud", + description: "Update a webapp to confluent-cloud connection", + options: [ + { + name: "--connection", + description: "Name of the connection", + args: { name: "connection" }, + isRequired: true, + }, + { + name: "--bootstrap-server", + description: "Kafka bootstrap server url", + args: { name: "bootstrap-server" }, + }, + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--kafka-key", + description: "Kafka API-Key (key)", + args: { name: "kafka-key" }, + }, + { + name: "--kafka-secret", + description: "Kafka API-Key (secret)", + args: { name: "kafka-secret" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--source-id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--source-id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--schema-key", + description: "Schema registry API-Key (key)", + args: { name: "schema-key" }, + }, + { + name: "--schema-registry", + description: "Schema registry url", + args: { name: "schema-registry" }, + }, + { + name: "--schema-secret", + description: "Schema registry API-Key (secret)", + args: { name: "schema-secret" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--source-id", + description: + "The resource id of a webapp. Required if ['--resource-group', '--name'] are not specified", + args: { name: "source-id" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-cassandra", + description: "Update a webapp to cosmos-cassandra connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-gremlin", + description: "Update a webapp to cosmos-gremlin connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-mongo", + description: "Update a webapp to cosmos-mongo connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-sql", + description: "Update a webapp to cosmos-sql connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "cosmos-table", + description: "Update a webapp to cosmos-table connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "eventhub", + description: "Update a webapp to eventhub connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "kafka-springBoot", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "keyvault", + description: "Update a webapp to keyvault connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql", + description: "Update a webapp to mysql connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--config-connstr", + description: + "Store configuration into connection strings, only could be used together with dotnet client_type", + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "mysql-flexible", + description: "Update a webapp to mysql-flexible connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--config-connstr", + description: + "Store configuration into connection strings, only could be used together with dotnet client_type", + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres", + description: "Update a webapp to postgres connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--config-connstr", + description: + "Store configuration into connection strings, only could be used together with dotnet client_type", + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "postgres-flexible", + description: "Update a webapp to postgres-flexible connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--config-connstr", + description: + "Store configuration into connection strings, only could be used together with dotnet client_type", + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis", + description: "Update a webapp to redis connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "redis-enterprise", + description: "Update a webapp to redis-enterprise connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "servicebus", + description: "Update a webapp to servicebus connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "go", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "signalr", + description: "Update a webapp to signalr connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: ["dotnet", "none"], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "sql", + description: "Update a webapp to sql connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "django", + "dotnet", + "go", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--config-connstr", + description: + "Store configuration into connection strings, only could be used together with dotnet client_type", + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-blob", + description: "Update a webapp to storage-blob connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-file", + description: "Update a webapp to storage-file connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "php", + "python", + "ruby", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-queue", + description: "Update a webapp to storage-queue connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: [ + "dotnet", + "java", + "nodejs", + "none", + "python", + "springBoot", + ], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "storage-table", + description: "Update a webapp to storage-table connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-endpoint", + description: + "Connect target service by service endpoint. Source resource must be in the VNet and target SKU must support service endpoint feature", + args: { + name: "service-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + { + name: "webpubsub", + description: "Update a webapp to webpubsub connection", + options: [ + { + name: "--client-type", + description: "The client type used on the webapp", + args: { + name: "client-type", + suggestions: ["dotnet", "java", "nodejs", "none", "python"], + }, + }, + { + name: "--connection", + description: "Name of the webapp connection", + args: { name: "connection" }, + }, + { + name: "--customized-keys", + description: + "The customized keys used to change default configuration names. Key is the original name, value is the customized name", + args: { name: "customized-keys" }, + }, + { + name: "--id", + description: + "The resource id of the connection. ['--resource-group', '--name', '--connection'] are required if '--id' is not specified", + args: { name: "id" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the webapp. Required if '--id' is not specified.None", + args: { name: "name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + }, + { + name: "--private-endpoint", + description: + "Connect target service by private endpoint. The private endpoint in source virtual network must be created ahead", + args: { + name: "private-endpoint", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "The resource group which contains the webapp. Required if '--id' is not specified.None", + args: { name: "resource-group" }, + }, + { + name: "--secret", + description: "The secret auth info", + args: { name: "secret" }, + }, + { + name: "--service-principal", + description: "The service principal auth info", + args: { name: "service-principal" }, + }, + { + name: "--slot", + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--system-identity", + description: "The system assigned identity auth info", + args: { name: "system-identity" }, + }, + { + name: "--user-identity", + description: "The user assigned identity auth info", + args: { name: "user-identity" }, + }, + { + name: "--vault-id", + description: "The id of key vault to store secret value", + args: { name: "vault-id" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "cors", + description: "Manage Cross-Origin Resource Sharing (CORS)", + subcommands: [ + { + name: "add", + description: "Add allowed origins", + options: [ + { + name: ["--allowed-origins", "-a"], + description: + 'Space separated origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). To allow all, use "*" and remove all other origins from the list', + args: { name: "allowed-origins" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: "Remove allowed origins", + options: [ + { + name: ["--allowed-origins", "-a"], + description: + 'Space separated origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). To allow all, use "*" and remove all other origins from the list', + args: { name: "allowed-origins" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show allowed origins", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "deleted", + description: "Manage deleted web apps", + subcommands: [ + { + name: "list", + description: "List web apps that have been deleted", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: "Name of the deleted web app slot", + args: { name: "slot" }, + }, + ], + }, + { + name: "restore", + description: "Restore a deleted web app", + options: [ + { + name: "--deleted-id", + description: "Resource ID of the deleted web app", + args: { name: "deleted-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app to restore the deleted content to", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--restore-content-only", + description: + "Restore only deleted files without web app settings", + args: { name: "restore-content-only" }, + }, + { + name: ["--slot", "-s"], + description: "Slot to restore the deleted content to", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-app-svc-plan", + description: "The app service plan for the new azure web app", + args: { name: "target-app-svc-plan" }, + }, + ], + }, + ], + }, + { + name: "deployment", + description: "Manage web app deployments", + subcommands: [ + { + name: "list-publishing-credentials", + description: + "Get the details for available web app publishing credentials", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-publishing-profiles", + description: + "Get the details for available web app deployment profiles", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--xml", + description: + "Retrieves the publishing profile details in XML format", + }, + ], + }, + { + name: "container", + description: "Manage container-based continuous deployment", + subcommands: [ + { + name: "config", + description: "Configure continuous deployment via containers", + options: [ + { + name: ["--enable-cd", "-e"], + description: "Enable/disable continuous deployment", + args: { name: "enable-cd", suggestions: ["false", "true"] }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-cd-url", + description: + "Get the URL which can be used to configure webhooks for continuous deployment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "github-actions", + description: "Configure GitHub Actions for a webapp", + subcommands: [ + { + name: "add", + description: + "Add a GitHub Actions workflow file to the specified repository. The workflow will build and deploy your app to the specified webapp", + options: [ + { + name: "--repo", + description: + "The GitHub repository to which the workflow file will be added. In the format: /", + args: { name: "repo" }, + isRequired: true, + }, + { + name: ["--branch", "-b"], + description: + 'The branch to which the workflow file will be added. Defaults to "master" if not specified', + args: { name: "branch" }, + }, + { + name: ["--force", "-f"], + description: + "When true, the command will overwrite any workflow file with a conflicting name", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--login-with-github", + description: + "Interactively log in with GitHub to retrieve the Personal Access Token", + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--runtime", "-r"], + description: + 'Canonicalized web runtime in the format of Framework|Version, e.g. "PHP|5.6". Use "az webapp list-runtimes" for available list', + args: { name: "runtime" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--token", + description: + "A Personal Access Token with write access to the specified repository. For more information: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line", + args: { name: "token" }, + }, + ], + }, + { + name: "remove", + description: + "Remove and disconnect the GitHub Actions workflow file from the specified repository", + options: [ + { + name: "--repo", + description: + "The GitHub repository to which the workflow file will be added. In the format: /", + args: { name: "repo" }, + isRequired: true, + }, + { + name: ["--branch", "-b"], + description: + 'The branch to which the workflow file will be added. Defaults to "master" if not specified', + args: { name: "branch" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--login-with-github", + description: + "Interactively log in with GitHub to retrieve the Personal Access Token", + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the production slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--token", + description: + "A Personal Access Token with write access to the specified repository. For more information: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line", + args: { name: "token" }, + }, + ], + }, + ], + }, + { + name: "slot", + description: "Manage web app deployment slots", + subcommands: [ + { + name: "auto-swap", + description: "Configure deployment slot auto swap", + options: [ + { + name: ["--slot", "-s"], + description: "The name of the slot", + args: { name: "slot" }, + isRequired: true, + }, + { + name: "--auto-swap-slot", + description: "Target slot to auto swap", + args: { name: "auto-swap-slot" }, + }, + { + name: "--disable", + description: "Disable auto swap", + args: { name: "disable" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the webapp", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "create", + description: "Create a deployment slot", + options: [ + { + name: ["--name", "-n"], + description: "Name of the webapp", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: "The name of the slot", + args: { name: "slot" }, + isRequired: true, + }, + { + name: "--configuration-source", + description: + "Source slot to clone configurations from. Use web app's name to refer to the production slot", + args: { name: "configuration-source" }, + }, + { + name: ["--deployment-container-image-name", "-i"], + description: + "Container image name, e.g. publisher/image-name:tag", + args: { name: "deployment-container-image-name" }, + }, + { + name: ["--docker-registry-server-password", "-w"], + description: "The container registry server password", + args: { name: "docker-registry-server-password" }, + }, + { + name: ["--docker-registry-server-user", "-u"], + description: "The container registry server username", + args: { name: "docker-registry-server-user" }, + }, + ], + }, + { + name: "delete", + description: "Delete a deployment slot", + options: [ + { + name: ["--slot", "-s"], + description: "The name of the slot", + args: { name: "slot" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the webapp", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all deployment slots", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the webapp", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "swap", + description: "Swap deployment slots for a web app", + options: [ + { + name: ["--slot", "-s"], + description: "The name of the slot", + args: { name: "slot" }, + isRequired: true, + }, + { + name: "--action", + description: + "Swap types. use 'preview' to apply target slot's settings on the source slot first; use 'swap' to complete it; use 'reset' to reset the swap", + args: { + name: "action", + suggestions: ["preview", "reset", "swap"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the webapp", + args: { name: "name" }, + }, + { + name: "--preserve-vnet", + description: + "Preserve Virtual Network to the slot during swap, default to 'true'", + args: { + name: "preserve-vnet", + suggestions: ["false", "true"], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--target-slot", + description: "Target slot to swap, default to 'production'", + args: { name: "target-slot" }, + }, + ], + }, + ], + }, + { + name: "source", + description: "Manage web app deployment via source control", + subcommands: [ + { + name: "config", + description: + "Manage deployment from git or Mercurial repositories", + options: [ + { + name: ["--repo-url", "-u"], + description: + "Repository url to pull the latest source from, e.g. https://github.com/foo/foo-web", + args: { name: "repo-url" }, + isRequired: true, + }, + { + name: "--branch", + description: "The branch name of the repository", + args: { name: "branch" }, + }, + { + name: "--git-token", + description: "Git access token required for auto sync", + args: { name: "git-token" }, + }, + { + name: "--github-action", + description: "If using GitHub action, default to False", + args: { name: "github-action" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--manual-integration", + description: + "Disable automatic sync between source control and web", + args: { name: "manual-integration" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: "--repository-type", + description: "Repository type", + args: { + name: "repository-type", + suggestions: [ + "externalgit", + "git", + "github", + "localgit", + "mercurial", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "config-local-git", + description: + "Get a URL for a git repository endpoint to clone and push to for web app deployment", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "config-zip", + description: + "Perform deployment using the kudu zip push deployment for a web app", + options: [ + { + name: "--src", + description: "A zip file path for deployment", + args: { name: "src" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--timeout", "-t"], + description: + "Configurable timeout in seconds for checking the status of deployment", + args: { name: "timeout" }, + }, + ], + }, + { + name: "delete", + description: "Delete a source control deployment configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Get the details of a source control deployment configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "sync", + description: + "Synchronize from the repository. Only needed under manual integration mode", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update-token", + description: + "Update source control token cached in Azure app service", + options: [ + { + name: "--git-token", + description: "Git access token required for auto sync", + args: { name: "git-token" }, + }, + ], + }, + ], + }, + { + name: "user", + description: "Manage user credentials for deployment", + subcommands: [ + { + name: "set", + description: "Update deployment credentials", + options: [ + { + name: "--user-name", + description: "User name", + args: { name: "user-name" }, + isRequired: true, + }, + { + name: "--password", + description: "Password, will prompt if not specified", + args: { name: "password" }, + }, + ], + }, + { + name: "show", + description: "Get deployment publishing user", + }, + ], + }, + ], + }, + { + name: "hybrid-connection", + description: + "Methods that list, add and remove hybrid-connections from webapps", + subcommands: [ + { + name: "add", + description: "Add an existing hybrid-connection to a webapp", + options: [ + { + name: "--hybrid-connection", + description: "Hybrid connection name", + args: { name: "hybrid-connection" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "Hybrid connection namespace", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "list", + description: "List the hybrid-connections on a webapp", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "remove", + description: "Remove a hybrid-connection from a webapp", + options: [ + { + name: "--hybrid-connection", + description: "Hybrid connection name", + args: { name: "hybrid-connection" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: "--namespace", + description: "Hybrid connection namespace", + args: { name: "namespace" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + ], + }, + { + name: "identity", + description: "Manage web app's managed identity", + subcommands: [ + { + name: "assign", + description: "Assign managed identity to the web app", + options: [ + { + name: "--identities", + description: + "Space-separated identities to assign. Use '[system]' to refer to the system assigned identity. Default: '[system]'", + args: { name: "identities" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--role", + description: + "Role name or id the managed identity will be assigned", + args: { name: "role" }, + }, + { + name: "--scope", + description: "The scope the managed identity has access to", + args: { name: "scope" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: "Disable web app's managed identity", + options: [ + { + name: "--identities", + description: + "Space-separated identities to assign. Use '[system]' to refer to the system assigned identity. Default: '[system]'", + args: { name: "identities" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Display web app's managed identity", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "log", + description: "Manage web app logs", + subcommands: [ + { + name: "config", + description: "Configure logging for a web app", + options: [ + { + name: "--application-logging", + description: "Configure application logging", + args: { + name: "application-logging", + suggestions: ["azureblobstorage", "filesystem", "off"], + }, + }, + { + name: "--detailed-error-messages", + description: "Configure detailed error messages", + args: { + name: "detailed-error-messages", + suggestions: ["false", "true"], + }, + }, + { + name: "--docker-container-logging", + description: + "Configure gathering STDOUT and STDERR output from container", + args: { + name: "docker-container-logging", + suggestions: ["filesystem", "off"], + }, + }, + { + name: "--failed-request-tracing", + description: "Configure failed request tracing", + args: { + name: "failed-request-tracing", + suggestions: ["false", "true"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--level", + description: "Logging level", + args: { + name: "level", + suggestions: ["error", "information", "verbose", "warning"], + }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--web-server-logging", + description: "Configure Web server logging", + args: { + name: "web-server-logging", + suggestions: ["filesystem", "off"], + }, + }, + ], + }, + { + name: "download", + description: "Download a web app's log history as a zip file", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--log-file", + description: "The downloaded zipped log file path", + args: { name: "log-file" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Get the details of a web app's logging configuration", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "tail", + description: "Start live log tracing for a web app", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: "--provider", + description: + "By default all live traces configured by az webapp log config will be shown, but you can scope to certain providers/folders, e.g. 'application', 'http', etc. For details, check out https://github.com/projectkudu/kudu/wiki/Diagnostic-Log-Stream", + args: { name: "provider" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "deployment", + description: "Manage web app deployment logs", + subcommands: [ + { + name: "list", + description: "List deployments associated with web app", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "show", + description: + "Show deployment logs of the latest deployment, or a specific deployment if deployment-id is specified", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--deployment-id", + description: + "Deployment ID. If none specified, returns the deployment logs of the latest deployment", + args: { name: "deployment-id" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "scan", + description: + "Holds group of commands which cater to webapp scans. Currently available only for Linux based webapps", + subcommands: [ + { + name: "list-result", + description: + "Get details of all scans conducted on webapp, upto max scan limit set on the webapp This will get you the scan log results in addition to the scan status of each scan conducted on the webapp", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the webapp to connect to", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: "Name of the deployment slot to use", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show-result", + description: + "Get results of specified scan-id. This will fetch you the Scan log results of the specified scan-id", + options: [ + { + name: "--scan-id", + description: "Unique scan id", + args: { name: "scan-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the webapp to connect to", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: "Name of the deployment slot to use", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: + "Starts the scan on the specified webapp files in the wwwroot directory. It returns a JSON containing the ScanID, traking and results URL", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the webapp to connect to", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: "Name of the deployment slot to use", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Timeout for operation in milliseconds", + args: { name: "timeout" }, + }, + ], + }, + { + name: "stop", + description: + "Stops the current executing scan. Does nothing if no scan is executing", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the webapp to connect to", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: "Name of the deployment slot to use", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "track", + description: + "Track status of scan by providing scan-id. You can track the status of the scan from [Starting, Success, Failed, TimeoutFailure, Executing]", + options: [ + { + name: "--scan-id", + description: "Unique scan id", + args: { name: "scan-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the webapp to connect to", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: "Name of the deployment slot to use", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "traffic-routing", + description: "Manage traffic routing for web apps", + subcommands: [ + { + name: "clear", + description: + "Clear the routing rules and send all traffic to production", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "set", + description: "Configure routing traffic to deployment slots", + options: [ + { + name: ["--distribution", "-d"], + description: + "Space-separated slot routings in a format of = e.g. staging=50. Unused traffic percentage will go to the Production slot", + args: { name: "distribution" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Display the current distribution of traffic across slots", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "vnet-integration", + description: + "Methods that list, add, and remove virtual network integrations from a webapp", + subcommands: [ + { + name: "add", + description: "Add a regional virtual network integration to a webapp", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--subnet", + description: "The name or resource ID of the subnet", + args: { name: "subnet" }, + isRequired: true, + }, + { + name: "--vnet", + description: "The name or resource ID of the Vnet", + args: { name: "vnet" }, + isRequired: true, + }, + { + name: "--skip-delegation-check", + description: + "Skip check if you do not have permission or the VNet is in another subscription", + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "list", + description: "List the virtual network integrations on a webapp", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "remove", + description: + "Remove a regional virtual network integration from webapp", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + ], + }, + { + name: "webjob", + description: "Allows management operations for webjobs on a web app", + subcommands: [ + { + name: "continuous", + description: + "Allows management operations of continuous webjobs on a web app", + subcommands: [ + { + name: "list", + description: "List all continuous webjobs on a selected web app", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "remove", + description: "Delete a specific continuous webjob", + options: [ + { + name: ["--webjob-name", "-w"], + description: "The name of the webjob", + args: { name: "webjob-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: + "Start a specific continuous webjob on a selected web app", + options: [ + { + name: ["--webjob-name", "-w"], + description: "The name of the webjob", + args: { name: "webjob-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stop a specific continuous webjob", + options: [ + { + name: ["--webjob-name", "-w"], + description: "The name of the webjob", + args: { name: "webjob-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "triggered", + description: + "Allows management operations of triggered webjobs on a web app", + subcommands: [ + { + name: "list", + description: "List all triggered webjobs hosted on a web app", + options: [ + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + ], + }, + { + name: "log", + description: + "Get history of a specific triggered webjob hosted on a web app", + options: [ + { + name: ["--webjob-name", "-w"], + description: "The name of the webjob", + args: { name: "webjob-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove", + description: + "Delete a specific triggered webjob hosted on a web app", + options: [ + { + name: ["--webjob-name", "-w"], + description: "The name of the webjob", + args: { name: "webjob-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "run", + description: + "Run a specific triggered webjob hosted on a web app", + options: [ + { + name: ["--webjob-name", "-w"], + description: "The name of the webjob", + args: { name: "webjob-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: + "Name of the web app. If left unspecified, a name will be randomly generated. You can configure the default using az configure --defaults web=", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--slot", "-s"], + description: + "The name of the slot. Default to the productions slot if not specified", + args: { name: "slot" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/webpubsub.ts b/src/az/2.53.0/webpubsub.ts new file mode 100644 index 000000000000..1f35138b0fe2 --- /dev/null +++ b/src/az/2.53.0/webpubsub.ts @@ -0,0 +1,1392 @@ +const completion: Fig.Spec = { + name: "webpubsub", + description: "Commands to manage Webpubsub", + subcommands: [ + { + name: "client", + description: "Commands to manage client connections", + subcommands: [ + { + name: "start", + description: "Start a interactive client connection", + options: [ + { + name: "--hub-name", + description: "The hub which client connects to", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--user-id", + description: "The user id", + args: { name: "user-id" }, + }, + ], + }, + ], + }, + { + name: "create", + description: "Create a Webpubsub", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--sku", + description: + "The sku name of the webpubsub service. Allowed values: Free_F1, Standard_S1, Premium_P1", + args: { name: "sku" }, + isRequired: true, + }, + { + name: "--kind", + description: + "The kind of the webpubsub service. Allowed values: WebPubSub, SocketIO", + args: { name: "kind" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--unit-count", + description: "The number of webpubsub service unit count", + args: { name: "unit-count" }, + }, + ], + }, + { + name: "delete", + description: "Delete a Webpubsub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List Webpubsub", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "list-skus", + description: "List all available skus of the resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list-usage", + description: "List resource usage quotas by location", + options: [ + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + isRequired: true, + }, + ], + }, + { + name: "restart", + description: "Restart a Webpubsub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: "Show details of a Webpubsub", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update a Webpubsub", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--sku", + description: + "The sku name of the webpubsub service. Allowed values: Free_F1, Standard_S1, Premium_P1", + args: { name: "sku" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags', + args: { name: "tags" }, + }, + { + name: "--unit-count", + description: "The number of webpubsub service unit count", + args: { name: "unit-count" }, + }, + ], + }, + { + name: "hub", + description: "Commands to manage Webpubsub hub settings", + subcommands: [ + { + name: "create", + description: "Create hub settings for WebPubSub Service", + options: [ + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--allow-anonymous", + description: + "Set if anonymous connections are allowed for this hub. True means allow and False means deny", + }, + { + name: "--event-handler", + description: + 'Template item for event handler settings. Use key=value pattern to set properties. Supported keys are "url-template", "user-event-pattern", "system-event", "auth-type" and "auth-resource". Setting multiple "system-event" results in an array and for other properties, only last set takes active', + args: { name: "event-handler" }, + }, + ], + }, + { + name: "delete", + description: "Delete hub settings for WebPubSub Service", + options: [ + { + name: "--hub-name", + description: "Name of the hub", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "list", + description: "List all hub settings for WebPubSub Service", + options: [ + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show hub settings for WebPubSub Service", + options: [ + { + name: "--hub-name", + description: "Name of the hub", + args: { name: "hub-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update hub settings for WebPubSub Service", + options: [ + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--allow-anonymous", + description: + "Set if anonymous connections are allowed for this hub. True means allow and False means deny", + args: { name: "allow-anonymous", suggestions: ["false", "true"] }, + }, + { + name: "--event-handler", + description: + 'Template item for event handler settings. Use key=value pattern to set properties. Supported keys are "url-template", "user-event-pattern", "system-event", "auth-type" and "auth-resource". Setting multiple "system-event" results in an array and for other properties, only last set takes active', + args: { name: "event-handler" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "key", + description: "Commands to manage Webpubsub keys", + subcommands: [ + { + name: "regenerate", + description: "Regenerate keys for a WebPubSub Service", + options: [ + { + name: "--key-type", + description: "The name of access key to regenerate", + args: { + name: "key-type", + suggestions: ["primary", "salt", "secondary"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "show", + description: + "Show connetion strings and keys for a WebPubSub Service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "network-rule", + description: "Commands to manage Webpubsub network rules", + subcommands: [ + { + name: "show", + description: "Get the Network access control of WebPubSub Service", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Network access control of WebPubSub Service", + options: [ + { + name: "--allow", + description: + "The allowed virtual network rule. Space-separeted list of scope to assign", + args: { + name: "allow", + suggestions: [ + "ClientConnection", + "RESTAPI", + "ServerConnection", + "Trace", + ], + }, + }, + { + name: "--connection-name", + description: + "Space-separeted list of private endpoint connection name", + args: { name: "connection-name" }, + }, + { + name: "--deny", + description: + "The denied virtual network rule. Space-separeted list of scope to assign", + args: { + name: "deny", + suggestions: [ + "ClientConnection", + "RESTAPI", + "ServerConnection", + "Trace", + ], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: "--public-network", + description: "Set rules for public network", + args: { name: "public-network", suggestions: ["false", "true"] }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "service", + description: "Commands to manage Webpubsub service", + subcommands: [ + { + name: "broadcast", + description: + "Broadcast messages to hub. Error throws if operation fails", + options: [ + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--payload", + description: "A string payload to send", + args: { name: "payload" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "connection", + description: "Commands to manage Webpubsub service connections", + subcommands: [ + { + name: "close", + description: + "Close a specific client connection. Error throws if operation fails", + options: [ + { + name: "--connection-id", + description: "The connection id", + args: { name: "connection-id" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "exist", + description: "Check whether client connection exists", + options: [ + { + name: "--connection-id", + description: "The connection id", + args: { name: "connection-id" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "send", + description: + "Send a message to connection. Error throws if operation fails", + options: [ + { + name: "--connection-id", + description: "The connection id", + args: { name: "connection-id" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--payload", + description: "A string payload to send", + args: { name: "payload" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "group", + description: "Commands to manage Webpubsub service groups", + subcommands: [ + { + name: "add-connection", + description: + "Add a connection to group. Error throws if operation fails", + options: [ + { + name: "--connection-id", + description: "The connection id", + args: { name: "connection-id" }, + isRequired: true, + }, + { + name: "--group-name", + description: "The group name", + args: { name: "group-name" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "add-user", + description: + "Add a user to group. Error throws if operation fails", + options: [ + { + name: "--group-name", + description: "The group name", + args: { name: "group-name" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--user-id", + description: "The user id", + args: { name: "user-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove-connection", + description: + "Remove a connection from group. Error throws if operation fails", + options: [ + { + name: "--connection-id", + description: "The connection id", + args: { name: "connection-id" }, + isRequired: true, + }, + { + name: "--group-name", + description: "The group name", + args: { name: "group-name" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "remove-user", + description: + "Remove a user from group. Error throws if operation fails", + options: [ + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--user-id", + description: "The user id", + args: { name: "user-id" }, + isRequired: true, + }, + { + name: "--group-name", + description: "The group name", + args: { name: "group-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "send", + description: + "Send a message to group. Error throws if operation fails", + options: [ + { + name: "--group-name", + description: "The group name", + args: { name: "group-name" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--payload", + description: "A string payload to send", + args: { name: "payload" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "permission", + description: "Commands to manage Webpubsub service permissions", + subcommands: [ + { + name: "check", + description: + "Check if a connection has permission to the specified group", + options: [ + { + name: "--connection-id", + description: "The connection id", + args: { name: "connection-id" }, + isRequired: true, + }, + { + name: "--group-name", + description: "The group name", + args: { name: "group-name" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--permission", + description: "The permission", + args: { + name: "permission", + suggestions: ["joinLeaveGroup", "sendToGroup"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "grant", + description: + "Grant a group permission to the connection. Error throws if operation fails", + options: [ + { + name: "--connection-id", + description: "The connection id", + args: { name: "connection-id" }, + isRequired: true, + }, + { + name: "--group-name", + description: "The group name", + args: { name: "group-name" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--permission", + description: "The permission", + args: { + name: "permission", + suggestions: ["joinLeaveGroup", "sendToGroup"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "revoke", + description: + "Revoke a group permission from the connection. Error throws if operation fails", + options: [ + { + name: "--connection-id", + description: "The connection id", + args: { name: "connection-id" }, + isRequired: true, + }, + { + name: "--group-name", + description: "The group name", + args: { name: "group-name" }, + isRequired: true, + }, + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--permission", + description: "The permission", + args: { + name: "permission", + suggestions: ["joinLeaveGroup", "sendToGroup"], + }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + { + name: "user", + description: "Commands to manage Webpubsub service users", + subcommands: [ + { + name: "exist", + description: + "Check if there are any client connections connected for the given user", + options: [ + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--user-id", + description: "The user id", + args: { name: "user-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "send", + description: + "Send a message to user. Error throws if operation fails", + options: [ + { + name: "--hub-name", + description: "The hub to manage", + args: { name: "hub-name" }, + isRequired: true, + }, + { + name: "--payload", + description: "A string payload to send", + args: { name: "payload" }, + isRequired: true, + }, + { + name: "--user-id", + description: "The user id", + args: { name: "user-id" }, + isRequired: true, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--name", "-n"], + description: "Name of the Webpubsub", + args: { name: "name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/2.53.0/workloads.ts b/src/az/2.53.0/workloads.ts new file mode 100644 index 000000000000..160b57cf7e5b --- /dev/null +++ b/src/az/2.53.0/workloads.ts @@ -0,0 +1,2348 @@ +const completion: Fig.Spec = { + name: "workloads", + description: "Manage workloads", + subcommands: [ + { + name: "monitor", + description: "Manage workloads monitor", + subcommands: [ + { + name: "create", + description: + "Create a SAP monitor for the specified subscription, resource group, and resource name", + options: [ + { + name: ["--monitor-name", "--name", "-n"], + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--app-location", + description: + "The SAP monitor resources will be deployed in the SAP monitoring region. The subnet region should be same as the SAP monitoring region", + args: { name: "app-location" }, + }, + { + name: "--identity", + description: + '[currently not in use] Managed service identity(user assigned identities) Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: ["--location", "-l"], + description: + "The geo-location where the resource lives When not specified, the location of the resource group will be used", + args: { name: "location" }, + }, + { + name: "--log-analytics-workspace-arm-id", + description: + "The ARM ID of the Log Analytics Workspace that is used for SAP monitoring", + args: { name: "log-analytics-workspace-arm-id" }, + }, + { + name: "--managed-rg-name", + description: "Managed resource group name", + args: { name: "managed-rg-name" }, + }, + { + name: "--monitor-subnet", + description: + "The subnet which the SAP monitor will be deployed in", + args: { name: "monitor-subnet" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--routing-preference", + description: + "Sets the routing preference of the SAP monitor. By default only RFC1918 traffic is routed to the customer VNET", + args: { + name: "routing-preference", + suggestions: ["Default", "RouteAll"], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + { + name: "--zone-redundancy-preference", + description: + "Sets the preference for zone redundancy on resources created for the SAP monitor. By default resources will be created which do not support zone redundancy", + args: { name: "zone-redundancy-preference" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a SAP monitor with the specified subscription, resource group, and SAP monitor name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List a list of SAP monitors in the specified resource group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: + "Show properties of a SAP monitor for the specified subscription, resource group, and resource name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a SAP monitor for the specified subscription, resource group, and resource name", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--identity", + description: + '[currently not in use] Managed service identity(user assigned identities) Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--monitor-name", "--name", "-n"], + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + { + name: "provider-instance", + description: "Manage monitor provider instance", + subcommands: [ + { + name: "create", + description: + "Create a provider instance for the specified subscription, resource group, SAP monitor name, and resource name", + options: [ + { + name: "--monitor-name", + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--provider-instance-name", "--name", "-n"], + description: "Name of the provider instance", + args: { name: "provider-instance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--identity", + description: + '[currently not in use] Managed service identity(user assigned identities) Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--provider-settings", + description: + 'Defines the provider specific properties. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "provider-settings" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a provider instance for the specified subscription, resource group, SAP monitor name, and resource name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + }, + { + name: ["--provider-instance-name", "--name", "-n"], + description: "Name of the provider instance", + args: { name: "provider-instance-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List a list of provider instances in the specified SAP monitor. The operations returns various properties of each provider instances", + options: [ + { + name: "--monitor-name", + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show properties of a provider instance for the specified subscription, resource group, SAP monitor name, and resource name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + }, + { + name: ["--provider-instance-name", "--name", "-n"], + description: "Name of the provider instance", + args: { name: "provider-instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { + name: "--exists", + description: "Wait until the resource exists", + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: "--monitor-name", + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + }, + { + name: ["--provider-instance-name", "--name", "-n"], + description: "Name of the provider instance", + args: { name: "provider-instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sap-landscape-monitor", + description: "Manage monitor sap landscape monitor", + subcommands: [ + { + name: "create", + description: + "Create a SAP Landscape Monitor Dashboard for the specified subscription, resource group, and resource name", + options: [ + { + name: "--monitor-name", + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--grouping", + description: + 'Gets or sets the SID groupings by landscape and Environment. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "grouping" }, + }, + { + name: "--top-metrics-thresholds", + description: + 'Gets or sets the list Top Metric Thresholds for SAP Landscape Monitor Dashboard Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "top-metrics-thresholds" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a SAP Landscape Monitor Dashboard with the specified subscription, resource group, and SAP monitor name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List configuration values for Single Pane Of Glass for SAP monitor for the specified subscription, resource group, and resource name", + options: [ + { + name: "--monitor-name", + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show configuration values for Single Pane Of Glass for SAP monitor for the specified subscription, resource group, and resource name", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a SAP Landscape Monitor Dashboard for the specified subscription, resource group, and resource name", + options: [ + { + name: "--add", + description: + "Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty ", + args: { name: "add" }, + }, + { + name: "--force-string", + description: + "When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON", + args: { + name: "force-string", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--grouping", + description: + 'Gets or sets the SID groupings by landscape and Environment. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "grouping" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--monitor-name", + description: "Name of the SAP monitor resource", + args: { name: "monitor-name" }, + }, + { + name: "--remove", + description: + "Remove a property or an element from a list. Example: --remove property.list OR --remove propertyToRemove", + args: { name: "remove" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--set", + description: + "Update an object by specifying a property path and value to set. Example: --set property1.property2=", + args: { name: "set" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--top-metrics-thresholds", + description: + 'Gets or sets the list Top Metric Thresholds for SAP Landscape Monitor Dashboard Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "top-metrics-thresholds" }, + }, + ], + }, + ], + }, + ], + }, + { + name: "sap-application-server-instance", + description: "Manage application instance", + subcommands: [ + { + name: "list", + description: + "List the SAP Application Server Instance resources for a given Virtual Instance for SAP solutions resource", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: + "Show the SAP Application Server Instance corresponding to the Virtual Instance for SAP solutions resource", + options: [ + { + name: ["--application-instance-name", "--name", "-n"], + description: + "The name of SAP Application Server instance resource", + args: { name: "application-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Starts the SAP Application Server Instance", + options: [ + { + name: ["--application-instance-name", "--name", "-n"], + description: + "The name of SAP Application Server instance resource", + args: { name: "application-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stops the SAP Application Server Instance", + options: [ + { + name: ["--application-instance-name", "--name", "-n"], + description: + "The name of SAP Application Server instance resource", + args: { name: "application-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--soft-stop-timeout-seconds", + description: + "This parameter defines how long (in seconds) the soft shutdown waits until the RFC/HTTP clients no longer consider the server for calls with load balancing. Value 0 means that the kernel does not wait, but goes directly into the next shutdown state, i.e. hard stop", + args: { name: "soft-stop-timeout-seconds" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the SAP Application Server Instance resource", + options: [ + { + name: ["--application-instance-name", "--name", "-n"], + description: + "The name of SAP Application Server instance resource", + args: { name: "application-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Gets or sets the Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--application-instance-name", "--name", "-n"], + description: + "The name of SAP Application Server instance resource", + args: { name: "application-instance-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sap-central-instance", + description: "Manage central instance", + subcommands: [ + { + name: "list", + description: + "List the SAP Central Services Instance resource for the given Virtual Instance for SAP solutions resource", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the SAP Central Services Instance resource", + options: [ + { + name: ["--central-instance-name", "--name", "-n"], + description: + "Central Services Instance resource name string modeled as parameter for auto generation to work correctly", + args: { name: "central-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Starts the SAP Central Services Instance", + options: [ + { + name: ["--central-instance-name", "--name", "-n"], + description: + "Central Services Instance resource name string modeled as parameter for auto generation to work correctly", + args: { name: "central-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stops the SAP Central Services Instance", + options: [ + { + name: ["--central-instance-name", "--name", "-n"], + description: + "Central Services Instance resource name string modeled as parameter for auto generation to work correctly", + args: { name: "central-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--soft-stop-timeout-seconds", + description: + "This parameter defines how long (in seconds) the soft shutdown waits until the RFC/HTTP clients no longer consider the server for calls with load balancing. Value 0 means that the kernel does not wait, but goes directly into the next shutdown state, i.e. hard stop", + args: { name: "soft-stop-timeout-seconds" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update the SAP Central Services Instance resource. This can be used to update tags on the resource", + options: [ + { + name: ["--central-instance-name", "--name", "-n"], + description: + "Central Services Instance resource name string modeled as parameter for auto generation to work correctly", + args: { name: "central-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Gets or sets the Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: ["--central-instance-name", "--name", "-n"], + description: + "Central Services Instance resource name string modeled as parameter for auto generation to work correctly", + args: { name: "central-instance-name" }, + }, + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sap-database-instance", + description: "Manage database instance", + subcommands: [ + { + name: "list", + description: + "List the Database resources associated with a Virtual Instance for SAP solutions resource", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + isRequired: true, + }, + ], + }, + { + name: "show", + description: "Show the SAP Database Instance resource", + options: [ + { + name: ["--database-instance-name", "--name", "-n"], + description: + "Database resource name string modeled as parameter for auto generation to work correctly", + args: { name: "database-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: "Starts the database instance of the SAP system", + options: [ + { + name: ["--database-instance-name", "--name", "-n"], + description: + "Database resource name string modeled as parameter for auto generation to work correctly", + args: { name: "database-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: "Stops the database instance of the SAP system", + options: [ + { + name: ["--database-instance-name", "--name", "-n"], + description: + "Database resource name string modeled as parameter for auto generation to work correctly", + args: { name: "database-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--soft-stop-timeout-seconds", + description: + "This parameter defines how long (in seconds) the soft shutdown waits until the RFC/HTTP clients no longer consider the server for calls with load balancing. Value 0 means that the kernel does not wait, but goes directly into the next shutdown state, i.e. hard stop", + args: { name: "soft-stop-timeout-seconds" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: "Update the Database resource", + options: [ + { + name: ["--database-instance-name", "--name", "-n"], + description: + "Database resource name string modeled as parameter for auto generation to work correctly", + args: { name: "database-instance-name" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Gets or sets the Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { + name: ["--database-instance-name", "--name", "-n"], + description: + "Database resource name string modeled as parameter for auto generation to work correctly", + args: { name: "database-instance-name" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + { + name: "sap-disk-configuration", + description: + "Show the SAP Disk Configuration Layout prod/non-prod SAP System", + options: [ + { + name: "--app-location", + description: + "The geo-location where the SAP resources will be created", + args: { name: "app-location" }, + }, + { + name: "--database-type", + description: "The database type. Eg: HANA, DB2, etc", + args: { name: "database-type", suggestions: ["DB2", "HANA"] }, + }, + { + name: "--db-vm-sku", + description: "The VM SKU for database instance", + args: { name: "db-vm-sku" }, + }, + { + name: "--deployment-type", + description: "The deployment type. Eg: SingleServer/ThreeTier", + args: { + name: "deployment-type", + suggestions: ["SingleServer", "ThreeTier"], + }, + }, + { + name: "--environment", + description: + "Defines the environment type - Production/Non Production", + args: { name: "environment", suggestions: ["NonProd", "Prod"] }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--sap-product", + description: "Defines the SAP Product type", + args: { + name: "sap-product", + suggestions: ["ECC", "Other", "S4HANA"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "sap-sizing-recommendation", + description: + "Show SAP sizing recommendations by providing input SAPS for application tier and memory required for database tier", + options: [ + { + name: "--app-location", + description: "The geo-location where the resource is to be created", + args: { name: "app-location" }, + }, + { + name: "--database-type", + description: "The database type", + args: { name: "database-type", suggestions: ["DB2", "HANA"] }, + }, + { + name: "--db-memory", + description: "The database memory configuration", + args: { name: "db-memory" }, + }, + { + name: "--db-scale-method", + description: "The DB scale method", + args: { name: "db-scale-method", suggestions: ["ScaleUp"] }, + }, + { + name: "--deployment-type", + description: "The deployment type. Eg: SingleServer/ThreeTier", + args: { + name: "deployment-type", + suggestions: ["SingleServer", "ThreeTier"], + }, + }, + { + name: "--environment", + description: + "Defines the environment type - Production/Non Production", + args: { name: "environment", suggestions: ["NonProd", "Prod"] }, + }, + { + name: "--high-availability-type", + description: "The high availability type", + args: { + name: "high-availability-type", + suggestions: ["AvailabilitySet", "AvailabilityZone"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--sap-product", + description: "Defines the SAP Product type", + args: { + name: "sap-product", + suggestions: ["ECC", "Other", "S4HANA"], + }, + }, + { + name: "--saps", + description: "The SAP Application Performance Standard measurement", + args: { name: "saps" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "sap-supported-sku", + description: + "Show a list of SAP supported SKUs for ASCS, Application and Database tier", + options: [ + { + name: "--app-location", + description: "The geo-location where the resource is to be created", + args: { name: "app-location" }, + }, + { + name: "--database-type", + description: "The database type. Eg: HANA, DB2, etc", + args: { name: "database-type", suggestions: ["DB2", "HANA"] }, + }, + { + name: "--deployment-type", + description: "The deployment type. Eg: SingleServer/ThreeTier", + args: { + name: "deployment-type", + suggestions: ["SingleServer", "ThreeTier"], + }, + }, + { + name: "--environment", + description: + "Defines the environment type - Production/Non Production", + args: { name: "environment", suggestions: ["NonProd", "Prod"] }, + }, + { + name: "--high-availability-type", + description: "The high availability type", + args: { + name: "high-availability-type", + suggestions: ["AvailabilitySet", "AvailabilityZone"], + }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--location", "-l"], + description: + "Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=", + args: { name: "location" }, + }, + { + name: "--sap-product", + description: "Defines the SAP Product type", + args: { + name: "sap-product", + suggestions: ["ECC", "Other", "S4HANA"], + }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "sap-virtual-instance", + description: "Manage virtual instance", + subcommands: [ + { + name: "create", + description: + "Create a Virtual Instance for SAP solutions (VIS) resource", + options: [ + { + name: ["--sap-virtual-instance-name", "--name", "-n"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + isRequired: true, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + isRequired: true, + }, + { + name: "--central-server-vm", + description: + "The virtual machine ID or name of the Central Server", + args: { name: "central-server-vm" }, + }, + { + name: "--configuration", + description: + "Path to the configuration file. Support json-file and yaml-file", + args: { name: "configuration" }, + }, + { + name: "--environment", + description: + "Defines the environment type - Production/Non Production", + args: { name: "environment", suggestions: ["NonProd", "Prod"] }, + }, + { + name: "--identity", + description: + 'A pre-created user assigned identity with appropriate roles assigned. To learn more on identity and roles required, visit the ACSS how-to-guide. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: ["--location", "-l"], + description: "The geo-location where the resource lives", + args: { name: "location" }, + }, + { + name: "--managed-rg-name", + description: "Managed resource group name", + args: { name: "managed-rg-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: "--sap-product", + description: "Defines the SAP Product type", + args: { + name: "sap-product", + suggestions: ["ECC", "Other", "S4HANA"], + }, + }, + { + name: "--tags", + description: + 'Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "delete", + description: + "Delete a Virtual Instance for SAP solutions resource and its child resources, that is the associated Central Services Instance, Application Server Instances and Database Instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--sap-virtual-instance-name", "--name", "-n"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: ["--yes", "-y"], + description: "Do not prompt for confirmation", + }, + ], + }, + { + name: "list", + description: + "List all Virtual Instances for SAP solutions resources in a Resource Group", + options: [ + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + ], + }, + { + name: "show", + description: "Show a Virtual Instance for SAP solutions resource", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--sap-virtual-instance-name", "--name", "-n"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "start", + description: + "Starts the SAP application, that is the Central Services instance and Application server instances", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "stop", + description: + "Stops the SAP Application, that is the Application server instances and Central Services instance", + options: [ + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--no-wait", + description: + "Do not wait for the long-running operation to finish", + args: { + name: "no-wait", + suggestions: [ + "0", + "1", + "f", + "false", + "n", + "no", + "t", + "true", + "y", + "yes", + ], + }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: ["--sap-virtual-instance-name", "--vis-name"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: "--soft-stop-timeout-seconds", + description: + "This parameter defines how long (in seconds) the soft shutdown waits until the RFC/HTTP clients no longer consider the server for calls with load balancing. Value 0 means that the kernel does not wait, but goes directly into the next shutdown state, i.e. hard stop", + args: { name: "soft-stop-timeout-seconds" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + ], + }, + { + name: "update", + description: + "Update a Virtual Instance for SAP solutions (VIS) resource", + options: [ + { + name: "--identity", + description: + 'A pre-created user assigned identity with appropriate roles assigned. To learn more on identity and roles required, visit the ACSS how-to-guide. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "identity" }, + }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: ["--sap-virtual-instance-name", "--name", "-n"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--tags", + description: + 'Gets or sets the Resource tags. Support shorthand-syntax, json-file and yaml-file. Try "??" to show more', + args: { name: "tags" }, + }, + ], + }, + { + name: "wait", + description: + "Place the CLI in a waiting state until a condition is met", + options: [ + { + name: "--created", + description: + "Wait until created with 'provisioningState' at 'Succeeded'", + }, + { + name: "--custom", + description: + "Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running']", + args: { name: "custom" }, + }, + { name: "--deleted", description: "Wait until deleted" }, + { name: "--exists", description: "Wait until the resource exists" }, + { + name: "--ids", + description: + "One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments", + args: { name: "ids" }, + }, + { + name: "--interval", + description: "Polling interval in seconds", + args: { name: "interval" }, + }, + { + name: ["--sap-virtual-instance-name", "--name", "-n"], + description: + "The name of the Virtual Instances for SAP solutions resource", + args: { name: "sap-virtual-instance-name" }, + }, + { + name: ["--resource-group", "-g"], + description: + "Name of resource group. You can configure the default group using az configure --defaults group=", + args: { name: "resource-group" }, + }, + { + name: "--subscription", + description: + "Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID", + args: { name: "subscription" }, + }, + { + name: "--timeout", + description: "Maximum wait in seconds", + args: { name: "timeout" }, + }, + { + name: "--updated", + description: + "Wait until updated with provisioningState at 'Succeeded'", + }, + ], + }, + ], + }, + ], +}; + +export default completion; diff --git a/src/az/index.ts b/src/az/index.ts new file mode 100644 index 000000000000..0405dbf55f79 --- /dev/null +++ b/src/az/index.ts @@ -0,0 +1,14 @@ +import { createVersionedSpec } from "@fig/autocomplete-helpers"; +const versionFiles = ["2.53.0"]; +export const getVersionCommand: Fig.GetVersionCommand = async ( + executeShellCommand +) => + JSON.parse( + ( + await executeShellCommand({ + command: "az", + args: ["version", "-o", "json"], + }) + ).stdout + )["azure-cli"]; +export default createVersionedSpec("az", versionFiles);